Скачиваний:
102
Добавлен:
02.05.2014
Размер:
2.3 Mб
Скачать

Глава 13

Семантическое моделирование

13.1. Введение

Семантическое моделирование стало предметом интенсивных исследований с конца 1970-х годов. Основным побудительным мотивом подобных исследований (т.е. пробле­мой, которую исследователи пытались разрешить) был следующий факт. Дело в том, что системы баз данных обычно обладают весьма ограниченными сведениями о смысле хра­нящихся в них данных. Чаще всего они знают, как обращаться с данными определенных ■простых типов, и понимают некоторые простейшие ограничения целостности, наложен­ные на эти данные. Любая более сложная интерпретация возлагается на пользователя. Однако было бы замечательно, если бы системы могли понимать чуть больше1 и не­сколько разумнее отвечать на запросы пользователя, а также поддерживать более слож­ные (т.е. более высокоуровневые) интерфейсы пользователя. Например, было бы пре­красно, если бы язык SQL мог понимать, что вес детали и поставляемое количество яв­ляются хотя и числовыми, но все же семантически разными величинами. Это позволило бы системе подвергнуть сомнению или даже вовсе отвергнуть запрос, в котором соеди­нение информации о деталях и поставках выполняется посредством сравнения веса дета­ли с поставляемым количеством.

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

' Следует отметить, что, с нашей точки зрения, система с поддержкой предикатов пе­ременных-отношений и базы данных (обсуждавшихся в главе 8) должна была бы "понимать немного больше ". Иначе говоря, можно было бы возразить, что описанная поддержка преди­катов может пониматься, как удобное и эффективное основание для семантического модели­рования. Однако, как это ни печально, большинство схем семантического моделирования не имеет никакого строгого обоснования, поскольку все они в той или иной степени являются произвольными (предложения в [13.17, 13.19] являются исключениями). Возможно, такое со­стояние дел в будущем изменится, особенно благодаря растущему пониманию в мире коммер­ции важности бизнес-правил [8.18, 8.19]. Описанные в главе 8 предикаты, по сути, как раз и являются такими "бизнес-правилами ".

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

Следует отметить, что семантическое моделирование имеет также несколько других названий, например "моделирование данных", "£Л-моделирование", "моделирование сущностей" и "объектное моделирование". Здесь по указанным ниже причинам пред­почтение отдается термину "семантическое моделирование".

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

Замечание. Стоит напомнить (см. раздел 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, приводит­ся краткое резюме.

Соседние файлы в папке Дейт К. Дж. Введение в системы баз данных [7 издание]