1.3 Нормализация
Приведение к 1НФ.
1 требование (требование простой структуры). Каждую сущность с атрибутами представил в виде множества строк. Объединённых ячеек нет.
2 требование (отсутствие одинаковых по смыслу полей). Повторяющихся полей нет.
3 требование (отсутствие составных полей). Составных полей нет.
4 требование (в табл. не должно быть одинаковых записей). В таблице нет одинаковых записей.
С учётом данных требований получаем таблицы вида, которые представлены на рисунке 2.
Название |
Жанр |
Продолжительность |
Сюжет |
Бюджет |
Сборы |
Год выпуска |
Дата премьеры |
Фамилия |
Имя |
Дата рождения |
Статус |
Дата смерти |
Страна |
Фамилия |
Имя |
Дата рождения |
Фильм |
Роль в фильме |
Киностудия |
Страна |
Год образования |
Рисунок 2 – Приведение к 1НФ.
Приведение ко 2НФ.
Выписываем атрибуты каждой сущности Фильмы, Люди, Производители, Участие в фильме.
Определяем у каждой сущности первичный ключ. Сущность Фильмы - первичный ключ Название, год выпуска. Люди –Код человека. Участие в фильмах – Код участия. Производители – Код киностудии.
Т.к. для некоторых атрибутов удобнее выделить Код, поэтому Код выделяем для следующих атрибутов: Человек, Страна, Фильм, Жанр, Киностудия.
Таблица Люди с таблицей Участие в фильме имеет связь «один ко многим», т.к. в каждом фильме принимает участие несколько людей, а конкретную роль исполняет только один человек.
Таблица Страны с таблицей Люди имеет связь «один ко многим», в каждой стране проживает множество людей, но конкретный человек относится к одной стране.
Таблица Жанры с таблицей Фильмы имеет связь «один ко многим», т.к. в каждом жанре создано множество фильмов, но каждый фильм принадлежит к одному жанру.
Остальные таблицы связаны аналогично.
Приведение к 3НФ.
Т.к. транзитивных зависимостей нет, то 2НФ является и 3НФ.
С учётом всех пунктов получим таблицу следующего вида, показанную на рисунке 3.
К од человека |
Фамилия Имя Дата рождения Статус К од страны Дата Смерти |
|
Код фильма |
|||||
---|---|---|---|---|---|---|
|
Название Продолжительность Год выпуска Сюжет Бюджет Сборы
Страны |
|||||
|
Код страны |
|
||||
|
Название
Жанры |
|
||||
|
Код жанра |
|
||||
|
Тип участия |
|
||||
К од типа |
|
|||||
Название типа |
|
Люди
Участие в фильмах
Код записи |
К од человека Код фильма Роль в фильме |
Фильмы
Код киностудии |
К од страны Киностудия Год образования |
Код записи |
Код киностудии Код фильма Код типа участия |
Производители
Производство фильмов
Рисунок 3 – Нормализация БД.