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

5.Хранимые процедуры

Хранимые процедуры представляют собой набор команд, состоящий из одного или нескольких операторов SQL и сохраняемый в базе данных в откомпилированном виде, что обеспечивает быстрый доступ к данным.

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

Были созданы процедуры добавления/удаления/обносления данных для выполнения следующих бизнес-правил:

  1. Добавление/правка данных о вызовах на устранение неисправностей в работе лифтов и ЛДСС;

  2. Добавление/правка данных о технических осмотрах лифтов и ЛДСС;

  3. Добавление/правка данных об аварийных обслуживаниях лифтов и ЛДСС;

  4. Добавление/правка данных о личных данных электромехаников

Процедуры добавления данных:

  • PStreetINSERT

  • PTypeOfApplicationINSERT

  • PElectricianINSERT

  • PDefectINSERT

  • PElevatorsINSERT

  • PRequestINSERT

  • POrdersINSERT

  • PDefectsINSERT

Процедуры обновления данных:

  • UpdateStreet

  • UpdateElectrician

  • UpdateDefect

  • UpdateElevators

  • UpdateRequest

  • UpdateOrders

  • UpdateDefects

Процедуры удаления данных:

  • DeleteStreet

  • DeleteTypeOfApplication

  • DeleteElectrician

  • DeleteDefect

  • DeleteElevators

  • DeleteRequest

  • DeleteOrders

  • DeleteDefects

В качестве примера процедуры добавления данных ниже приведена хранимая процедура, которая будет вводить данные в таблицу Street(см. Приложение 7.)

CREATEPROC PStreetINSERT

@NameStreet VARCHAR(40)

AS

INSERT INTO Street

(NameStreet)

VALUES

(@NameStreet)

Пример процедуры удаления данных из таблицы TypeOfApplication(по умолчанию тип заявки может быть только «поломка», «застревание» или «техосмотр»)(см. Приложение 7.)

CREATEPROCDeleteTypeOfApplication

(@IDTypeOfApplicationINT)

AS

DELETEFROMTypeOfApplication

WHEREIDTypeOfApplication=@IDTypeOfApplication

Пример процедуры обновления (замены) данных в таблицеStreet, на случай если Улицу переименуют (см. Приложение 7.)

CREATEPROCUpdateStreet

(@IDStreetINT,

@NameStreetVARCHAR(40))

AS

UPDATEStreet

SETNameStreet=@NameStreet

WHEREIDStreet=@IDStreet

6.Выходные формы

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

Для получения конечных отчетных форм были использованы:

  • Представления;

  • Отчетные хранимые процедуры и функции;

В рамках данной курсовой работы было необходимо реализовать следующие отчеты:

    • Личная карточка каждого лифта со всей историей.

    • Отчет о работе выбранного подразделения начиная с определенной даты

    • Полный отчет всех подразделений

6.1.Представления

Механизм представления – мощное средство СУБД, позволяющее скрыть реальную структуру БД от некоторых пользователей за счет определения представлений.

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

Представления:

Printall-Отчет работы всех подразделений сортировка по улицам

print1El-вывод всех поломанных лифтов с высокой степенью

Пример представления:

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

CREATEVIEWprintall

AS

SELECTNameStreet [Улица],

PersonalNumber [№ лифта],

FIO [ФИО],

TypeOfApp [Вид заявки],

TypeOfDefect [Вид неисправности],

BreakDescription [Описание поломки],

BreakLevel [степень],

BreakTime [время поломки]

FROMStreetSTINNERJOINElevatorEL

ONST.IDStreet=EL.IDStreet

INNERJOINRequestRE

ONEL.IDElevator=RE.IDElevator

INNERJOINTypeOfApplicationTA

ONRE.IDTypeOfApplication=TA.IDTypeOfApplication

INNERJOINOrdersORD

ONRE.IDRequest=ORD.IDRequest

INNERJOINElectricianELC

ONORD.IDElectrician=ELC.IDElectrician

INNERJOINDefectsDFS

ONORD.IDOrders=DFS.IDOrders

INNERJOINDefectDF

ONDFS.IDDefect=Df.IDDefect