
- •Введение
- •Анализ предметной области
- •Анализ сущностей и связей между ними
- •Составление запросов к базе данных и их инкапсуляция
- •Реализация пользователей и предоставление им прав
- •Реализация триггеров
- •Реализация пользовательского интерфейса
- •Заключение
- •Список использованных источников
- •Приложение а. Скриншоты заполненных таблиц
- •Приложение б. Код для создания базы данных
- •Приложение в. Код для создания графического интерфейса
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ
КУРСОВАЯ РАБОТА (ПРОЕКТ) ЗАЩИЩЕНА С ОЦЕНКОЙ
РУКОВОДИТЕЛЬ
Старший преподаватель |
|
|
|
В.В.Боженко |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ
|
РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ «РЕКЛАМНАЯ КОМПАНИЯ НА ТЕЛЕВИДЕНИИ»
|
по дисциплине: БАЗЫ ДАННЫХ |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
|
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2024
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1 Анализ предметной области 4
2 Анализ сущностей и связей между ними 8
3 Составление запросов к базе данных и их инкапсуляция 9
4 Реализация пользователей и предоставление им прав 28
5 Реализация триггеров 30
6 Реализация пользовательского интерфейса 34
ЗАКЛЮЧЕНИЕ 41
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 42
ПРИЛОЖЕНИЕ А. Скриншоты заполненных таблиц 44
ПРИЛОЖЕНИЕ Б. Код для создания базы данных 50
ПРИЛОЖЕНИЕ В. Код для создания графического интерфейса 53
Введение
Рекламная деятельность на телевидении, требует высокоточной обработки данных и эффективного взаимодействия между различными участниками процесса. В связи с этим актуальной становится разработка специализированных информационных систем, способных обеспечивать высокий уровень автоматизации и точности в управлении рекламными кампаниями.
Целью курсовой работы является разработка полноценной информационной системы для рекламной компании на телевидении средствами MySQL-сервер.
Для разработки информационной системы была выбрана система управления базами данных MySQL. Эта СУБД была выбрана по следующим причинам.
Во-первых, MySQL - это одна из самых популярных и широко используемых СУБД в мире, что гарантирует доступ к большому количеству пользовательской документации. Это обеспечивает оперативность в решении вопросов возникающих при разработке.
Кроме того, MySQL демонстрирует отличную производительность и эффективность при работе с большими объемами данных, что особенно важно для обработки данных в реальном времени и обеспечения высокой скорости отклика системы.
Для разработки графического интерфейса выбран язык программирования Python. Этот язык программирования обладает большим числом библиотек, позволяющи расширить его функциональность. При разработке информационной системы будут использованы tkinter – для отображения элементов взаимодействия с базой данных в графическом интерфейсе, pymsql – для подключения к БД, pandas и matplotlib – для обработки данных и отображения графиков.
Для достижения данной цели необходимо решить следующие задачи:
Провести системный анализ предметной области
Описать входные документы для заполнения базы данных
Определить пользователей
Определить сущности и свзяи между ними
Описать выходные документы
Спроектировать базу данных
Реализовать базу данных на языке MySQL
Разработать запросы, инкапсулировать их в процедуры
Разработать триггеры
Спроектировать и реализовать графический интерфейс взаимодействия с базой данных на языке программирования Python
Анализ предметной области
Для проектирования и разработки выбрана система «Рекламная компания на телевидении».
Описание предметной области: Вы являетесь руководителем коммерческой службы телевизионной компании. Вашей задачей является отслеживание расчетов, связанных с прохождением рекламы в телеэфире. Работа построена следующим образом: заказчики просят поместить свою рекламу в определенной передаче в определенный день. Каждый рекламный ролик имеет определенную продолжительность. Для каждой организации–заказчика известны банковские реквизиты, телефон и контактное лицо для проведения переговоров. Передачи имеют определенный рейтинг. Стоимость минуты рекламы в каждой конкретной передаче известна (определяется коммерческой службой, исходя из рейтинга передачи и прочих соображений). Также необходимо хранить информацию об агентах, заключивших договоры на рекламу. Зарплата рекламных агентов составляет некоторый процент от общей стоимости рекламы, прошедшей в эфире.
В таблице 1 представлены сущности, выделенные в результате анализа предметной области.
Таблица 1 – Список сущностей
№ |
Название |
Описание |
1 |
shows |
Содержит информацию о шоу, рекламу в которых предоставляет компания |
2 |
agents |
Содержит информацию об агентах, которые заключают рекламные сделки |
3 |
advertisements |
Содержит информацию о рекламных роликах |
4 |
customers |
Содержит информацию о заказчиках рекламы |
5 |
deals |
Содержит информацию о заключенных сделках |
6 |
display_schedule |
Содержит информацию о расписании показа рекламных роликов в шоу |
Также были выделены атрибуты базы данных. Значения атрибутов описывают элементы сущности. Список атрибутов и их описание для каждой сущности приведены в таблицах 2-7.
Таблица 2 – Список атрибутов сущности «shows»
Название |
Тип |
NaN |
Описание |
show_id |
int |
Нет |
Идентификационный номер шоу |
show_name |
varchar(100) |
Нет |
Название шоу |
rating |
decimal(3,2) |
Нет |
Рейтинг шоу |
cost_per_minute |
decimal(10,2) |
Нет |
Стоимость рекламы в шоу за минуту |
Таблица 3 – Список атрибутов сущности «agents»
Название |
Тип |
NaN |
Описание |
agent_id |
int |
Нет |
Идентификационный номер агента |
agent_name |
varchar(100) |
Нет |
Имя агента |
commission_rate |
decimal(3,2) |
Нет |
Процентная ставка агента |
Таблица 4 – Список атрибутов сущности «advertisements»
Название |
Тип |
NaN |
Описание |
ad_id |
int |
Нет |
Идентификационный номер рекламного ролика |
ad_name |
varchar(45) |
Нет |
Имя рекламного ролика |
duration_minutes |
int |
Нет |
Длительность рекламного ролика в минутах |
Таблица 5 – Список атрибутов сущности «customers»
Название |
Тип |
NaN |
Описание |
customer_id |
int |
Нет |
Идентификационный номер заказчика |
customer_name |
varchar(100) |
Нет |
Имя заказчика |
bank_details |
varchar(255) |
Нет |
Банковские данные заказчика |
phone_number |
varchar(20) |
Нет |
Телефонный номер заказчика |
contact_person |
varchar(100) |
Нет |
Контактное лицо заказчика |
Таблица 6 – Список атрибутов сущности «deals»
Название |
Тип |
NaN |
Описание |
deal_id |
int |
Нет |
Идентификационный номер сделки |
agent_id |
int |
Нет |
Идентификационный номер агента, заключившего сделку |
customer_id |
int |
Нет |
Идентификационный номер заказчика, заключившего сделку |
ad_id |
int |
Нет |
Идентификационный номер рекламного ролика для сделки |
deal_date |
date |
Да |
Дата заключения сделки |
deal_time |
time |
Да |
Время заключения сделки |
Таблица 7 – Список атрибутов сущности «display_schedule»
Название |
Тип |
NaN |
Описание |
display_id |
int |
Нет |
Идентификационный номер показа |
ad_id |
int |
Нет |
Идентификационный номер рекламного ролика |
show_id |
int |
Нет |
Идентификационный номер шоу |
display_date |
date |
Нет |
Дата показа |
display_time |
time |
Нет |
Время показа |
В качестве входных документов для заполнения базы данных используются: договора, заключенные агентами, сводки с рейтинговыми показателями передач, доклады коммерческой службы о цене рекламы, расписание показов рекламы, составленное руководителем.
В таблице 8 представлены пользователи, имеющие доступ к БД и действия, которые они могут совершать.
Таблица 8 – Пользователи БД
Пользователь |
Действия |
Заказчик |
Может просмотреть рейтинг передачи. |
Руководитель (директор) |
Отслеживает расчеты, связанные с прохождением рекламы в телеэфире, назначает стоимость минуты рекламы, составляет расписание показов рекламных роликов. |
Агент |
Заключает договора (сделки) с заказчиками, отслеживает и обновляет рейтинги передач. |
Администратор БД |
Имеет полное право доступа к БД, отвечает за её работу. |
Сформулированы запросы, которые необходимо реализовать:
1. Суммарная продолжительность показа ролика определенного рекламодателя.
2. Фамилии агентов, которые смогли привлечь трех наиболее выгодных рекламному агентству заказчиков.
3. Количество рекламных роликов, которые показывают каждый будний день с 13.00 до 17.00 часов.
4. Средняя зарплата агентов конкретной фирмы за последний год работы.
5. Количество компаний–заказчиков, которые смогли оплатить показ в самых рейтинговых программах за последние 3 месяца.
6. Контактное лицо от компании–заказчика, который заключил наибольшее количество договоров о рекламных кампаниях.
7. Агент, совершивший минимальное количество сделок и при этом получивший наибольшие комиссионные.
8. 5 рекламных агентств с наибольшим количеством заключенных договоров и суммарной выручкой за указанный промежуток времени.
9. Средняя продолжительность рекламы в передачах с рейтингом, выше указанного
10. 5 передач, реклама в которых стоила больше всего денег за указанный промежуток времени.
В качестве выходных документов базы данных служат: отчеты о суммарном доходе агентов за период, суммах сделок с заказчиками за определенный период, сводка самых рейтинговых шоу и их востребованность у заказчиков, список шоу с самой дорогой рекламой, список агентов, привлекших самых выгодных заказчиков.