
Произведем анализ смысловых зависимостей.
В таблице "Фильм" поле "Название фильма" определяет атрибуты фильма, такие как "Жанр", "Продолжительность ", "Год выпуска и т.д.", так как фильму с таким названием могут соответствовать только такие характеристики, но не определяет поле "Актер", поэтому необходимо выделить новую таблицу.
В таблице "Сеансы" совокупность полей "Дата" и "Начало" однозначно определяют "Название фильма", "Окончание", "Цену на билет " и "Продолжительность", так как в кинотеатре имеется лишь один зал, в котором за сутки в одно время может быть показан лишь один фильм. Цена на билет в данном случае зависит не от фильма, а от того времени, в которое этот фильм показывается в разные дни. Продолжительность сеанса не совпадает с продолжительностью фильма, так в кинотеатре необходимо добавить время для рекламы, технических задержек и т.п. В таблице "Свободные места" поля "Начало", "Дата", "Ряд", "Место" являются первичными ключами, а поле "Название фильма" зависит не от всего первичного ключа, а лишь от его части, поэтому следует выделить новую таблицу.
Ф |
Н |
Жанр Продолжительность Год выпуска Производитель Страна |
Продажа |
Название фильма |
Количество проданных билетов Выручка |
Сеансы |
Дата Начало |
Окончание Продолжительность Цена на билет Название фильма |
Свободные места |
Дата Начало Ряд Место |
Таблица 1 |
Дата Начало |
Название фильма |
Актер Название фильма |
Как мы видим между таблицами "Продажа" и "Фильм", а также между таблицами "Таблица 1" и "Сеансы" связь один к одному, следовательно по правилам нормализации их необходимо объединить в дну.
Так же в ходе приведения ко второй нормальной форме необходимо выделить дополнительные таблицы: "Код страны", "Код жанра". Эти таблицы упростят работу с данными. С их введением будет сведена к нулю вероятность ошибки в наборе жанра или страны, так как эти параметры будут выбираться из предложенного списка.
Фильм |
Н |
К од жанра Продолжительность фильма Год выпуска Производитель Код страны Количество проданных билетов Выручка |
Сеансы |
Дата Н ачало |
Окончание Продолжительность сеанса Цена на билет Название фильма |
Свободные места |
Начало Дата Ряд Место |
Актер Название фильма |
Код жанра |
Жанр |


Код страны |
Страна |
Третья нормальная форма требует, чтобы таблицы были приведены ко второй нормальной форме, и чтобы между не ключевыми полями таблицы не было транзитивных зависимостей, то есть, чтобы значение любого поля, не входящего в состав первичного ключа не зависело от другого поля, не входящего в первичный ключ.
В таблице "Сеансы" исключим поле "Окончание", так как может быть определено через поля "Время начала" и "Продолжительность".
Остальные таблицы соответствуют третьей нормальной форме.
Фильм |
Н |
К од жанра Продолжительность фильма Год выпуска Производитель Код страны Количество проданных билетов Выручка |
Сеансы |
Дата Н ачало |
Продолжительность сеанса Цена на билет Название фильма |
Свободные места |
Начало Дата Ряд Место |
Актер Название фильма |
Код жанра |
Жанр |
Код страны |
Страна |