Автор работы: Пользователь скрыл имя, 22 Июня 2014 в 13:38, курсовая работа
Основная задача менеджера является добавление новых фильмов и обслуживание клиентов, выдача в прокат фильмов. Менеджер помогает пользователям подобрать нужный фильм по предложенным критериям.
Задача администратора удалять старые киноленты (год выпуска которых превысил 15 лет). Также в обязанности администратора входит слежение за тем, чтобы взятые фильмы в прокат возвращались вовремя.
Донской государственный технический университет
Кафедра ПОВТиАС
Курсовая работа по дисциплине
«Системы управления базами данных»
на тему: «База данных кинопроката»
Выполнил: студент группы ВКБ-41 Сорокин А.В.
Проверил: Гранков М. В. |
Ростов-на-Дону
2011
Введение
Предметная область: кинопрокат
Существует магазин, специализирующийся на прокате кинолент.
Пользователи БД: Менеджеры, Администратор
1. Внешняя модель предметной области
Пользователи БД:
Менеджер
Основная задача менеджера является добавление новых фильмов и обслуживание клиентов, выдача в прокат фильмов. Менеджер помогает пользователям подобрать нужный фильм по предложенным критериям.
Администратор
Задача администратора удалять старые киноленты (год выпуска которых превысил 15 лет). Также в обязанности администратора входит слежение за тем, чтобы взятые фильмы в прокат возвращались вовремя.
1.1 Описание объектов предметной области, их атрибутов и связей между объектами
Объекты:
Менеджер
Администратор
Клиент
Фильмы
Прокат
Атрибуты объектов:
Менеджер – id, ФИО, дата рождения, пол
Администратор – id, ФИО, дата рождения, пол
Фильм – id, Название, Год выпуска, Режиссёр, Описание, Продолжительность, Жанр
Прокат – id, дата выдачи, дата возврата, id фильма, id клиента взявшего фильм, id менеджера, выдавшего в прокат
Клиент – id, ФИО, адрес, id проката
1.2 Описание функциональных зависимостей
- один и тот же фильм не может быть одновременно в разных прокатах;
- в прокате может быть только 1 фильм;
- у каждого проката должен быть только 1 менеджер;
- каждому прокату должен соответствовать только 1 клиент;
- клиент не может взять в прокат фильмы, пока не вернул предыдущие;
- в прокате не должно быть фильмов, снятых больше 15 лет назад;
- каждый прокат имеет уникальный номер;
- номер сотрудника уникален;
- номер клиента уникален.
1.3 Описание способов,
форм обработки и
Запросы для администратора:
Запросы для менеджера:
1.4 Модель предметной области в виде схемы «объекты-связи» (ER-модель)
2. Логическая модель предметной области
2.1 Схемы базовых отношений:
Отношение R1:
Атрибуты:
Отношение R2:
Атрибуты:
Отношение R3:
Атрибуты:
Отношение R4:
Атрибуты:
Отношение R5:
Атрибуты:
2.2 Домены атрибутов
Отношение R1 (Фильм):
Атрибут |
Домен | |
1 |
Номер фильма |
целое положительное [4] |
2 |
Название |
строка [100] |
3 |
Описание |
строка [500] |
4 |
Год выпуска |
Тип данных описывающий дату вида dd.mm.yy |
5 |
Режиссёр |
строка [100] |
6 |
Жанр |
строка [20] |
Отношение R2 (Прокат):
Атрибут |
Домен | |
1 |
Номер проката |
целое положительное [4] |
2 |
Номер фильма |
Доменом данного атрибута является множество значений, которые принимает атрибут «номер фильма» отношения R1 |
3 |
Номер клиента |
Доменом данного атрибута является множество значений, которые принимает атрибут «номер клиента» отношения R3 |
4 |
Номер менеджера |
Доменом данного атрибута является множество значений, которые принимает атрибут «номер менеджера» отношения R5 |
5 |
Дата выдачи |
Тип данных описывающий дату вида dd.mm.yy |
6 |
Дата возврата |
Тип данных описывающий дату вида dd.mm.yy |
Отношение R3 (Клиент):
Атрибут |
Домен | |
1 |
Номер клиента |
целое положительное [4] |
2 |
Ф.И.О. клиента |
строка [100] |
3 |
Адрес |
cтрока [100] |
4 |
Номер проката |
Доменом данного атрибута является множество значений, которые принимает атрибут «номер проката» отношения R2. |
Отношение R4 (Администратор):
Атрибут |
Домен | |
1 |
Номер администратора |
целое положительное [4] |
2 |
Ф.И.О. администратора |
строка [100] |
3 |
Пол |
cтрока [8] |
4 |
Дата рождения |
Тип данных описывающий дату вида dd.mm.yy |
Отношение R5 (Менеджер):
Атрибут |
Домен | |
1 |
Номер менеджера |
целое положительное [4] |
2 |
Ф.И.О. менеджера |
строка [100] |
3 |
Дата рождения |
Тип данных описывающий дату вида dd.mm.yy |
4 |
Номер проката |
Доменом данного атрибута является множество значений, которые принимает атрибут «номер проката» отношения R2. |
5 |
Пол |
cтрока [8] |
2.3 Множество функциональных зависимостей
Film
{id_film} -> {god_vipuska,nazvanie, opisanie, janre, regisser}
Prokat
{id_film, id_manager, id_client} -> {date_out, date_in}
{id_prokat } -> {id_film, id_manager, id_client}
Client
{id_client} -> {address, fio}
{id_prokat} -> {id_client}
Administrator
{id_admin} -> {birth, pol, fio}
Manager
{id_manager} -> {birth, pol, fio}
{id_prokat} -> {id_manager}
2.4 Неприводимое множество функциональных зависимостей
Исходя из условий, определяющих неприводимое множество ФЗ:
1. Правая (зависимая) часть каждой
функциональной зависимости
2. В левой части каждой
3. Ни одна функциональная зависимость из S не может быть опущена без изменения замыкания S+,
R1 “Фильм”
{id_film} -> {god_vipuska}
{id_film} -> {opisanie}
{id_film} -> {janre}
{id_film} -> {regisser}
{id_film} -> {nazvanie}
R2 “Прокат”
{id_film, id_manager, id_client} -> {date_out}
{id_film, id_manager, id_client} -> {date_in}
{id_prokat} -> {id_film}
{id_prokat} -> {id_manager}
{id_prokat} -> {id_client}
R3 “Клиент”
{id_client} -> {address}
{id_client} -> {fio}
{id_prokat} -> {id_client}
R4 “Администратор”
{id_admin} -> {birth}
{id_admin} -> {pol}
{id_admin} -> {fio}
R5 “Менеджер”
{id_manager} -> {birth}
{id_manager} -> {fio}
{id_manager} -> {pol}
{id_prokat} -> {id_manager}
Полученные множества ФЗ отношений R1, R2, R3, R4, R5 являются неприводимым, т.к. правые части ФЗ содержат только один атрибут, в левых частях не может быть опущен ни один атрибут без изменения замыкания множества ФЗ, и ни одна ФЗ не может быть удалена из множества ФЗ без изменения его замыкания.
2.5 Множество супер-ключей
Супер-ключом отношения называется множество атрибутов этого отношения, которое содержит как подмножество хотя бы один потенциальный ключ. Супер-ключ должен обязательно обладать свойством уникальности и избыточности.
R1 “Фильм”
{id_film} -> {god_vipuska}
{id_film} -> {opisanie}
{id_film} -> {janre}
{id_film} -> {regisser}
{id_film} -> {nazvanie}
В данном случае любое подмножество атрибутов отношения R1, содержащее атрибут {id_film} будет являться супер-ключом.
Доказательство:
Построим замыкание множества зависимостей отношения R1. Замыкание будем получать по правилам Армстронга.
Отношение R1:
Film - В отношении хранится вся информация по каждому фильму.
Атрибуты:
Множество функциональных зависимостей:
Film
{id_film} -> {god_vipuska,nazvanie, opisanie, janre, regisser}
Супер-ключ k1 = {id_film}
Докажем, что k1+ = R1
Применим правила: самоопределение, объединение.
k1+ = {id_film}
k1+ = {id_film, god_vipuska}
k1+ = {id_film, god_vipuska, nazvanie}
k1+ = {id_film, god_vipuska, nazvanie, opisanie}
k1+ = {id_film, god_vipuska, nazvanie, opisanie, janre}
k1+ = {id_film, god_vipuska, nazvanie, opisanie, janre, regisser}
Все атрибуты зависят от замыкания k1+, следовательно, k1+ = R1 и {id_film} является супер-ключом R1
R2 “Прокат”
{id_film, id_manager, id_client} -> {date_out}
{id_film, id_manager, id_client} -> {date_in}
{id_prokat} -> {id_film}
{id_prokat} -> {id_manager}
{id_prokat} -> {id_client}
В данном случае любое подмножество атрибутов отношения R2, содержащее атрибут