Курсовая ПрБД, 2 курс 3 семестр (для ИВТ и т.п.) / Курсовая ПБД готовая
.pdf
`Стоимость аренды` 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
