|
Программирование >> Хронологические базы данных
дать (или надеяться на это!) непрекращающегося прогресса в этом направлении по мере углубления нашего понимания существующих проблем. Термин семантическая модель, который часто используется по отношению к той или иной расширенной модели, в данном случае не совсем подходит, поскольку предполагает, что модель построена таким образом, чтобы выявить всю семантику рассматриваемой ситуации. С другой стороны, понятие семантическое моделирование действительно является довольно удачным названием целой области исследований, посвященных способам представления смыслового значения. В данной главе сначала представлено краткое введение в некоторые основные идеи этой области исследований, а затем подробно описан один из конкретных подходов, основанный на использовании модели сущность/связь (наиболее распространенный на практике). Следует отметить, что семантическое моделирование имеет также несколько других названий, например моделирование данных , £/?-моделирование , моделирование сущностей и объектное моделирование . Здесь по указанным ниже причинам предпочтение отдается термину семантическое моделирование . Термин моделирование данных не подходит, поскольку он перекликается с определенным ранее термином модель данных , обозначающим формальную систему, которая включает аспекты определения структуры, поддержания целостности и манипулирования данными. Кроме того, подобное название будет способствовать закреплению популярного заблуждения о том, что модель данных (в приведенном выше смысле) включает только структуру данных. Замечание. Стоит напомнить (см. раздел 1.3 главы 1), что термин модель данных используется в литературе с двумя совершенно разными значениями: первое относится к модели данных вообще (реляционная модель является моделью данных именно в этом смысле), а второе - к модели представления перманентных данных некоторого конкретного предприятия. Здесь рассматриваемый термин в последнем смысле не используется, но следует иметь в виду, что он часто используется другими авторами. Также неудачным является термин ER-моделирование , поскольку в нем неявно подразумевается существование только одного подхода к данной проблеме, тогда как на практике, безусловно, существует несколько различных подходов. Тем не менее термин ER-моделирование хорошо известен, весьма популярен и принят в широком кругу специалистов. Относительно термина моделирование сущностей нет никаких значительных возражений за исключением того, что он кажется более специализированным по сравнению с термином семантическое моделирование и предполагает некоторый смысловой акцент, который не совсем подходит в данном случае. Что касается термина объектное моделирование , то проблема здесь заключается в том, что термин объект в данном контексте, очевидно, является синонимом термина сущность , тогда как он используется в совершенно другом смысле в другом контексте (в частности, в контексте баз данных других типов, рассматриваемых в части VI этой книги). По мнению автора, именно этот факт (наличие у данного термина двух разных значений) явился причиной такого явления, как Первый Большой Просчет (First Great Blunder) [3.3]. Более подробно этот вопрос рассматривается в главе 25. Возвращаясь к главной теме нашего обсуждения, следует остановиться на причине включения данного материала в эту часть книги. Идеи семантического моделирования могут быть полезны как средство проектирования базы данных даже при отсутствии их непосредственной поддержки в СУБД. Аналогично тому, как идеи исходной реляционной модели использовались в качестве примитивного вспомогательного средства при проектировании баз данных задолго до появления любых коммерческих воплощений этой модели, так и идеи некоторой расщиренной модели могут оказаться полезными в качестве вспомогательного средства проектирования базы данных, даже когда никакого коммерческого воплощения этих идей еще не существует. Действительно, было бы справедливо отметить, что на момент написания этой книги идеи семантического моделирования оказали на проектирование баз данных больиюе влияние - было предложено несколько технологий проектирования, основанных на том или ином семантическом подходе. Поэтому в данной главе основной акцент будет сделан на приложении идей семантического моделирования к задаче проектирования базы данных. Материал этой главы упорядочен следующим образом. После данного введения, в разделе 13.2, описываются основные термины, используемые в семантическом моделировании. Затем, в разделе 13.3, обсуждается наиболее известная из расширенных моделей - предложенная Ченом (Chen) модель сущность-связь (или ER-модель; entity/relationship model- ER-model). Далее, в разделах 13.4 и 13.5, рассматривается применение этой модели для проектирования базы данных. (Другие модели кратко описываются в комментариях к некоторым публикациям, упомянутым в списке рекомендуемой литературы.) После этого, в разделе 13.6, предлагается беглый анализ некоторых аспектов ER-модели, и наконец, в разделе 13.7, приводится краткое резюме. 13.2. Общий подход Общий подход к проблеме семантического моделирования характеризуется четырьмя основными этапами. 1. Прежде всего попытаемся выявить некоторое множество семантических концепций (понятий), которые могут быть полезны при неформальном обсуждении реального мира. Например, можно согласиться с тем, что мир построен из сущностей. (Хотя невозможно с определенной точностью описать, что именно представляет собой сущность, эта концепция, тем не менее, оказывается весьма полезной для описания реального мира, по крайней мере с интуитивно точки зрения.) Развивая данную концепцию, можно допустить, что сущности могут быть с пользой классифицированы по разным типам сущностей. Например, можно предположить, что каждый отдельный работник является экземпляром некоторого универсального типа сущности с именем EMPLOYEE (работник). Преимущество такой классификации заключается в том, что все сущности определенного типа будут обладать некоторыми общими свойствами (например, все работники получают зарплату), а потому подобная группировка может привес- ти к некоторой (и совершенно очевидной) систематизации представлений. Например, в терминах реляционной теории выявленная общность может быть зафиксирована в заголовке переменной-отношения. Более того, можно пойти еще дальше и согласиться с тем, что каждая сущность обладает неким особым свойством, предназначенным для ее идентификации, т.е. с тем, что каждая сущность обладает собственной идентичностью. Наконец, можно также предположить, что каждая сущность может быть связана с другими сущностями посредством некоторых связей. И т.д. Однако здесь следует заметить, что все эти термины ( экземпляр сущности , тип сущности , свойство , связь и т.д.) определены не совсем точно или формально, поскольку они являются всего лишь концепциями реального мира , а не формальными терминами. Таким образом, данный первый этап является неформальным, тогда как приведенные ниже второй, третий и четвертый этапы, напротив, достаточно формальны. 2. Далее попытаемся определить набор соответствующих символических (т.е. формальных) объектов, которые могут использоваться для представления описанных выше семантических концепций. {Замечание. Здесь термин объект не используется в каком-то строго определенном смысле!) Например, в расширенной реляционной модели (RM/T) [13.6] вводится несколько особых видов отношений, которые называются Е- и Р-отношениями. Грубо говоря, Е-отношения (от entity-relations ) представляют сущности, а Р-отношения (от property-relations ) - свойства, однако Е- и Р-отношения, безусловно, имеют конкретные формальные определения, тогда как сами сущности и свойства их не имеют. 3. Кроме того, следует определить набор формальных общих правил целостности (или, используя терминологию главы 8, метаограничений ), предназначенных для работы с такими формальными объектами. Например, RM/T-модель включает правило целостности свойств, которое утверждает, что для каждого элемента Р-отношения должен существовать соответствующий ему элемент в Е-отношении (это отражает тот факт, что каждое свойство в базе данных должно быть свойством некоторой сущности). 4. Наконец необходимо также определить набор формальных операторов, предназначенных для манипулирования этими формальными объектами. Например, в RM/T-модели присутствует оператор PROPERTY, который можно использовать для соединения Е-отношения со всеми соответствующими ему Р-отношениями независимо от того, сколько их и какие им присвоены имена, т.е. оператор, позволяющий собрать воедино все свойства любой сущности. Описанные в пп. 2-4 объекты, правила и операторы совместно образуют расширенную модель данных, но только если эти конструкции действительно являются супермножеством конструкций одной из базовых моделей, например такой, как базовая реляционная модель. Однако на самом деле в данном контексте нет четкого различия между тем, что является расширенным, а что является базовым. Обратите особое внимание на то, что правша и операторы являются такой же частью расширенной модели, как и объекты (безусловно, это утверждение справедливо и для базовой реляционной модели). Тем не менее с toHKH зрения проектирования баз данных операторы являются менее
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |