Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тз.docx
Скачиваний:
4
Добавлен:
19.08.2019
Размер:
2.88 Mб
Скачать
    1. Структура данных

В данном проекте используется реляционная база данных со следующими сущностями и связями (рис. ):

Рис. ER-модель базы данных

Подробное описание базы данных

Типы данных приведены в соответствие с типами данных MS SQL Server.

1. Таблица Users (пользователи) — содержит информацию о пользователях системы и их личных настройках оповещения о различных событиях.

Users

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

UserID

да

Первичный

int

Уникальный идентификатор пользователя

Login

да

нет

nvarchar(20)

Имя пользователя

Password

да

нет

nvarchar(20)

Пароль пользователя

FirstName

нет

нет

nvarchar(20)

Имя пользователя

LastName

нет

нет

nvarchar(20)

Фамилия пользователя

MiddleName

нет

нет

nvarchar(20)

Отчество пользователя

Status

да

нет

varchar(1)

Статус пользователя

A-администратор,

U-пользователь

Email

да

нет

nvarchar(40)

Адрес электронной почты пользователя

Phone

да

нет

nvarchar(15)

Телефонный номер пользователя

NLatest

да

нет

tinyint

Оповещать ли о последних событиях

0-не оповещать, 1-оповещать

NShow

да

нет

tinyint

Оповещать ли о предстоящих сеансах, на которые приобретены билеты

0-не оповещать, 1-оповещать

NTime

да

нет

tinyint

Время до начала сеанса, за которое оповещать пользователя

0-не оповещать, 1-оповещать

NAction

да

нет

tinyint

Оповещать ли об акциях и мероприятиях

0-не оповещать, 1-оповещать

Image

нет

нет

image

Изображение-аватар пользователя

2. Таблица News (новости) — хранит все новости (тема, содержимое) и их служебную информацию (ссылки на мультимедиа файлы, дату создания).

News

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

NewsID

да

Первичный

int

Уникальный идентификатор новости

Subject

да

нет

nvarchar(40)

Тема новости

Text

да

нет

Ntext

Текст новости

Date

да

нет

datetime

Дата и время опубликования новости

Rating

да

нет

tinyint

Рейтинг новости

Image

да

нет

image

Изображение к новости

Video

нет

нет

nvarchar(100)

URL-ссылка на файл, хранящийся на сервере

3. Таблица Films (фильмы) — хранит данные о фильмах (название, описание) и их служебную информацию (ссылки на мультимедиа файлы, рейтинг).

Films

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

FilmID

да

Первичный

int

Уникальный идентификатор фильма

Name

да

нет

nvarchar(40)

Название фильма

Text

да

нет

Ntext

Описание фильма

Rating

да

нет

tinyint

Рейтинг фильма

Image

да

нет

image

Изображение к фильму

Video

нет

нет

nvarchar(100)

URL-ссылка на файл, хранящийся на сервере

4. Таблица Cinema (кинотеатры) — хранит данные о кинотеатрах (название, описание) и их служебную информацию (ссылки на мультимедиа файлы, рейтинг, контактную информацию).

Cinema

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

NewsID

да

Первичный

int

Уникальный идентификатор кинотеатра

Name

да

нет

nvarchar(40)

Название кинотеатра

Address

да

нет

ntext

Адрес кинотеатра

Contact

да

нет

ntext

Контактная информация — телефоны и пр.

Rating

да

нет

tinyint

Рейтинг новости

Image

да

нет

image

Изображение кинотеатра

Video

нет

нет

nvarchar(100)

URL-ссылка на файл, хранящийся на сервере

5. Таблица Comments (комментарии) — содержит комментарии пользователей.

Comments

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

CommentID

да

Первичный

int

Уникальный идентификатор пользователя

FK_FilmID

да

Внешний:

Films.FilmID

int

ID фильма, на который сделан комментарий

FK_NewsID

да

Внешний:

