Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой СУБД Вьюгин А.А 4.docx
Скачиваний:
2
Добавлен:
20.09.2019
Размер:
2.45 Mб
Скачать

Заключение

Данный курсовой проект является продолжением курсовых проектов по дисциплинам «Управление данными» и «Информационные технологии». В ходе выполнения этих курсовых проектов была выбрана и изучена предметная область «Обслуживание лифтов города Сыктывкар компанией ООО «ОТИС-Лайн»», выделены такие основные сущности и процессы, как Street, Electrician, TypeOfApplication, Defect, Elevators, Request, Orders и Defects, была построена логическая модель базы данных, а также определены атрибуты таблиц и выбраны типы данных.

В данном курсовомпроекте была реализована физическая модель базы данных из вышеперечисленных сущностей, были расставлены ограничения PRIMARY KEY, FOREIGN KEY, UNIQUE, проанализированы данные, которые будут храниться в БД, и на их основе были выделены ограничения CHECK. Помимо декларативной целостности была реализована процедурная целостность, соответствующая всем правилам данной предметной области.

На основе сформированных в курсовом проекте по «УД» запросов были реализованы хранимые процедуры и функции, которые обеспечивают управление базой данных, а также предоставление пользователям всех необходимых выходных форм.

Были реализованы все необходимые процедуры добавления и удаления данных, было решено, что функции редактирования нужны не для всех таблиц.Был реализован триггер для таблицы Электромеханик, связанный с запретом понижения разряда электромеханика.

Для обеспечения безопасности и надежности хранилища данных были выделены две основные роли Диспетчеры и Администраторы и в них были включены основные пользователи системы, такие как Диспетчер1, Диспетчер2, Диспетчер3, Администратор1 и Администратор2, и им были предоставлены только необходимые им права на работу с данными хранилища.

В рамках курсового проекта были протестированы все процедуры ввода, удаления и изменения данных, а так же процедуры создания отчетов. Тестирование БД позволило установить корректность физической модели базы данных, всех процедур и функций, реализованных для данного курсового проекта.

Таким образом, в результате выполнения курсового проекта было создано хранилище данных для информационной системы «Учет обслуживания, технического осмотра и ремонта лифтов в домах города Сыктывкар компанией ООО «ОТИС-Лайн»»необходимое для ее реализации.

Библиографический список

  1. Виейра Роберт. Программирование баз данных Microsoft SQL Server 2005 для профессионалов.: Пер. с англ. – М.: ООО «И.Д.Вильямс», 2008. – 1072 с.: ил. – Парал.тит.англ.;

  2. К. Дж. Дейт. Введение в системы баз данных.: Пер. с англ. М.: Изд. Вильямс, 2006. - 1328 с.: ил. – Парал. тит. англ.;

  3. Коннолли Томас, Бегг Каролин. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 3-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 1440 с.: ил. – Парал. тит. англ.;

  4. Николаева Н.А. Язык структурированных запросов. Лабораторные работы: учебное пособие / Н.А. Николаева, Т.Ю. Калинина. – Ухта: УГТУ, 2006. – 124 с. ил.

Приложение 1

Логическая модель

Приложение 2

Физическая модель БД

Приложение3

Созданиетаблиц

CREATE DATABASE Elevator

GO

--Созданиетаблиц

CREATE TABLE Street --Улица

(

IDStreet INT IDENTITY NOT NULL,

NameStreetVARCHAR(40) NOT NULL

);

CREATE TABLE TypeOfApplication --Видзаявки

(

IDTypeOfApplication INT IDENTITY NOT NULL,

TypeOfAppVARCHAR(80) NOT NULL

);

CREATE TABLE Electrician --Елекромеханик

(

IDElectrician INT IDENTITY NOT NULL,

FIO VARCHAR(80) NOT NULL,

Class INT NOT NULL,

SpecialityVARCHAR(40) NOT NULL,

Birthday DATETIME NOT NULL

);

CREATE TABLE Defect --Неисправность

(

IDDefect INT IDENTITY NOT NULL,

TypeOfDefectVARCHAR(80) NOT NULL

);

CREATE TABLE Elevators --Лифт

(

IDElevator INT IDENTITY NOT NULL,

PersonalNumberVARCHAR(10) NOT NULL,

Building VARCHAR(10)NOT NULL,

Door INT NOT NULL, --подъезд

IDStreet INT NOT NULL,

);

