Скачиваний:
48
Добавлен:
01.04.2014
Размер:
690.69 Кб
Скачать

12.7. Резюме

Эта глава начиналась с краткого введения в общие идеи семантического моделиро­вания. В целом этот процесс состоит из четырех перечисленных ниже этапов, пер­вый из которых является неформальным, а остальные — формальными.

1. Задать полезные семантические концепции.

2. Вывести соответствующие символические объекты.

3. Вывести соответствующие правила целостности.

4. Вывести соответствующие операторы.

Среди полезных семантических концепций следует упомянуть объект, свойство, отношение и подтип.

Главная цель исследований в области семантического моделирования заключается в том, чтобы сделать СУБД более "разумными". А практическая цель заключается в создании системного подхода к решению проблемы проектирования базы данных. В данной главе было описано применение частной "семантической" модели для ре­шения этой проблемы, а именно предложенной Ченом модели объект/отношение.

В связи со сказанным выше стоит повторить мысль о том, что в оригинальной статье Чена [12.3] на самом деле содержалось два различных, более или менее независимых, предложения: самамодель объект/отношение, а также диаграммная тех­ника.Как было отмечено, популярность модели объект/отношение скорее всего можно объяснить именно наличием этой диаграммной техники, чем какой-либо дру­гой причиной. Однако совсем не обязательно для использованиядиаграммпринимать все идеи этой модели. Диаграммы можно использовать в качестве основы длялюбой методики проектирования, например в [12.6] приводится другая методика. Часто при сравнении удобства использования модели объект/отношение и других моделей, пре­дусмотренных для проектирования базы данных, эта особенность упускается из виду.

Сравним теперь идеи семантического моделирования (и модель объект/отношение в частности) с порядком нормализации, описанным в главах 10 и 11. Порядок норма­лизации основан на приведении больших отношений к отношениям меньшего разме­ра. При этом предполагается, что на исходном этапе имеется небольшое количество больших отношений и после выполнения нескольких операций приведения на завер­шающем этапе будет получено большое количество малых отношений, т.е. произой­дет отображение больших отношений на малые (это, конечно же, очень приблизи­тельная формулировка). Однако в процедуре нормализации нигде не упоминается, каким образом были получены исходные большие отношения. Нисходящие методики, подобные описанным в настоящей главе, как раз и предназначены для ре­шения именно этой проблемы, т.е. они позволяют отобразить реальный мир в боль­ших отношениях. Иначе говоря, эти два подхода дополняют друг друга. Таким обра­зом, общая процедура проектирования базы данных включает два этапа.

1. Использование подхода на основе модели объект/отношение или другой нисхо­дящей методики для генерации "больших" отношений, представляющих правиль­ные объекты, слабые объекты и т.д.

2. Последующее использование идей дальнейшей нормализации для разбиения "больших" отношений на "малые".

Однако, судя по приведенным в данной главе рассуждениям, изложение основ се­мантического моделирования не является таким строгим и ясным, как описание порядка дальнейшей нормализации в главах 10 и 11. Дело в том, что (как было указано в начале данной главы) проектирование базы данных все еще является не объективным, а весьма субъективным занятием, поскольку существует сравнительно мало действительно стро­гих принципов, которые могут использоваться для разрешения этой проблемы (немногие существующие на сегодняшний день принципы в основном являются прин­ципами нормализации). Изложенные в настоящей главе идеи можно рассматривать как рекомендации, которые действительно могут быть весьма полезны на практике.

В заключение следует упомянуть еще один очень важный момент. Несмотря на заяв­ление, что эта область исследований все еще остается очень субъективной, есть в ней одна особая часть, в которой идеи семантического моделирования в настоящее время могут быть весьма уместны и полезны. Речь идет о словаре данных, который в некотором смысле можно рассматривать как "базу данных разработчика для создаваемой им базы данных". В ней разработчик хранит принятые во время проектирования базы данных ре­шения [12.2]. Таким образом, изучение семантического моделирования может оказаться чрезвычайно полезным для проектирования системы управления словарем данных. В нем могут быть указаны типы объектов, которые словарь должен поддерживать и "понимать", например категории объектов (такие как правильные и слабые объекты в модели объ­ект/отношение), правила целостности (такие как полное или частичное участие в отноше­нии модели объект/отношение), супертипы объектов, подтипы и т.д.

