Программирование >>  Реляционные базы данных 

1 ... 15 16 17 [ 18 ] 19 20 21 ... 125


целостности , о котором речь пойдет в разделе 2.5.5, Если есть атрибут с единственным значением, иозможны два варианта действий.

1. Можно иотрсбовгпь. чтобы значение данного атрибута существовало.

2 Можно считать данное значение произвольным. Если атрибут является частью июча для класса, н обшем случае требуется, чтобы значение сушествовато в KayfciOM обгсктс. Для другич атрибутов можно ввести пустое значение, которое заменяет реальное значение, когда не существует никакого значения. Тогда непустое значение для данного атрибута будет необязательным.

пример 2.27. Для класса Movie, юпочом которого в примере 2 23 были определены title и year, поТ]1ебуем. чтобы эти два атрибута существовали во всех объектах класса фильмов. Атрибут же length может отс\тствовать. Можно использовать, например, -I в качестве пустого значения для lengtli, так как ни один фильм не может иметь отрицательной длины. Если длина фильма не известна, значение атрибута length устанавливается в -I. Аналогично, можно добавить третье значение к нумерации, определлюшей возможные значения атрибута lilmType. В дополнение к значениям color и blackAndWhite можно выбрать значения типа NULL или Unitnown. показывающие, что о типе фильма нет никакой информации. □

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

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

2.5-5 Ссылочная целостность

Если ограничения по единственному значению устанавливают, что в данной роли существует только одно значение, ограничение ссылочной целостности означает, что в этой роли существует в точности одно значение. Вариантом ограничения ссылочной целостности является ограничение, согласно которому атрибут и.меет единственное непустое значение, но ссылочная цeюcтнocть чаше применяется к связям между классами.

Рассмотрим связь ownedBy между Movie и Studio в строке 7 рис, 2.6. Разве такое вoзюжнo: объект класса Studio является значением ovmedBy, а самого этого объекта не существует Ответ заключается в том, что в реализации ODL связь ov/nedBy предстащ1ена указателем или ссылкой на данный объект и в какой-то момент времени этот объект уддияется из класса Studo Тогда указатель становится висящим и больше не указывает на реальиьгй объект.

Согласно ограничению ссылочной целостности объект, на который есть ссылка, должен сушествсвать. Это ограничение можно ввести по-разиому.

I. Можно запретить y.i-аление объекта, на который есть ссылка Св приведенном выше примере стдии).

Можно потребовать, чтобы при удалении об1 ектв, на который есть ссылка, удалялся к объект, который на него ссылается. В приведенном примере это значит, что при удалении студии из базы данных нужно удалить также все фильмы, которыми эта студия владеет, В дополнение к упомяну1ым условиям удаления требуется, чтобы при создании объекта фильм су]цествующий объект студия был задан в качестве значения связи ownedBy. При изменении этого значения новое значение также должно быть




Ри . 2.25. €/В-диогромма, покозывоющоя ограничения ссылочной целостосш

Аналогично, вторая закругленная стрелка от Runs к Studios означает; если президент возглавляет студию, то зта студия обязательно существует в множестве Studios.

Заметим, что от Runs на Presidents по-прежнему указывает обычная стрелка, выражая разумное допущение о связи между студиями и их президентами. Если студия прекращает свое существование, се президент больше не может называться президентом (студии) и должен быть удален из множества Presidents. Поэтому закругленная стрелка указывает на Studios. Если же из базы данных удален президент, студия может продолжать существовать. Поэтому на Presidents указывает обычная стрелка, обозначающая, что у каждой студии есть только один президент, но иногда она может быть и без президента. □

2-5-7 Другие виды ограничений

к БД можно применять и другие виды ограничений. Подробно эта тема рассматривается в главе 6; здесь же приводится лишь краткий анализ.

Согласно ограничениям области значения атрибут должен принимать значения из ограниченного множества. В ODL каждый атрибут должен иметь определенный тип. являющийся элементарной формой ограничения облает. Например, если атрибут length имеет тип integer, значением length не может быть 101,5 или любое другое не целое число. Однако в ODL не действуют более строгие ограничения типа требования, что длина не должна превышать от 60 до 240. Как будет показано в разделе 6,3, такие ограничения поддерживаются в SQL.

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

