Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
03.06.2024
Размер:
2.14 Mб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ

КУРСОВАЯ РАБОТА (ПРОЕКТ) ЗАЩИЩЕНА С ОЦЕНКОЙ

РУКОВОДИТЕЛЬ

Старший преподаватель

В.В.Боженко

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ

РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ «РЕКЛАМНАЯ КОМПАНИЯ НА ТЕЛЕВИДЕНИИ»

по дисциплине: БАЗЫ ДАННЫХ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

подпись, дата

инициалы, фамилия

Санкт-Петербург 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 – Список сущностей

Название

Описание

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 передач, реклама в которых стоила больше всего денег за указанный промежуток времени.

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