Тема_7 (1122352), страница 4
Текст из файла (страница 4)
Кузнецов. Базы данных.42 Проектирование РБДСемантическая модель Entity-Relationship(28)Нормальные формы ER-диаграмм (5) 1NF (4) Ситуацию исправляет ER-диаграмма, показанная здесь Мы выделили тип сущности САМОЛЕТ Связь между сущностями АЭРОПОРТ и САМОЛЕТ показывает, что кодному аэродрому приписывается несколько самолетов Связь между сущностями САМОЛЕТ и АВИАРЕМОНТНОЕПРЕДПРИЯТИЕ означает, что каждый самолет из группы самолетовобслуживается любым транспортным предприятием из некоторой группытаких предприятий Эта ER-диаграмма находится в первой нормальной форме и, как мывидим, правильнее отображает реальную ситуацию29.10.2009С.Д.
Кузнецов. Базы данных.43 Проектирование РБДСемантическая модель Entity-Relationship(29)Нормальные формы ER-диаграмм (6) 2NF (1) Во второй нормальной форме устраняются атрибуты, зависящие толькоот части уникального идентификатора. Эта часть уникальногоидентификатора определяет отдельную сущность На рисунке показана диаграмма, на которой тип сущности ЭЛЕМЕНТРАСПИСАНИЯ не удовлетворяет требованиям второй нормальной формы На этой диаграмме у сущности ЭЛЕМЕНТ РАСПИСАНИЯ имеютсяследующие свойства Элементы расписания предназначены для сохранения данных о рейсахсамолетов, вылетающих в течение дня Некоторыми важными характеристиками рейса являются номер рейса,аэропорт вылета, аэропорт назначения, дата и время вылета, бортовойномер самолета, тип самолета29.10.2009С.Д.
Кузнецов. Базы данных.44 Проектирование РБДСемантическая модель Entity-Relationship(30)Нормальные формы ER-диаграмм (7) 2NF (2) Если говорить про российские авиационные компании, то у каждого рейса имеется заранее приписанный ему номер (уникальныйсреди всех других имеющихся номеров рейсов), не все рейсы совершаются каждый день, поэтому характеристикойконкретного рейса является дата и время его совершения, бортовой номер самолета определяется парой <номер рейса, датавремя вылета> Имеется связь «многие к одному» между сущностями ЭЛЕМЕНТРАСПИСАНИЯ и ГОРОД (каждый день много рейсов прибывает в один итот же город) Экземпляры типа сущности ГОРОД характеризуют город, в которыйприбывает данный рейс29.10.2009С.Д. Кузнецов.
Базы данных.45 Проектирование РБДСемантическая модель Entity-Relationship(31)Нормальные формы ER-диаграмм (8) 2NF (3) Уникальным идентификатором типа сущности ЭЛЕМЕНТ РАСПИСАНИЯявляется пара атрибутов <номер рейса, дата-время вылета> Если вернуться к терминам функциональных зависимостей, то междуатрибутами этой сущности имеются следующие FD: {номер рейса, дата-время вылета} → бортовой номер самолета; номер рейса → аэропорт вылета; номер рейса → аэропорт назначения; бортовой номер самолета → тип самолета29.10.2009С.Д. Кузнецов. Базы данных.46 Проектирование РБДСемантическая модель Entity-Relationship(32)Нормальные формы ER-диаграмм (9) 2NF (4) Кроме того, очевидно, что каждый экземпляр связи с сущностью ГОРОДтакже определяется значением атрибута номер рейса Налицо нарушение требования второй нормальной формы Мы получаем не только избыточное хранение значений атрибутоваэропорт вылета и аэропорт назначения в каждом экземпляре типасущности ЭЛЕМЕНТ РАСПИСАНИЯ с одним и тем же значением номерарейса Искажается и затемняется смысл связи с сущностью ГОРОД Можно подумать, что в разные дни один и тот же рейс прибывает вразные города29.10.2009С.Д.
Кузнецов. Базы данных.47 Проектирование РБДСемантическая модель Entity-Relationship(33)Нормальные формы ER-диаграмм (10) 2NF (5) Здесь показан нормализованный вариант диаграммы, в котором всесущности находятся во второй нормальной форме Теперь имеются три типа сущности: РЕЙС с атрибутами номер рейса, дата-время вылета, аэропортназначения; ЭЛЕМЕНТ РАСПИСАНИЯ с атрибутами дата-время вылета, бортовойномер самолета, тип самолета; ГОРОД29.10.2009С.Д.
Кузнецов. Базы данных.48 Проектирование РБДСемантическая модель Entity-Relationship(34)Нормальные формы ER-диаграмм (11) 2NF (6) Уникальным идентификатором сущности РЕЙС является атрибут номеррейса; уникальный идентификатор ЭЛЕМЕНТ РАСПИСАНИЯ состоит изатрибута дата-время вылета и конца связи КОГДА, НА ЧЕМ Ни в одном типе сущности больше нет атрибутов, определяемых частьюуникального идентификатора Свойства второй нормальной формы удовлетворяются, и мы имеемболее качественную диаграмму29.10.2009С.Д.
Кузнецов. Базы данных.49 Проектирование РБДСемантическая модель Entity-Relationship(35)Нормальные формы ER-диаграмм (12) 3NF (1) В третьей нормальной форме устраняются атрибуты, зависящие отатрибутов, не входящих в уникальный идентификатор. Эти атрибутыявляются основой отдельной сущности. Взглянем еще раз на тип сущности ЭЛЕМЕНТ РАСПИСАНИЯ Конечно, каждый день каждый рейс выполняется только однимсамолетом, поэтому бортовой номер самолета полностью зависит отуникального идентификатора Но бортовой номер является уникальной характеристикой каждогосамолета, и от этой характеристики зависят все остальныехарактеристики, в частности тип самолета29.10.2009С.Д. Кузнецов.
Базы данных.50 Проектирование РБДСемантическая модель Entity-Relationship(36)Нормальные формы ER-диаграмм (13) 3NF (2) Другими словами, между уникальным идентификатором и другимиатрибутами типа сущности ЭЛЕМЕНТ РАСПИСАНИЯ имеются следующиефункциональные зависимости: {КОГДА, НА ЧЕМ, дата-время вылета} → бортовой номер самолета; {КОГДА, НА ЧЕМ, дата-время вылета} → тип самолета; бортовой номер самолета → тип самолета29.10.2009С.Д. Кузнецов. Базы данных.51 Проектирование РБДСемантическая модель Entity-Relationship(37)Нормальные формы ER-диаграмм (14) 3NF (3) Как видно, имеется транзитивная FD {КОГДА, НА ЧЕМ, дата-времявылета} → тип самолета, и наличие этой FD вызывает нарушениетребования третьей нормальной формы На самом деле, тип сущности ЭЛЕМЕНТ РАСПИСАНИЯ включает в себя(по крайней мере, частично) тип сущности САМОЛЕТ Это вызывает избыточность хранения и затуманивает смысл диаграммы Здесь показан нормализованный вариант диаграммы, в котором всетипы сущности находятся в третьей нормальной форме29.10.2009С.Д.
Кузнецов. Базы данных.52 Проектирование РБДСемантическая модель Entity-Relationship(37)Более сложные элементы ER-модели (1)До сих пор мы рассматривали только самые основные инаиболее очевидные понятия ER-модели данныхК числу некоторых более сложных элементов моделиотносятся следующие.Подтипы и супертипы сущностей. Подобно тому, как этоделается в языках программирования с развитыми типовымисистемами (например, в языках объектно-ориентированногопрограммирования), в ER-модели поддерживаетсявозможность наследования типа сущности от одногосупертипа сущности Механизм наследования в ER-модели обладает несколькимиособенностями: в частности, интересные нюансы связаны снеобходимостью графического изображения этогомеханизма (более подробно механизм наследованиярассматривается далее)29.10.2009С.Д.
Кузнецов. Базы данных.53 Проектирование РБДСемантическая модель Entity-Relationship(38)Более сложные элементы ER-модели (2)Уточняемые степени связи. Иногда бывает полезноопределить возможное количество экземпляров сущности,участвующих в данной связи (примером может служить тоограничение, что служащему разрешается участвовать неболее чем в трех проектах одновременно) Для выражения этого семантического ограниченияразрешается указывать на конце связи ее максимальнодопустимую или обязательную степень.Взаимно исключающие связи. Для заданного типа сущностиможно определить такой набор типов связи с другимитипами сущности, что для каждого экземпляра заданноготипа сущности может (если набор связей являетсянеобязательным) или должен (если набор связейобязателен) существовать экземпляр только одной связи изэтого набора29.10.2009С.Д.
Кузнецов. Базы данных.54 Проектирование РБДСемантическая модель Entity-Relationship(39)Более сложные элементы ER-модели (3)Каскадные удаления экземпляров сущностей. Некоторыесвязи бывают настолько сильными (конечно, в случае связи«один ко многим»), что при удалении опорного экземплярасущности (соответствующего концу связи «один») нужноудалить и все экземпляры сущности, соответствующие концусвязи «многие» Соответствующее требование каскадного удаления можноспецифицировать при определении связи.Домены. Как и в случае реляционной модели данных, внекоторых случаях полезна возможность определенияпотенциально допустимого множества значений атрибутасущности (домена)29.10.2009С.Д.
Кузнецов. Базы данных.55 Проектирование РБДСемантическая модель Entity-Relationship(40)Более сложные элементы ER-модели (4)Эти и другие усложненные элементы ER-моделиделают ее более мощной, но одновременнонесколько затрудняют ее использованиеКонечно, при реальном применении ERдиаграмм для проектирования баз данныхнеобходимо ознакомиться со всемивозможностямиДалее мы подробнее обсудим суть механизманаследования в ER-модели, а также приведемпример типа сущности с взаимно исключающимисвязями29.10.2009С.Д.
Кузнецов. Базы данных.56 Проектирование РБДСемантическая модель Entity-Relationship(41)Более сложные элементы ER-модели (5) Наследование (1) Тип сущности может быть расщеплен на два илиболее взаимно исключающих подтипов, каждый изкоторых включает общие атрибуты и/или связи Эти общие атрибуты и/или связи явно определяютсяодин раз на более высоком уровне В подтипах могут определяться собственныеатрибуты и/или связи. В принципе, подтипизацияможет продолжаться на более низких уровнях, ноопыт использования ER-модели при проектированиибаз данных показывает, что в большинстве случаевоказывается достаточно двух-трех уровней29.10.2009С.Д.
Кузнецов. Базы данных.57 Проектирование РБДСемантическая модель Entity-Relationship(42)Более сложные элементы ER-модели (6) Наследование (2)Особенности механизма наследования в ER-моделиопределяются следующими правилами. Если у типасущности A имеются подтипы B1, B2,…, Bn, то: любой экземпляр типа сущности B , B ,…, B является12nэкземпляром типа сущности A (включение); если a является экземпляром типа сущности A, то a являетсяэкземпляром некоторого подтипа сущности Bi (i = 1, 2, …, n)(отсутствие собственных экземпляров у супертипасущности); ни для каких подтипов B и B (i, j = 1, 2, …, n) не существуетijэкземпляра, типом которого одновременно являются типысущности Bi и Bj (разъединенность подтипов)29.10.2009С.Д.