автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Методы обеспечения доступа к объектно-ориентированным базам данных на основе стандартов реляционных систем
Автореферат диссертации по теме "Методы обеспечения доступа к объектно-ориентированным базам данных на основе стандартов реляционных систем"
На правах рукописи
МУТУШЕВ Дмитрий Михайлович
МЕТОДЫ ОБЕСПЕЧЕНИЯ ДОСТУПА К ОБЪЕКТНО-ОРИЕНТИРОВАННЫМ БАЗАМ ДАННЫХ ЬА ОСНОВЕ СТАНДАРТОВ РЕЛЯЦИОННЫХ СИСТЕМ
Специальность 05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей
АВТОРЕФЕРАТ диссертации на ссискаш;е ученой степени кандидата физико-математических наук
Москва - 1998
Работа выполнена в Вычислительном Центре РАН.
Научный руководитель: к.ф.-м.н. с.н.с. Филиппов В.И.
Официальные оппоненты: д.т.н. проф. Кузнецов С.Д.
к.ф.-м.н. Бирюков А.Н.
Ведущая организация: Институт системного анализа РАН
Защита состоится -Л?- 1998 г. в часов на
заседании диссертационного Совета К 002.32.01 при Вычислительном Центре РАН.
Адрес: 117967, г. Москва, ул. Вавилова, 40.
С диссертацией можно ознакомиться в библиотеке ВЦ РАН
Автореферат разослан 1998 г.
Ученый секретарь Совета д.ф.-м.н. проф.
Рудаков К.В.
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
АКТУАЛЬНОСТЬ темы исследования
В начале 90-х годов стремительное развитие получили системы управления объектно-ориентированными базами данных (ООБД), которые в свою очередь обязаны популярностью объектно-ориентированным языкам программирования (ООЯП). При объектно-ориентированном подходе к моделированию предметной области каждый объект модели обладает своим собственным поведением, имитирующим поведение реального объекта. Разработка систем управления ООБД является наиболее естественным подходом для обеспечения сохраняемости информационных единиц-объектов, используемых в программах.
Но, вместе с тем, множество систем, связанных с технологиями баз данных, было в свое время создано и продолжает создаваться для реляционных баз данных, которые ни в коей мере не утратили преимуществ во многих прикладных областях, моделирование которых не требует сложных объектно-ориентированных структур. Зачастую стала возникать проблема несовместимости программных продуктов, созданных в свое время для реляционных баз данных, с ООБД и наоборот, программы, созданные для взаимодействия с ООБД, не могут извлекать информацию из уже существующих широко используемых баз данных. В то же время создание специализированных программных средств для работы с ООБД требует значительных затрат со стороны заказчиков прикладных пакетов.
Стандартом для большинства широко используемых СУБД и связывающихся с ними программных продуктов является SQL-92 (ANSI ХЗ.135-1992). Данный стандарт устанавливает как понятия реляционной модели данных, так и синтаксис языка запросов к
3
базам данных. В качестве аналогичного стандарта для ООБД развивается стандарт ODMG, последняя версия которого (2.0) была опубликована в 1997 г. Архитектура баз данных, построенных с использованием той и другой моделей данных, имеет присущие каждой из них специфические особенности структуры. Программные продукты, осуществляющие доступ к реляционным базам данных, основываются на стандартных для открытых систем интерфейсах, например, ODBC и языке SQL. Как следствие этого, использование таких продуктов напрямую для взаимодействия с ООБД оказывается невозможным. Помимо подобных проблем несовместимости, требования развития и дальнейшее усложнение информации, подлежащей хранению и обработке, приводит к мысли о необходимости расширения и обогащения действующих стандартов и разработке новых, удовлетворяющих современным требованиям.
ЦЕЛЬ работы
Цель работы состоит в исследовании принципиальной возможности построения СУБД, реализующей основные черты объектно-ориентированных баз данных, одновременно
предоставляющей аппарат общения с программами, основанными на стандартах реляционных систем, и проведении для подтверждения этого экспериментальной разработки.
НАУЧНАЯ НОВИЗНА результатов
Разработаны методы, позволяющие дополнять интерфейсы ООБД свойствами, дающими возможность доступа к данным из прикладных программ, ориентированных на реляционную модель данных. Создана в качестве тестового примера динамически связываемая библиотека функций, обращающихся к ядру объектно-4
ориентированной СУБД, интерфейсы которых соответствуют спецификациям ODBC.
Проведены эксперименты по воплощению важнейших черт, характерных для объектной модели и архитектуры ООБД, на основе ранее действующей сетевой СУБД Компас, созданной в ВЦ РАН.
Предложен интерфейс доступа к ООБД, выделяющий для пользователя концептуальные понятия объектной модели: наследование, связи, операции. Одновременно даются новые возможности, выраженные в добавлении операторов, позволяющих манипулировать структурной иерархией и иерархией наследования базы данных. Также поддерживается доступ к данным посредством стандартных операторов SQL за счет эмуляции реляционных свойств.
ПРАКТИЧЕСКАЯ ЗНАЧИМОСТЬ
Установлена возможность использования свойств объектной модели данных в сочетании с продуктами, используемыми для работы с реляционными базами данных. Предлагаемый принцип построения интерфейса для объектно-ориентированных баз данных, удовлетворяющего стандартам реляционных систем, может использоваться для построения программных комплексов, включающих в себя широко распространенные коммерчески доступные продукты, такие как Microsoft Excel и т.п.
Результаты работы могут быть использованы при разработки прикладных систем, ведущих доступ к базам данных общего характера, в т.ч. через интерфейс ODBC, а также при моделировании систем хранения и поиска данных, таких как библиотечные системы.
Предлагаемый принцип дизайна автономного модуля доступа к ООБД может быть распространен на прочие оболочки СУБД, в
5
случаях, когда информация, с которой приходится работать конечному пользователю, содержит сложно структурированные, в том числе мультимедийные фрагменты данных. Использованная при разработке СЮВС-драйвера многоярусная система динамически связываемых библиотек позволяет легко подключать специализированные библиотеки, содержащие функции,
свойственные соответствующим данным, например, воспроизводящие звук.
ПУБЛИКАЦИИ И АПРОБАЦИЯ
Результаты работы докладывались на семинарах Института Системного Анализа РАН, Вычислительного Центра РАН. По теме диссертации опубликованы 3 (Три) печатных работы.
СТРУКТУРА ДИССЕРТАЦИИ
Диссертация состоит из введения, трех частей, заключения, списка литературы, содержащего 59 наименований, и приложений. Основной текст занимает 85 страниц, 9 приложений - 11 страниц.
СОДЕРЖАНИЕ РАБОТЫ
Во введении даются общие сведения о теме работы и обосновываются актуальность темы и принятая методика исследований. Там же сообщаются основные аспекты задачи, решаемой в работе, и распределение материала по разделам.
Во второй части приводится обзор действующих стандартов для баз данных, продуктов и технологий, основанных на этих стандартах. Проводится сопоставление и анализ различий и вытекающих из этого проблем. Представляются некоторые современные разработки, делающие попытки создавать переходные или промежуточные системы между различными моделями данных. 6
Объектно-ориентированный подход предоставил новый уровень интеграции структурных и функциональных свойств моделируемых систем. Вместо отдельных структур, описывающих статические свойства объектов, и программных блоков, манипулирующих этими структурами, было введено понятие "объекта", несущего в себе все "знание" о сущности реального мира.
Объект представляет собой особый опознаваемый фрагмент реального мира (предмет или совокупность предметов), имеющий важное функциональное назначение в данной предметной области. Объект обладает состоянием, поведением и индивидуальностью; структура и поведение схожих объектов определяют общий для них класс.
Важной особенностью объектно-ориентированного подхода является уникальность каждого из созданных объектов такого типа, отражающая привязку объекта ИС к уникальному реальному объекту. Зачастую применяется ограничение видимости внутреннего устройства объекта для других объектов, что называется инкапсуляцией. Концепция, введенная объектно-ориентированными ЯП - наследование - такая иерархия абстракций, в которой подклассы наследуют строение (структурную и/или функциональную часть) от одного или нескольких суперклассов.
Сохраняемость - свойстео объектов существовать во времени вне зависимости от процесса, породившего данный объект. Существование данных независимо от программ, ими оперирующих, связывается обычно с технологией баз данных, а данных, подчиняющихся положениям объектной модели - с ООВД.
Основным стандартом, действующим в настоящее время среди информационных систем, связанных с базами данных, следует, безусловно, считать SQL - Structured Query Language,
7
утвержденный ANSI в 1992 г. и известный как SQL-2. Единственным способом представления данных в нем является двумерная таблица, пересечения строк и столбцов (атрибуты) которой содержат значения, несущие информацию и используемые для установления связей. Операторы манипулирования данными и запросов в SQL основаны на сравнении определенных атрибутов отношений в разделе WHERE операторов SELECT, UPDATE, DELETE при определении подмножеств объектов, подлежащих модификации или выборке.
В качестве общего стандарта интерфейса доступа к базам данных табличной архитектуры была введена концепция ODBC. Любое приложение, взаимодействующее с базой данных в рамках интерфейса ODBC, вызывает ODBC-функции' из динамически подсоединяемых библиотек (DLL), называемых драйверами соответствующих СУБД. Набор функций ODBC исходит из специфики реляционных систем и имеет целью стандартизировать доступ к различным СУБД с точки зрения программного интерфейса.
В качестве общепринятого стандарта для ООБД в последнее время укрепились предложения ODMG, которая использовала имеющуюся к тому времени объектную модель OMG и расширила ее с точки зрения простейших принципов хранения данных. Объектная модель в ODMG содержит такие концепции, характерные только для ООБД, как класс, объект с атрибутами и методами, наследование и специализация. Набор понятий, принятых в объектной модели ODMG: объекта и литерала определенных типов, свойства, которые могут быть атрибутам! или связями, операции. Модель включает в себя структурные связи между объектами и связи между супертипом и подтипом. Отношение между ними иногда называется is-a или отношением обобщения-специализации.
Для огромного числа разнообразных данных, традиционно хранимых в базах данных, таких как статистические, исторические, финансовые, а также для прочей однородной информации, и реляционные и объектные СУБД предоставляют во многом сходные возможности хранения. Однако в первом, традиционном варианте, на этапе проектирования схемы закладываются механизмы доступа к таблицам и использования связей между ними, устанавливаемых алгебраически. Во втором варианте в схему вводятся связи, которые устанавливаются и переустанавливаются динамически в процессе работы с существующими данными. Тем самым, многие приложения, ориентированные на использование традиционных моделей, оказываются неспособны вести доступ к базам данных сложной объектно-ориентированной структуры.
Среди производителей реляционных систем выделяются такие крупнейшие компании, как CA-Ingres, IBM, Informix, Microsoft, Oracle и Sybase. Системы управления ООВД отвечают нуждам разработчиков программного обеспечения, имеющих дело со сложно структурированными, специфическими, в т.ч. мультимедийными данными. Основные производители этих систем - это Ог Technology, Objectivity, Object Design, Poet и Versant.
Помимо этих двух классов систем, очевидна необходимость приложений, устанавливающих связь между ними. Огромное количество информации хранится в формате реляционных СУБД. Усложнение данных, с которыми им приходится работать, ни в коей мере не означает устаревание систем самих по себе. Объектно-реляционные СУБД поддерживают ту или иную модель данных - расширение реляционной модели SQL-92. Центральной концепцией таких моделей остаются таблицы, как единицы построения баз данных. Среди расширений основными являются
9
хранимые процедуры и наследование между таблицами. К числу компаний, идущих по пути расширения модели данных и добавления некоторых объектно-ориентированных возможностей в новые продукты, относятся, например, Informix, Microsoft, Oracle. Некоторые компании пытаются, наоборот, адаптировать разрабатываемые ими системы управления ООВД для взаимодействия с реляционными приложениями: UniSQL, Objectivity, Object Design.
Описание методов реализации объектно-ориентированных свойств в СУБД Компас, дающих возможность иметь доступ к данным на основе стандартов реляционных систем приводится в третьей части диссертации. В качестве теоретического обоснования экспериментов по воплощению некоторых объектно-ориентированных свойств представлена алгебраическая модель данных и соответствующая ей понятийная модель.
Сигнатура. Г1=<Т, R, |д>, где Т - множество символов, обозначающих основные множества (Т = {А, В, С, D, ...}); R -множество предикатных символов (R = {M, N, U, V, ...}); ц: R-> Т* - отображение типизации, где Т* - множество пар из Т (ц = {М -НА, В), U—> (A, D) , ...}).
Алгебраическая система сигнатуры П задается парой <Q,v>, где Q - семейство множеств, индексированных Т (Qt) ; v: R-»p(Q), где р (Q) - некоторое множество отношений над семейством Q, определяемое индуктивно.
Каждая пара из основных множеств Qt может находиться в некотором отношении. Если для двух множеств верно
Va (аеВ) => (аеА), то это означает, что элементы из В наследуют А. Таким образом, данная модель • соответствует бинарной модели, и различные 10
отношения множеств позволяют генерировать новые типы и строить различные иерархии типов.
Основные понятия, принятые в расширении СУБД Компас для поддержки отдельных свойств объектной модели ОБМС, суть следующие: схема, тип, объект, операция (метод), элемент (атрибут) , наследование, связь.
На простом примере излагается метод реализации иерархии наследования.
ОБЪЕКТ А: X целое;
ОБЪЕКТ В НАСЛЕДУЕТ А : У цепое\
Один из важных принципов технологии баз данных состоит в неизбыточности (по мере возможности) хранимой информации.
Поэтому при реализации иерархии наследования более оптимальным является разделение данных и метаданных сложных типов, образующихся в результате наследования.
Та часть объектов типа В, которая наследована у объектов суперкласса А (поля X) сохраняется так же, как если бы это были экземпляры объектов типа А. Собственная же часть объектов типа В (поля У) хранится отдельно так, как хранились бы объекты, содержащие только поля У. Объекты А обладают свойством X, а объекты В - свойствами X и У. Все объекты В могут быть "спроецированы" на объекты А (ортогонально пространству переменных объекта А - в данном случае осуществляется проекция на гиперплоскость переменной X).
В общем случае, если имеются объекты
А(а!, . . ., ап),
В (Ь:, ..., Ь„, Ьп+1,..., Ьп+к) ,
то отношение между суперклассом А и подклассом В может быть записано в следующей форме:
fi о ..... <Л 1
I 0 1 ......о I |
А = В х |...........| У л
IО О..... l| J
I...........I } к
U> ....... оЛ
таким образом, что в нашем примере А.Х = ВА.Х
Обозначив под В* псевдообъекты, состоящие только из собственных частей объектов, можно записать следующие ограничения целостности, которые имеют место:
1. Vb*eB* 3 as А, ЬеВ: Ь = Ав(а, Ь*)
в базе данных не могут существовать отдельно собственные части подклассов;
2. VaeA*cBA 3! Ь*еВ*, ЬеВ: Ь = Ав(а, Ь*)
каждой наследованной части сложного объекта должна соответствовать только одна собственная часть.
Хранение значений всех полей сложного объекта, образованного в результате наследования, обеспечивается по отдельности хранением собственных элементов всех объектов, участвующих последовательно в связях друг с другом, что называет ч в работе цепочкой наследования.
На этапе работы с уже существующей базой данных, содержащей сложные объекты, при интерпретации операторов языка манипулирования данными INSERT, DELETE, UPDATE для модификации Сазы данных и операторов типа SELECT для извлечения значений объектов нужно учитывать специфику внутреннего строения объектов в виде цепочек наследования. Более того, появляется возможность естественным образом моделировать переходы объекта 12
из класса в класс в соответствии с жизненным циклом его прообраза в предметной области.
Объектный язык запросов (OQL) модели ODMG оставляет полностью совместимым с SQL-вариантом - любой SELECT-запрос. В экспериментальном языке QUOOL (Query Unified Object-Oriented Language) системы Компас было установлено, что модифицирующие операторы INSERT, UPDATE и DELETE должны позволять использование синтаксиса, идентичного SQL. С другой стороны, была сделана попытка дополнить конструкции операторов некоторыми расширениями по аналогии с расширениями оператора SELECT в OQL по отношению к SQL.
Синтаксис объектной модели для связывания объектов в запросе к ООБД предполагает построение пути по межобъектным связям. Поскольку в реляционной модели нет иных возможностей, кроме внешних ключей, для связывания объектов, участвующих в запросе, требуется механизм поддержки SQL-подобных синтаксических единиц. В работе был разработан и опробован метод эмуляции механизма первичных и внешних ключей.
Первичный ключ предъявляется пользователю посредством элемент-функции. При трансляции схемы для каждого объекта, агрегированного хотя бы в одну связь, что есть прямой аналог таблицы с внешним ключом, в таблицу операций объекта вводится во внутреннем представлении элемент-функция. Тело этой функции на исходном коде явно не формируется, а в базу данных ставится исполняемый код, реализующий два простых действия: 1.от текущего объекта найти в базе данных его объект-агрегатор в нужной связи;
2.извлечь уникальный ключ объекта-агрегатора и вернуть его в качестве результата функции.
Для наследования оказалось достаточно хранить по отдельности внутренние представления собственных частей сложных объектов и в каждом из них, кроме первого, ссыпку на ближайшего предка. При использовании в SQL-операторах подобных виртуальных элементов система распознает такие случаи и производит действия, отвечающие объектно-ориентированной структуре данных.
Несмотря на достигаемую таким образом совместимость синтаксиса запросов с SQL, в ряде случаев семантика операторов оказывается излишне усложненной. Например, запросы, влияющие на отношения между объектами типа PART-OF и приводящие в результате к структурным модификациям в базе данных, в SQL-эквиваленте выполняются операторами UPDATE, изменяющими значения внешних ключей у "дочерних" объектов. В системе Компас было опробовано расширение, позволяющее проводить такие модификации при помощи специальных команд INCLUDE, EXCLUDE и RECLUDE:
EXCLUDE Ученик FROM Учится
WHERE Ученик..Учится.Номер_Класса = 11, например, производит изменения в структуре объектов в базе данных, разрывая связи между экземплярами объектов, определенными в условиях запроса.
Еще более актуальны для ООБД операции, затрагивающие иерархии наследования, когда реальный объект может перемещаться с течением времени по дереву наследований в базе Данных. В ODMG не предложены конструкции для таких операций, хотя необходимость этих операций отмечается во многих статьях, посвященных объектно-ориентированной модели данных и ООБД. Поэтому в системе Компас были введены две команды - DETALIZE и 14
ABSTRACTIZE для детализации и абстрагирования, соответственно. Синтаксис каждой из команд позволяет переводить объект с любого уровня на любой по дереву иерархии наследования, указывая критерий отбора в разделе WHERE: ABSTRACTIZE Ученик ТО Личность
WHERE Ученик.Учится.Номер_Класса =11
удаляет части экземпляров объектов, специализирующие их в подклассах.
В силу принципов, принятых в ООЯП, значительная часть модификаций объектов производится на основе сообщений, получаемых одними объектами от других. Сообщения организуются как вызовы операций, определенных на объектах, с передачей им соответствующих параметров. Описания тел операций и их транслированный код должны храниться в базе данных совместно с данными, представляющими значения сохраняемых объектов. При трансляции процедур системой Компас составляются таблицы, описывающие их интерфейс, то есть тип результата и типы передаваемых параметров, которые также хранятся в базе данных в особом формате. Помимо явно вызываемых операций, в системе управления ООБД Компас предоставлена возможность определять в качестве виртуальных атрибутов объектов пакеты команд, исполняемые автоматически при переносе значений элементов объекта из внешней памяти в оперативную при каждом обращении к объекту, например оператором "SELECT".
В рамках настоящей работы была исследована возможность
функционирования систем управления ООБД в среде "открытых"
систем. Программы общего характера, взаимодействующие в любыми
источниками данных, а не ориентированные на конкретные наперед
заданные приложения, используют ODBC-функции (SQLTables,
15
SQLColumns и т.д.), чтобы извлекать информацию о схеме базы данных. При этом такие программы предполагают получение информации того вида и содержания, как то вытекает из реляционных свойств источников. Поэтому в реализации функций ODBC-драйвера системы Компас использовались методы, выработанные для эмуляции реляционных свойств. Так, сведения о структурных межобъектных связях выдаются в форме сведений о псевдоключах, о которых было сказано выше. Для получения сведений об объектах, образованных с использованием наследования, предусматривается сбор информации об объектах схемы (таблицах, в терминологии ODBC) вдоль всей цепочки наследования, чтобы представлять сложные объекты как единые таблицы.
В четвертой части диссертации рассматриваются перспективы применения ООБД вообще и с точки зрения настоящего исследования в частности. В этой же части сообщается о модуле автономного доступа к объектно-ориентированным базам данных, управляемых Компас, его возможностям по отношению к стандарту SQL и свойствам, присущим объектно-ориентированным приложениям.
Из естественных для ООБД технологий хранения мультимедийной информации: графики, видео, серийных во времени данных, вытекают широкие возможности их использования для Internet. Если отображать содержимое WWW-страниц в реляционные базы данных для последующего извлечения, в запрос вовлекаются много разных таблиц, совмещающих большое количество типов данных, между которыми много соединений. Производительность выполнения SQL запросов при этом резко падает. Возможности навигации, основанные на указателях, ведущих от одних объектов
к другим, предоставляемые системами управления ООБД, способны повысить сложность данных, передаваемых интерактивно по сети.
Интеграция сети с базами данных может позволить динамически предоставлять информацию пользователям в ответ на интерактивные запросы. Подобные перспективы рассматриваются в контексте использования систем управления ООБД в качестве серверов Брокера Объектных Заявок, технология которого определяется стандартом CORBA. Работа, выполняемая программным обеспечением на сервере сети по запросам клиентов, может акцентироваться на объектах, хранимых в ООБД, интерфейс которых предъявляется через Internet, основываясь на спецификациях CORBA.
Здесь снова оказывается уместно вспомнить о преобладании реляционно-ориентированных продуктов среди пользовательского программного обеспечения, например систем библиотечного поиска. Одной из основных задач здесь является сопряжение WWW сервера и сервера базы данных, обеспечивающих необходимое перефразирование запроса пользователя в SQL-запрос к базе данных и выдачу полученных результатов конечному пользователю.
Для подготовленных пользователей система Компас предлагает интерфейс, который позволяет выбирать базу данных на дисках или сети и устанавливать соединение с ней (открывать) с нужными правами доступа. После открытия базы данных пользователь может работать в нескольких режимах:
• просмотр и модификация объектов в базе;
• проектирование запросов;
• исполнение ранее созданных и подача запросов интерактивно;
• разработка пакетов.
Основой для любого запроса служит подграф на схеме базы данных, в том числе и состоящий из одной вершины. Для формирования подграфа пользователь может выбирать объекты и далее другие объекты, ассоциированные с предыдущими по структурным связям схемы, последовательность которых образует путь, входящий в конструкцию запроса. В том же режиме можно использовать объекты, не имеющие связей подобно реляционным таблицам, и пользователь может проектировать запросы в стандартном синтаксисе SQL. В процессе проектирования запроса можно редактировать значения объектов по мере надобности.
Наряду с отбором объектов в структурной иерархии, система управления ООБД Компас имеет специфическое свойство фильтрования экземпляров объектов по признаку вхождения их в подкласс согласно иерархии наследования. Данное свойство не имеет аналогов среди подобных программ прочих производителей объектно-ориентированных СУБД.
Интерфейс модуля доступа позволяет проектировать все синтаксические конструкции, предусмотренные ЯМД системы управления ООБД Компас, а именно:
1. множественные операторы модификации SQL и подобные им из числа объектно-ориентированных расширений;
2. шаговые операторы и процедурные конструкции, служащие для интерактивного взаимодействия с базой данных или для проектирования пакетов.
Стандарт SQL-92 предполагает объявление курсоров на результаты выборок или на базовые таблицы. Применяя оператор FETCH, можно обращаться по отдельности к каждой строке таблицы, на которую объявлен курсор. Подобный же смысл с несколько иной целью имеет ODBC-функция SQLFetch, которая переносит в переменные программы значения результатов выборки 18
ряд за рядом. В системе Компас принято следующее решение, позволяющее совместить курсоры SQL/ экстенты ODMG и виртуальные таблицы. Любое имя в схеме используется как предопределенный курсор и также как экстент. Для пошагового перебора могут использоваться имена объектов (таблиц) и длинные имена-пути. Так, например, могут иметь место следующие команды:
FETCH FIRST FROM SCHOOL FETCH NEXT FROM SCHOOL.КЛАССЫ В то же время возможно именовать любой запрос для дальнейшего использования как виртуальную таблицу, имя которой будет использоваться дальше в качестве курсора.
В заключении перечислены основные результаты, полученные при решении поставленной задачи.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
Предложен эффективный механизм построения объектов на основе иерархии наследования, позволяющий использовать полиморфные свойства таких объектов и осуществлять миграцию объектов по классам цепочки наследования.
Развит ЯМД, удовлетворяющий синтаксису SQL, и в то же время учитывающий особенности объектной модели данных ODMG и OQL. Введены операторы, позволяющие охватить возможные модификации структурной иерархии объектов в базе данных и иерархии наследования. Предложены синтаксические конструкции, обеспечивающие возможность выделения подмножеств объектов, удовлетворяющих условиям, вытекающим из свойств, определяемых имеющейся иерархией наследования.
Реализован ODBC-драйвер для СУБД Компас, позволяющий использовать объектно-ориентированные данные из
19
распространенных приложений, ориентированных на реляционные базы данных, за счет эмуляции реляционных свойств в ОШС-функциях.
Реализован модуль доступа к базам данных СУБД Компас, позволяющий вести автономную работу с данными и проектировать запросы и пакеты для последующего использования.
СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ
1. Мутушев Д.М., Филиппов В.И. Объектно-ориентированные базы данных. Программирование, №6, 1995, МАИК "Наука".
2. Мутушев Д.М. Система доступа к БД с объектной моделью данных. Вычислительный центр РАН, Москва, 1998.
3. Мутушев Д.М. Реализация расширения объектной модели ООМС в среде реляционных СУБД. Программирование, №3, 1998, МАИК "Наука", (принята в печать)
Оглавление автор диссертации — кандидата физико-математических наук Мутушев, Дмитрий Михайлович
1. ВВЕДЕНИЕ.
2. ПРЕДПОСЫЛКИ СОЗДАНИЯ ООБД И ПРОБЛЕМЫ ПЕРЕХОДА К НОВОЙ КОНЦЕПЦИИ МОДЕЛИРОВАНИЯ ДАННЫХ.
2.1 Основные понятия объектно-ориентированного подхода.
2.2 Развитие объектно-ориентированных баз данных.
2.3 Объектная модель стандарта ошую.
2.4 Основные принципы работы с реляционными СУБД.
2.5 Взаимосвязь систем, основанных на реляционной и объектной моделях.
2.6 Практические варианты создания переходных приложений.
3. РЕАЛИЗАЦИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ СВОЙСТВ В СУБД "КОМПАС-97".
3.1 Объектно-ориентированная модель данных системы "Компас-97".
3.1.1 Алгебраическая модель.
3.1.2 Понятийная модель данных.
3.2 Реализация свойств объектной структуры данных и связанных с ней операторов ЯМД.
3.2.1 Реализация структуры наследования.
3.2.2 Принципы построения алгоритмов модификации сложных объектов в ООБД.
3.2.3 Спецификации языка манипулирования данными.
3.2.4 Синтаксические расширения в ЯМД Компас.
3.3 Реализация механизма поведения объектов.
3.4 Эмуляция реляционных свойств в ООБД.
4. ПРИМЕНЕНИЕ МЕТОДОВ СТАНДАРТИЗИРОВАННОГО ДОСТУПА К ООБД.
4.1 Использование ООБД в перспективных разработках.
4.2 Модуль доступа к ООБД в составе Компас-97.
Введение 1998 год, диссертация по информатике, вычислительной технике и управлению, Мутушев, Дмитрий Михайлович
В восьмидесятых годах применительно к языкам программирования (ЯП) в технических словарях стало появляться слово "сохраняемость" (persistence). Одной фразой, сохраняемость - это способность данных переживать во времени исполнение программ. В девяностых годах сохраняемость стала одним из лозунгов коммерчески продвигаемых объектных баз данных. Понятие сохраняемости стало одним из их важнейших аспектов благодаря фундаментальной разнице между объектными и традиционными базами данных - способу, которым они сочетаются с языком программирования.
Существенной чертой современных программных систем является их большая и все возрастающая сложность. Сложность эта порождается в первую очередь свойствами реальных промышленных или организационных систем, которые находят свое отражение в конструируемых для них моделях. Как правило, и природные и искусственные системы обладают структурой, которая в той или иной степени весьма часто может рассматриваться как иерархическая.
В системах можно обнаружить много разных иерархий. В самолете, например, можно выделить системы силовой установки, управления полетом и т.д. Подобное разбиение дает структурную иерархию вида "это - часть того". С другой стороны, такое устройство, как реактивный двигатель - это просто тип двигателя, наделенный свойствами, отличающими его от других двигателей. Исходя из этого, можно выделить типовую и структурную иерархии, называемые, соответственно, иерархией классов и иерархией объектов. Структуры классов и объектов не являются независимыми: каждый объект представляет определенный класс.
На этапе моделирования прикладная область расщепляется на множество автономных действующих лиц, которые взаимодействуют друг с другом. Каждый объект модели обладает своим собственным поведением, имитирующим поведение реального объекта. При этом каждый объект является экземпляром одного из классов, которые, как указывалось, образуют иерархию.
Благодаря этим особенностям, делающим возможным изучение отдельных объектов как обособленно, так и в связи со своим окружением, весьма перспективным направлением является разработка систем информационного моделирования, позволяющих описывать предметную сферу в виде совокупности объектов. Так, в начале 90-х годов стремительное развитие получили системы управления объектно-ориентированными базами данных (ООБД), которые в свою очередь обязаны популярностью объектно-ориентированным языкам программирования (ООЯП), возникшим в конце прошлого десятилетия [24, 25]
С момента первого появления ООЯП возникла и потребность в средствах обеспечения сохраняемости информационных единиц, используемых в программах, - объектов. Наиболее естественным оказалось применение ООБД, что и обусловило их быстро растущую популярность. Но вместе с тем, множество продуктов, связанных с технологиями баз данных, было в свое время создано для реляционных (в основном) баз данных, которые ни в коей мере не утратили преимуществ во многих прикладных областях, где моделирование данных не требует сложных объектно-ориентированных структур.
При программировании интерфейсов традиционных баз данных, в исходные тексты на ЯП вставляются запросы на языках баз данных для доступа и модификации. Данные в базах изолируются от данных программ. Можно считать, что традиционное программирование следует следующим особенностям:
1. База данных имеет свою собственную модель данных и язык программирования свою собственную систему типов.
2. В базе данных содержатся только сохраняемые данные, а в программах только временные - хранящие информацию только во время работы программы.
3. Операторы ЯП в программах не способны модифицировать данные в базе и связь между ними осуществляется только через разовые транзакции чтения и записи.
Для ООБД правила кардинальным образом меняются [42]:
1. База данных и язык программирования имеют одну и ту же модель данных и систему типов.
2. Любые данные могут быть как сохраняемыми, так и временными.
3. Программа единообразно может работать и с сохраняемыми, и с временными данными.
Известно, что взаимодействие программы с СУБД, независимо от избранной модели данных и архитектуры, так или иначе приводит к вызовам процедур или функций, направляемых от программы - возможно через различные оболочки - к ядру СУБД. В эпоху первоначального развития баз данных каждая из систем реализовывала свой собственный протокол взаимодействия, пытаясь в качестве еще одного аргумента в конкурентной борьбе ограничить совместимость продуктов, используемых клиентами с данной СУБД, для работы с альтернативными. Однако по мере роста числа потребителей баз данных и требований по предоставлению информации из все более широкого круга источников, проблема совместимости стала вынуждать пользователей переходить к системам, в формате которых хранилось бы как можно большее количество интересующей информации, охватывающей как можно больше баз и банков данных.
Тем самым на передний план вышла задача стандартизации протокола общения с СУБД - как на уровне мнемоники языка запросов, так и на уровне физической реализации передачи данных процедур и функций. Одним из основных требований, предъявляемых к информационной системе в наши дни, стало свойство открытости - возможность взаимодействия с любыми программными продуктами, ориентированными не на данную конкретную СУБД, а на некоторый стандартный протокол, поддерживающий обобщенные принципы взаимодействия [11] . В настоящей работе представлен некоторый метод решения данной задачи.
Наблюдение за тенденциями развития и усложнения информационного пространства и соответствующего развития и усложнения информационных технологий приводит к мысли о необходимости постоянного расширения и обогащения действующих стандартов и разработке новых, удовлетворяющих современным требованиям. С другой стороны, этим диктуется актуальность задачи разработки систем, включающих в себя все возможности ранее действующих СУБД и адаптируемых к появляющимся стандартам.
В настоящей работе в качестве отправной точки исследований были использованы разработки, проводимые в ВЦ РАН по применению сетевой модели данных при построении информационных систем (ИС) на базе СУБД Компас [ 8 ] . Это способствовало решению автором одной из проблем, с которыми сталкиваются разработчики ИС во время проектирования информационных моделей на основе объектно-ориентированного подхода - отражения взаимосвязей объектов в иерархической структуре содержащих их систем [4 9]. Сетевые СУБД и, соответственно, СУБД Компас в качестве одного из основных средств определения структур данных имеют аппарат связывания информационных единиц в базе данных Это во многом соответствует концепции межобъектных связей в ООБД и было использовано в проводимых экспериментах по поддержке элементов архитектуры ООБД.
Целью экспериментов в настоящей работе было решение задачи по выяснению возможности реализации некоторых черт ООБД, отличающих их от всех остальных действующих систем. В то же время ставилась задача совмещения новых свойств с возможностями действующих СУБД, в том числе с использованием стандартных протоколов для взаимодействия с прикладными программами.
Проблемы, имеющие место при применении объектно-ориентированного подхода в разработке ИС, возникают с обеих сторон взаимодействия ООБД с широко распространенными повсеместно используемыми программными продуктами [45]. При попытках моделирования данных, имеющих сложную структуру и тяготеющих к методикам проектирования, основывающимся на концепции ООЯП, оказывается затруднительно адекватно отобразить предметную область с помощью имеющихся не объектно-ориентированных СУБД для долговременного хранения. При размещении же информации в ООБД, специализированные программы, написанные на ООЯП, имеют, конечно, много точек соответствия с ними, но популярные продукты общего назначения оказываются неприменимы для работы с такими ИС.
В данной работе излагаются принципы построения системы управления объектно-ориентированными базами данных, которые были бы совместимы с существующими ЯП в отношении структур представления управляемых данных и давали бы возможности для интеграции их в ИС, действующие на основе концепции открытых систем.
В разделе 2 настоящей работы приводится обзор основных понятий объектно-ориентированного подхода, поддержка которых представляется актуальной; затрагиваются некоторые проблемы развития СУБД, основывающихся на этом подходе; описываются современные стандарты, связанные с СУБД, как для действующих реляционных, так и для создаваемых объектных (SQL и ODMG); анализируются различия концепций, которыми они оперируют; дается обзор разработок, направленных на обеспечение их взаимодействия, и разбираются варианты их совмещения.
Разработке системы управления ООБД Компас-97, решению вопросов обеспечения открытости системы посвящен третий раздел. В этом разделе описывается используемая модель данных для сравнения с моделью ODMG; сообщается о результатах исследования возможностей реализации основных свойств ООБД - сложной структуры объектов и инкапсуляции их поведения; рассказывается о языке запросов системы Компас-97, обеспечивающем совместимость с SQL, и его расширении по отношению к OQL ODMG -операторах, позволяющих манипулировать структурой объектов; излагаются методы обеспечения доступа к ООБД на основе стандартов открытых систем. В четвертом разделе описывается реализация системы, разработанной в соответствии с принципами, изложенными в разделе 3, и приводятся примеры использования ООБД. В заключении перечисляются результаты, полученные в настоящей работе.
Заключение диссертация на тему "Методы обеспечения доступа к объектно-ориентированным базам данных на основе стандартов реляционных систем"
5. Заключение
Одной из насущных задач теории информационного моделирования является обеспечение совместимости моделей данных и приложений, основанных на различных стандартах. В частности, упоминая "открытые" СУБД, дающие возможность доступа к данным с использованием типового набора функций и языковых конструкций, обычно имеют в виду следующие критерии: •предоставление функционального интерфейса ODBC; •поддержка языка запросов, основанного на спецификациях SQL-92.
В данной работе изложено решение задачи теоретического обоснования, разработки и реализации ООБД Компас, удовлетворяющей концепции открытых систем. Полученные результаты перечислены ниже.
1.Создан эффективный механизм построения объектов на основе иерархии наследования, позволяющий использовать полиморфные свойства таких объектов и осуществлять миграцию объектов по классам, - цепочки наследования.
2. Развит ЯМД, удовлетворяющий синтаксису SQL, и в то же время учитывающий особенности объектной модели данных стандарта ODMG и OQL. Введены операторы, позволяющие охватить возможные модификации структурной иерархии объектов в базе данных и иерархии наследования. Предложены синтаксические конструкции, обеспечивающие возможность выделения подмножеств объектов, удовлетворяющих условиям, вытекающих из свойств, определяемых имеющейся иерархией наследования.
3.Реализован ODBC-драйвер Компас, позволяющий использовать объектно-ориентированные данные из распространенных приложений, ориентированных на реляционные базы данных, за счет эмуляции реляционных свойств в ODBC-функциях.
4.Реализован модуль доступа к базам данных Компас, позволяющий вести автономную работу с данными и проектировать запросы и пакеты для последующего использования.
Библиография Мутушев, Дмитрий Михайлович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
1. Язык описания данных КОДАСИЛ / Пер. с англ. под ред. М.Р. Когаловского и Г.К. Столярова. -М.: Статистика, 1981.-183 с.
2. Олле Т.В. Предложения КОДАСИЛ по управлению базами данных / Пер. с англ. В.И. Филиппова и С.М. Круговой. -М. : Финансы и статистика, 1981.-286 е., ил.
3. Филиппов В.И. Обобщенная модель данных и ее реализация. Программное обеспечение информационных систем. М.: Наука, 1989. -103 с.
4. Цаленко М.Ш. Моделирование семантики в базах данных.- М. : Наука. Гл. ред. физ-мат. лит., 1989. -288 с.
5. Кузнецов С.Д. Объектно-ориентированные базы данных: основные концепции, организация и управление. Львов, 23-27 сентября 1991.
6. Замулин A.B. Основные свойства современных языков программирования БД. Управляющие системы и машины, №7, 1991.
7. Филиппов В.И., Пржиялковский В.В., Шкотин A.B. Инструментальные средства информационного моделирования. Управляющие системы и машины, №7, 1991.
8. Полукеев O.A., Пржиялковский В.В., Тихомиров с.Е., Филиппов В.И. , Шкотин A.B. Многомашинная СУБД Компас. Вычислительный центр АН СССР, Москва, 1991.
9. Буч Г. Объектно-ориентированное проектирование с примерами применения. Пер. с англ. -М.: Конкорд, 1992.-519 е., ил.
10. Кузнецов С.Д. Об основаниях ненавигационного языка запросов к объектно-ориентированным базам данных. ADBIS'93, Москва, Май 11-14, 1993, Институт Проблем Информатики РАН.
11. Ким Вон. Технология объектно-ориентированных баз данных. Открытые системы, №4, 1994.
12. Кодд Е. Ф. Реляционная модель данных для больших совместно используемых банков данных. СУБД, № 1, 1995.
13. Аткинсон М., Бансилон Ф., ДеВитт Д., Диттрих К., Майер Д., Здоник С. Манифест систем объектно-ориентированных баз данных. СУБД, № 4, 1995.
14. Мутушев Д.М., Филиппов В.И. Объектно-ориентированные базы данных. Программирование, №6, 1995, МАИК "Наука".
15. Калиниченко JI.А., Когаловский М.Р. Стандарты OMG: Язык определения интерфейсов IDL в архитектуре CORBA. СУБД, №2, 1996.
16. Вейд А. Стандарты объектных запросов. СУБД, № 4, 1996.
17. Вон Ким, Жорж Ф. Гарза, Брюс Грэхзм. Пути развития объектно-реляционных технологий баз данных. СУБД, № 4, 1996.
18. Филиппов В., Кузяков К. Опыт разработки распределенной библиотечной системы на основе Internet. "Индустрия программирования'96", Москва, 1996.
19. Кузнецов С.Д. Доступ к базам данных с использованием технологии WWW. СУБД, №5-6, 1996.
20. Булах Е. В. Средства доступа к базам данных в Internet и свободно доступная СУБД POSTGRES95. СУБД, №2, 1997.
21. Галатенко В., Гвоздев А. Типы и структуры данных в INFORMIX-Universal Server. СУБД, №3, 1997.
22. Пуха Ю. Объектные технологии построения распределенных информационных систем. СУБД, №3, 1997.
23. Codd E.F. A Relational Model of Data for Large Shared Data Banks. Commun. ACM 13, №6, 1970, p. 377-387.
24. Goldberg A., Robson D. Smalltalk-80: The Language and Its Implementation. Reading, MA: Addison-Wesley, 1983.
25. Stroustrup B. The С++ Programming Language. Reading, MA: Addison-Wesley, 198 6.
26. Malcolm Atkinson, Francois Bancilhon, David DeWitt, Klaus Dittrich, David Maier, Stanley Zdonik. The Obj ect-Oriented Database System Manifesto. // 1st Int. Conf. Deductive and Object-Oriented Databases, Kyoto, Japan, Dec. 4-6, 1989.
27. Won Kim. Object-Oriented Databases: Definition and Research Directions. IEEE Trans. Data and Knowledge Eng.-2, №3.-1990.
28. D.J. McConalogue. Obj ect-Oriented Databases: How do They differ from the traditional, and what are the implifications for CAD? Research in Informatics. Techno-Data190.
29. Michael F. Kilian. A Note on Type Composition and Reusability. OOPS Messenger July 1991.
30. Microsoft Open Database Connectivity Software Development Kit, Programmer Reference, Version 1.0. Redmond, WA: Microsoft Corp., 1992.
31. Steve Ford, Jose A. Blakely and Thomas J. Bannon. Open 00DB: A Modular Object-Oriented DBMS. SIGMOD Record June 1993.
32. Marc Gemis, Jan Paredaens, Igne Thyssens, Jan Van den Byussche. GOOD: A Graph-Oriented Object Database System. SIGMOD Record June 1993.
33. Arthur M. Keller, Richard Jensen, Shailesh Agarwal. Persistence Software: Bridging Object-Oriented Programming and Relational Databases. SIGMOD Record June 1993.
34. Jose Meseguer and Xiaolei Qian. A Logical Semantics for Object-Oriented Databases. SIGMOD Record June 1993.
35. Stanley Y.W.Su, Herman X.Lam, Srinivasa Eddula, Javier Arroyo, Neeta Prasad, Ronghao Zhuang. 0SAM*.KBMS: An Object-oriented Knowledge Base Management System for Supporting Advanced Applications. SIGMOD Record June 1993.
36. X/Open Data Management Call Level Interface (CLI) Draft Preliminary Specification. Reading, UK: X/Open Ltd., 1993.
37. R.G.G.Cattell, T.Atwood, J.Duhl, G.Ferran, M.Loomis, and D.Wade. The Object Database Standard: ODMG-93. San Mateo, CA:Morgan Kaufmann, 1993.
38. Won Kim. Observations on the ODMG-93 Proposal. SIGMOD Record March 1994.
39. Object Database Management Group. Response to the March 1994 ODMG-93 Commentary. SIGMOD Record September 1994.
40. Jim Melton. Accomodating SQL3 and ODMG. X3H2-95-161/DBL:YOW-32, 15 April, 1995.http://www.j cc.com/sqlx3h295161.html
41. Wade Andrew. Deploying Production ODBMS Applications. ADBIS'95, Moscow June 27-30, 1995, Phasis Publishing House.
42. Francois Bancilhon. Those Persistent Objects. Object Currents #2, 1996, SIGS Publications, Inc., New York, NY, USA.4 3. North Ken. ODBC Branches Out. DBMS ODBC Special Report, April 1996, Miller Freeman, Inc.
43. Francois Bancilhon. Object, Relational, Object-Relational & Relational-Object. Object Currents #4, 1996, SIGS Publications, Inc., New York, NY, USA.
44. Reed Paul. Using ODBC to Access Nontabular Data. DBMS online Magazine #4, 1996, Miller Freeman, Inc.
45. Francois Bancilhon. ODMG and the ODMG-93 Standard. Object Currents #5, 1996, SIGS Publications, Inc., New York, NY, USA.
46. F. Kim. UniSQL's Next-Generation Object-Relational Database Management System. Object Currents #5, 1996, SIGS Publications, Inc., New York, NY, USA.
47. Drew Wade, ODMG-93 The Object Database Standard. Objectivity, Inc., 20-06-96.
48. David S. Linthicum. Objects Meet Data. DBMS online Magazine #9, 1996, Miller Freeman, Inc.
49. Jay Mellman. Object Databases on the Web. Web Techniques Magazine.http://www.webtechniques.com/features/sep96/mellman.shtml
50. Andrew Girow. Binary Relations Approach to building Object Database Model. Object Currents #11, 1996, SIGS Publications, Inc., New York, NY, USA.
51. ObjectStore OpenAccess. Object Design Products. http://www.odi.com/products/oa/openaccess.html
52. Andrew Girow. Limitations of Object Data Models. Object Currents #1, 1997, SIGS Publications, Inc., New York, NY, USA.
53. David S. Linthicum. Reevaluating Distributed Objects. DBMS online Magazine #1, 1997, Miller Freeman, Inc.
54. R.G.G. Cattell, Douglas K. Barry. The Object Database Standard: ODMG 2.0. 1997, Morgan Kaufmann Publishers, Inc.
55. Nelson H. King. Object DBMSs: Now or Never Will ODBMSs capitalize on new opportunities to manage Web and complex datatypes? DBMS and Internet Systems, 1997 Miller Freeman, Inc.
56. David Carlson. Object-Oriented Web Servers. Object Magazine #5, 1997, SIGS Publications, Inc.
57. POET Technical Reference White Paper. Why Use an ODBMS? A Comparison Between Relational and Object Oriented Databases for Object Oriented Application Development.http://www.poet.com/toovsre.htm
58. GemStone Systems, Inc. GemConnect.http://www.gemstone.com/products/s/gemconnect.html
59. Мутушев Д.м. Система доступа к БД с объектной модельюе,«и. ^
60. ЗАМЕНИ СХЕМУ 00; ОБЛАСТЬ ООАгеа;
61. ТИП Имя-собственное символ 20;
62. ЗАПИСЬ SysOOs: Регистратор имя-собственное;
63. ЗАПИСЬ Человек: Фамилия имя-собственное, Имя имя-собственное, Отчество имя-собственное, Возраст целое,
64. НАБОР Проживает <Адрес> О-к-О;
65. ЗАПИСЬ Учитель НАСЛЕДУЕТ Человек: Педстаж целое, Разряд целое,
66. НАБОР Преподает <Предмет> О-к-М, НАБОР Ведет <3анятие> О-к-М, НАБОР Руководит <Класс> О-к-О, Зарплата целое МЕТОД: \1. ПЕРЕМЕННАЯ 31 целое;1. ПЕРЕМЕННАЯ 32 целое;
67. PUT 31 = Учитель.Работает.Ставка1.PUT 32 = Разряд -2;1.PUT 31 =31 * 32;1.PUT Зарплата = 31
68. ЗАПИСЬ Администратор НАСЛЕДУЕТ Учитель: Пост имя-собственное, Надбавка действительное;
69. ЗАПИСЬ Ученик НАСЛЕДУЕТ Человек: Характеристика символ 60, Успеваемость действительное;
70. ЗАПИСЬ Здание: Улица имя-собственное, Дом целое, Корпус целое;
71. ЗАПИСЬ Школа НАСЛЕДУЕТ Здание: Номер целое,
72. Специализация имя-собственное, Ставка целое,
73. НАБОР Работает <Учитель> М-к-М,
74. НАБОР Служит <Администратор> О-к-М ВКЛЮЧЕНИЕ автоматически, НАБОР Классы <Класс> О-к-М, НАБОР Места <Кабинет> О-к-М, Фонд целое МЕТОД: \
75. PUT Фонд = SELECT SUM (Школа.Работает.Зарплата) FROM ШколаV
76. ОПЕРАЦИЯ Индексировать пустое: \
77. ПАРАМЕТР Коэффициент действительное; UPDATE Школа SET Ставка = Ставка * Коэффициент;
78. ОПЕРАЦИЯ Контингент целое.
79. ЗАПРОС Контингент = SELECT SUM (Школа. Классы. Численность) FROM Школа
80. ЗАПИСЬ Адрес НАСЛЕДУЕТ Здание: Квартира целое;
81. ЗАПИСЬ Класс: Какой целое, Параллель символ, Численность целое МЕТОД:
82. НАБОР Учится <Ученик> О-к-М ВКЛЮЧЕНИЕ автоматически, НАБОР Занимается <3анятие> О-к-М; \
83. ЗАПРОС Численность = SELECT СОШТ(Класс. Учится) FROM Класс
84. ЗАПИСЬ Предмет: Название имя-собственное, НАБОР Изучается <3андтие> О-к-М;
85. ЗАПИСЬ Кабинет: Номер целое,
86. НАБОР Занят <3анятие> О-к-М; ЗАПИСЬ Час:
87. День целое КОММЕНТАРИЙ 1.6*!, Начало время,
88. НАБОР Идет <3анятие> О-к-М;1. ЗАПИСЬ Занятие;
-
Похожие работы
- Интеграция объектных систем обработки информации и реляционных серверов
- Конверсия реляционных баз данных в объектно-ориентированные и соответствующая трансляция запросов
- Методика проверки наличия возможности несанкционированного доступа в объектно-ориентированных системах
- Объектный подход при формировании структур и хранилищ данных в технологической подготовке опытного производства
- Метод автоматизированного синтеза объектно-реляционной базы данных АСУП
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность