BESofБиблиотека рефератов и курсовых

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

Обновлено

  • СОДЕРЖАНИЕ
  • ВВЕДЕНИЕ
  • 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.

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