Создание системы учета для предметной области "Концертный зал"
Программирование полнофункциональной системы учета для предметной области "Концертный зал": построение концептуальной и реляционной моделей базы данных, описание способов реализации запросов и вывода отчета на экран, разработка интерфейса пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 22.11.2010 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
- СОДЕРЖАНИЕ
- ВВЕДЕНИЕ
- 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.
Также были получены практические навыки по ведению системы авторизации и мониторинга пользователей программного обеспечения, введен журнал ошибок.
Подобные документы
Описание предметной области "Магазин по продаже компьютерных комплектующих". Построение ER и реляционной модели данных, сущности и связи. Создание ER и реляционной модели данных, запросов, представлений, хранимых процедур для предметной области.
курсовая работа [32,2 K], добавлен 15.06.2014Процесс создания и определение задач полнофункциональной системы управления базами данных. Разработка структуры таблиц, хранящих данные и формирование запросов. Построение форм для ввода и просмотра информации в запросах и создание необходимых отчетов.
курсовая работа [1,1 M], добавлен 11.09.2010Системный анализ предметной области. Построение концептуальной и даталогичной модели базы данных. Физическое проектирование базы данных. Описание функциональной модели системы управления базами данных. Разработка экранных форм ввода-вывода и отчета.
курсовая работа [1,1 M], добавлен 09.12.2014Анализ предметной области. Обеспечение качества проектной документации. Построение инфологической (концептуальной) модели предметной области. Проектирование физической структуры базы данных. Разработка интерфейса, организация ввода и поиска данных.
курсовая работа [2,5 M], добавлен 10.01.2016Разработка базы данных для предметной области "Подразделения предприятия – Рабочие помещения". Описание используемых данных, предметной области и результатной информации. Создание запросов, форм и отчетов в базе данных. Описание построения диаграмм.
курсовая работа [5,6 M], добавлен 24.07.2014Разработка базы данных для компании, занимающейся авиагрузоперевозками, снабженной средствами идентификации пользователей. Описание ее предметной области и функций. Разработка интерфейса программы. Построение концептуальной и реляционной модели БД.
курсовая работа [2,1 M], добавлен 15.06.2014Информационно-логическая модель предметной области по нотациям Ричарда Баркера. Даталогическая модель реляционной базы данных в виде диаграммы схемы отношений. Приложение интерфейса для базы данных на языке программирования С# в среде Visual Studio.
курсовая работа [3,6 M], добавлен 23.12.2014Описание первичных и результатных документов, типа связи информационных объектов. Построение информационно-логической модели базы данных и её реализация в СУБД Access (создание таблиц, запросов, форм, отчётов). Разработка интерфейса пользователя.
курсовая работа [2,1 M], добавлен 14.11.2013Изучение реляционной модели данных. Выявление потребности задач в данных и определение состава и структуры информационных объектов. Построение концептуальной модели предметной области. Создание форм, запросов и отчетов с помощью конструктора запросов.
курсовая работа [6,3 M], добавлен 09.10.2021Разработка концептуальной модели предметной области. Автоматизация справочной системы. Разработка конфигурации в 1С:Предприятии. Создание констант и перечислений. Формирование и проведение документов. Создание пользователя и пользовательского интерфейса.
курсовая работа [1016,6 K], добавлен 09.03.2015