Читайте также:
|
|
Пример проектирования модели и проведения нормализации
Выявление существенных объектов
Пытаемся определить сущности и их атрибутный состав на интуитивном уровне, т.е. определяем, какими типами данных характеризуется наш объект исследований (предметная область). В качестве предметной области будем рассматривать сферу воздушных перевозок.
Рисунок 1Сущность Рейс – ненормализованная модель
(результат предварительного анализа)
Предварительное действие
Убедимся в том, что все сущности имеют уникальные идентификаторы в виде комбинации атрибутов. В нашем случае рейс будет однозначно определяться номером рейса, датой и временем вылета.
Рисунок 2 Сущность Рейс с выделенным первичным ключом.
Первая форма нормализации
Первая нормальная форма требует, чтобы на любом пересечении строки и столбца находилось единственное значение, которое должно быть атомарным, то есть оно не может быть разбито на составляющие. Кроме того, в таблице, удовлетворяющей первой нормальной форме, не должно быть повторяющихся групп, а также пустых первичных ключей.
Проанализируем имеющееся атрибуты с точки зрения атомарности, отметим что поля Член экипажа N по своему смыслу могут быть заполнены примерно следующими данными
Член экипажа 1 | Командир, Петров Семен Евгеньевич |
Член экипажа 2 | Штурман, Семенов Евгений Петрович |
Член экипажа 3 | Бортпроводник, Савельева Надежда Викторовна |
Таким образом, каждое из полей содержит информацию из двух составляющих ФИО члена экипажа и Роль члена экипажа (Командир, Штурман, Бортпроводник и т.д.)
Следующим шагом отмечаем, что информация для каждого члена экипажа является повторяющейся группой, заметим, что предлагаемый способ представления рейса не позволяет представить информацию о рейсе более чем с тремя членами экипажа. Удаляем повторяющиеся атрибуты или группы атрибутов. Нам нужно убрать, например, группы атрибутов для членов экипажа с номерами 1,2,3. Это приведет к созданию новой сущности ЧЛЕН ЭКИПАЖА, имеющей атрибуты «ФИО» и «Роль» и связь типа «многие к одному» с исходной сущностью РЕЙС (иначе говоря, в одном рейсе много членов экипажа). Введем для члена экипажа уникальный идентификатор – суррогатный ключ «Код Члена экипажа».
Рисунок 3 Первая нормальная форма
Дата добавления: 2015-12-08; просмотров: 116 | Нарушение авторских прав