Тема_7 (1122352), страница 3
Текст из файла (страница 3)
Базы данных.27 Проектирование РБДСемантическая модель Entity-Relationship(13)Основныепонятия ER-модели (12) Кроме того, при определении заголовка отношения допускаетсяиспользование имен атрибутов, совпадающих с именами своихдоменовэто два разных пространства имен, и наличие одинаковых имен уатрибутов и доменов не вызывает коллизийПоэтому при определении атрибутов типов сущности можно такподбирать их имена, что они в дальнейшем будут подсказывать,какие домены у этих атрибутов имеются в видуПониманию предполагаемой сути доменов способствует ивозможность указания примеров значений атрибутовНапример, на рисунке имеется атрибут год рождения,в качестве примерного значения которого указано«1978»Это подсказывает, что в реляционной схеме приопределении соответствующего атрибута наиболееестественным базовым типом данных будеттемпоральный тип «ДАТА», значения которого задаютдату с точностью до года29.10.2009С.Д.
Кузнецов. Базы данных.28 Проектирование РБДСемантическая модель Entity-Relationship(14)Основные понятия ER-модели (13)При определении типа сущности необходимо гарантировать,что каждый экземпляр сущности является отличимым отлюбого другого экземпляра той же сущностиПоскольку сущность является абстракцией реального илипредставляемого объекта внешнего мира, это требованиенужно иметь в виду уже при выборе кандидата в типысущности.Например, предположим, что проектируется база данныхдля поддержки работы книжного складаНа складе могут храниться произвольные части тиражалюбого издания любой книгиМожет ли в этом случае индивидуальная книга являтьсяпрообразом типа сущности?29.10.2009С.Д.
Кузнецов. Базы данных.29 Проектирование РБДСемантическая модель Entity-Relationship(15)Основные понятия ER-модели (14)Утверждается, что нет, поскольку отсутствует возможностьразличения книг одного изданияДля книжного склада прообразом типа сущности будет набородноименных книг одного автора, вышедших в одномизданииОдним из атрибутов этого типа сущности будет число книг внабореНо когда книга поступает в библиотеку и ей присваиваетсяуникальный библиотечный номер, она становится разумнымпрообразом типа сущностиПлохо устроены библиотеки, в которых не различаютсяиндивидуальные книги даже одноименные книги одного автора, вышедшие в одномиздании29.10.2009С.Д. Кузнецов.
Базы данных.30 Проектирование РБДСемантическая модель Entity-Relationship(16)Уникальныеидентификаторы типов Но при проектированиибазысущностиданных (1)мало того,чтобы проектировщик убедился в правильномвыборе типов сущности, гарантирующемразличие экземпляров каждого типа сущностиНеобходимо сообщить системе автоматизациипроектирования БД, каким образом будутразличаться эти экземпляры, т. е. сообщить, какконструируются уникальные идентификаторыэкземпляров каждого типа сущностиВ ER-модели у экземпляра типа сущности неможет быть назначаемого пользователем имениили назначаемого системой внешнегоуникального идентификатора29.10.2009С.Д. Кузнецов. Базы данных.31 Проектирование РБДСемантическая модель Entity-Relationship(17)Уникальныеидентификаторытиповсущности (2)Экземпляр типасущности можетидентифицироватьсятолько своими индивидуальными характеристиками, а онипредставляются значениями атрибутов и экземплярами типов связи,связывающими данный экземпляр типа сущности сэкземплярами других типов сущности или этого же типасущностиПоэтому уникальным идентификатором сущности можетбыть атрибут, комбинация атрибутов, связь, комбинация связей или комбинация связей и атрибутов,уникально отличающая любой экземпляр сущности от другихэкземпляров сущности того же типа29.10.2009С.Д.
Кузнецов. Базы данных.32 Проектирование РБДСемантическая модель Entity-Relationship(18)идентификаторытипов сущностиУникальныеНа рисунке показантип сущности КНИГА,пригодный для использования в базе данныхкнижного склада При издании любой книги в приличномиздательстве ей присваивается уникальный номер –ISBN(3) Понятно, что значение атрибута isbn будет уникальноидентифицировать партию книг на складе Кроме того, конечно, в качестве уникального идентификатора годится икомбинация атрибутов<автор, название, номер издания, издательство, год издания>29.10.2009С.Д. Кузнецов. Базы данных.33 Проектирование РБДСемантическая модель Entity-Relationship(19)Уникальные идентификаторы типов сущности (4) Здесь диаграмма включает два связанных типа сущности У каждого обычного взрослого человека имеется один и только одинпаспорт мы не берем в расчет особый случай, когда у одного человека имеетсянесколько паспортов, хотя это не изменило бы ситуацию,и каждый паспорт может принадлежать только одному взросломучеловеку некоторые уже готовые паспорта могут быть еще никому не выданы) Тогда связь человека с его паспортом (конец связи ИМЕЕТ) уникальноидентифицирует взрослого человека, т.
е., грубо говоря, паспортопределяет взрослого человека Поскольку могут существовать паспорта, еще не выданные человеку,эта связь не является уникальным идентификатором сущности ПАСПОРТ29.10.2009С.Д. Кузнецов. Базы данных.34 Проектирование РБДСемантическая модель Entity-Relationship(20)Уникальные идентификаторы типов сущности (5) На диаграмме имеются три связанных типа сущности Профессора обладают знаниями в нескольких учебных дисциплинах Преподавание каждой дисциплины доступно нескольким профессорам Другими словами, между сущностями ПРОФЕССОР и ДИСЦИПЛИНАопределена связь «многие ко многим»29.10.2009С.Д.
Кузнецов. Базы данных.35 Проектирование РБДСемантическая модель Entity-Relationship(21)Уникальные идентификаторы типов сущности (6) Каждый профессор может готовить курсы по любой доступной емудисциплине Каждой дисциплине может быть посвящено несколько учебных курсов Но каждый профессор может готовить только один курс по любойдоступной ему дисциплине, и каждый курс может быть посвящен толькоодной дисциплине29.10.2009С.Д. Кузнецов. Базы данных.36 Проектирование РБДСемантическая модель Entity-Relationship(22)Уникальные идентификаторы типов сущности (7) Тем самым, каждый экземпляр типа сущности КУРС уникальноидентифицируется экземпляром сущности ПРОФЕССОР и экземпляромсущности ДИСЦИПЛИНА, т.е.
парой связей с именами концов ГОТОВИТСЯ и ПОСВЯЩЕН настороне сущности КУРС. Заметим, что сущности ПРОФЕССОР и ДИСЦИПЛИНА связями неидентифицируются29.10.2009С.Д. Кузнецов. Базы данных.37 Проектирование РБДСемантическая модель Entity-Relationship(23)идентификаторы типовУникальныеНаконец, пример типа сущности,уникальный идентификатор которогоявляется комбинацией атрибутов и связей Это несколько уточненный вариантсущности с рекурсивной связью, показаннойраньшесущности (8) У каждого человека могут быть дети, и у каждого человека имеетсяотец Тогда, если предположить, что близнецам, появившимся на светодновременно, не дают одинаковых имен, то уникальнымидентификатором типа сущности ЧЕЛОВЕК может быть комбинацияатрибутов <дата рождения, ФИО> и связь с именем конца РЕБЕНОК29.10.2009С.Д. Кузнецов.
Базы данных.38 Проектирование РБДСемантическая модель Entity-Relationship(24)Нормальные формы ER-диаграмм (1)Как и в случае схем реляционных баз данных, для ERдиаграмм вводится понятие нормальных форм, причем ихсмысл очень близко соответствует смыслу нормальныхформ отношенийЗаметим, что определения нормальных форм ER-диаграммделают более понятным смысл нормализации схемотношенийМы приведем только очень краткие и неформальныеопределения трех первых нормальных формКонечно, можно было бы ввести дальнейшие нормальныеформы ER-диаграмм, аналогичные нормальной формеБойса-Кодда, 4NF и 5NF, но на практике к такойнормализации обычно не прибегают, а общие идеи должныбыть понятны и так29.10.2009С.Д.
Кузнецов. Базы данных.39 Проектирование РБДСемантическая модель Entity-Relationship(25)Нормальные формы ER-диаграмм (2) 1NF (1) В первой нормальной форме ER-диаграммы устраняются атрибуты,содержащие множественные значения, т. е. производится выявлениенеявных сущностей, «замаскированных» под атрибуты На рисунке показана диаграмма, в которой тип сущности АЭРОДРОМ неудовлетворяет требованию первой нормальной формы Здесь несущественны атрибуты сущности АВИАРЕМОНТНОЕПРЕДПРИЯТИЕ, но сущность АЭРОДРОМ помимо атрибутов, отражающихсобственные характеристики аэродромов (длина взлетно-посадочнойполосы, число ангаров и т.д.) содержит атрибут, множественное значениекоторого характеризует самолеты, приписанные к этому аэродрому29.10.2009С.Д.
Кузнецов. Базы данных.40 Проектирование РБДСемантическая модель Entity-Relationship(26)Нормальные формы ER-диаграмм (3) 1NF (2) Очевидно, что самолеты нуждаются в ремонте, т.е. должныобслуживаться некоторым авиаремонтным предприятием Но поскольку самолеты являются частью сущности АЭРОДРОМ,единственным способом фиксации этого факта на диаграмме являетсяпроведение связи «многие ко многим» между типами сущностиАЭРОДРОМ и АВИАРЕМОНТНОЕ ПРЕДПРИЯТИЕ Таким образом выражается то соображение, что для ремонта разныхсамолетов, приписанных к одному аэродрому, могут использоватьсяразные авиаремонтные предприятия, и каждое авиаремонтноепредприятие может обслуживать несколько аэродромов29.10.2009С.Д.
Кузнецов. Базы данных.41 Проектирование РБДСемантическая модель Entity-Relationship(27)Нормальные формы ER-диаграмм (4) 1NF (3) Чем плоха эта ситуация? Прежде всего, тем, что скрывается тот факт, что авиаремонтноепредприятие ремонтирует самолеты, а не аэродромы Связь же между типами сущности АЭРОДРОМ и АВИАРЕМОНТНОЕПРЕДПРИЯТИЕ на самом деле означает, что любой аэродром из группыаэродромов обслуживается любым авиаремонтным предприятием изгруппы таких предприятий Проблема состоит именно в том, что значением атрибута «самолеты»является множество экземпляров типа сущности САМОЛЕТ, и этот типсущности сам обладает атрибутами и связями29.10.2009С.Д.