Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Поликлиника.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
365.71 Кб
Скачать

5. Проектирование хранимых процедур

При разработке приложений, основанных на платформе «клиент – сервер», для облегчения выполнения каких-либо операций с данными используются механизмы, при помощи которых можно создавать подпрограммы, работающие на сервере и управляющие процессами обработки информации. Эти механизмы носят название хранимых процедур.

В курсовом проекте была разработана хранимая процедура – Стоимость услуг, она предназначена для изменения поля «Стоимость приема» в таблице «Врачи» с учетом скидки 20%. Код процедуры:

CREATE PROCEDURE NEW_STOIMOST as

UPDATE Vrachi

set Stoimost_priema=Stoimost_priema*0.8

Для запуска процедуры используется команда:

exec NEW_STOIMOST

SELECT*FROM Vrachi

Рисунок 5.1 – Результат выполнения хранимой процедуры «Стоимость услуг»

6. Разработка механизмов управления данными в базе при помощи триггеров

Триггеры (trigger) являются особой разновидностью хранимых процедур, выполняемых автоматически (срабатывающих) при модификации данных таблицы. Триггеры находят разное применение – от проверки данных до обеспечения сложных деловых правил. Особенно полезным свойством триггеров является то, что они имеют доступ к образам записи до и после модификации; таким образом, можно сравнить две записи и принять соответствующее решение.

6.1 Триггер для добавления данных

В данном курсовом проекте для таблицы «Врачи» был разработан триггер – trigger1. Действие этого триггера направлено на то чтобы пользователь не мог вводить отрицательные знания в поле «Стоимость приема». Код триггера:

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

GO

create TRIGGER [dbo].[t2] ON [dbo].[Vrachi]

AFTER INSERT,UPDATE

AS

BEGIN

IF EXISTS (SELECT * FROM [dbo].[Vrachi] WHERE Stoimost_priema<0)

PRINT 'Ошибка цена не может быть меньше 0'

SET NOCOUNT ON;

END

Рисунок 6.1 – Результат работы триггера «trigger1»

6.2 Триггер для удаления данных

Для таблицы «Учет работы» создан триггер для удаления данных:

Create trigger [dbo].[tr2]

on [dbo].[Vrachi]

for delete

as

begin

declare @id int

declare @count int

select @id=deleted.id_vracha from deleted

select @count=count(*) from route where

id_vracha=@id

if(@id!=0)

Begin

Raiserror ('присутствуют ссылки на удаляемую запись',16,1)

Rollback transaction

End

End

Рисунок 6.2 – Результат работы триггера для удаления

6.3 Триггер для обновления данных

Для таблицы «Врачи» разработан триггер для обновления данных

Create trigger [dbo].[tr5]

on [dbo].[Vrachi]

for update

as

begin

declare @id int

declare @count int

select @id=deleted.id_vracha from deleted

select @count=count(*) from route where

id_vracha=@id

if(@id!=0)

Begin

Raiserror ('Недопустимый идентификатор',16,1)

Rollback transaction

End

End

7. Разработка технологий доступа к базе данных

7.1 Выбор пользователей бд

Решение задач обеспечения безопасности данных остается актуальным и при использовании SQL Server.

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

Основными пользователями базы данных являются: администратор и пользователи.

Рисунок 7.1 – Окно создания учетной записи – администратор

Рисунок 7.2 – Окно создания учетной записи – пользователи