Автор работы: Пользователь скрыл имя, 27 Декабря 2010 в 17:04, курсовая работа
Предметная область, подлежащая изучению – «кинотеатр». В сферу этой предметной области попадают предприятия, занимающиеся оказанием услуг проведения досуга. Цель функционирования предприятий этой предметной области – оказание услуг, таких как: показ кинофильмов, реклама и анонс будущих фильмов и получение прибыли, извлекаемой из оплаты этих услуг клиентами. Для оказания услуг необходимо наличие квалифицированных специалистов и помещений, удовлетворяющих нормам санитарных и других требований в соответствии с действующим законодательством.
1 Постановка задачи 4
2 Анализ предметной области 5
3 Проектирование базы данных 9
4 Реализация базы данных в формате MS SQL Server 2000 10
5 Хранимые процедуры для вставки данных 21
6 Представления на выборку данных из базы данных 39
7 Проектирование программного обеспечения 42
8 Руководство пользователя 45
Список литературы 47
Приложение 48
Таблица
15 – Спецификация таблицы
«Должность»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Идентификатор должности | Int | Запрещено | identity(1,1) | первичный ключ |
Оклад | money | Запрещено | пустая строка | |
Название должности | nvarchar(25) | Запрещено | пустая строка |
Таблица
16 – Спецификация таблицы
«Фильм»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Идентификатор фильма | int | Запрещено | identity(1,1) | первичный ключ |
Название фильма | Nvarchar(25) | Запрещено | Пустая строка | |
Оператор | Nvarchar(25) | Запрещено | Пустая строка | |
Режиссер | Nvarchar(30) | Запрещено | Пустая строка | |
Сценарист | Nvarchar(25) | Запрещено | Пустая строка | |
Дата выхода фильма | Datetime | запрещено | Пустая строка | |
Изображение | Nvarchar(10) | Запрещено | Пустая строка | |
Время фильма | Datetime | Запрещено | Пустая строка | |
Жанр | Nvarchar(25) | Запрещено | Пустая строка | |
Субтитры | Nvarchar(25) | Запрещено | Пустая строка | |
Язык | Nvarchar(30) | Запрещено | Пустая строка | |
Аудио поток | Nvarchar(30) | Запрещено | Пустая строка |
Таблица
17 – Спецификация таблицы
«Актеры»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Фамилия | Nvarchar (25) | Запрещено | Пустая строка | |
Имя | Nvarchar (25) | Запрещено | Пустая строка | |
Идентификатор актера | Int | Запрещено | Identity (1,1) | Первичный ключ |
Таблица
18 – Спецификация таблицы
«Кинотеатр»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Название кинотеатра | Nvarchar (25) | Запрещено | Пустая строка | Первичный ключ |
Номер здания | Int | Запрещено | Пустая строка | |
Улица | Nvarchar (30) | Запрещено | Пустая строка | |
Номер корпуса | Nvarchar (1) | Разрешено | Нет |
Таблица
19 – Спецификация таблицы
«Сеансы»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Идентификатор сеанса | Int | Запрещено | Identity (1,1) | Первичный ключ |
Дата сеанса | Datetime | Запрещено | Текущая дата
Getdate( ) |
Не позднее текущей даты |
Время сеанса | Datetime | Запрещено | Текущее время | Не позднее текущего времени |
Идентификатор фильма | Int | Разрешено | Нет | Внешний ключ для связи с таблицей «Фильм» |
Таблица
20 – Спецификация таблицы
«Билет»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Номер билета | Int | Запрещено | Identity (1,1) | Первичный ключ |
Идентификатор фильма | Int | Разрешено | Нет | Внешний ключ таблицы «Фильмы» |
Идентификатор сеанса | Int | Разрешено | Нет | Внешний ключ таблицы «Сеансы» |
Ряд | Int | Запрещено | Пустая строка | |
Место | Int | Запрещено | Пустая строка | |
Цена | Money | Запрещено | Пустая строка | |
Название кинотеатра | Nvarchar (25) | Разрешено | Нет | Внешний ключ таблицы «Кинотеарт» |
Таблица
21 – Спецификация таблицы
«Расписание»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Номер личного дела | Int | Разрешено | Нет | Первичный, внешний ключ |
Название кинотеатра | Nvarchar (25) | Разрешено | Нет | Первичный внешний ключ |
Рабочие дни | Datetime | Запрещено | Текущая дата
Getdate ( ) |
Первичный ключ |
Время начала | Datetime | Запрещено | Пустая строка | |
Время окончания | Datetime | Запрещено | Пустая строка | |
Составитель расписания | Int | Запрещено | Внешний ключ таблицы «Работник» |
Таблица
22 – Спецификация таблицы
«Работник_Должность»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Идентификатор должности | Int | Разрешено | Пустая строка | Первичный внешний ключ |
Номер личного дела | Int | Разрешено | Пустая строка | Первичный внешний ключ |
Таблица
23 – Спецификация таблицы
«Сеанс_Кинотеатр»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Идентификатор сеанса | Int | Разрешено | Пустая строка | Первичный внешний ключ |
Название кинотеатра | Nvarchar (25) | Разрешено | Пустая строка | Первичный внешний ключ |
Таблица
24 – Спецификация таблицы
«Актеры_Фильм»
Имя поля | Тип | Хранение NULL | По умолчанию | Ограничения |
Идентификатор фильма | Int | Разрешено | Пустая строка | Первичный внешний ключ |
Идентификатор актера | Int | Разрешено | Пустая строка | Первичный внешний ключ |
Структура
базы данных приведена на следующей
ER-диаграмме, которая отображает таблицы
базы данных, структуру таблиц базы данных
и связи между ними.
Рисунок
14 – ER-диаграмма базы
данных «Кинотеатры»
Для создания базы данных, соответствующей данным спецификациям и инфологической модели, необходимо выполнить на стороне сервера следующий SQL-сценарий.
Листинг 1 – Код SQL-сценария для создания базы данных «Кинотеатры»
create database Moveis
go
use Moveis
--1 Создание
таблицы Должность, хранящую
create table Должность (
--Первичный ключ
[Идентификатор должности] int not null primary key clustered identity (1,1),
Оклад money not null default (0.0),
[Название должности] nvarchar (25) not null default (''))
go
--2 Создание таблицы Работник для хранения информации о работниках
create table Работник (
Фамилия nvarchar(25) not null default (''),
Имя nvarchar (25) not null default (''),
Отчество nvarchar (25) not null default (''),
[Номер трудовой] nvarchar(25) not null default (''),
--Внешний ключ таблицы Должность
[Идентификатор должности] int null foreign key references Должность([Идентификатор должности])
on update cascade on delete cascade,
[Номер пенсионного удостоверения] nvarchar(25) not null default (''),
[Дата рождения] datetime not null default (getdate()),
--Первичный ключ
[Номер личного дела] int not null primary key clustered identity(1,1),
[Дата найма] datetime not null default(getdate()) check([Дата найма]<=getdate()),
[Номер паспорта] nvarchar(25) not null default (''))
go
--3 Создание таблицы Фильм, хранящую информацию о фильмах
create table Фильм (
--Первичный ключ
[Идентификатор фильма] int not null primary key clustered identity (1,1),
[Название фильма] nvarchar (25) not null default (''),