сушествуюшим объектом. Использование таких методов обеспечения ссылочной иелостности связи - вопрос реализации БД. и хаесь мы не будем его обсуждать.

2.5-6 Ссылочная целостность в E/R-диаграммах

Функции стрелок в E/R-яиаграмма.ч можно расширить таким образом, чтобы они показывали, ожидается ли ссылочная иелостность данной связи в одном или нескольких направлениях. Пусть Л -это связь множества сушностеП £с множеством сушностей F. Стрелка с закругленным острием , указывающая на /, означает не тапько то, что Е и F находятся в связи типа многие-к-одиому тк олии-к-о.ансм/, но и то. что должно сушествовать множество Е. То же самое относится к случаю, когда Л - связь между более чем двумя атри6>тами.

Пример 2.28. На рис. 2.25 показано ограничение ссы.аочной целостности для множесгв Movies, Studios и Presidents. Эти множества и связи впервые были введены на рис. 2.8 и 2.9. Закругленная стрелка, указывающая от связи Owns на множество Studios, выражает ограничение ссылочной иелостности, состоящее в том, что студия, владеющая фильмом, должна всегда присутствовать в множестве Studios.



Movies


Stars

Рис. Z.ZC. Схеме огроничения число кинозвезд для одного фильме

Другой при.мерг стрелку .можно рассматривать как синоним ограничения s1 ii считать закругленную стрелку на рис. 2.25 выражением ограничения -1 . □

2.5.8 Упражнения к разделу 2.5

УлрАжненне 2.5.1. Выберите и определите ключи для ОDL-разработок из; *а) Упражнения 2.1.1

Ь) Упражнения 2.1.3 *с1 Упражнения 2.1.5

d) Упражнения 2.4.1

Зпрожненис 2.5.2. Выберите и определите ключи для E/R-fliiarpawM из: -а) Упражнения 2.2.1

b) Упражнения 2.2.3

c) Упражнения 2,2.6

с1) Упражнения 2.4.3

(/) выберите и определите ключи и ((7) укажите пох1ходящие ограничения ссьшоч-ной це-ЮСтиости.

! Ыпрожненис 2.5.3. Можно считать, что связи в E/R-модели имеют ключи, так Ае как и мноАес1ва сущносгей. Пусть Л есгь связь между миожгства.ми сущностей fi. /Г ... Тогда ключ для Л -это такое множество атрибутов А выбранное из

атрибутов лпчожеств £..... £. что если (е,. е .... е ) и (f./j...../ ) суть два раз-

.1мчпых кортежа в множестве отношений дня R, го невозможно, чтобы эти кортежи соответствовали .-труг друп во всех атрибутах Л. Теперь предположим, что /7= ),те чю Л-бинарная cbajb. Пусть т~акже для всякого ; К/ это множество атрибутов, являюи1ееся кл1очом д-1я множества £). В терминах £ и £, определ1гге наименьший юзможный ключ для Д при условии, что:

а) R - сптъ типа многие ко-многим ,

*Ь) R связь £, с Е: типа многие к одному ,

c) R связь Е-> с Е, типа многие-к-oднoгv :

d) R - связь пита ояин-к-одиому .

с 10 объектами/сушностями кинозвезда . В E/R-модели линии между симюлами связи и множества сущностей можно помечать цифрой, показывающей максимальное число сущностей одного множества, с которыми может быть связана сущность другого множества. В ODL это же ограничение можно выразить, задав тип атрибута siars класса Movie списком длины 10. Однако здесь невозможно задать условие, согласно которому множестве может иметь не более 10 элементов.

Пример 2.29. На рис. 2.26 показано, как в Е/Я-модели выражается ограничение, согл.1сио которому в фильме может быть не более 10 кинозвезд.



1 ... 15 16 17 [ 18 ] 19 20 21 ... 125

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика