Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моя БД 14.docx
Скачиваний:
45
Добавлен:
27.08.2019
Размер:
43.76 Кб
Скачать

1.4 Проектирование таблиц базы данных.

После того как исходную структуру БД мы привели к третьей нормальной форме, у нас получилось в сумме шесть таблицы:

Таблица 1

ZuevFilm

Название поля

Тип данных

Правило целостности

Nazvanie

VARCHAR2(20)

PRIMARY KEY

Acter

VARCHAR2(20)

PRIMARY KEY

Kodzhanra

NUMBER(4,0)

Prodolzhitelnost

NUMBER(3,0)

Prodolzhitelnost>0

Godvipuska

NUMBER(4,0)

Godvipuska>1900

Proizvoditel

VARCHAR2(20)

Kodstrana

NUMBER(4,0)

Kolprodbiletov

NUMBER(7,0)

Kolprodbiletov>0

Viruchka

NUMBER(12,0)

Viruchka>0

В таблице 1 будет храниться информация о программах. Эта таблица имеет следующие поля:

Nazvanie – первичный ключ таблицы - должен быть уникальным. Название фильма не может превышать 20 символов;

Kodzhanra – определяет код жанра, который берется из таблицы ZuevKodzhanra. Так как число жанров не может быть очень большим, то код жанра будет состоять из четырех цифр;

Prodolzhitelnost – определяет продолжительность фильма. Продолжительность фильма определяется минутами, в данном случае – это число, состоящее максимум из трех цифр, так как фильм с продолжительностью более 1000 минут невозможен.;

Godvipuska – определяет год выпуска данного фильма. Год выпуска – число, состоящее из 4 цифр.;

Proizvoditel – определяет компанию производителя фильма. Производитель – корпорация или киностудия, ее название не может превышать 20 символов;

Kodstrana - определяет код страны, в которой проходили съемки, выбирается из таблицы ZuevKodstrana. Так как стран, имеющих отношение к новым фильмам не больше 1000, то код страны не будет превышать четырех цифр;

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

Viruchka – определяет общую выручку с проката картины.

Используемые типы данных. Так как выручка определяется числом проданных билетов, а оно может достигать миллиона, то выручка может достигать в разы больших значений, поэтому для хранения будем использовать 12 символов:

VARCHAR2(L) - символьные данные фиксированной длины L байт.

NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.

Таблица 2

ZuevKodzhanra

Название поля

Тип данных

Правило целостности

Kodzhanra

NUMBER(4,0)

PRIMARY KEY

Zhanr

VARCHAR2(20)

В таблице 2 будет храниться информация о жанрах. Эта таблица имеет следующие поля:

Kodzhanra -первичный ключ таблицы- должен быть уникальным;

Zhanr – определяет один из жанров фильмов. Название жанра не может превышать 20 символов;

Используемые типы данных:

VARCHAR2(L) - символьные данные фиксированной длины L байт;

NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.

Таблица 3

ZuevSeansi

Название поля

Тип данных

Правило целостности

Data

DATE

PRIMARY KEY

Nachalo

DATE

PRIMARY KEY

Prodolzhitelnostseansa

NUMBER(3,0)

Prodolzhitelnostseansa>0

Cena

NUMBER(5,2)

Cena>0

Nazvanie

VARCHAR2(20)

FOREIGN KEY ZuevFilm

В таблице 3 будет храниться информация о версиях программы. Эта таблица имеет следующие поля:

Data – первичный ключ таблицы - должен быть уникальным. Дату показа фильма храним в формате даты;;

Nachalo – первичный ключ таблицы - должен быть уникальным;

Prodolzhitelnostseansa – определяет продолжительность сеанса. Так же как и продолжительность фильма не может превышать 1000 минут, поэтому для хранения будем использовать символа;

Cena – определяет цену на билет, определено больше ноля Цена на билет не превышает 1000 рублей, однако при записи цены используют две цифры после запятой (например 100,00 р.) поэтому будем использовать 5 символов, 2 из них после запятой;

Nazvanie – название фильма.

Используемые типы данных:

VARCHAR2(L) - символьные данные фиксированной длины L байт;

NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.

DATE - хранение даты и времени.

Таблица 4

ZuevSvobodniemesta

Название поля

Тип данных

Правило целостности

Nachalo

DATE

PRIMARY KEY

FOREIGN KEY ZuevSeansi

Data

DATE

PRIMARY KEY

FOREIGN KEY ZuevSeansi

Ryad

NUMBER(2,0)

PRIMARY KEY, Ryad>0

Mesto

NUMBER(2,0)

PRIMARY KEY, Mesto>0

В таблице 4 будет храниться информация о свободных местах на сеансы. Эта таблица имеет следующие поля:

Nachalo – первичный ключ таблицы - должен быть уникальным;

Dataseansa – первичный ключ таблицы - должен быть уникальным;

Ryad – первичный ключ таблицы - должен быть уникальным;

Mesto – первичный ключ таблицы - должен быть уникальным.

Используемые типы данных:

VARCHAR2(L) - символьные данные фиксированной длины L байт;

NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.

DATE - хранение даты и времени.

Таблица 5

ZuevKodstrana

Название поля

Тип данных

Правило целостности

Kodstrana

NUMBER(4,0)

PRIMARY KEY

Strana

VARCHAR2(20)

FOREIGN KEY ZuevFilm

В таблице 5 будет храниться информация о странах. Эта таблица имеет следующие поля:

Kodstrana -первичный ключ таблицы- должен быть уникальным;

Strana – страна-производитель.

Используемые типы данных:

VARCHAR2(L) - символьные данные фиксированной длины L байт;

NUMBER(a,b) – числовое значение с общим числом цифр a, и с количеством цифр после запятой b.

Таблица 6

ZuevActer

Название поля

Тип данных

Правило целостности

Acter

VARCHAR2(20)

PRIMARY KEY

Nazvanie

VARCHAR2(20)

FOREIGN KEY ZuevFilm

В таблице 6 будет храниться информация об актерах. Эта таблица имеет следующие поля:

Acter -первичный ключ таблицы- должен быть уникальным;

Nazvanie – название фильма;

Используемые типы данных:

VARCHAR2(L) - символьные данные фиксированной длины L байт.