CREATE TABLE Request --Заявка

(

IDRequest INT IDENTITY NOT NULL,

BreakDescriptionVARCHAR(256) NOT NULL,

BreakTime DATETIME NOT NULL,

BreakLevel BIT NOT NULL DEFAULT 0,

IDElevator INT NOT NULL,

IDTypeOfApplication INT NOT NULL,

);

CREATE TABLE Orders --наряд

(

IDOrders INT IDENTITY NOT NULL,

OrdersTime DATETIME,

IDElectrician INT NOT NULL,

IDRequest INT NOT NULL,

);

CREATE TABLE Defects --Неисправности

(

IDOrders INT,

IDDefect INT,

);

Приложение4

Удаление таблиц

--Удаление таблиц

DROPTABLEStreet;

DROP TABLE Electrician;

DROP TABLE TypeOfApplication;

DROP TABLE Defect;

DROP TABLE Elevator;

DROP TABLE Request;

DROP TABLE Orders;

DROPTABLEDefects;

Приложение 5

Создание ограничений на таблицы

--Создание ограничений на таблицы

ALTERTABLEStreet

WITH CHECK

ADD CONSTRAINT IDStreetPrimary PRIMARY KEY (IDStreet),

CONSTRAINT NameStreetUnique UNIQUE (NameStreet)

;

ALTER TABLE TypeOfApplication

WITH CHECK

ADD CONSTRAINT IDTypeOfApplicationPrimary PRIMARY KEY (IDTypeOfApplication),

CONSTRAINT TypeOfAppUnique UNIQUE (TypeOfApp)

;

ALTER TABLE Electrician

WITH CHECK

ADD CONSTRAINT IDElectricianPrimary PRIMARY KEY (IDElectrician),

CONSTRAINT FIOUnique UNIQUE (FIO)

;

--check

ALTER TABLE Electrician

WITH CHECK

ADD CONSTRAINT ElClassCheck CHECK (Class BETWEEN 1 AND 4),

CONSTRAINT ElectricianBirthdayCheck CHECK (DATEDIFF(year,Birthday,getDate())>20)

;

ALTER TABLE Defect

WITH CHECK

ADD CONSTRAINT IDDefectPrimary PRIMARY KEY (IDDefect),

CONSTRAINT TypeOfDesectUnique UNIQUE (TypeOfDefect)

;

ALTER TABLE Elevators

WITH CHECK

ADD CONSTRAINT DElevatorPrimary PRIMARY KEY (IDElevator),

CONSTRAINT BuildingDoorPersonalNumberUniq UNIQUE (Building,Door,PersonalNumber),

CONSTRAINT ElevatorStreetForeign FOREIGN KEY(IDStreet)

REFERENCES Street ON UPDATE CASCADE ON DELETE CASCADE

;

ALTER TABLE Request

WITH CHECK

ADD CONSTRAINT IDRequestPrimary PRIMARY KEY (IDRequest),

CONSTRAINT RequestEkevatorForeign FOREIGN KEY(IDElevator)

REFERENCES Elevators ON UPDATE CASCADE ON DELETE CASCADE,

CONSTRAINT RequestTypeOfApplicationForeign FOREIGN KEY(IDTypeOfApplication)

REFERENCES TypeOfApplication ON UPDATE CASCADE ON DELETE CASCADE

;

ALTER TABLE Orders

WITH CHECK

ADD CONSTRAINT IDOrdersPrimary PRIMARY KEY (IDOrders),

CONSTRAINT OrdersElectricianForeign FOREIGN KEY(IDElectrician)

REFERENCES Electrician ON UPDATE CASCADE ON DELETE CASCADE,

CONSTRAINT OrdersRequestForeign FOREIGN KEY(IDRequest)

REFERENCES Request ON UPDATE CASCADE ON DELETE CASCADE

;

ALTER TABLE Defects

WITH CHECK

ADD CONSTRAINT DefectsOrdersForeign FOREIGN KEY(IDOrders)

REFERENCES Orders ON UPDATE CASCADE ON DELETE CASCADE,

CONSTRAINT DefectsDefectForeign FOREIGN KEY(IDDefect)

REFERENCES Defect ON UPDATE CASCADE ON DELETE CASCADE

;