Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чурилов / 4 курс / Базы_данных_Чурилов_Z9411_КР(2).docx
Скачиваний:
6
Добавлен:
10.11.2024
Размер:
539.36 Кб
Скачать

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

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

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

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 41

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

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

кандидат технических наук

Турнецкая Е.Л.

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

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

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

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

Вариант 20

На тему «Разработка информационной системы средствами MySQL-сервер.»

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

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

СТУДЕНТ ГР. Z9411 __________________ А.С. Чурилов

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

Студенческий билет № 2019/3684

Шифр ИНДО

Санкт-Петербург 2023

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 2

1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 3

2 СОСТАВЛЕНИЕ ТРЕБУЕМЫХ ЗАПРОСОВ К БАЗЕ ДАННЫХ 8

3 АНАЛИЗ РАЗРЕШЕНИЙ И ЗАПРЕТОВ НА ОПЕРАЦИИ С ТАБЛИЧНЫМИ ДАННЫМИ ДЛЯ РАЗЛИЧНЫХ ПОЛЬЗОВАТЕЛЕЙ 12

4 ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 13

5 ОБРАБОТКА И ВИЗУАЛИЗАЦИЯ ДАННЫХ 24

ЗАКЛЮЧЕНИЕ 28

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 29

Введение

Что такое базы данных? В самом широком определении база данных — это любой набор взаимосвязанной информации. Но каково определение базы данных в информатике? В этом контексте база данных представляет собой информацию, которая хранится в виде данных в компьютерной системе.

Современные информационные системы, основанные на концепции банков данных и баз знаний, характеризуются большими объемами хранимой информации, их сложной организацией, необходимостью удовлетворять разнообразные требования пользователей. Важным компонентом этой концепции является единая методология проектирования баз данных. Базы данных, являясь информационной моделью непрерывно меняющегося реального мира, также должны меняться, чтобы адекватно отображать действительность. Поэтому для сопровождения и эксплуатации информационных систем необходимо провести непосредственно анализ, проектирование и итоговое составление. Выполнение данных задач способствует приобретению практических навыков работы с языком SQL, который используется в качестве эффективного способа сохранения данных, поиска их частей, обновления, извлечения из базы и удаления.

Разработка информационной системы в данной работе будет проводится в MySQL — одной из наиболее используемых систем управления базами данных. MySQL управляет реляционными базами данных, то есть такими, в которых таблицы связаны между собой.

MySQL работает по принципу клиент-сервер. Компьютер пользователя (клиент) отправляет запрос. Сервер баз данных его обрабатывает и предоставляет ответ. Именно поэтому часто можно услышать понятие MySQL-сервер. Это сервер, на котором хранится база данных.

Разработанную информацию следует представлять в понятном виде. Именно для этого в ходе работы данные будут визуализированы инструментами языка программирования Python.

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

Цель: разработка полноценной информационной системы средствами MySQL-сервер.

Задачи:

  • анализ предметной области;

  • анализ сущностей и связей между ними на базе ER-диаграмм;

  • нормализация отношений в схеме данных;

  • составление требуемых запросов к базе данных на языке SQL;

  • анализ разрешений и запретов на операции с табличными данными для 4 различных пользователей;

  • проектирование пользовательского интерфейса.

1 Анализ предметной области

Вы являетесь руководителем коммерческой службы телевизионной компании. Вашей задачей является отслеживание расчетов, связанных с прохождением рекламы в телеэфире. Работа построена следующим образом: заказчики просят поместить свою рекламу в определенной передаче в определенный день. Каждый рекламный ролик имеет определенную продолжительность. Для каждой организации–заказчика известны банковские реквизиты, телефон и контактное лицо для проведения переговоров. Передачи имеют определенный рейтинг. Стоимость минуты рекламы в каждой конкретной передаче известна (определяется коммерческой службой, исходя из рейтинга передачи и прочих соображений). Также необходимо хранить информацию об агентах, заключивших договоры на рекламу. Зарплата рекламных агентов составляет некоторый процент от общей стоимости рекламы, прошедшей в эфире.

