div.main {margin-left: 20pt; margin-right: 20pt}
Объектно-реляционная модель для Internet
вызвала интерес у многих читателей, интересующихся СУБД технологиями для
Internet, тем более реализованными в России. Многих интересовала как внутренняя
объектно-реляционная организация данных, так и эффективные возможности её
применения. Для автора-разработчика самого сервера, Sav Z (Web Data) Server,
приоритетным показалось описать решение одной из задач электронной коммерции,
связанной с предоставлением информационно-справочной информации. На данном
примере можно понять и некоторую смысловую направленность организации
объектно-реляционной базы данных, управляемой сервером.
Многие компьютерные специалисты помнят, какой интерес вызвала, например,
разработка в 1989г. фирмой Borland механизма запросов QBE (Query By Example) для
СУБД Paradox (еще раньше фирмой IBM в 1977г). С тех пор невозможно представить
реляционную СУБД без табличного навигатора базы данных. Может ли объектная БД
обладать такими возможностями? Объектно-реляционная СУБД (ОРСУБД) может, и даже
более удобными. Например, работая с известными реляционными БД-навигаторами
Oracle или Microsoft Access, пользователь для генерации виртуальной таблицы
должен знать (точнее помнить) значения хотя бы некоторых атрибутов БД. ОРСУБД
Sav Z Server предлагает на выбор списки значений любых атрибутов, хранящихся в
базе данных. Кроме того, пользователь может работать с БД-навигатором Sav Z
Server в Internet, используя обычный Web браузер.
Прежде всего, ОРСУБД призваны совместить наглядность и простоту РСУБД для
пользователя с мощью и выразительностью ОСУБД для разработчика. В
рассматриваемом ниже примере информация не обязательно должна быть реальной.
Речь идет о характере справочных данных, используемых электронными магазинами,
продающими программную продукцию.
Реляционная БД
product |
platform |
vendor |
language |
function |
price |
access Java API
“Sav Processor 3.0” |
Win32 |
Technopoles-M |
Java |
data access |
$1200 |
access Java API
“Sav Processor 3.0” |
UNIX |
Technopoles-M |
Java |
data access |
$1200 |
visual Java API
“Swing 1.0.3” |
Java |
Sun Microsystems |
Java |
visual interface |
free |
visual Java API
“Swing 1.0.3” |
UNIX |
Sun Microsystems |
Java |
visual interface |
free |
Главная основополагающая черта объектных баз данных – механизм наследования,
когда информацию можно представить в виде графического дерева, нижние вершины
которого наследуют признаки верхних вершин. В объектно-реляционной модели
иерархия может быть выражена несколькими таблицами. Иерархическая зависимость
между именем класса и его значениями (объектами) выражается не только колонкой
таблицы, но и посредством символа ‘:’, например product Sav Processor 3.0.
Объектно-реляционная БД
Уровень 1, Вершина 1
product |
platform |
Language |
Java API |
UNIX, Win32 |
Java |
Уровень 2, Вершина 1.1
product:Java API |
function |
price |
access |
data access |
“>=$1000” |
visual |
visual interface |
“<$1000” |
Уровень 3, Вершина 1.1.1
product:Java API:access |
Vendor |
price |
Sav Processor 3.0 |
Technopoles-M |
$1200 |
Уровень 3, Вершина 1.1.2
product:Java API:visual |
Vendor |
price |
Swing 1.0.3 |
Sun Microsystems |
free |
Разработчик БД, заполняя таблицу “product: Java API: visual” может не
беспокоиться об атрибутах platform, language и function, так как они наследуются
из таблиц более верхнего уровня. Что особенно важно - не требуется
разрабатывать для пользователя сценарий диалога с БД. Во время навигации по
БД пользователю Sav Z Server не составит труда сгенерировать на своем Web
браузере виртуальную таблицу, как по всем данным, так и выборочным, например,
только о цене продуктов, которые дешевле $1000.
Виртуальные таблицы объектно-реляционной БД
Все данные
product |
platform |
language |
function |
price |
vendor |
Java API |
UNIX, Win32 |
Java |
|
|
|
Java API: access |
|
|
data access |
“>=$1000” |
|
Java API: access: Sav Processor
3.0 |
|
|
|
$1200 |
Technopoles-M |
Java API: visual |
|
|
visual interface |
“<$1000” |
|
Java API: visual: Swing 1.0.3 |
|
|
|
free |
Sun Microsystems |
Продукты, дешевле $1000
product |
price |
Java API: visual |
“<$1000” |
Java API: visual: Swing 1.0.3 |
free |
Компания Sun Microsystems поместила подробную информацию о продукте Sav Z
Server в разделе Database Servers, http://industry.java.sun.com/solutions/products/by_type/0,2359,all-4-0,00.html.
В рейтинге Softbase “Top 100 Database”, http://softbase.hypermart.net/top17.html, к концу
ноября 2000 г. он поднялся c 48 на 34 место среди самых популярных СУБД и
средств разработки для Web. Продукт распространяется бесплатно http://sites.netscape.net/savtechno/, очень прост в
освоении и легко встраивается как в Apache JServ или Java Web Server, так и в
перспективный Jakarta Tomcat http://jakarta.apache.org/, новое Web серверное
приложение поддерживающее Java сервлеты, JSP и XML во многих известных Web
серверах.
|