Введение в системы БД (542480), страница 260
Текст из файла (страница 260)
24.9. Еше раз рассмотрите образовательную базу данных. Покажите, какие объекты будут задействованы при выполнении следующих процедур. а) Удаление слушателя б) Удаление служащего в) Удаление курса г) Удаление класса слушателей д) Удаление класса служащих Подразумевается, что в каждом случае используется механизм автоматической сборки мусора языка ОРА1.. Приведите любые допущения, которые необходимо сделать относительно таких аспектов, как организация каскадного удаления и др. 24.10.Допустим, что база данных поставщиков, деталей и проектов организована с использованием простой объектной иерархии вложения. Сколько таких иерархий можно реализовать? Какая из них является наилучшей? 24.!1.Рассмотрите вариант базы данных поставщиков, деталей и проектов, в котором вместо записей о том, что некоторые поставщики поставляют некоторые детали для некоторых проектов, содержатся записи о том, что некоторые поставщики поставляют некоторые детали, некоторые детали поставляются для некоторых проектов и некоторые проекты обеспечиваются деталями от некоторых поставщиков.
Сколько таких объектных макетов можно реализовать (с учетом или без учета иерархии вложения)? 24.12.Опишите основные факторы, оказывающие влияние на производительность объектных систем и кратко обсуждавшиеся в разделе 24.5. Справедливо ли утверждение, что они характерны только для объектных систем? Обоснуйте свой ответ. 24.13.В объектных системах ограничения целостности обычно поддерживаются процедурно, т.е. с помощью методов, за исключением ограничений целостности на уровне ссылок, которые обычно поддерживаются, по крайней мере частично, декларативно. В чем состоит преимущество процедурного способа поддержки ограничений целостности? Почему ограничения целостности на уровне ссылок поддерживаются иначе? 24.14.Объясните смысл концепции обратных переменных. Список литературы Публикации [24.5], [24.7], [24.11], [24.15), [24.26], [24.31], [24.38), [24,41) и [24.50) представляют собой книги по объектной тематике и связанным с ней вопросам.
Публикации [24.35], [ 24.36] и [24.52] — это сборники научно-исследовательских работ, а [24,27), [ 24.28), [24.44) и [24.47) — учебные пособия. В работах [24.4), [24.9), [24.23) и [24.37] описываются конкретные системы. 986 Чисть РХ Объектные и объектно-реляционньге базы данных Ай!пзоп М.Р. е! а1, ТЬе ОЬ]есг-Ог!епгеб ОагаЬазе Буз!еш Мап!Тек!о Д Ргос.
!з! 1пъ Сопб оп Оебцс!!че апд ОЬ]есыОг!епгеб Ра!аЬазез. — Куого, )арап, 1989. Ыеи Уог!г, Ы.У.: Е1зеч!ег Бс!епсе, — ! 990. Одна из первых попыток достичь согласия по вопросу, что же должна включать в себя "объектная модель". Предлагаются следующие обязательные возможности [т.е., по мнению автора, возможности, которые должны поддерживаться, если рассматриваемая СУБД заслуживает называться "объектно-ориентированной").
24.1. 1. Коллекции 2. Объектные идентификаторы 3. Инкапсуляция 4. Типы или классы 5. Наследование 6. Позднее связывание 7. Вычислительная полнота 8. Типы, определяемые пользователем 9. Устойчивость 10. Поддержка больших баз данных 11. Параллельный доступ к данным 12. Восстановление 13. Произвольные запросы Также обсуждаются необязательные возможности, включая множественное наследование и проверку типов на этапе компиляции; некоторые огикрыгиые возможности, включая "парадигмы программирования"; вопросы, по которым авторы не смогли достичь согласия, включая (как это ни странно, учитывая их важность) представления и ограничения целостности. Заиечаиие.
В [3.3] и [25.34] комментируется эта статья. Относительно комментариев в [3.3] необхолимо отметить, что они основываются на предпосылке, что назначение статьи — определить свойства лучших, настоящих СУБД общего назначения. Мы не отрицаем, что перечисленные выше свойства могут быть полезны для специализированных СУБД, которые связаны с конкретным приложением, например САПР/ОАСУП, для которого не требуется, скажем, поддержка ограничений целостности. Однако тогда возникает вопрос, является ли такая система системой управления базами данных в полном смысле этого понятия. 24.2. А!!г!пзоп М.Р,, Вцпешап О.Р. Турез апб Регз!згепсе 1п !3агаЬазе Ргойгашпцпй 1.апйцайез Д АСМ Сошр.
Бцгч. — 1цпе, 1987. — 19, № 2. Одна из ранних статей, если не самая ранняя, в которой формулируется точка зрения, согласно которой перманентность в языках программирования баз данных не должна зависеть от типов. Эта статья рекомендуется в качестве вводного пособия по изучению языков программирования баз данных в целом (" языки программирования баз данных" многими воспринимались как необходи.иое условие объектных систем; см., например, [24.11], [24.12]).
БергешЬег, 1986. — 15, № 3. Цитата из введения: "Объектно-ориентированный подход... кажется наиболее приемлемым для управления такими новыми типами приложений, как САПР, для разработки программного обеспечения и для исследований в области искусственного интеллекта. Однако естественное расширение управления базами данных до реляционной методики является... не объектно-ориентированной, а логической программной парадигмой. В данной статье рассматривается возможность совмещения этих двух парадигм".
Отсюда с некоторой долей предосторожности можно заключить, что они совместимы. 987 Глава 24. Объектные базы данньп 24.3. Вапс1!Ьоп Р. А Еой!с-Ргойгаппп!пфОЬ]есг-Ог!епгеб Сос!с!а!1 Д АСМ Б!ОМОО.— 24.4. 24.5. 24.6 24.7. 24.8. Замечание. В [24.49] предлагается противоположная точка зрения.
Вапег]ее 3. е! а1. Раса Моде! Вацек Гог ОЬ]есс-Ог[еп!ед Арр[)сайопз й АСМ ТОР!8 (Тгапзасйоп оп ОГ!)се 1пГоппайоп Буз!епзз), — Магсй, 1987. — 5, № 1. (Эта работа также опубликована в М. БгопеЬгайег (ед.). цеад1пйз ш РагаЬазе Буз!ешз. — Бап Ма!ее, Са![ба Могйап Кацбпапп„! 994, а также в [24.52].) Вану Р.К. ес а1.
ТЬе ОЬ]есг-Одепгед РагаЬазе НапдЬоок; Но~ч !о Бе!есй !шр!епзепг, Апд 1)зе ОЬ]есг-Ог]еп!ед Ра!аЬазез. — Хечч Уаттс, Х.Ч.: )ойп 'чЧйеу апд Болз. — 1996. Основная мысль этой книги заключается в том, что если мы имеем дело со "сложными данными", необходима объектная система, а не реляционная. Сложные данные характеризуются как а) вездесущие, б) зачастую с недостаточной уникальной идентификацией, в) с использованием многочисленных связей типа "многие ко многим" н г) часто требующие использования кодов типов "в реляционной схеме" (поскольку в современных БОЬ-продуктах имеется недостаточная непосредственная поддержка для подтипов и супертипов).
Замечание. Автор является исполнительным директором группы ОЬ]есг Раса Мапа8ешепс Огоцр (ОРМО) [24.12]. Веесй Р. А Еоцпда!!оп Гог Ечо[цг!оп Ггош ие!а!1опа! го ОЬ]ес! РагаЬазез д Ясйш[дг, Сеп', М1ззйсоГГ Ех!епд]п8 РагаЬазе ТесЬпо1ойу, — Хеи Уогк, ЬЬХ.: Брг!пйег Чег!ай, 1988. Это одна из многих статей, в которых обсуждались возможности расширения языка Я.)Ь до некоторой разновидности "объектного БОЬ" (необходимо предупредить читателя, что такой "объектный БОЬ" часто не очень похож на привычный БОЬ).
Более подробно этот вопрос рассматривается также в [24.39]. Вегбпо Е., Магйпо Ь. ОЬ)есыОПеп!ед Ра!аЬазе Бумешз: Сопсеръз апд Агсйпесшгез. — цеад!п8, Мазза Адд]зоп-1Чез!еу, 1993. В]огпегз!ед! А., Нц!16п С. Чеггдоп Соп!го! !п ап ОЬ)есьОПепгед Агсййесшге. (Опубликована в [24.36].) Для многих приложений необходима концепция отдельных версий данного объекта. Примерами таких приложений могут служить разработки программного обеспечения, проекты аппаратных средств, создание документов и т.д. И некоторые объектные системы поддерживают эту концепцию непосредственно (хотя на самом деле данная концепция не связана именно с объектной системой или с какой-либо другой). Такая поддержка обычно включает следующее.
° Возможность создания новой версии данного объекта, обычно с помощью оформления выдачи копии объекта н ее пересылки из базы данных на собственную рабочую станцию пользователя, где эта копия может корректироваться в течение продолжительного времени (например, несколько часов или днеЙ). ° Возможность получения версии данного объекта как версии текущей базы данных, обычно с помощью ее регистрации (сдачи на хранение) и пересылки с рабочей станции пользователя обратно в базу данных, для которой, в свою очередь, может потребоваться некоторый механизм слияния отдельных версий.
° Возможность удаления и, возможно, архивирования устаревших версий. ° Возможность запроса истории версий данного объекта. 988 Часть Р7. Объектные и объектно-реляционные базы данньп Заметим, что, как показано на рис. 24.7, истории версий не обязательно связаны линейно (из версии Ч. 2 образуются две разные версии, Ч. За и Ч. ЗЬ, которые затем сливаются в версию Ч.
4). Рис. 24.7. Типичная история версий объекта Поскольку объекты обычно взаимосвязаны различными способами, концепция версий приводит к концепции конфигураций. Конфигурацией называется коллекция взаимно согласованных версий взаимосвязанных объектов. Причем под этим подразумевается выполнение некоторых основных операций. И Возможность копирования версии объекта из одной конфигурации в другую (например, из "старой" конфигурации в "новую").