- •Курсовой проект на тему
- •Дисциплина
- •Введение
- •1. Постановка задачи
- •1.1 Описание предметной области
- •1.2 Функциональные требования
- •2.Физическая модель
- •2.1. Фрагмент бд "Учет водоисточников"
- •2.2. Фрагмент бд "Учет неисправностей"
- •2.3. Фрагмент бд "Учет отправленных писем"
- •2.4.Используемая субд
- •3.Обеспечение целостности бд
- •4. Создание таблиц и ограничений.
- •5.Хранимые процедуры
- •6. Выходные формы
- •7. Обеспечение безопасности
- •8. Оптимизация
- •9. Тестирование
- •Заключение
- •Библиографический список
- •Приложение 6 – создание ограничений на таблицы
- •Приложение 7 –процедуры добавления
- •Приложение 8 – процедуры обновления
- •Приложение 9 – процедуры удаления
- •Приложение 10 – триггеры
- •Приложение 11 – отчетные формы
- •Приложение 12 – безопасность Роли
- •Праванароли
- •Пользователи
- •Добавлениепользователейкролям
- •Приложение 13 – оптимизация
- •Приложение 14 – тестирование
5.Хранимые процедуры
Хранимые процедуры представляют собой набор команд, состоящий из одного или нескольких операторов SQL и сохраняемый в базе данных в откомпилированном виде, что обеспечивает быстрый доступ к данным.
В данном курсовом проекте хранимые процедуры были применены для ограничения доступа пользователей к таблицам базы данных, а так же для разграничения прав на добавление/редактирование/удаление данных.
Процедуры добавления, удаления и обновления были реализованы для всех таблиц БД.
Процедуры добавления данных (приложение 7):
PHydrantInsert – добавление гидранта
PPondInsert – добавление водоема
PStreetInsert – добавление улицы
PToOrganozationInsert – добавление типа организации
POrganizationInsert – добавление организации
PWaterSourceInsert – добавление водоисточника
PInspectionInsert – добавление проверки
PDefectInsert – добавление неисправности
PLetterInsert – добавление письма
PTestDefectInsert – добавление в слабую сущность Проверка неисправности
Процедуры обновления данных (приложение 8):
PHydrantUpdate – обновление гидранта
PPondUpdate - обновление водоема
PStreetUpdate – обновление улицы
PToOrganozationUpdate – обновление типа организации
POrganizationUpdate – обновление организации
PWaterSourceUpdate – обновление водоисточника
PInspectionUpdate– обновление проверки
PDefectUpdate – обновление неисправности
PLetterUpdate – обновление письма
PTestDefectUpdate – обновление слабой сущности Проверка неисправности
Процедуры удаления данных (приложение 9):
PHydrantDelete – удаление гидранта
PPondDelete - удаление водоема
PStreetDelete – удаление улицы
PToOrganozationDelete –удаление типа организации
POrganizationDelete – удаление организации
PWaterSourceDelete – удаление водоисточника
PInspectionDelete– удаление проверки
PDefectDelete – удаление неисправности
PLetterDelete – удаление письма
PTestDefectDelete – удаление слабой сущности Проверка неисправности
В качестве примера процедуры добавления данных ниже приведенахранимая процедура, которая будет вводить данные в таблицу Organization.
CREATE PROC POrganizationInsert
@NameOrganization VARCHAR(50),
@Dissolution DATE,
@IDTypeOfOrganization INT
AS
INSERT INTO Organization
(NameOrganization, Dissolution, IDTypeOfOrganization)
VALUES
(@NameOrganization, @Dissolution, @IDTypeOfOrganization)
Пример процедуры удаления данных из таблицы Street.
CREATE PROC PStreetDelete
@IDStr INT
AS
DELETE FROM Street
WHERE IDStreet=@IDStr
Пример процедуры обновления (замены) данных в таблицеDefect.
CREATE PROC PDefectUpdate
@NameDefect VARCHAR(100),
@RepairTime INT,
@Serviceability BIT,
@IDTypeOfOrganization INT,
@IDDef INT
AS
UPDATE Defect
SET NameDefect=@NameDefect, RepairTime=@RepairTime, Serviceability=@Serviceability, IDTypeOfOrganization=@IDTypeOfOrganization
WHERE IDDefect=@IDDef
