ВВЕДЕНИЕ
Данная курсовая работа посвящена проектированию собственной базы данных. Проектирование охватывает три основные области:
· Проектирование конкретных объектов, которые будут реализованы в базе данных. Для MySQL это такие объекты, как таблицы, представления, и т.д.
· Проектирование конкретных экранных элементов управления, отчетов и программ, которые будут сопровождать данные в базе данных, и обеспечивать редактирование этих данных.
· При определенных обстоятельствах в процессе проектирования также необходимо учитывать конкретную среду или технологию – например, топологию сети, конфигурацию аппаратных средств, использование архитектуры клиент/сервер, параллельной обработки или распределенной архитектуры базы данных.
При проектировании каждой из областей есть свои нюансы, которые разработчику следует учитывать. Например, при проектировании таблиц базы и установлений связи между ними следует позаботиться как о целостности данных базы, так и о совместимости типов при подключении к этой базе разнообразных приложений и клиентов.
При разработке интерфейса пользователя следует обратить внимание на критерий удобства работы пользователя с базой. Интерфейс должен быть доброжелателен даже к неопытному пользователю.
ЗАДАНИЕ ПО ВЫБРАННОМУ ВАРИАНТУ
Предметная область: "Концертный зал".
Возможные виды деятельности:
· проведение выступлений в рамках гастролей различных исполнителей;
· реклама концертов;
· учет продаж билетов с учетом расценок по категориям мест;
· расчет с исполнителями и персоналом, обеспечивающим проведение концерта.
АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
Определение объектов и связей между ними
Определены следующие объекты в БД:
· Пользователи
· Исполнители
· Жанры
· Концерты
· Реклама
· Тип рекламы
· Билеты
· Тип билета
· Стоимость билета
· Продажа билетов
· Выплаты
· Журнал
Эти объекты имеют следующие информационные характеристики:
· Объект Пользователи – Идентификатор, Имя пользователя, Пароль
· Объект Исполнители – Идентификатор, Название, Стоимость одного выступления
· Объект Жанры – Идентификатор, Наименование
· Объект Концерты – Идентификатор, Дата концерта, Идентификатор исполнителя
· Объект Реклама – Идентификатор, Идентификатор концерта, Дата начала провидения рекламы, Дата конца провидения рекламы
· Объект Тип рекламы – Идентификатор, Наименование
· Объект Билеты – Идентификатор, Тип билета, Количество билетов данного типа, Цена за 1 билет
· Объект Тип билета – Идентификатор, Наименование
· Объект Стоимости билета – Идентификатор концерта, Идентификатор типа билета, Цена за 1 билет
· Объект Продажа билетов – Идентификатор, Идентификатор концерта, Идентификатор билета, Количество купленных билетов
· Объект Выплаты – Идентификатор, Идентификатор рабочего, Дата выплаты, Сумма выплаты
· Объект Журнал – Идентификатор, Идентификатор пользователя, Дата входа в систему, Действия
Между объектами выявлены следующие взаимосвязи:
· Один пользователь может множество раз входить в систему.
Связь 1:М.
· Несколько исполнителей могут выступить в нескольких концертах. Связь М:N.
· Исполнителей одного жанра может быть несколько. Связь М:1.
· Каждый концерт сопровождается несколькими типами рекламы. Связь М:N.
· Каждая реклама может быть нескольких видов. Связь 1:М.
· На каждый концерт продается множество билетов. Связь 1:М.
· Стоимость билетов зависит от концерта. Связь М:1.
· Билетов одного типа несколько. Связь М:1.
· Проданных билетов разного типа может быть несколько. Связь М:1.
· Один артист может получить несколько выплат. Связь 1:М.
Нормализация отношений
Перечисленные ранее объекты имеют атрибуты, совпадающие с их информационными характеристиками.
· Пользователи – Идентификатор
· Исполнители – Идентификатор
· Жанры – Идентификатор
· Концерты – Идентификатор
· Реклама – Идентификатор
· Тип рекламы – Идентификатор
· Билеты – Идентификатор
· Тип билета – Идентификатор
· Стоимость билета – нет первичных ключей, так как объект является связующим звеном
· Продажа билетов – Идентификатор
· Выплаты – Идентификатор
· Журнал – Идентификатор
Построение концептуальной модели данных
Концептуальная модель данных для предметной области "Концертный зал" представлена в приложении 1. Концептуальная модель представляет объекты предметной области, их атрибуты и взаимосвязи между объектами. Названия объектов написаны прописными буквами. Ключевые атрибуты подчеркнуты.
Построение реляционной модели базы данных
Чтобы получить реляционную модель, следует выполнить такие действия:
· для связей 1:N добавить специальное поле в таблицу со стороны "многие" (внешний ключ), которое служит для ссылки на таблицу, находящуюся со стороны "один"
· для связей М:N необходимо создать дополнительную таблицу, которая содержит первичные ключи таблиц из взаимосвязи, а также дополнительные атрибуты, относящиеся к составному объекту, который определяет эту взаимосвязь.
В результате получена структура базы данных, которая будет физически храниться в памяти компьютера. Реляционная модель базы данных представлена в приложении 2.