Рефераты
 

Создание системы учета для предметной области "Концертный зал"

Создание системы учета для предметной области "Концертный зал"

  • СОДЕРЖАНИЕ
  • ВВЕДЕНИЕ
  • 1. ЗАДАНИЕ ПО ВЫБРАННОМУ ВАРИАНТУ
  • 2. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
    • 2.1 Определение объектов и связей между ними
    • 2.2 Нормализация отношений
    • 2.3 Построение концептуальной модели данных
    • 2.4 Построение реляционной модели базы данных
  • 3. ОПИСАНИЕ СПОСОБОВ РЕАЛИЗАЦИИ ЗАПРОСОВ
  • 4. РЕАЛИЗАЦИЯ ОТЧЕТОВ
  • 5. ОПИСАНИЕ ИНТЕРФЕЙСА
    • 5.1. Описание групп пользователей
    • 5.2. Описание интерфейса
  • 6. КОНТРОЛЬНЫЙ ПРИМЕР
  • ВЫВОДЫ
  • СПИСОК лИТЕРАТУРЫ
ВВЕДЕНИЕ

Данная курсовая работа посвящена проектированию собственной базы данных. Проектирование охватывает три основные области:

· Проектирование конкретных объектов, которые будут реализованы в базе данных. Для MySQL это такие объекты, как таблицы, представления, и т.д.

· Проектирование конкретных экранных элементов управления, отчетов и программ, которые будут сопровождать данные в базе данных, и обеспечивать редактирование этих данных.

· При определенных обстоятельствах в процессе проектирования также необходимо учитывать конкретную среду или технологию - например, топологию сети, конфигурацию аппаратных средств, использование архитектуры клиент/сервер, параллельной обработки или распределенной архитектуры базы данных.

При проектировании каждой из областей есть свои нюансы, которые разработчику следует учитывать. Например, при проектировании таблиц базы и установлений связи между ними следует позаботиться как о целостности данных базы, так и о совместимости типов при подключении к этой базе разнообразных приложений и клиентов.

При разработке интерфейса пользователя следует обратить внимание на критерий удобства работы пользователя с базой. Интерфейс должен быть доброжелателен даже к неопытному пользователю.

1. ЗАДАНИЕ ПО ВЫБРАННОМУ ВАРИАНТУ

Предметная область: "Концертный зал".

Возможные виды деятельности:

· проведение выступлений в рамках гастролей различных исполнителей;

· реклама концертов;

· учет продаж билетов с учетом расценок по категориям мест;

· расчет с исполнителями и персоналом, обеспечивающим проведение концерта.

2. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

2.1 Определение объектов и связей между ними

Определены следующие объекты в БД:

· Пользователи

· Исполнители

· Жанры

· Концерты

· Реклама

· Тип рекламы

· Билеты

· Тип билета

· Стоимость билета

· Продажа билетов

· Выплаты

· Журнал

Эти объекты имеют следующие информационные характеристики:

· Объект Пользователи - Идентификатор, Имя пользователя, Пароль

· Объект Исполнители - Идентификатор, Название, Стоимость одного выступления

· Объект Жанры - Идентификатор, Наименование

· Объект Концерты - Идентификатор, Дата концерта, Идентификатор исполнителя

· Объект Реклама - Идентификатор, Идентификатор концерта, Дата начала провидения рекламы, Дата конца провидения рекламы

· Объект Тип рекламы - Идентификатор, Наименование

· Объект Билеты - Идентификатор, Тип билета, Количество билетов данного типа, Цена за 1 билет

· Объект Тип билета - Идентификатор, Наименование

· Объект Стоимости билета - Идентификатор концерта, Идентификатор типа билета, Цена за 1 билет

· Объект Продажа билетов - Идентификатор, Идентификатор концерта, Идентификатор билета, Количество купленных билетов

· Объект Выплаты - Идентификатор, Идентификатор рабочего, Дата выплаты, Сумма выплаты

· Объект Журнал - Идентификатор, Идентификатор пользователя, Дата входа в систему, Действия

Между объектами выявлены следующие взаимосвязи:

· Один пользователь может множество раз входить в систему.

Связь 1:М.

· Несколько исполнителей могут выступить в нескольких концертах. Связь М:N.

· Исполнителей одного жанра может быть несколько. Связь М:1.

· Каждый концерт сопровождается несколькими типами рекламы. Связь М:N.

· Каждая реклама может быть нескольких видов. Связь 1:М.

· На каждый концерт продается множество билетов. Связь 1:М.

· Стоимость билетов зависит от концерта. Связь М:1.