News.NewsID

int

ID новости, на которую сделан комментарий

FK_CinemaID

да

Внешний:

Cinema.CinemaID

int

ID кинотеатра, на который сделан комментарий

Text

да

нет

ntext

Текст комментария

FK_ChildTo

да

Внешний:

Comments.CommentID

int

ID родительского комментария

Level

да

нет

tinyint

Уровень комментария

Like

да

нет

smallint

Оценка комментария пользователями

6. Таблица Sessions (сеансы) — содержит информацию обо всех сеансах, проходящих во всех кинотеатрах.

Sessions

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

SessionID

да

Первичный

int

Уникальный идентификатор сеанса

FK_FilmID

да

Внешний:

Films.FilmsID

int

ID фильма для сеанса

FK_HallID

да

Внешний:

Halls.HallID

int

ID зала кинотеатра для сеанса

Time

да

нет

time

Время показа

Date

да

нет

date

Дата показа

7. Таблица Halls (кинозалы) — содержит информацию о количестве мест в кинозалах.

Halls

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

HallID

да

Первичный

int

Уникальный идентификатор кинозала

FK_CinemaID

да

Внешний:

Cinema.CinemaID

int

ID кинотеатра, в котором расположен кинозал

Name

да

нет

nvarchar(20)

Название кинозала

8. Таблица Tickets (билеты) — хранит информацию обо всех билетах на все существующие сеансы.

Tickets

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

TicketID

да

первичный

int

Уникальный идентификатор билета

FK_SessionID

да

Внешний:

Sessions.SessionID

int

ID сеанса, на который предоставлен билет

FK_StatusID

да

Внешний:

TicketStatuses.StatusID

int

ID статуса билета

Cost

да

нет

decimal

Цена билета

FK_UserID

нет

Внешний:

Users.UserID

int

ID пользователя, который приобрел билет

9. Таблица Images (изображения) — содержит ссылки на все изображения к материалам ресурса.

Images

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

ImageID

да

первичный

int

Уникальный идентификатор изображения

FK_FilmID

да

Внешний:

Films.FilmID

int

ID фильма, на который сделан комментарий

FK_NewsID

да

Внешний:

News.NewsID

int

ID новости, на которую сделан комментарий

FK_CinemaID

да

Внешний:

Cinema.CinemaID

int

ID кинотеатра, на который сделан комментарий

Link

да

нет

nvarchar(100)

URL-ссылка на файл, хранящийся на сервере

10. Таблица Voted (проголосовавшие) — хранит данные о голосовавших в каких-либо разделах пользователях.

Voted

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

VoteID

да

первичный

int

Уникальный идентификатор голосования

VoteType

да

нет

int

Тип голосования

0 – отрицательно, 1 - положительно

FK_CinemaID

нет

Внешний:

Cinema.CinemaID

int

ID кинотеатра, за который отдан голос

FK_FilmID

нет

Внешний:

Films.FilmID

int

ID фильма, за который отдан голос

FK_NewsID

нет

Внешний:

News.NewsID

int

ID новости, за которую отдан голос

FK_UserID

да

Внешний:

Users.UserID

int

ID пользователя, отдавшего голос

11. Таблица Rows (ряды кинозалов) — хранит информацию о количестве мест в каждом ряду кинозала.

Rows

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

RowID

да

первичный

int

Уникальный идентификатор ряда

SeatsCount

да

нет

int

Количество мест в ряду

FK_HallID

да

Внешний:

Halls.HallID

int

ID кинозала, в котором находится ряд

12. Таблица TicketStatuses (статусы билетов) — хранит названия статусов билетов (например: «приобретен», «свободен», «забронирован»).

TicketStatuses

Поле

Обязательность

Ключ

Тип данных

Комментарий

Значение

StatusID

да

Первичный

int

Уникальный идентификатор статуса

StatusName

да

нет

nvarchar(40)

Наименование статуса