Курсовая работа: Разработка физической модели базы данных "Учёт характеристик сигналов телемеханики"

Помимо всех вышеперечисленных ограничений целостности декларативно поддерживается целостность на уровне домена. Эти ограничения отображены на физической модели БД (Приложение 1). Следует заметить, что на атрибуте SignificantBit таблицы TUTSSignals для этого ограничение пришлось задать следующим образом:

ALTER TABLE TUTSSignals ADD CONSTRAINT

СK_TUTSSignals_SignificantBit CHECK (SignificantBit]<8)

Декларативный механизм не позволил задать некоторых ограничений целостности. Вместо этого использовались триггеры.

Во-первых, номера ПЛК в пределах одного РНУ должны быть уникальны.

CREATE TRIGGER UniquePLCNumberInRNU

ON PLCs

FOR INSERT, UPDATE

AS

DECLARE @NumPLCs INT

SELECT @NumPLCs = COUNT(ALL i.ID_PLC)

FROM PLCs p INNER JOIN inserted i

ON p.ID_RNU = i.ID_RNU

WHERE p.NumberPLC = i.NumberPLC

IF @NumPLCs > 0

BEGIN

raiserror(Попытка внести в базу данных ПЛК с уже занятым номером!', 16, 1)

ROLLBACK TRAN

END

Во-вторых, адреса МЭК сигналов, принадлежащих одному ПЛК должны быть уникальны.

CREATE TRIGGER UniqueMEKAdressOnPLC

ON TITRSignals

FOR INSERT, UPDATE

AS

DECLARE @NumTITRS INT

DECLARE @NumTUTSS INT

SELECT @NumTITRS = COUNT(ALL s.ID_TITRSignal)

FROM TITRSignals s INNER JOIN inserted i

ON s.ID_PLC = i.ID_PLC

К-во Просмотров: 422
Бесплатно скачать Курсовая работа: Разработка физической модели базы данных "Учёт характеристик сигналов телемеханики"