Курсовая ПрБД, 2 курс 3 семестр (для ИВТ и т.п.) / Курсовая ПБД готовая
.pdf
Рис. 43 – Псевдорекурсивное соединение
Запрос последовательно выделяет первую, вторую и третью части адреса, формируя иерархию уровней. Каждый уровень создаётся отдельным SELECT, имитируя рекурсивную обработку строкового адреса.
6) Вывод всех арендаторов, у которых есть договоры аренды (соединение по отношению) (рис. 44)
SELECT
`Арендаторы`.`ФИО / название организации`, COUNT(`Договоры аренды`.`idДоговора`) AS
Количество_договоров FROM `Арендаторы` JOIN `Договоры аренды`
71
ON `Арендаторы`.`idАрендатора` = `Договоры аренды`.`idАрендатора`
GROUP BY `Арендаторы`.`idАрендатора`;
Рис. 44 – Relationship join – один-ко-многим, соединение по отношению
Отражает отношение арендатор → договоры. Полезно для анализа активности клиентов.
7)Средняя, минимальная и максимальная сумма аренды по всем договорам (рис.
45)
SELECT
AVG(`Стоимость аренды`) MIN(`Стоимость аренды`) MAX(`Стоимость аренды`)
FROM `Договоры аренды`;
AS Средняя_стоимость,
AS Минимальная_стоимость, AS Максимальная_стоимость
Рис. 45 – Агрегатные функции AVG, MIN, MAX
Классический аналитический запрос, помогает оценить диапазон цен по аренде.
72
8) Общая сумма платежей по каждому типу платежа (рис. 46)
SELECT
`Тип платежа`, SUM(`Сумма`) AS Общая_сумма
FROM `Платежи`
GROUP BY `Тип платежа`;
Рис. 46 – Перекрестный запрос – GROUP BY
Показывает, какие виды платежей приносят наибольшую сумму. Полезно для финансовой отчётности.
9) Изменение статуса технической заявки (рис. 47)
UPDATE `Технические заявки`
SET `Статус` = 'Выполнено'
WHERE `idЗаявки` = 3;
Рис. 47 – UPDATE — запрос на изменение
Примерпрактическогообновленияданных — заявкапереведенав статус «Выполнено».
10)Расчёт итоговой суммы аренды с учётом залога и штрафов (рис. 48)
SELECT
`Договоры аренды`.`idДоговора`, `Стоимость аренды`,
73
`Сумма залога`,
IFNULL(SUM(`Штрафы`.`Сумма штрафа`),0) AS
Сумма_штрафов, (`Стоимость аренды` + `Сумма залога` +
IFNULL(SUM(`Штрафы`.`Сумма штрафа`),0))
AS Итоговая_сумма FROM `Договоры аренды` LEFT JOIN `Штрафы`
ON `Договоры аренды`.`idДоговора` = `Штрафы`.`idДоговора`
GROUP BY `Договоры аренды`.`idДоговора`;
Рис. 48 – Вычисляемое поле
Вычисляется полная стоимость аренды с залогом и начисленными штрафами. Полезно для итоговых финансовых расчётов перед закрытием договора.
74
Заключение
Входевыполнениякурсовойработыбыларазработанареляционнаябаза данных, предназначенная для автоматизации деятельности агентства по аренде квартир. В процессе работы последовательно выполнены все основные этапы проектирования: анализ предметной области, выделение ключевых сущностей и определение их атрибутов, построение информационной модели, формированиелогическойи физическойструктурыбазыданных,определение связей между таблицами, создание структуры в СУБД MySQL и заполнение её тестовыми данными. На завершающем этапе был реализован набор SQLзапросов различного уровня сложности, демонстрирующих корректность работы спроектированной модели.
Поставленные задачи были решены в полном объёме. Структура базы данных приведена к нормальным формам, что позволило исключить избыточность сведений, минимизировать логические аномалии при вставке, обновлении и удалении данных, а также обеспечить целостность хранимой информации. Модель охватывает ключевые процессы деятельности агентства: учёт филиалов и менеджеров, взаимодействие с владельцами и арендаторами, регистрацию и ведение договоров аренды и управления, фиксацию платежей, контроль технических заявок, проведение осмотров квартир и расчёт штрафов за нарушения условий аренды.
Значимым этапом работы стало формирование набора SQL-запросов, включающих все требуемые типы: запросы с внутренними и внешними соединениями, с косвенными связями, группировками, агрегатными функциями, перекрёстными объединениями, вычисляемыми полями и изменением данных. Также реализован запрос, имитирующий рекурсивное соединение, что позволило продемонстрировать возможности обработки иерархически структурированной информации даже в условиях отсутствия прямой иерархии в базе данных. Все запросы были протестированы, что подтверждает функциональную пригодность и логическую корректность
75
созданной системы.
Разработанная база данных обладает высокой степенью универсальности и может служить основой для создания полнофункциональной информационной системы агентства недвижимости. Она позволяет автоматизировать широкий спектр бизнес-процессов: работу с клиентами, заключение и сопровождение договоров, контроль поступления платежей, ведение отчетности, планирование задач менеджеров, обработку обращений арендаторов и взаимодействие с владельцами объектов недвижимости. Благодаря структурированности данных система может быть легко интегрирована с интерфейсами вебили desktop-приложений, модулями аналитической отчётности и системами мониторинга.
Снаучно-техническойточкизренияразработаннаяработа соответствует современным требованиям к проектированию реляционных баз данных. В модели применены методы нормализации, реализованы связи «один-ко- многим» и «многие-ко-многим» через промежуточные таблицы, использованыограниченияцелостности,первичныеивнешниеключи,атакже различные виды соединений при выполнении запросов. Это обеспечивает надёжность хранения, однозначность интерпретации данных и удобство последующего расширения системы.
Кроме того, разработанная структура обладает возможностью масштабирования: при необходимости в неё могут быть добавлены новые сущности (например, расписание осмотров, архив договоров, фотоотчёты, история изменений статусов квартир или тарифные планы).
Таким образом, цели курсовой работы достигнуты полностью. Полученная база данных демонстрирует логическую целостность, функциональную завершённость и прикладную значимость. Результаты работы могут использоваться как основа для создания реального программного продукта, а также служить базой для дальнейших исследований и совершенствования методов автоматизации в сфере аренды недвижимости.
76
Список использованной литературы
1.Диязитдинова, А. Р., Герасимов В. В. Методические рекомендации по выполнению лабораторных работ «Работа с СУБД MySQL в web-приложении phpMyAdmin» по дисциплине «Проектирование баз данных». – Самара: ФГБОУ ВО ПГУТИ, 2023. – 71 с.
2.Диязитдинова, А. Р. Методические рекомендации по выполнению лабораторных работ (часть 1) «Проектирование баз данных». – Самара: ФГБОУ ВО ПГУТИ, 2023.
3.Диязитдинова, А. Р., Горожанина Е. И. Методические рекомендации по выполнению курсовой работы «Проектирование реляционной базы данных» по дисциплине «Проектирование баз данных». – Самара: ФГБОУ ВО ПГУТИ, 2022. – 42 с.
4.Роб, П. Проектирование баз данных [Текст] / П. Роб, К. Коронел.
–СПб. : БХВ-Петербург, 2018. – 1040 с.
5.Гарсиа-Молина, Г. Системы баз данных: полный курс [Текст] / Г. Гарсиа-Молина, Дж. Д. Ульман, Д. Уидом. – М. : Вильямс, 2018. – 1088 с.
6.Официальная документация MySQL 8.0 [Электронный ресурс] / Oracle Corp. – Режим доступа: https://dev.mysql.com/doc/refman/8.0/en/
7.Habr / First. «Что такое реляционные базы данных и как они
работают» |
[Электронный |
ресурс]. |
URL: |
https://habr.com/ru/companies/first/articles/755832/
8.Уральский государственный университет. «Методы и средства проектированиябазданных»/УРФУ — 2016[Электронныйресурс,pdf].URL: https://elar.urfu.ru/bitstream/10995/40612/1/978-5-7996-1622-9_2016.pdf
9.php-myadmin.ru. «Учебный курс по phpMyAdmin» [Электронный ресурс]. URL: https://php-myadmin.ru/learning/
10.TimeWeb Docs. «Основы работы в phpMyAdmin» [Электронный ресурс]. URL: https://timeweb.com/ru/docs/virtualnyj-hosting/bazy- dannyh/osnovy-raboty-v-phpmyadmin/
77
