
- •Сокращения
- •Введение
- •1 Анализ проблемы адс
- •1.1 Исследование порядка обращения в адс
- •1.2 Исследование действующих автоматизированных систем
- •2 Разработка автоматизации работы адс
- •2.1 Определение автоматизированных рабочих мест
- •2.2 Описание функций, выявленных арм
- •3 Разработка структуры информации
- •3.1 Разработка локальной вычислительной сети
- •3.2 Разработка физической структуры данных
- •4 Анализ и выбор программного обеспечения
- •4.1 Требования к безопасности бд
- •4.2 Выбор системы управления баз данных
- •5 Разработка алгоритмов и текстов программ
- •6 Разработка контрольного примера
- •Выводы и результаты
- •Источники
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 `СтатусыЗаявки` (`Код`))
Название поля |
Тип Данных |
Ключи |
Код |
Счетчик |
Первичный |
Описание |
Текстовый |
|
Заявка |
Числовой |
Внешний |
Пользователь |
Числовой |
Внешний |
Статус |
Числовой |
Внешний |
Время создания |
Дата |
|
Время изменения |
Дата |
|
Итогом главы является создание таблиц базы данных и основы для работы АДС, которые решают поставленные в анализе АДС проблемы.