Упражнения

12.1. Что означает термин "семантическое моделирование"?

12.2. Перечислите четыре основных этапа, необходимых для задания такой "расширенной" модели, как модель объект/отношение.

12.3. Дайте определение перечисленным терминам модели объект/отношение:

объект; правильный объект; слабый объект; отношение; свойство; ключевое свойство; супертип; подтип; иерархия типов; наследование.

12.4. Приведите примеры для следующих отношений;

а) отношение типа многие-ко-многим, в котором один из участников является слабым объектом;

б) отношение типа многие-ко-многим, в котором один из участников являет­ся другим отношением;

в) отношение типа многие-ко-многим, которое имеет подтип;

г) подтип, связанный со слабым объектом, который, в свою очередь, не зави­сит от супертипа.

12.5. Нарисуйте диаграмму объект/отношение для базы данных учебного процесса из упр. 5.3 главы 5.

12.6. Нарисуйте диаграмму объект/отношение для базы данных, содержащей ин­формацию о персонале компании, из упр. 10.3 главы 10. Используйте эту диаграмму для вывода соответствующего набора базовых отношений.

12.7. Нарисуйте диаграмму объект/отношение для базы данных системы учета за­казов из упр. 10.4 главы 10. Используйте эту диаграмму для вывода соответ­ствующего набора базовых отношений.

12.8. Нарисуйте диаграмму объект/отношение для базы данных, содержащей ин­формацию о продажах, из упр. 11.2 главы 11. Используйте эту диаграмму для вывода соответствующего набора базовых отношений.

12.9. Нарисуйте диаграмму объект/отношение для измененной базы данных о про­дажах из упр. 11.4 главы 11. Используйте эту диаграмму для вывода соответ­ствующего набора базовых отношений.

Список литературы

Сюда следует также отнести некоторые ссылки на работы, приведенные после главы 2, особенно [2.3, 2.6, 2.7].

12.1. Abrial J.R. Data Semantics // J. W. Klimbie and K. L. Koffeman (eds.). Data Base Management. — Amsterdam, Netherlands: North-Holland; New York, N.Y.: Elsevier Science, 1974.

Одна из самых ранних публикаций в области семантического моделирования. Следующая цитата прекрасно передает общий дух изложения материала в этой статье: "Совет читателю: если вы хотите найти в этой статье определе­ние термина семантика, вам следует прекратить чтение, поскольку такого определения в этой статье нет".

12.2. Alien F.W., Loomis M.E.S., Mannino M.V. The Integrated Dictionary-Directory System //ACM Соmр. Surv. — 1982. — 14, № 2.

Введение в словари данных с кратким обзором имеющихся продуктов по со­стоянию на 1982 год.

12.3. Chen P. P.-S. The Entity-Relationship Model — Toward a Unified View of Data // ACM TODS. — 1976. — 1, № 1. (Переиздано: М. Stonebraker (ed.) Readings in Database Systems. — San Mateo, Calif: Morgan Kaufmann, 1988.)

В статье представлены модель и диаграмма объект/отношение. Как уже говори­лось в этой главе, с тех пор эта модель претерпела значительные изменения, по­скольку, конечно же, объяснения и определения, данные в этой первой статье бы­ли не очень строгими и точными, а потому нуждались в усовершенствовании. (Одно из наиболее часто высказываемых критических замечаний по отношению к модели объект/отношение состоит в том, что термины модели не имеют единого и четкого определения, а интерпретируются несколькими различным способами [12.4, 12.7]. Конечно, вся область изучения баз данных характеризуется наличием неточной и противоречивой терминологии, однако данная область — в наиболь­шей степени.) Вот несколько примеров этих неточностей.

• В этой главе отмечалось, что объект определяется как "предмет, который мо­жет быть четко идентифицирован", а отношение как "соединение объектов". При этом сразу же возникает вопрос, а является ли отношение объектом? Яс­но, что отношение является "предметом, который может быть четко иденти­фицирован", однако из последующих разделов этой статьи следует, что тер­мин "объект" предусмотрен для чего-то, определенно не являющегося "отношением". Если все же допустить, что это так, то почему модель называ­ется "моделью объект/отношение"? В статье это действительно не очень ясно.

