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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

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 INTOJournal ( Id_Users, Data_journal, Action_journal ) VALUES ([идентификатор пользователя], Date(), «В системе»);

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

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

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

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

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

SELECTArtists.Name_Artists, Count(Busy_artists.Id_Concert) AS [Count] FROM ArtistsRIGHT JOIN Busy_artists ON Artists.Id_Artists= Busy_artists.Id_Artists GROUP BYArtists.Name_Artists;

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


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

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

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

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

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

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

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

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

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


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

SELECTConcert.Name, Tickets.Reference_number, Tickets.Seat_number,SellTikets.Date_of_SellTickets FROM Tickets RIGHT JOIN (Concert LEFT JOINSellTikets 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#));

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

SELECTUsers.Name_Users, Journal.Data_journal, Journal.Action_journal FROM Users LEFTJOIN 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 ONUsers.Id_Users = Journal.Id_Users WHERE (((Journal.Data_journal) BetweenDate()-7 And Date()));

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

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

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


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

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

SELECTArtists.Name_Artists, Sum(Payment.Prise_Payment) AS Summa FROM Artists LEFTJOIN Payment ON Artists.Id_Artists=Payment.Id_Artists WHERE(((Payment.Data_Payment) Between #4/1/2010# And #5/1/2010#)) GROUP BYArtists.Name_Artists;

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

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

/>

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

/>


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

/>


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

/>

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

/>

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

/>


5. ОПИСАНИЕИНТЕРФЕЙСА/>5.1 Описание групп пользователей

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

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

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

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

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

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

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

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

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

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


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

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

/>

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

/>


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

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

/>

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


/>

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

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


/>

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

/>


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

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

/>


ВЫВОДЫ

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

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

еще рефераты
Еще работы по информатике, программированию