В результате проведённого анализа предметной области в реляционную модель проектированной БД будут входить следующие таблицы: Agent (агент), TV_Show (телепередача), Customer (организация-заказчик), Ad (реклама), Contract (договор). Список сущностей представлен в таблице №1.

Таблица 1 – Список сущностей

Название

Назначение

1

Agent

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

2

TV_Show

Список телепередач

3

Customer

Список организаций-заказчиков

4

Ad

Список реклам

5

Contract

Список договоров на рекламу

Описание созданных таблиц:

  1. Таблица Customer (таблица 2) содержит информацию об организациях-заказчиках: уникальный ID организации (первичный ключ), контактное лицо, номер телефона, банковские реквизиты. Данная таблица не имеет внешних ключей;

  2. Таблица TV_Show (таблица 3) содержит информацию о передаче: уникальный ID передачи (первичный ключ), рейтинг, стоимость. Данная таблица внешних ключей не имеет;

  3. Таблица Ad (таблица 4) содержит информацию о рекламе: уникальный ID рекламы (первичный ключ), продолжительность в минутах. Данная таблица не имеет внешних ключей;

  4. Таблица Agent (таблица 5) содержит информацию об агенте: уникальный ID агента (первичный ключ), его имя, процент, определяющий его зарплату. Данная таблица не имеет внешних ключей;

  5. Таблица Contract (таблица 6) содержит информацию о договоре: уникальный ID договора (первичный ключ), дату, стоимость, уникальные ID участников договора – заказчика, агента, передачи и рекламы.

Таблица 2 – Атрибуты сущности Customer

Атрибут

Назначение

Тип данных

Customer_id

Идентификатор организации

Числовой

Customer_ContactPerson

Контактное лицо

Текстовый

Customer_BankDetails

Банковские реквизиты

Текстовый

Customer_PhoneNumber

Номер телефона

Текстовый

Таблица 3 – Атрибуты сущности TV_Show

Атрибут

Назначение

Тип данных

TV_id

Идентификатор передачи

Числовой

TV_Rating

Рейтинг передачи

Числовой

TV_Cost

Стоимость рекламы

Числовой

Таблица 4 – Атрибуты сущности Ad

Атрибут

Назначение

Тип данных

Ad_id

Идентификатор рекламы

Числовой

Ad_Duration

Продолжительность рекламы в минутах

Числовой

Таблица 5 – Атрибуты сущности Agent

Атрибут

Назначение

Тип данных

Agent_id

Идентификатор агента

Числовой

Agent_LastName

Фамилия агента

Текстовый

Agent_Percent

Процент от рекламы

Числовой

Таблица 6 – Атрибуты сущности Договор

Атрибут

Назначение

Тип данных

Contract_id

Идентификатор договора

Числовой

Contract_Date

Дата заключения договора

Дата

Contract_Price

Стоимость

Числовой

Customer_id

Идентификатор заказчика

Числовой

Agent_id

Идентификатор агента

Числовой

TV_id

Идентификатор передачи

Числовой

Ad_id

Идентификатор рекламы

Числовой

Была построена ER-диаграмма предметной области, которая представлена на рисунке 1.

Рисунок 1 – ER-диаграмма предметной области

Был составлен список связей таблиц, который представлен в таблице №7.

Таблица 7 – Список связей таблиц

Связь

Сущности

Назначение

1

1:М

Заказчик, Договор

Заказчик (1) заключает (M) договора

2

1:М

Агент, Договор

Агент (1) заключает (М) договора

3

1:М

Реклама, Договор

На рекламу (1) заключается (1) договор

4

1:М

Передача, Договор

В передаче (1) транслируют (М) заказанные рекламы (по договору)

Была построена схема данных базы данных, которая представлена на рисунке 2.

Рисунок 2 – Схема данных

Все отношения (соответствующие сущностям) в предварительной схеме данных были приведены к третьей нормальной форме.

Рисунок 3 – Таблица Ad

Рисунок 4 – Таблица Agent

Рисунок 5 – Таблица Contract

Рисунок 6 – Таблица Customer

Рисунок 7 – Таблица Tv_show