• Объекты и отношения могут иметь атрибуты (в этой статье использовался термин "свойство"). В статье снова не дается четкого определения этому термину, поскольку сначала атрибут определяется как свойство, которое не является первичным ключом или его компонентом (в противоположность реляционному определению), а потом он используется в стандартном реля­ционном смысле.

• Предполагается, что первичный ключ отношения является комбинацией внеш­них ключей, которые идентифицируют объекты, включенные в состав данного отношения (однако термин "внешний ключ" при этом не используется). Это до­пущение верно только для отношений типа многие-ко-многими и то не всегда. Например, рассмотрим отношение SPD {S#, P#, DATE, QTY}, представляющее поставки некоторых товаров некоторыми поставщиками по некоторым датам. Предположим, что один и тот же поставщик может поставлять один и тот же товар несколько раз, но только по разным датам. Тогда первичный ключ явля­ется комбинацией {S#, Р#, DATE}, причем если поставщиков и товары можно выбрать в качестве объектов, то для дат этого сделать нельзя.

12.4. Chen P. P.-S. A Preliminary Framework for Entity-Relationship Models // P. P.-S. Chen (ed.). Entity-Relationship Approach to Information Modeling and Analysis. — Saugus, Calif, 1981.

12.5. Codd E.F. Extending the Database Relational Model to Capture More Meaning // ACM TODS. — 1979. — 4, № 4.

В статье представлена расширенная реляционная модель RM/T. Можно сразу же отметить несколько различий между RM/T и моделью объект/отношение. Во-первых, в модели RM/T не делается никаких различий между объектами и от­ношениями (отношение рассматривается всего лишь как особый вид объекта). Во-вторых, структурные и целостные аспекты модели RM/T более обширны и ме­нее четко определены, чем в модели объект/отношение. В-третьих, модель RM/T содержит несколько специальных операторов в дополнение к операторам базовой реляционной модели (хотя в этой области еще предстоит дополнительная работа).

Вкратце модель RM/T функционирует следующим образом.

• Объекты (включая "отношения") представлены Е-отношениями и Р-отношениями, которые являются особыми видами отношения общего типа степени п. Е-отношения используются для указания существования некоторых объектов, а Р-отношения — для указания некоторых свойств этих объектов.

• Среди объектов могут быть заданы разные отношения: например, типы объек­тов А и В могут образовывать соединение (этот термин принят в модели RM/T для отношения типа многие-ко-многим) или один тип объекта может быть под­типом другого типа объекта. Модель RM/T имеет формальную структуру ка­талога, который указывает системе на существование таких отношений. Таким образом, система в состоянии привести в действие различные ограничения це­лостности, которые подразумеваются наличием таких отношений.

• Для управления различными объектами модели RM/T (Е- и Р-отношения, каталог отношений и т.д.) существуют операторы высокого уровня.

В модели RM/T имеются и другие аналоги конструкций модели объект/отно­шение (объект, свойство, отношение, подтип), которые перечислены на рис. 12.1. Точнее, в ней задана классификационная схема объектов, которая во многих случаях образует наиболее значительный или, по крайней мере, наиболее очевидный аспект всей этой модели. Объекты разделены на три ос­новные категории: ядра, характеристики и соединения.

Ядра. Это объекты, имеющие независимое существование, они являются тем, из "чего на самом деле состоит база данных". Иначе говоря, ядрами называ­ются объекты, которые не являются ни характеристиками, ни соединениями.

Характеристики. Это объекты, предназначенные для описания или "составления характеристики" некоторого другого объекта. Характеристи­ки существуют независимо от описываемых ими объектов. Описываемый объект может быть ядром, характеристикой или соединением.

Соединения. Это объекты, представляющие отношение типа многие-ко-многим (или многие-ко-многим-ко-многим и т.д.) среди двух или более объектов. Среди соединенных объектов могут быть ядра, характеристики или соединения.

Кроме того:

• Объекты (независимо от их классификации) могут также быть свойствами.

• В частности, любой объект (опять-таки независимо от классификации) мо­жет иметь свойство, функция которого заключается в том, чтобы указать на некоторый другой объект. Такое указание представляет собой отноше­ние типа многие-к-одному между двумя объектами.

• Поддерживаются супертипы и подтипы объектов. Если В является супер­типом А, то В является ядром, характеристикой или соединением в зависи­мости от того, является ли А ядром, характеристикой или соединением.

Все перечисленные выше концепции можно соотнести с их аналогами в мо­дели объект/отношение (в некотором неформальном виде) следующим обра­зом. Ядро соответствует "правильному объекту" в модели объект/отношение, характеристика — "слабому объекту", а соединение — "отношению" (только для типа многие-ко-многим).

Приведенные выше краткие сведения следует дополнить упоминанием о том, что в модели RM/T предусмотрена поддержка суррогатов (подробнее это описано в [12.12]), временного измерения и различных типов агрегации дан­ных (подробнее это обсуждается в [12.22, 12.23]).

12.6. Date C.J. A Practical Approach to Database Design // C. J. Date. Relational Database: Selected Writings. — Reading, Mass.: Addison-Wesley, 1986.

Описание методики проектирования, основанной на концепциях модели RM/T [12.5].

12.7. Date C.J. Entity/Relationship Modeling and the Relational Model // C. J. Date and Hugh Darwen. Relational. Database Writings: 1989-1991.— Reading, Mass.: Addison-Wesley, 1992.,

12.8. Date C.J. Don't Encode Information into Primary Keys! // Ibid.

Здесь представлены аргументы против того, что порой называется "разумными ключами". Кроме того, также следует упомянуть работы [5.6, 5.7], в которых приведены рекомендации относительно внешних ключей.

12.9. Date C.J. A Note on One-to-One Relationships // C. J. Date. Relational Database Writings 1985-1989. —Reading, Mass.: Addison-Wesley, 1990.

Обширное обсуждение проблемы отношений типа один-к-одному, которые на самом деле гораздо сложнее, чем может показаться на первый взгляд.

12.10. Elmasri R., Navathe S.B. Fundamentals of Database Systems (2nd edition).— Redwood City, Calif: Benjamin/Cummings, 1994.

В этом учебном пособии о проектировании баз данных содержится две главы, посвященные методам объект/отношение.

12.11. Fleming C.C., Von Halle В. Handbook of Relational Database Design. — Reading, Mass.: Addison-Wesley, 1989.

Достаточно обширное и прекрасное в практическом отношении пособие по проек­тированию баз данных в реляционных системах с некоторыми примерами на основе системы DB2 компании IBM и DBC/1012 компании Teradata (теперь NCR). Описа­на как логическая, так и физическая структура, хотя, например, для описания "реляционного макета" в книге используется термин "логический макет", а с помо­щью термина "реляционный макет" описаны по крайней мере некоторые аспекты "физического макета"! Описанная в этой книге особая методика проектирования имеет несколько общих черт с методикой, представленной в [12.6].

12.12.Hall Р., Owlett J., Todd S.J.P. Relations and Entities // G. M. Nijssen (ed.). Modelling in Data Base Management Systems. — Amsterdam, Netherlands:

North-Holland; New York, N.Y.: Elsevier Science, 1975. Это первая статья, в которой была подробно рассмотрена идея суррогатов (позднее суррогаты были введены в состав модели RM/T). Суррогатом назы­вается идентификатор объекта, заданный и поддерживаемый самой системой. В терминах модели RM/T каждое Е- и Р-отношение имеет суррогат в качест­ве первичного ключа, который в случае Р-отношений служит также внешним ключом (обращаясь к соответствующему Е-отношению). В этой статье под­робно обсуждаются некоторые преимущества суррогатов.

Здесь, вероятно, стоит заметить, что суррогаты не являются (как считают некото­рые авторы) тем же, что и "идентификаторы кортежей", потому что последние идентифицируют кортежи, а суррогаты идентифицируют объекты, а значит, меж­ду ними не может быть никакого отношения типа один-к-одному. На самом деле между объектами и кортежами существует отношение типа один-к-одному толь­ко в случае Е-отношений (в терминах модели RM/T). Отсюда следует, что корте­жи в базовых отношениях, отличных от Е-отношений, и кортежи в производных отношениях не имеют вовсе никакой очевидной связи с суррогатами.

Более того, идентификаторы кортежей обладают дополнительными преимущест­вами в производительности, что не свойственно суррогатам, поскольку доступ к кортежу через идентификатор кортежа происходит очень быстро (предпола­гается, что кортежи [базового отношения] отображаются непосредственно на фи­зическую структуру хранения; это имеет место во многих современных реляци­онных программных продуктах). Кроме того, идентификаторы кортежа обычно скрыты от пользователя, тогда как суррогаты обычно нет, т.е. идентификатор кортежа нельзя сохранить как значение атрибута, а суррогат можно. Короче говоря, суррогаты являются логической концепцией, а идентифика­торы кортежей — физической.

12.13. Hammer M.M., McLeod D. J. The Semantic Data Model: A Modelling Mechanism for Database Applications // Proc. 1978 ACM SIGMOD Intern. Conf. on Management of Data. — Austin, Texas, 1978.

Семантическая модель данных (Semantic Data Model — SDM) представляет собой другой формальный подход проектирования базы данных. Как и в мо­дели объект/отношение, основное внимание в ней уделяется структурным ас­пектам и аспектам целостности и совсем немного внимания (или вообще ни­какого) — аспектам манипулирования (операторам). Об этом также можно прочесть в [12.14, 12.16].

12.14. Hammer M., McLeod D. Database Description with SDM: A Semantic Database Model // ACM TODS. — 1981. — 6, № 3. См. комментарий к [12.13].

12.15. Hull R., King R. Semantic Database Modeling: Survey, Applications, and Research Issues // ACM Сотр. Surv. — 1987. — 19, № 3.

Обширное введение в семантическое моделирование и связанные с ним во­просы. Эта статья является прекрасной отправной точкой для изучения се­мантического моделирования и связанных с ним проблем и тем.

12.16. Jagannathan D. et al. SIM: A Database System Based on the Semantic Data Model // Proc. 1988 ACM SIGMOD Intern. Conf. on Management of Data. — Chicago, 111., 1988.

Описание коммерческой СУБД на основе семантической модели данных, предложенной Хаммером и Мак-Леодом в [12.13].

12.17. Kent W. A Taxonomy of Entity-Relationship Models. — Частное сообщение, 1982.

12.18. Mannila H., Raiha K.-J. The Design of Relational Databases. — Wokingham, UK: Addison-Wesley, 1992.

Согласно предисловию эта книга является учебным пособием для студентов и библиографическим справочником по вопросам проектирования реляционных баз данных. В ней, с одной стороны, описана теория зависимостей и процедура нормализации, а с другой — модель объект/отношение, причем в каждом слу­чае изложение ведется с формальной точки зрения. Ниже перечислены назва­ния глав из этой книги, которые могут дать представление о ее содержании.

• Принципы проектирования.

• Ограничения целостности и зависимости.

• Свойства реляционных схем.

• Аксиоматизация зависимостей.

• Алгоритмы для задач проектирования.

• Отображения между диаграммами объект/отношение и схемами реляцион­ных баз данных.

• Преобразования схем.

• Примеры проектирования баз данных.

Описанные в книге технологии были воплощены ее авторами в виде инстру­мента под названием Design By Example (макет по образцу).

12.19. 0lle T.W., Sol H.G., Verrijn-Stuart A.A. (eds.). Information Systems Design Methodologies: A Comparative Review. — Amsterdam, Netherlands: North-Holland;

New York, N.Y.: Elsevier Science, 1982.

Доклады конференции IFIP Working Group 8.1, в которых описаны 13 различ­ных методик и результаты их воплощения для решения стандартной тестовой задачи. В книгу также включены обзоры некоторых предложенных подходов.

12.20. Peckham J., Maryanski F. Semantic Data Models // ACM Сотр. Surv. — 1988. — 20, № 3. Еще один вводный обзор.

12.21. Schmid H. A., Swenson J. R. On the Semantics of the Relational Data Base Model // Proc. 1975 ACM SIGMOD Intern. Conf. on Management of Data. — San Jose, Calif, 1975.

В работе представлена "базовая семантическая модель", которая предшест­вовала работе Чена с описанием модели объект/отношение, но была подобна этой модели (конечно, за исключением используемой терминологии, по­скольку Шмид и Свенсон использовали термины независимый объект, зави­симый объект и соединение вместо терминов Чена правильный объект, сла­бый объект и отношение соответственно).

12.22. Smith J.M., Smith D.C.P. Database Abstractions: Aggregation // CACM. — 1977.—20, №6. ^ См. аннотацию к [12.23].

12.23. Smith J.M., Smith D.C.P. Database Abstractions: Aggregation and Generalization // ACM TODS. — 1977. — 2, № 2.

Идеи, высказанные в статьях [12.22, 12.23], оказали значительное влияние на формулировку модели RM/T [12.5], особенно в области подтипов и супертипов.

12.24. Storey V.C. Understanding Semantic Relationships // The VLDB Journal. — 1993.—2, №4.

В аннотации к статье говорится, что семантические модели данных были раз­виты в сообществе исследователей баз данных с использованием таких абст­ракций, как подтип и агрегация; помимо хорошо известных понятий, некото­рые дополнительные семантические понятия были созданы исследователями в таких дисциплинах, как лингвистика, логика и когнитивная психология. Также отмечается, что в статье исследуются некоторые из последних понятий и обсуждается их влияние на проектирование баз данных.

12.25. Sundgren В. The Infological Approach to Data Bases // J. W. Klimbie and K. L. Koffeman (eds.). Data Base Management. — Amsterdam, Netherlands:

North-Holland; New York, N.Y.: Elsevier Science, 1974.

"Информационно-логическим" ("infological") называется подход в семанти­ческом моделировании, который долгие годы успешно использовался в Скандинавии.

12.26. Tasker D. Fourth Generation Data: A Guide to Data Analysis for New and Old Systems. — Sydney, Australia: Prentice-Hall of Australia Pty., Ltd., 1989.

Прекрасное практическое пособие по проектированию баз данных, в котором вни­мание главным образом уделяется индивидуальным объектам данных. Объекты данных разделены на три основных типа: именные, количественные и описатель­ные. Именные обозначают объекты и в реляционном смысле относятся к первич­ным и внешним ключам. Количественные представляют собой меру или располо­жение согласно какой-то шкале (скорее всего, шкале дата/время) и могут быть под­вергнуты обычным арифметическим манипуляциям. Все остальные объекты отно­сятся к описательным. (Конечно, это краткое описание не может дать полного представления обо всей классификационной схеме.) В книге подробно обсуждается каждый из перечисленных типов объектов. Эти описания не всегда можно назвать "чисто реляционными", поскольку, например, использованное Таскером понятие "домена" не вполне отвечает реляционному смыслу этого термина. Однако в книге содержится достаточно материала, имеющего большое практическое значение.

12.27. Teorey T.J., Fry J.P. Design of Database Structures. — Englewood Cliffs, N.J.: Prentice-Hall, 1982.

Учебник по всем вопросам проектирования баз данных, который разделен на пять частей: введение, концептуальное проектирование, практическое проек­тирование (т.е. преобразование концептуального проектирования в конструк­ции, которые можно применить для конкретной СУБД), физическое проекти­рование и вопросы специализированного проектирования.

12.28. Teorey T.J., Yang D., Fry J.P. A Logical Design Methodology for Relational Databases Using the Extended Entity-Relationship Model // ACM Сотр. Surv. — 1986.—18, №2.

В представленную в этой работе "расширенную модель объект/отношение" добавлена поддержка обобщения и иерархий подмножеств (два варианта ие­рархий типов), обработка пустых значений и отношения, включающие боль­ше двух участников.

12.29. Teorey T.J. Database Modeling and Design: The Entity-Relationship Approach. — San Mateo, Calif: Morgan Kaufmann, 1990.

Более современный учебник с описанием применения концепций модели объ­ект/отношение и "расширенной" модели объект/отношение [12.28] для проек­тирования базы данных.

Соседние файлы в папке Дейтл Введ в БД