Добавил:
Рад, если кому-то помог Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
05.02.2026
Размер:
6.41 Mб
Скачать

`Стоимость аренды` decimal(10,2) NOT NULL, `Сумма залога` decimal(10,2) NOT NULL, `Статус договора` varchar(50) NOT NULL, `Условия аренды` text DEFAULT NULL, PRIMARY KEY (`idДоговора`)

);

Рис. 12 – Структура таблицы «Договоры аренды»

Таблица «Договоры управления» показана на рисунке 13. Сам SQLзапрос выглядит следующим образом:

CREATE TABLE `Договоры управления` ( `idДоговораУправления` int(11) NOT NULL

AUTO_INCREMENT,

`idКвартиры` int(11) NOT NULL, `idВладельца` int(11) NOT NULL, `idМенеджера` int(11) NOT NULL, `Дата заключения` date NOT NULL, `Дата начала` date NOT NULL,

`Дата окончания` date NOT NULL,

31

`Условия управления` text DEFAULT NULL,

`Статус` varchar(50) NOT NULL, PRIMARY KEY (`idДоговораУправления`)

);

Рис. 13 – Структура таблицы «Договоры управления»

Таблица «Платежи» показана на рисунке 14. Сам SQL-запрос выглядит следующим образом:

CREATE TABLE `Платежи` (

`idПлатежа` int(11) NOT NULL AUTO_INCREMENT, `idДоговора` int(11) NOT NULL,

`Дата платежа` date NOT NULL,

`Тип платежа` varchar(50) NOT NULL, `Сумма` decimal(10,2) NOT NULL,

`Способ оплаты` varchar(50) DEFAULT NULL, `Статус` varchar(50) NOT NULL,

PRIMARY KEY (`idПлатежа`)

);

32

Рис. 14 – Структура таблицы «Платежи»

Таблица «Осмотры квартиры» показана на рисунке 15. Сам SQL-запрос выглядит следующим образом:

CREATE TABLE `Осмотры квартиры` (

`idОсмотра` int(11) NOT NULL AUTO_INCREMENT, `idКвартиры` int(11) NOT NULL,

`idДоговора` int(11) DEFAULT NULL, `idМенеджера` int(11) DEFAULT NULL, `idВладельца` int(11) DEFAULT NULL,

`Дата осмотра` date NOT NULL, `Состояние` text NOT NULL,

PRIMARY KEY (`idОсмотра`)

);

Рис. 15 – Структура таблицы «Осмотры квартиры»

33

Таблица «Технические заявки» показана на рисунке 16. Сам SQL-запрос выглядит следующим образом:

CREATE TABLE `Технические заявки` ( `idЗаявки` int(11) NOT NULL AUTO_INCREMENT, `idДоговора` int(11) NOT NULL, `idМенеджера` int(11) NOT NULL,

`Дата заявки` date NOT NULL,

`Описание проблемы` text NOT NULL,

`Статус` varchar(50) NOT NULL,

PRIMARY KEY (`idЗаявки`)

);

Рис. 16 – Структура таблицы «Технические заявки»

Таблица «Квартиры» показана на рисунке 17. Сам SQL-запрос выглядит следующим образом:

CREATE TABLE `Квартиры` (

`idКвартиры` int(11) NOT NULL AUTO_INCREMENT, `idВладельца` int(11) NOT NULL,

`Адрес` varchar(200) NOT NULL,

`Общая площадь` decimal(6,2) NOT NULL, `Количество комнат` int(3) NOT NULL,

`Этаж` int(10) NOT NULL,

34

`Характеристики` text DEFAULT NULL, `Статус` varchar(50) NOT NULL, PRIMARY KEY (`idКвартиры`)

);

Рис. 17 – Структура таблицы «Квартиры»

Таблица «Штрафы» показана на рисунке 18. Сам SQL-запрос выглядит следующим образом:

CREATE TABLE `Штрафы` (

`idШтрафа` int(11) NOT NULL AUTO_INCREMENT, `idДоговора` int(11) NOT NULL,

`Тип нарушения` varchar(100) NOT NULL, `Описание` text DEFAULT NULL,

`Сумма штрафа` decimal(10,2) NOT NULL, `Дата начисления` date NOT NULL, `Статус` varchar(50) NOT NULL, PRIMARY KEY (`idШтрафа`)

);

35

Рис. 18 – Структура таблицы «Штрафы»

Полная структура БД из созданных ранее таблицы представлена на рисунке 19.

Рис. 19 – Структура БД «Rental Agency»

После создания таблиц их нужно связать между собой. Для этого воспользуемся оператором CREATE INDEX. После данного оператора указывается имя индекса, после чего идет оператор ON (`имя таблицы`), а затем имя поля.

Создадим индекс для таблицы «Менеджеры», который также изображен на рисунке 20:

36

CREATE INDEX `idx_Менеджеры_idФилиала`

ON `Менеджеры` (`idФилиала`);

Рис. 20 – Созданный индекс в таблице «Менеджеры»

Создадим индекс для таблицы «Договоры аренды», который также изображен на рисунке 21:

CREATE INDEX

`idx_ДоговорыАренды_idАрендатора`

ON `Договоры

аренды` (`idАрендатора`);

CREATE INDEX

`idx_ДоговорыАренды_idКвартиры`

ON `Договоры

аренды` (`idКвартиры`);

CREATE INDEX

`idx_ДоговорыАренды_idМенеджера`

ON `Договоры

аренды` (`idМенеджера`);

Рис. 21 – Созданные индексы в таблице «Договоры аренды»

37

Создадим индекс для таблицы «Договоры управления», который также изображен на рисунке 22:

CREATE INDEX

`idx_ДоговорыУправления_idКвартиры`

ON `Договоры

управления` (`idКвартиры`);

CREATE INDEX

`idx_ДоговорыУправления_idВладельца`

ON `Договоры

управления` (`idВладельца`);

CREATE INDEX

`idx_ДоговорыУправления_idМенеджера`

ON `Договоры

управления` (`idМенеджера`);

Рис. 22 – Созданные индексы в таблице «Договоры управления»

Создадим индекс для таблицы «Платежи», который также изображен на рисунке 23:

CREATE INDEX `idx_Платежи_idДоговора`

ON `Платежи` (`idДоговора`);

38

Рис. 23 – Созданный индекс в таблице «Платежи»

Создадим индекс для таблицы «Осмотры квартиры», который также изображен на рисунке 24:

CREATE INDEX `idx_Осмотры_idКвартиры` ON `Осмотры квартиры` (`idКвартиры`);

CREATE INDEX `idx_Осмотры_idДоговора` ON `Осмотры квартиры` (`idДоговора`);

CREATE INDEX `idx_Осмотры_idМенеджера` ON `Осмотры квартиры` (`idМенеджера`);

CREATE INDEX `idx_Осмотры_idВладельца`

ON `Осмотры квартиры` (`idВладельца`);

Рис. 24 – Созданные индексы в таблице «Осмотры квартиры»

39

Создадим индекс для таблицы «Технические заявки», который также изображен на рисунке 25:

CREATE INDEX `idx_ТехническиеЗаявки_idДоговора` ON `Технические заявки` (`idДоговора`);

CREATE INDEX `idx_ТехническиеЗаявки_idМенеджера` ON `Технические заявки` (`idМенеджера`);

Рис. 25 – Созданные индексы в таблице «Технические заявки»

Создадим индекс для таблицы «Квартиры», который также изображен на рисунке 26:

CREATE INDEX `idx_Квартиры_idВладельца` ON `Квартиры` (`idВладельца`);

Рис. 26 – Созданный индекс в таблице «Квартиры»

40