Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IT.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
224.26 Кб
Скачать

2. Анализ предметной области

В соответствии с задачами, которые поставлены перед базой, выделим четыре сущности:

1) «Фильм» - в этой сущности заключена информация о фильме (название, жанр, актеры, год выпуска, производитель, продолжительность, страна);

2) «Сеансы» - в этой сущности заключена информация о временных рамках показа (дата, начало, окончание, продолжительность, цена билета, название фильма)

3) «Продажа билетов» - в эту сущность включает в себя информацию о количестве проданных билетов и общей выручке с одного фильма за весь срок его проката (название фильма, количество проданных билетов, выручка)

4) «Свободные места» - в эту сущность включена информация о наличии свободных мест на определенные сеансы в определенные дни, в нашем случае в кинотеатре будет один зал (название фильма, начало, дата, место, ряд)

Эти сущности взаимосвязаны следующим образом:

  • у фильма с одним названием может быть несколько сеансов, однако каждому сеансу соответствует одно название фильма. Следовательно, связь между сущностями "Фильм" и "Сеансы" «один ко многим».

  • по фильму с одним названием ведется один финансовый отчет, так как мы считаем прибыль за весь срок проката фильма, поэтому связь между сущностями "Фильм" и "Продажа" «один к одному», то есть в ходе нормализации эти таблицы будут объединены.

  • фильм с одним названием показывается несколько раз, следовательно, и свободных мест может быть несколько, поэтому связь между сущностями "Фильм" и "Свободные места" «один ко многим».

Рис.1. Структура сущностей

4

3. Нормализация Первая нормальная форма требует:

  1. простую структуру таблиц;

  2. в таблицах не должно быть одинаковых по смыслу полей;

  3. в таблице не должно быть составных полей;

  4. в таблице не должно быть одинаковых записей.

Рассмотрим выполнение требований первой нормальной формы к каждой таблице.

  1. В каждой таблице информация предоставляется в виде совокупности строк и столбцов.

  2. В каждой таблице отсутствуют одинаковые по смыслу поля. При рассмотрении каждой таблицы в отдельности мы видим, что информация, содержащаяся в каждом из столбцов, различна. Например, в таблице “Фильм” в поле “Жанр” хранится жанр фильма, а в поле “Год выпуска” хранится год выпуска этого фильма; в таблице “Свободные места” в поле “Начало” хранится время начала сеанса, а в поле “Дата” хранится день сеанса.

  3. В таблице «Фильм» есть поле "Актеры", которое является составным, поэтому необходимо заменить его полем "Актер", чтобы можно было искать фильм по одному актеру.

  4. Двух полностью одинаковых строк ни в одной таблице не имеется. В каждой из таблиц есть поля, которые уникальны и не повторяются. Например, совокупность полей "Название фильма" и "Актер" в таблице "Фильм"; совокупность полей “Ряд” и “Место” в таблице “Свободные места”; поля “Дата” и “Начало” в таблице “Сеансы”; поля “Выручка” и “Кол-во проданных билетов” в таблице “Продажа”

Рис. 2. Первая нормальная форма (1НФ)

5

Благодаря преобразованиям, мы видим, что структура приведена к первой нормальной форме.

Вторая нормальная форма требует, чтобы таблицы были приведены к первой нормальной форме и чтобы все поля каждой таблицы зависели от первичного ключа. Первичный ключ должен однозначно определять запись и не быть избыточным. Также, мы должны убедиться в том, чтобы внутри каждой из сущностей не было внутренних взаимосвязей между характерными группами с целью уменьшения избыточности.

Определение первичных ключей:

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

Рис.3. Выделение первичных ключей (PK)

6

Анализ смысловых зависимостей:

В таблице "Фильм" поле "Название фильма" определяет атрибуты фильма, такие как "Жанр", "Продолжительность ", "Год выпуска” и т.д., так как фильму с таким названием могут соответствовать только такие характеристики, а поле "Актер" не определяется, поэтому нужно выделить новую таблицу.

В таблице "Сеансы" совокупность полей "Дата" и "Начало" однозначно определяют "Название фильма", "Окончание", "Цену за билет " и "Продолжительность", так как в кинотеатре имеется лишь один зал, в котором за сутки в одно время может быть показан лишь один фильм. Цена за билет в данном случае зависит не от фильма, а от того времени, в которое этот фильм показывается в разные дни. Продолжительность сеанса не совпадает с продолжительностью фильма, так как в кинотеатре имеется время рекламы, технических задержек и т.п. В таблице "Свободные места" поля: "Начало", "Дата", "Ряд", "Место" - являются первичными ключами, а поле "Название фильма" зависит не от всего первичного ключа, а лишь от его части, поэтому следует выделить новую таблицу.

Рис.4. Анализ смысловых зависимостей

Как мы видим между таблицами "Продажа" и "Фильм", а также между таблицами "Сеансы (кр.содержание)" и "Сеансы" связь один к одному, следовательно по правилам нормализации их необходимо объединить в одну.

Так же в ходе приведения ко второй нормальной форме выделим дополнительные таблицы: "Страна", "Жанр". Эти таблицы упростят работу с данными.

7

Рис.5. Вторая нормальная форма (2НФ)

Третья нормальная форма требует, чтобы таблицы были приведены ко второй нормальной форме, и чтобы между не ключевыми полями таблицы не было транзитивных зависимостей, то есть, чтобы значение любого поля, не входящего в состав первичного ключа не зависело от другого поля, не входящего в первичный ключ.

В таблице "Сеансы" исключим поле "Окончание", так как оно может быть определено через поля "Начало" и "Продолжительность".

Остальные таблицы соответствуют третьей нормальной форме.

Рис.6. Третья нормальная форма (3НФ)

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]