Введение в системы БД (542480), страница 133
Текст из файла (страница 133)
° В-третьих, для манипулирования различными объектами КМ/Т-модели (Е- и Р-отношениями, каталогом отношений и т.д.) предусмотрены операторы высокого уровня. В кМ/Т-модели имеются аналоги всех конструкций ЕК-модели (сущность, связь, свойство, подтип), которые перечислены в табл. 13.1.
Точнее, в ней поддерживается классификационная схема сущностей, которая во многих случаях представляет собой наиболее значительный или, по крайней мере, наиболее очевидный аспект всей модели. В соответствии с этой схемой сущности разделяются на три основные категории: ядра, характеристики и ассоциации. ° Ядра. Это сущности, характеризующиеся независимым сущесн~вованиеи.
Они представляют те объекты, "лля описания которых и создается база ланных". Иначе говоря, ядрами называются сущности, которые не являются ни характеристиками, ни ассоциациями (см. ниже). ° Характеристики. Это сущности, предназначенные для описания или "предоставления характеристики" некоторой другой сущности. Существование характеристик зависит от существования описываемых ими сущностей.
Описываемая сущность может быть ядром, характеристикой или ассоциацией. Г Или, скорее, Е- и Р-переменными-отношениями. 530 Часть 111. Проектирование базы данных ° Ассоциации. Это сущности, представляющие связь типа "многие ко многим" (или "многие ко многим, ко многим" и т.д.) между двумя или более сущностями. Участвующие в ассоциации сущности могут представлять собой ядра, характеристики или соединения. Кроме того, необходимо отметить следующее. ° Сущности (независимо от их классификации) могут также иметь свойства. ° В частности, любая сущность (опять-таки, независимо от классификации) может иметь свойство, прелназначенное для указания на некоторую другую сущность. Такое указание прелставляет связь типа "многие к одному", имеющуюся между двумя сущностями.
Замечание. Такие указания не рассматривались в исходной статье [13.6], а были предложены позже. ° Поддерживаются супертипы и подтипы сущностей. Если сущность з является подтипом сущности Х, то сущность Т является ядром, характеристикой или ассоциацией в зависимости от того, чем является сущность Х; ядром, характеристикой или ассоциацией. Все перечисленные выше концепции можно следующим образом соотнести с их аналогами в ЕК-модели (несколько неформально). Ядро соответствует сильной сущности ЕК-модели, характеристика — слабой сущности, а ассоциация — связи (только для типа "многие ко многим"). Заиечание. Иногда в литературе встречается термин первичный домен, который также впервые был определен в этой статье.
Первичным доменом называется до- мен, на котором определен по крайней мере один первичный ключ, состоящий из елинственного (не составного) атрибута. Например, в примере базы данных по- ставщиков и деталей первичными доменами будут 8]] и Р(!. Приведенные выше краткие сведения следует дополнить упоминанием о том, что в модели КМ/Т предусмотрена поддержка суррогалгов (подробности приводятся в [13.16]), временного измерения и различных типов обобщения данных (подробности приводятся в [13.35], [! 3.36]). Расе С.1.
А Ыо!е оп Опе-!о-Опе Ке]а!!опзЬ!рз Л Ке]абопа] Ра!аЬазе %пг]пйз: 1985— 13.7 1989. — Кеад]пй, Мазах Адд!зоп-%ез1еу, 1990. Это расширенное рассмотрение проблемы связей типа "один к одному", которая оказалась более сложной, чем может показаться на первый взгляд. Ра1е С.1. Еп!!!у/Ке!а!!опзЬ!р Моде!!п8 апд гйе Ке]а!юла! Моде! /! С.1.
Разе апд Нпгй Рати еп. Ке1айопа! РагаЬазе %г!1!пйз: 1989 — 1991. — Кеад!п8, Маваг Адд!зоп-%ез1еу, 1992. Ра!е С.1. Роп'! Епсоде 1п(оппабоп |иго ргппагу Кеуз! !l С. Е Ра!е апд Нцйй Рагзкеп. Ке!айопа! Ра!аЬазе %г!!!пйз: 1989 — 1991. — Кеасйпй, Маваг Адд]зоп-%ез!еу, 1992. Здесь представлены неформальные аргументы против того, что иногда называют "разумными ключами". К тому же следует упомянуть работу [!3.!О], в которой приведены рекомендации относительно внешних ключей.
13.8. 13.9. Глава 13. Семантическое моделирование 13.10.Ра!е С.). Сошрогдге Кеуз а С. !. Раге апд Нпйй Рагвеп. Ке!айопа1 РагаЬазе %П!шйа 1989-1991. — Кеад!п8, Маваг Адд!зоп-%ез(еу, 1992. Цитата из аннотации к этой работе; "Собраны и проанализированы аргументы за и против включения составных [ключей] в макет реляционной базы данных... предложены рекомендации'*. В частности, в статье показано, что суррогатные ключи [13. !6] не всегда рекомендуется использовать. 13.11.Ваге С.1. А Оа?аЬаве Оегдйп О!!ешша? // На ч)/еЬ-сайте ОВРАГ ннн.дрЬд.сон (Запцагу, 1999) (см.
также приложение В в [3.3]). На первый взгляд, заданный тип сущности (например, "работник") может быть представлен в реляционной системе либо с помощью типа ЕИРБОтЕЕ (т.е, домена), либо с помощью переменной-отношения ЕИРЪОТЕЕ. В этой короткой статье даются рекомендации по выбору одного из двух вариантов. 13.12.Ра!е Сд. БцЬ?аЫев апд БцреггаЫев (в двух частях) // На %еЬ-сайте РВРкР ннн.дрЬд.
сов (появится в конце 2000 или в начале 200! года) (см. также приложение 0 в [3.3]). Часто считается, что наследование типов сущностей в реляционном контексте может быть организовано с помощью "подтаблиц" и "супертаблиц", где сущностьподтип отображается в полтаблицу, а сущность-супертип — в супертаблицу. В частности, во время создания этой книги именно такой подход поддерживался в БЯЕЗ (см.
приложение Б) и в некоторых существующих продуктах. В данной статье содержится острая критика этой идеи. 13.13.Е!шави К., Ыача?Ье Б.В. Рцпдащеп?аВ оГ Ра?аЪые Яумегы (2пд ейбоп). — Кедчгоод Сйу, Са!!Е; Веп]ащ!и/Сшпщ!пйв, 1994. В этом учебном пособии по проектированию баз данных две главы из 25 имеющихся посвящены ЕК-методам проектирования баз данных. 13.14.ЕшЫеу 0.%.
ОЬ]ес! РаьзЬые Рече!орщеп?: Сопсер?в апд Рг!пс1р!ев.— Кеад!п8, Маваг Адд!воп-?Уев!еу, ! 998. Представлена методика проектирования на основе ОЗМ-модели (ОЬ)есног!еп?ед Був!ешв Моде!). Некоторые элементы ОЯМ-модели похожи на ОКМ-модель [ ! 3. ! 7]-[ ! 3. 19]. 13.15.Г!еш!п8 С.С., Чоп На!!е В. НапдЬоок о( Ке!айопа! Оа?аЬые Регдп.— Кеадшй, Мыва Адд!воп-Фев!еу, 1989. Прекрасное практическое пособие по проектированию баз данных в реляционных системах с конкретными примерами реализации в среде СУБД ОВ2 компании! ВМ и РВС/1О!2 компании Тегада?а (теперь ?!СК). Описаны этапы как логического, так и физического проектирования, хотя в книге термин "логическое проектирование" используется для описания того, что мы называем реляционным проектированием, а термин "реляционное проектирование" включает по крайней мере несколько аспектов того, что мы называем физическим проектированием! 13.16.На!1 Р., Очч!ей 1., Тодд З.З.Р.
Ке!абопв апд Еп?й!ев // О. М. Х!]язеп (ед.). Мое!е!!!п8 !и Оа!а Вазе Мапайешеп! Був?ешв. — Ашв?егдаш, Ые!Ьег!апдв: Ног?Ь-Но!!апд; Хечч Уог!с, Х.У.: Е!вечдег Зйепсе, 1975. Это первая статья, в которой подробно рассмотрена идея суррогатных ключей (позлнее они были введены в состав модели КМ/Т), Суррогатным называется ключ в обычном реляционном смысле, но дополнительно обладающий перечисленными ниже специфическими свойствами.
532 Часть 111. Проектирование базы данных ° Всегда состоит только из одного атрибута. ° Значениями этого атрибута являются только суррогаты (отсюда и их название), выбранные для ссылки на сущности, которые они обозначают. Иначе говоря, эти значения служат лишь для представления того факта, что соответствующие сущности существуют, не несут никакой другой информации и никакой другой смысловой нагрузки. ° При вставке в базу данных новой сущности присваивается значение суррогатного ключа, которое никогда прежде не использовалось и никогда не будет использоваться, даже если данная сущность впоследствии будет удалена. В идеале, значения суррогатного ключа должны генерироваться сне~смой, но сам способ их генерации (системный или пользовательский) не имеет никакого отношения к основной идее суррогатных ключей.
Здесь, вероятно, стоит заметить, что суррогаты нв являются (как полагают некоторые авторы) тем же, что и "идентификаторы кортежей", потому что последние идентифицируют кортежи, а суррогаты идентифицируют сущности, между тем как никакой прямой связи типа "один к одному" между кортежами и сущностями не существует (в частности, вспомните об идентификаторах производных кортежей).
Более того, идентификаторы кортежей обладают дополнительными преимушествами в отношении производительности, чего не скажешь о суррогатах, поскольку доступ к кортежу через идентификатор кортежа происходит очень быстро (предполагается, что кортежи базового отношения отображаются непосредс~венно на физическую структуру хранения, что в действительности имеет место во многих современных программных продуктах).
Кроме того, идентификаторы кортежа обычно скрыты от пользователя, тогда как суррогаты чаще всего — нет (по принципу информации), т.е. идентификатор кортежа нельзя сохранить, как значение атрибута, а суррогат можно. Короче говоря, суррогаты являются логической концепцией, а идентификаторы кортежей — физической. 13.17.На!р1п Т. Сопсер1ца1 Бсйеша апд Ке!а!юла! РагаЬазе Реыйл (2пд ед1гюп). — Будпеу, Ацзпа!1а: Ргепйсе-Най о(Аозггайа Ргу., Егд. 1995.