БД. 1 анализ предметной области 1 Перечень сущностей
![]()
|
2.2 Классификация связейРассмотрим связи, образующиеся между сущностями. Клиент может иметь несколько путевок, которые включают в себя несколько туров; тур может иметь несколько стран, отелей и экскурсионных маршрутов. То есть между сущностями встречается связь «один - ко - многим». В данной связи максимальная мощность связи «один» направлена к исходному объекту, а максимальная мощность связи «много» - к вновь созданному объекту. 3 РЕЛЯЦИОННАЯ МОДЕЛЬ БД3.1 Функциональные зависимости между атрибутамиПо определению атрибуты находятся в функциональной зависимости, если в любой момент времени каждому значению одного атрибута соответствует не более одного значения второго атрибута. Таким образом, на основании данного определения можно определить связи между атрибутами сущностей. 3.2 Выбор ключейВ качестве первичного ключа сущности «Клиенты» может быть выбрано сочетание атрибутов «Фамилия», «Имя», «Отчество» или атрибут «Номер паспорта». Но удобнее ввести искусственный атрибут (числовой код), который является более коротким и не подвержен изменениям как. Для сущностей «Отели», «Страны», «Туры», «Экскурсионные маршруты» также удобнее использовать искусственные числовые коды «Код отеля», «Код страны», «Код тура» и «Код экскурсионного маршрута» соответственно. Таким же образом в качестве первичного ключа сущности «Путевки» удобнее ввести искусственный числовой атрибут «№ путевки» вместо сочетания атрибутов «Код клиента» и «Код тура». Первичные ключи будут использованы в реляционной модели для связи между собой различных сущностей, и они отображаются в схеме данных. С помощью внешних ключей установим связи между отношениями. Примеры выбора ключей рассмотрены в подразделе 2.2 Перечень атрибутов главы Концептуальное проектирование. 3.3 Нормализация отношенийПроцесс нормализации заключается в разложении (декомпозиции) исходных отношений БД на более простые отношения с целью предотвратить ситуации, которые могут привести к избыточности и противоречивости данных. Нормализация производится последовательно по шагам от первой до пятой нормальной формы. Каждая последующая форма выполняется, если справедливы предыдущие. Проверим нормализацию отношений базы данных до третьей нормальной формы. Все отношения удовлетворяют первой нормальной форме, так как на пересечении каждой строки и каждого столбца таблицы всегда находится единственное атомарное значение, то есть нет многозначности и неатомарности атрибутов. Исходя из того, что вторая нормальная форма означает, что сущности удовлетворяют требованиям первой нормальной формы, и в них нет неключевых атрибутов, зависящих только от части составного ключа, можно сказать, что все сущности удовлетворяют условиям второй нормальной формы. Действительно, во всех отношениях каждый неключевой атрибут функционально полно зависит от первичного ключа. Все сущности также удовлетворяют требованиям третьей нормальной формы, так как они уже соответствуют правилам первой и второй нормальных форм, и в них все неключевые атрибуты функционально зависят только от ключевых атрибутов. То есть в отношениях нет неключевых атрибутов, которые бы находились в транзитивной функциональной зависимости от первичного ключа, и ни один из неключевых атрибутов не связан функциональной зависимостью с другими неключевыми атрибутами. Отсутствие транзитивной зависимости означает, что в отношениях нет неключевых атрибутов, которые зависели бы от первичного ключа через какой-либо другой атрибут. 4 ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БД4.1 Состав таблиц БДПриведем состав таблиц базы данных и укажем имена и характеристики полей, из которых состоят данные таблицы. На основе ER-модели были сформированы шесть таблиц. Каждая таблица имеет свои атрибуты, среди которых есть и ключевые. Имена и характеристики полей таблиц БД представлены в таблице 1. Ключевые поля отношений отмечены подчеркиванием. Таблица 1. Имена и характеристики полей
Таблица 1. Имена и характеристики полей (продолжение)
Таблица 1. Имена и характеристики полей (окончание)
|