Главная » SQL, Базы данных » Семантическое моделирование  ОБЩИЙ ПОДХОД

0

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

1.  Прежде всего, попытаемся выявить некоторое множество семантических концепций (понятий), которые могут быть полезны при неформальном обсуждении рассматриваемой проблемы реального мира.

Например, можно согласиться с тем, что мир построен из сущностей. (Хотя невозможно с определенной точностью описать, что именно представляет собой

сущность, эта концепция, тем не менее, оказывается весьма полезной для описания реального мира, по крайней мере, на интуитивном уровне.)

■      Развивая данную концепцию, можно допустить, что сущности могут быть с пользой классифицированы по разным типам сущностей. Например, можно предположить, что каждый отдельный работник является экземпляром неко торого универсального типа сущности с именем EMPLOYEE (Работник). Пре имущество такой классификации заключается в том, что все сущности опреде ленного типа будут обладать некоторыми общими свойствами (например, все работники получают зарплату), поэтому подобная классификация может при вести к некоторой (и совершенно очевидной) систематизации представлений. Например, в терминах реляционной теории выявленная общность может быть зафиксирована в заголовке переменной отношения.

■      Более того, можно пойти еще дальше и согласиться с тем, что каждая сущность обладает неким особым свойством, предназначенным для ее идентификации, т.е. с тем, что каждая сущность обладает собственной идентичностью.

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

Аналогичные рассуждения можно продолжать и дальше. Но здесь следует  отметить, что все эти термины (экземпляр сущности, тип сущности, свойство, связь и т.д.) определены не совсем точно или формально, поскольку они являются всего лишь концепциями "реального мира", а не  формальными терминами. Таким образом, данный первый этап является неформальным, тогда как приведенные ниже второй, третий и четвертый этапы, напротив, достаточно формальны.

2.    Далее попытаемся определить набор соответствующих символических (т.е. фор мальных) объектов, которые могут использоваться для представления описанных выше семантических концепций. (Примечание. Здесь термин объект не использу ется в каком-то строго определенном смысле!) Например, в расширенной реляцион ной модели (RM/T) [14.7] вводится несколько особых видов отношений, которые называются Еи Р-отношениями. Грубо говоря, Е-отношения (от "entity-relation") представляют сущности, а Р-отношения (от "property-relation") — свойства, одна ко Еи Р-отношения, безусловно, имеют конкретные формальные определения, тогда как сами сущности и свойства их не имеют.

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

4.    Наконец, необходимо также определить набор формальных операторов, предназ наченных для манипулирования этими формальными объектами. Например, в RM/T-модели присутствует оператор PROPERTY, который можно использовать для соединения Е-отношения со всеми соответствующими ему Р-отношениями независимо от того, сколько их и какие им присвоены имена, т.е. оператор, позво ляющий собрать воедино все свойства любой сущности.

Описанные  в  пп.  2—4  объекты,  правила  и  операторы  совместно   образуют расширенную  модель  данных,  но  только  если  эти  конструкции   действительно являются  супермножеством  конструкций  одной  из  базовых  моделей,  например, такой как базовая реляционная модель. Однако на самом деле в данном контексте нет  четкого  различия  между  тем,  что  является  расширенным  и  что  базовым. Обратите  особое  внимание  на  то,  что  правила и операторы являются такой же частью   расширенной   модели,   как   и   объекты   (безусловно,   это   утверждение справедливо и для базовой  реляционной модели). Тем не менее, с точки зрения проектирования баз  данных операторы являются менее важной частью модели по сравнению  с   объектами  и  правилами  целостности2.  Поэтому,  за  исключением нескольких  посвященных  операторам  комментариев,  основное  внимание  в  этой главе уделяется именно объектам и правилам.

Напомним, что на первом этапе была предпринята попытка выявить множество семантических концепций, которые были бы полезны для описания реального мира. Некоторые из этих концепций, а именно — сущности,  свойства, связи и подтипы, представлены в табл. 14.1 с указанием  неформального определения и нескольких типичных примеров. Обратите внимание на то, что все эти специально подобранные примеры  иллюстрируют   возможность  рассмотрения  одного  и  того  же  объекта реального мира одними пользователями в качестве сущности, другими — в качестве свойства,  а  третьими — в качестве связи. (Этот пример прекрасно демонстрирует, почему невозможно дать строгое определение такого термина, как сущность.) Одна из целей семантического моделирования (несомненно, полностью  достигнутая) как раз и заключается в поддержке такой гибкости интерпретации.

Таблица 14.1. Некоторые полезные семантические концепции

2 Если не считать того, что без операторов невозможно сформулировать сами правила.

Кроме того, следует отметить, что вполне возможно возникновение конфликтов между терминами, которые представлены в табл. 14.1 и используются на  семантическом уровне, и терминами, которые используются в рамках выбранного формального подхода, например в реляционной модели. В частности, во многих схемах семантического моделирования вместо термина свойство используется термин атрибут, но при этом отнюдь не подразумевается, что такой атрибут представляет (или отображается на) то же самое, что и атрибут реляционного уровня. Еще одним (важным!) примером может быть то, что концепция типа сущности, как она понимается в ER-модели, отличается от концепции типа, которая рассматривалась в главе 5. Точнее говоря, подобным типам сущностей в реляционном проекте соответствуют переменные отношения, поэтому они, очевидно, не соответствуют реляционными типам атрибута (доменам). Однако  по перечисленным ниже причинам они не полностью соответствуют и типам отношений.

1.  На семантическом уровне некоторые базовые типы отношений, вероятно, будут соответствовать типам связей, а не типам сущностей.

2.  Говоря упрощенно, некоторые производные типы отношений могут вообще ничему не соответствовать на семантическом уровне, а другие— могут.

Путаница при определении этих уровней (в частности, вследствие несогласованности используемой терминологии) как в прошлом, так и в настоящем часто является причиной дорогостоящих ошибок (см. раздел 26.2 главы 26).

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

разделах 14.3—14.5, подход к проектированию базы данных будет в значительной степени

опираться на различия между сущностями и связями. Поэтому в нескольких следующих разделах будет принята терминология, предусматривающая разделение понятий сущностей и связей, однако в разделе 14.6 по этому вопросу будут представлены некоторые дополнительные замечания.

Источник: Дейт К. Дж., Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.: ил. — Парал. тит. англ.

По теме:

  • Комментарии