Введение в системы БД (542480), страница 127
Текст из файла (страница 127)
Однако здесь следует заметить, что все эти термины ["экземпляр сушности", "тип сушности", "свойство", "связь" и т.д.) определены не совсем точно иди формально, поскольку они являются всего лишь концепциями "реального мира", а не формальными терминами. Таким образом, данный первый этап является неформальным, тогда как приведенные ниже второй, третий и четвертый этапы, напротив, достаточно формальны. 2.
Далее попытаемся определить набор соответствуюших символических [т.е, формальных) объектов, которые могут использоваться дяя представления описанных выше семантических концепций. [Замечание. Здесь термин обьвкт не используется в каком-то строго определенном смысле!) Например, в расширенной реляционной модели [КМ/Т) [!З.б) вводится несколько особых видов отношений, которые называются Е- и Р-отношениями. Грубо говоря, Е-отношения (от "епрйу-ге!апопз") представляют сушности, а Р-отношения [от "ргорегту-ге)абопз") — свойства, однако Е- и Р-отношения, безусловно, имеют конкретные формальные определения, тогда как сами сушности и свойства их не имеют.
3. Кроме того, следует определить набор формальных общих правил целостности (или, используя терминологию главы 8, "метаограннчений"), предназначенных для работы с такими формальными объектами. Например, КМ "Т-модель включает правило целостности свойств, которое утверждает, что ддя каждого элемента Р- отношения должен сушествовать соответствуюший ему элемент в Е-отношении [это отражает тот факт, что каждое свойство в базе данных должно быть свойством некоторой сушности). 4.
Наконец необходимо также определить набор формальных операторов, предназначенных для манипулирования этими формальными объектами. Например, в КМ!Т-модели присутствует оператор РКОРЕВТУ, который можно использовать ддя соединения Е-отношения со всеми соответствующими ему Р-отношениями независимо от того, сколько их и какие им присвоены имена, т.е, оператор, позволяюший собрать воедино все свойства любой сущности. Описанные в пп. 2-4 объекты, правила и операторы совместно образуют расширенную модель данных, но только если эти конструкции действительно являются супермножеством конструкций одной из базовых моделей, например такой, как базовая реляционная модель.
Однако на самом деле в данном контексте нет четкого различия между тем, что является расширенным, а что является базовым. Обратите особое внимание на то, что правила и операторы являются такой лке частью расширенной модели, как и объеюпы (безусловно, это утверждение справедливо и ддя базовой реляционной модели).
Тем не менее с чгочки зрения проектирования баз данных операторы являются менее Часть Ш. Проектирование базы данньп Таблица 13.1. Некоторые полезные семантические концепции Неформальное определение Примеры Понятие СУЩНОСТЬ Некоторый отличимый объект Поставщик, деталь, поставка Работник, отдел, человек Произведение, концерт, оркестр, дирижер Заказ на поставку, серия заказов СВОЙСТВО (Ргорег1у) Элемент информации, аписы- Номер поставщика, поставляемое ваюший сущность количество Отдел работника, рост человека Тип концерта Дата заказа Сущность, которая служит для Поставка (поставщик — деталь) взаимодействии Должн ть ( ботник — от л) между двумя или более другими сущностями Запись (произведение — оркестр— дирижер) СВЯЗЬ (!(е!аз!апай(р) Сущность типа У является "Работник" является подтипом подтипом сущности типа Х сущности "Человек" тогда и только тогда, когда "Концерт" является полтипом суш- каждый экземплЯР сущности ности "Произведение" типа У обязательно является экземпляром сущности типа Х ПОДТИ П (БиЬгуре) Кроме того, следует отметить, что вполне возможно возникновение конфликтов между терминами, которые представлены в табл.
13.1 и используются на семантическом уровне, и терминами, которые используются в рамках выбранного формального подхода, например в реляционной модели. В частности, во многих схемах семантического моделирования вместо термина свойство используется термин атрибут, но при этом совсем не обязательно подразумевается, что такой атрибут представляет (или отображается на) Глава 13. Семантическое моделирование важной частью модели по сравнению с объектами и правилами целостности. Поэтому за исключением нескольких посвященных операторам комментариев основное внимание в этой главе уделяется именно объектам и правилам.
Напомним, что на первом этапе была предпринята попытка выявить множество семантических концепций, которые были бы полезны для описания реального мира. Некоторые из этих концепций, а именно — сущности, свойства, связи и подтипы, представлены в табл. 13.1 с указанием неформального определения и приведением нескольких типичных примеров. Обратите внимание, что все зти специально подобранные примеры иллюстрируют возможность рассмотрения одного и того же объекта реального мира одними пользователями в качестве сущности, другими — в качестве свойства, а третьими — в качестве связи.
(Этот пример прекрасно демонстрирует, почему невозможно дать строгое определение такого термина, как "сущность".) Одна из целей семантического моделирования (несомненно, полностью достигнутая) как раз и заключается в поддержке такой гибкости интерпретации. то же самое, что и атрибут реляционного уровня. Еше одним (важным!) примером может быть то, что концепция типа сущности, как она понимается в семантическом моделировании, отличается от концепции тина, которая рассматривалась в главе 5. Точнее говоря, подобным типам сущностей в реляционном проекте соответствуют переменные- отношения, а потому они, очевидно, не соответствуют реляционными типам атрибута (доменам).
Однако по перечисленным ниже причинам они не полностью соответствуют и типам отношений. 1. На семантическом уровне некоторые базовые типы отношений, вероятно, будут соответствовать типам связей, а не типам сущностей. 2. Говоря упрощенно, производные типы отношений могут вообще ничему не соответствовать на семантическом уровне. Путаница при определении этих уровней (в частности, вследствие несогласованности используемой терминологии) как в прошлом, так н в настоящем часто служит причиной дорогостоящих ошибок (см. раздел 25.2 главы 25).
В заключение следует заметить, что в главе 1 связи рассматривались как сущности особого рода, причем подчеркивалось, что подобным же образом они будут рассматриваться во всей книге. Кроме того, в главе 3 как одно из преимушеств реляционной модели отмечалось единство представления всех типов сущностей, включая связи, посредством переменных-отношений. Тем не менее концепция связей (так же, как и концепция сущностей) действительно интуияшвно полезна при описании реального мира. Более того, представленный ниже, в разделах! 3.3-!3.5, подход к проектированию базы данных будет в значительной степени опираться на различия между сущностями и связями.
Поэтому в нескольких следующих разделах будет принята терминология, предусматривающая разделение понятий сущностей и связей, однако в разделе 13.6 по этому вопросу булут представлены некоторые дополнительные замечания. 13.3. Модель "сущность/связь" Как уже упоминалось в разделе 13.1, одним из наиболее известных н получивших широкое распространение методов семантического моделирования является построение модели "сущность/связь" (илн ЕК-модели). Этот подход строится на использовании модели "сущность/связь", предложенной Ченом в 1976 году [13.5] н с тех пор неоднократно усовершенствовавшейся как самим Ченом, так и многими другими исследователями (об этом можно прочесть, например, в [13.13], [13.40] — [13.42]).
Дальнейшее обсуждение в настоящей главе, в основном, посвящено именно данному подходу. (Следует подчеркнуть, что модель "сущность/связь" является далеко не единственной "расширенной" моделью — их было предложено достаточно много. В частности, в [13.5], [! 3.13], [13.25] и особенно в [! 3.19] приведены общие вводные сведения по некоторым из них, а в [13.22], [13.3 !] — вводные обзоры по данной теме.) ЕК-модель включает аналоги всех семантических объектов, представленных в табл.
13.1, каждый из которых подробно рассматривается далее в этой главе. Прежде всего отметим, что в [13.5] была предложена не только сама ЕК-модель как таковая, но и соответствующая ей технология построения диаграмм, получивших название "ЕК-диаграммы".
Более подробно ЕК-диаграммы описываются в следующем разлеле, а на рис. 13.1 показан простой пример подобной диаграммы, взятый из [13.5]. Это ыо Часть Ш. Проектирование базы Данных пример представления структуры данных некоторой производственной компании (Кпочч%аге, !пс.), Он будет полезен при изучении последующего материала этой главы и подробно описывается ниже. (Это расширенная версия ЕК-диаграммы, приведенной на рис. 1.5 в главе 1.) ОЕРАНТМЕИТ ЕЕЕ ЗМАме зтАт08 с!ту ОЕРТ ЕМР 80РРЫЕй М М РНО! !НОНК М М М 80РР РНОзЕСТ АНТ РНО 80РР РАНТ ЕНАМЕ ЕМРЬОУЕЕ М ОТУ М М Рйо! АНАОЕ Е!НЗТ М! ЬАЗТ РАНТ ЕМР ОЕР ЗАьАНУ ЕХР !МР М АйТ Тй0СТцй ОЕРЕНОЕНТ Замечание.
Большинство рассматриваемых в следующих подразделах идей хорошо известно тем, кто знаком с реляционной моделью, Но, как будет показано, между используемыми в этих двух моделях терминами существуют определенные различия. Сущности Работа [13.5! начинается с определения сущности (епбйу) как "предмета„который может быть четко идентифицирован". При этом сущности подразделяются на сильные и слабые. Слабой называется такая сущность, существование которой зависит от другой сущности, т.е. она не может существовать, если этой другой сущности не существует.