Автор работы: Пользователь скрыл имя, 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 (''),