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

Глава 12 Модель типа объект/отношение

12.1. Введение

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

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

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

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

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

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

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

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

Весь материал этой главы упорядочен следующим образом. Сначала приводится описание основных терминов, используемых в семантическом моделировании. Потом обсуждается наиболее известная из "расширенных" моделей — предложенная Ченом (Chen) модель типа объект/отношение (О/О), а затем рассматривается применение этой модели для проектирования базы данных. После этого предлагается краткий анализ некоторых аспектов модели О/О. И наконец, приводится резюме.

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