· Билетов одного типа несколько. Связь М:1.

· Проданных билетов разного типа может быть несколько. Связь М:1.

· Один артист может получить несколько выплат. Связь 1:М.

2.2 Нормализация отношений

Перечисленные ранее объекты имеют атрибуты, совпадающие с их информационными характеристиками.

· Пользователи - Идентификатор

· Исполнители - Идентификатор

· Жанры - Идентификатор

· Концерты - Идентификатор

· Реклама - Идентификатор

· Тип рекламы - Идентификатор

· Билеты - Идентификатор

· Тип билета - Идентификатор

· Стоимость билета - нет первичных ключей, так как объект является связующим звеном

· Продажа билетов - Идентификатор

· Выплаты - Идентификатор

· Журнал - Идентификатор

2.3 Построение концептуальной модели данных

Концептуальная модель данных для предметной области "Концертный зал" представлена в приложении 1. Концептуальная модель представляет объекты предметной области, их атрибуты и взаимосвязи между объектами. Названия объектов написаны прописными буквами. Ключевые атрибуты подчеркнуты.

2.4 Построение реляционной модели базы данных

Чтобы получить реляционную модель, следует выполнить такие действия:

· для связей 1:N добавить специальное поле в таблицу со стороны "многие" (внешний ключ), которое служит для ссылки на таблицу, находящуюся со стороны "один"

· для связей М:N необходимо создать дополнительную таблицу, которая содержит первичные ключи таблиц из взаимосвязи, а также дополнительные атрибуты, относящиеся к составному объекту, который определяет эту взаимосвязь.

В результате получена структура базы данных, которая будет физически храниться в памяти компьютера. Реляционная модель базы данных представлена в приложении 2.

3. ОПИСАНИЕ СПОСОБОВ РЕАЛИЗАЦИИ ЗАПРОСОВ

Добавление записей в журнал

INSERT INTO Journal ( Id_Users, Data_journal, Action_journal ) VALUES ([идентификатор пользователя], Date(), "В системе");

Какие исполнители не получили зарплату в этом месяце

SELECT Artists.Name_Artists FROM Artists LEFT JOIN Payment ON Artists.Id_Artists = Payment.Id_Artists WHERE (((Artists.Id_Artists) Not In (SELECT Id_Artists FROM Payment))) GROUP BY Artists.Name_Artists;

На какой концерт не осуществлялась продажа билетов на этой недели

SELECT Concert.Name FROM Concert LEFT JOIN SellTikets ON Concert.Id_Concert = SellTikets.Id_Concert WHERE (((Exists (SELECT Id_Concert FROM SellTikets where SellTikets.Id_Concert=Concert.Id_Concert ))=False)) GROUP BY Concert.Name;

На скольки концертах выступает каждый артист

SELECT Artists.Name_Artists, Count(Busy_artists.Id_Concert) AS [Count] FROM Artists RIGHT JOIN Busy_artists ON Artists.Id_Artists= Busy_artists.Id_Artists GROUP BY Artists.Name_Artists;

Сколько билетов продано за месяц

SELECT Count(SellTikets.Id_Sell) AS [Count] FROM SellTikets WHERE (((SellTikets.Date_of_SellTickets) Between Date()-30 And Date()));

Сколько билетов продано на каждый концерт

SELECT Concert.Name, Count(SellTikets.Id_Sell) AS [Count] FROM Concert LEFT JOIN SellTikets ON Concert.Id_Concert=SellTikets.Id_Concert GROUP BY Concert.Name;

Сколько выплат произведено за месяц

SELECT Count(Payment.Id_Payment) AS [Count] FROM Payment WHERE (((Payment.Data_Payment) Between Date()-30 And Date()));

Список артистов участвующих в заданном концерте

SELECT Artists.Name_Artists, Concert.Name FROM Concert LEFT JOIN (Artists RIGHT JOIN Busy_artists ON Artists.Id_Artists = Busy_artists.Id_Artists) ON Concert.Id_Concert = Busy_artists.Id_Concert WHERE (((Concert.Id_Concert) = [Введите № концерта])) ORDER BY Artists.Name_Artists;

Список билетов в номере места, которых есть заданная цифра

SELECT Ticket_type.NameType_tick, Tickets.Reference_number, Tickets.Seat_number FROM Ticket_type LEFT JOIN Tickets ON Ticket_type.Id_Type_tick = Tickets.Id_Type_Tick WHERE (((Tickets.Seat_number) Like [Введите цифту]+"*"));

Список билетов купленных за апрель месяц

