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

5 Разработка алгоритмов и текстов программ

CREATE TABLE `Классификаторы` (

`Код` BIGINT NOT NULL AUTO_INCREMENT,

`Название` VARCHAR(191) NOT NULL,

`Время принятия заявки` VARCHAR(45) NULL,

`Время решения заявки` VARCHAR(45) NULL,

`Родительский классификатор` BIGINT NULL DEFAULT 0,

PRIMARY KEY (`Код`),

UNIQUE INDEX `name_UNIQUE` (`Название` ASC) VISIBLE)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Время принятия заявки

Текстовый

Время решения заявки

Текстовый

Родительский классификатор

Числовой

CREATE TABLE `Регионы` (

`Код` BIGINT NOT NULL AUTO_INCREMENT,

`Название` VARCHAR(191) NOT NULL,

`Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

`Время изменения` TIMESTAMP NULL,

PRIMARY KEY (`Код`),

UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Время создания

Дата

Время изменения

Дата

CREATE TABLE `Районы` (

  `Код` BIGINT NOT NULL AUTO_INCREMENT,

  `Название` VARCHAR(191) NOT NULL,

  `Регион` BIGINT NOT NULL,

  `Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  `Время изменеия` TIMESTAMP NULL,

  PRIMARY KEY (`Код`),

  INDEX `fk_districts_regions1_idx` (`Регион` ASC) VISIBLE,

  UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

  CONSTRAINT `fk_districts_regions1`

    FOREIGN KEY (`Регион`)

    REFERENCES `Регионы` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Регион

Числовой

Внешний

Время создания

Дата

Время изменения

Дата

CREATE TABLE `Города` (

  `Код` BIGINT NOT NULL AUTO_INCREMENT,

  `Название` VARCHAR(191) NOT NULL,

  `Район` BIGINT NOT NULL,

  `Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  `Время изменения` TIMESTAMP NULL,

  PRIMARY KEY (`Код`),

  INDEX `fk_cities_districts1_idx` (`Район` ASC) VISIBLE,

  UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

  CONSTRAINT `fk_cities_districts1`

    FOREIGN KEY (`Район`)

    REFERENCES `Районы` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Район

Числовой

Внешний

Время создания

Дата

Время изменения

Дата

CREATE TABLE `Улицы` (

`Код` BIGINT NOT NULL AUTO_INCREMENT,

`Название` VARCHAR(191) NOT NULL,

`Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

`Время изменеия` TIMESTAMP NULL,

`Город` BIGINT NOT NULL,

PRIMARY KEY (`Код`),

INDEX `fk_streets_cities1_idx` (`Город` ASC) VISIBLE,

UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

CONSTRAINT `fk_streets_cities1`

FOREIGN KEY (`Город`)

REFERENCES `Города` (`Код`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Город

Числовой

Внешний

Время создания

Дата

Время изменения

Дата

CREATE TABLE `ТипыЗдании` (

`Код` BIGINT NOT NULL AUTO_INCREMENT,

`Название` VARCHAR(191) NOT NULL,

`Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

`Время изменения` TIMESTAMP NULL,

PRIMARY KEY (`Код`),

UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Время создания

Дата

Время изменения

Дата

CREATE TABLE `Здания` (

  `Код` BIGINT NOT NULL AUTO_INCREMENT,

  `Название` VARCHAR(191) NOT NULL,

  `Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  `Время изменения` TIMESTAMP NULL,

  `Улица` BIGINT NOT NULL,

  `Тип здания` BIGINT NOT NULL,

  PRIMARY KEY (`Код`),

  INDEX `fk_buildings_streets1_idx` (`Улица` ASC) VISIBLE,

  INDEX `fk_buildings_buildings_types1_idx` (`Тип здания` ASC) VISIBLE,

  UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

  CONSTRAINT `fk_buildings_streets1`

    FOREIGN KEY (`Улица`)

    REFERENCES `Улицы` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_buildings_buildings_types1`

    FOREIGN KEY (`Тип здания`)

    REFERENCES `ТипыЗдании` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Улица

Числовой

Внешний

Тип здания

Числовой

Внешний

Время создания

Дата

Время изменения

Дата

CREATE TABLE `Адреса` (

  `Код` BIGINT NOT NULL AUTO_INCREMENT,

  `Номер квартиры` INT NULL,

  `Регион` BIGINT NOT NULL,

  `Район` BIGINT NOT NULL,

  `Город` BIGINT NOT NULL,

  `Улица` BIGINT NOT NULL,

  `Здание` BIGINT NOT NULL,

  `Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  `Время изменения` TIMESTAMP NULL,

  PRIMARY KEY (`Код`),

  INDEX `fk_addresses_regions1_idx` (`Регион` ASC) VISIBLE,

  INDEX `fk_addresses_districts1_idx` (`Район` ASC) VISIBLE,

  INDEX `fk_addresses_cities1_idx` (`Город` ASC) VISIBLE,

  INDEX `fk_addresses_streets1_idx` (`Улица` ASC) VISIBLE,

  INDEX `fk_addresses_buildings1_idx` (`Здание` ASC) VISIBLE,

  UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

  CONSTRAINT `fk_addresses_regions1`

    FOREIGN KEY (`Регион`)

    REFERENCES `Регионы` (`Код`),

  CONSTRAINT `fk_addresses_districts1`

    FOREIGN KEY (`Район`)

    REFERENCES `Районы` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_addresses_cities1`

    FOREIGN KEY (`Город`)

    REFERENCES `Города` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_addresses_streets1`

    FOREIGN KEY (`Улица`)

    REFERENCES `Улицы` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_addresses_buildings1`

    FOREIGN KEY (`Здание`)

    REFERENCES `Здания` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Номер квартиры

Числовой

Регион

Числовой

Внешний

Район

Числовой

Внешний

Город

Числовой

Внешний

Улица

Числовой

Внешний

Здание

Числовой

Внешний

Время создания

Дата

Время изменения

Дата

CREATE TABLE `Роли` (

`Код` BIGINT NOT NULL AUTO_INCREMENT,

`Название` VARCHAR(191) NOT NULL,

`Родительская роль` BIGINT NULL DEFAULT 0,

`Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

`Время изменения` TIMESTAMP NULL,

PRIMARY KEY (`Код`),

UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

UNIQUE INDEX `name_UNIQUE` (`Название` ASC) VISIBLE)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Первичный

Родительская роль

Числовой

Время создания

Дата

Время изменения

Дата

CREATE TABLE `Пользователи` (

  `Код` BIGINT NOT NULL AUTO_INCREMENT,

  `Фамилия` VARCHAR(45) NOT NULL,

  `Имя` VARCHAR(45) NOT NULL,

  `Отччество` VARCHAR(45) NULL,

  `Телефон` VARCHAR(45) NOT NULL,

  `Почта` VARCHAR(191) NULL,

  `Пароль` VARCHAR(191) NULL,

  `Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  `Время изменения` TIMESTAMP NULL,

  `Роль` BIGINT NOT NULL,

  PRIMARY KEY (`Код`, `Телефон`),

  INDEX `fk_users_roles1_idx` (`Роль` ASC) VISIBLE,

  UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

  CONSTRAINT `fk_users_roles1`

    FOREIGN KEY (`Роль`)

    REFERENCES `Роли` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Фамилия

Текстовый

Имя

Текстовый

Отчество

Текстовый

Телефон

Текстовый

Первичный

Почта

Текстовый

Пароль

Числовой

Роль

Числовой

Внешний

Время создания

Дата

Время изменения

Дата

CREATE TABLE `СтатусыЗаявки` (

`Код` BIGINT NOT NULL AUTO_INCREMENT,

`Название` VARCHAR(191) NOT NULL,

`Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

`Время изменения` TIMESTAMP NULL,

PRIMARY KEY (`Код`),

UNIQUE INDEX `name_UNIQUE` (`Название` ASC) VISIBLE,

UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Время создания

Дата

Время изменения

Дата

CREATE TABLE `Компании` (

  `Код` BIGINT NOT NULL AUTO_INCREMENT,

  `Название` VARCHAR(191) NOT NULL,

  `Адрес` BIGINT NOT NULL,

  `Владелец` BIGINT NOT NULL,

  `Телефон` VARCHAR(45) NOT NULL,

  `Доп. телефон` VARCHAR(45) NULL,

  `Почта` VARCHAR(191) NULL,

  `Сайт` VARCHAR(191) NULL,

  `Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  `Время изменения` TIMESTAMP NULL,

  PRIMARY KEY (`Код`),

  INDEX `fk_companies_addresses1_idx` (`Адрес` ASC) VISIBLE,

  INDEX `fk_companies_users1_idx` (`Владелец` ASC) VISIBLE,

  UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

  CONSTRAINT `fk_companies_addresses1`

    FOREIGN KEY (`Адрес`)

    REFERENCES `Адреса` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_companies_users1`

    FOREIGN KEY (`Владелец`)

    REFERENCES `Пользователи` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Название

Текстовый

Адрес

Числовой

Внешний

Владелец

Числовой

Внешний

Телефон

Текстовый

Доп. телефон

Текстовый

Почта

Текстовый

Сайт

Текстовый

Время создания

Дата

Время изменения

Дата

CREATE TABLE `Заявки` (

  `Код` BIGINT NOT NULL AUTO_INCREMENT,

  `Описание` TEXT NOT NULL,

  `Создатель` BIGINT NOT NULL,

  `Заявитель` BIGINT NOT NULL,

  `Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  `Время закрытия` TIMESTAMP NULL,

  `Адрес` BIGINT NOT NULL,

  `Классификатор` BIGINT NOT NULL,

  `Статус` BIGINT NOT NULL,

  `Компания` BIGINT NOT NULL,

  PRIMARY KEY (`Код`),

  UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

  INDEX `fk_applications_classifiers_idx` (`Классификатор` ASC) VISIBLE,

  INDEX `fk_applications_addresses1_idx` (`Адрес` ASC) VISIBLE,

  INDEX `fk_applications_users1_idx` (`Создатель` ASC) VISIBLE,

  INDEX `fk_applications_users3_idx` (`Заявитель` ASC) VISIBLE,

  INDEX `fk_applications_application_statuses1_idx` (`Статус` ASC) VISIBLE,

  INDEX `fk_applications_companies1_idx` (`Компания` ASC) VISIBLE,

  CONSTRAINT `fk_applications_classifiers`

    FOREIGN KEY (`Классификатор`)

    REFERENCES `Классификаторы` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_applications_addresses1`

    FOREIGN KEY (`Адрес`)

    REFERENCES `Адреса` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_applications_users1`

    FOREIGN KEY (`Создатель`)

    REFERENCES `Пользователи` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_applications_users3`

    FOREIGN KEY (`Заявитель`)

    REFERENCES `Пользователи` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_applications_application_statuses1`

    FOREIGN KEY (`Статус`)

    REFERENCES `СтатусыЗаявки` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_applications_companies1`

    FOREIGN KEY (`Компания`)

    REFERENCES `Компании` (`Код`))

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Описание

Текстовый

Создатель

Числовой

Внешний

Заявитель

Числовой

Внешний

Адрес

Числовой

Внешний

Классификатор

Числовой

Внешний

Статус

Числовой

Внешний

Компания

Числовой

Внешний

Время создания

Дата

Время изменения

Дата

CREATE TABLE `КомпанииОбслуживаютАдреса` (

  `Компания` BIGINT NOT NULL,

  `Адрес` BIGINT NOT NULL,

  PRIMARY KEY (`Компания`, `Адрес`),

  INDEX `fk_companies_has_addresses_addresses1_idx` (`Адрес` ASC) VISIBLE,

  INDEX `fk_companies_has_addresses_companies1_idx` (`Компания` ASC) VISIBLE,

  CONSTRAINT `fk_companies_has_addresses_companies1`

    FOREIGN KEY (`Компания`)

    REFERENCES `Компании` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_companies_has_addresses_addresses1`

    FOREIGN KEY (`Адрес`)

    REFERENCES `Адреса` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

Название поля

Тип Данных

Ключи

Компания

Числовой

Внешний

Адрес

Числовой

Внешний

CREATE TABLE `КомпанииИмеютКлассификаторы` (

  `Компания` BIGINT NOT NULL,

  `Классификатор` BIGINT NOT NULL,

  PRIMARY KEY (`Компания`, `Классификатор`),

  INDEX `fk_companies_has_classifiers_classifiers1_idx` (`Классификатор` ASC) VISIBLE,

  INDEX `fk_companies_has_classifiers_companies1_idx` (`Компания` ASC) VISIBLE,

  CONSTRAINT `fk_companies_has_classifiers_companies1`

    FOREIGN KEY (`Компания`)

    REFERENCES `Компании` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_companies_has_classifiers_classifiers1`

    FOREIGN KEY (`Классификатор`)

    REFERENCES `Классификаторы` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

Название поля

Тип Данных

Ключи

Компания

Числовой

Внешний

Классификатор

Числовой

Внешний

CREATE TABLE `Комментарии` (

  `Код` BIGINT NOT NULL AUTO_INCREMENT,

  `Описание` TEXT NOT NULL,

  `Время создания` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  `Время изменения` TIMESTAMP NULL,

  `Заявка` BIGINT NOT NULL,

  `Пользователь` BIGINT NOT NULL,

  `Статус` BIGINT NOT NULL,

  PRIMARY KEY (`Код`),

  INDEX `fk_comments_applications1_idx` (`Заявка` ASC) VISIBLE,

  INDEX `fk_comments_users1_idx` (`Пользователь` ASC) VISIBLE,

  INDEX `fk_comments_application_statuses1_idx` (`Статус` ASC) VISIBLE,

  UNIQUE INDEX `id_UNIQUE` (`Код` ASC) VISIBLE,

  CONSTRAINT `fk_comments_applications1`

    FOREIGN KEY (`Заявка`)

    REFERENCES `Заявки` (`Код`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_comments_users1`

    FOREIGN KEY (`Пользователь`)

    REFERENCES `Пользователи` (`Код`),

  CONSTRAINT `fk_comments_application_statuses1`

    FOREIGN KEY (`Статус`)

    REFERENCES `СтатусыЗаявки` (`Код`))

Название поля

Тип Данных

Ключи

Код

Счетчик

Первичный

Описание

Текстовый

Заявка

Числовой

Внешний

Пользователь

Числовой

Внешний

Статус

Числовой

Внешний

Время создания

Дата

Время изменения

Дата

Итогом главы является создание таблиц базы данных и основы для работы АДС, которые решают поставленные в анализе АДС проблемы.