SELECT Concert.Name, Tickets.Reference_number, Tickets.Seat_number, SellTikets.Date_of_SellTickets FROM Tickets RIGHT JOIN (Concert LEFT JOIN SellTikets ON Concert.Id_Concert = SellTikets.Id_Concert) ON Tickets.Id_Tickets = SellTikets.Id_Tickets WHERE (((SellTikets.Date_of_SellTickets) Between #4/1/2010# And #5/1/2010#));

Список вхождений в систему за заданное число

SELECT Users.Name_Users, Journal.Data_journal, Journal.Action_journal FROM Users LEFT JOIN Journal ON Users.Id_Users = Journal.Id_Users WHERE (((Journal.Data_journal)=["Введите дату"]));

Список вхождений в систему за неделю

SELECT Users.Name_Users, Journal.Data_journal, Journal.Action_journal FROM Users LEFT JOIN Journal ON Users.Id_Users = Journal.Id_Users WHERE (((Journal.Data_journal) Between Date()-7 And Date()));

Список выплат произведенных для заданного актера

SELECT Artists.Name_Artists, Payment.Prise_Payment FROM Artists LEFT JOIN Payment ON Artists.Id_Artists = Payment.Id_Artists WHERE (((Artists.Id_Artists)=[Введите № артиста])) ORDER BY Payment.Prise_Payment DESC;

Список исполнителей чье имя начинается на заданную букву

SELECT Artists.Name_Artists FROM Artists WHERE (((Artists.Name_Artists) Like [Введите букву]+"*"));

Сумма выплат за апрель месяц

SELECT Artists.Name_Artists, Sum(Payment.Prise_Payment) AS Summa FROM Artists LEFT JOIN Payment ON Artists.Id_Artists=Payment.Id_Artists WHERE (((Payment.Data_Payment) Between #4/1/2010# And #5/1/2010#)) GROUP BY Artists.Name_Artists;

4. РЕАЛИЗАЦИЯ ОТЧЕТОВ

На скольких концертах выступает каждый артист

Сколько билетов продано на каждый концерт

Список билетов купленных за апрель месяц

Список вхождений в систему за заданное число

Список вхождений в систему за неделю

Список выплат произведенных для заданного актера

5. ОПИСАНИЕ ИНТЕРФЕЙСА

5.1 Описание групп пользователей

В системе определены три группы пользователей - Администратор, Директор, Менеджер, Кассир.

Для каждой группы предусмотрены следующие возможности работы с программой:

Администратор - разрешено изменять или добавлять пользователей.

Директор - может работать со всеми данными, кроме редактирования/удаления пользователей.

Менеджер - может работать со всеми данными, которые касаются провидения концертов и расчета с исполнителями.

Кассир - может работать только с теми данными, которые касаются продажи билетов.

5.2 Описание интерфейса

Интерфейс реализован на языке программирования Microsoft Access.

Первоначально загружается главная форма, которая позволяет просматривать, редактировать и удалять различные данные. Для ввода и просмотра данных созданы специальные элементы управления, связанные с конкретными таблицами.

Права пользователей разделены за счет отображения разных форм, в которых выполняются те или иные действия.

6. КОНТРОЛЬНЫЙ ПРИМЕР

При запуске программы надо ввести имя пользователя и пароль.

При входе под администратором отображается форма следующего вида.

При входе под учетной записью директора отображается форма с тремя закладками.

На первой вкладке находятся таблицы, с которыми может работать директор.

На второй вкладке находятся запросы, которые надо было реализовать в ходе курсовой работы.

Запросы были реализованы с помощью SQL.

На вкладке номер три реализованы отчеты о задействованности исполнителей, загруженности зала на каждый концерт, список билетов купленных за апрель месяц и список выплат для каждого артиста которые надо было реализовать в ходе курсовой работы.

При входе под учетной записью менеджера отображается форма:

На ней расположены таблицы, запросы и отчеты с которыми может работать менеджер.

При входе под учетной записью кассира отображается форма следующего вида.

ВЫВОДЫ

В результате выполнения курсовой работы была получена полнофункциональная система учета для предметной области "Концертный зал". Были на практике углублены и закреплены знания из курса "Организация баз данных и знаний". Работа была выполнена на Access (составление основы базы - таблиц и связей между ними, проектирование запросов, создание отчетов, разработка пользовательского интерфейса), с использованием языка запросов SQL.

Также были получены практические навыки по ведению системы авторизации и мониторинга пользователей программного обеспечения, введен журнал ошибок.


© 2010 BANKS OF РЕФЕРАТ