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

CREATE TABLE Requests(

ID_Request int IDENTITY(1,1) NOT NULL,

Prefix char(2) NOT NULL,

Number int NOT NULL,

WriteDate smalldatetime NOT NULL,

ExecDate smalldatetime NOT NULL,

ID_SPTZAdminLogin int NOT NULL,

CONSTRAINT PK_Requests PRIMARY KEY (ID_Request),

CONSTRAINT UK_RequestsPrefixNumber UNIQUE(Prefix,

Number))

Здесь первичным ключом является атрибут ID_Request, а уникальным – комбинация атрибутов Prefix и Number. Суррогатный ключ ID_Request был введён, потому что ключ (Prefix, Number) является составным, занимает слишком много памяти и при ссылке на него из записей других таблиц будет требоваться больше места для их хранения.

Уникальные ключи также были назначены отношениям RNUs (NameRNU), PLCs (NamePLC), DataTypes (NameDataType) и SPTZAdminsLogins (NameLogin).

В рассмотренном отношении не хватает ещё одного ограничения, это:

ALTER TABLE Requests

ADD CONSTRAINT CK_Requests_Dates

CHECK (WriteDate <= ExecDate)

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

Данное ограничение также установлено в таблице TITRSignals (MinEnginGrade<MaxEnginGrade, MinPhysicGrade<MaxPhysicGrade.

На уровне атрибутов почти для всех полей были назначены ограничения целостности NOT NULL. Исключение составляет лишь атрибут Comment таблиц TITRSignals и TUTSSignals, т.к. примечания – это единственное, что допускается не сохранять вместе с данными о характеристиках сигнала. Данное ограничение позволяет сохранить информативность данных.

На уровне отношений ссылочная целостность поддерживается определением внешних ключей с помощью инструкции FOREIGN KEY. Большинство ключей создано с использования опций ON DELETE NO ACTION, ON UPDATE NO ACTION. Это сохраняет согласованность БД, не позволяя удалять данные, например, из словарей, если на них ссылаются записи дочерних таблиц. Но имеется несколько исключений:

ALTER TABLE PLCs

ADD CONSTRAINT FOREIGN KEY (ID_RNU) REFERENCES RNUs

ON DELETE CASCADE

ALTER TABLE TITRSignals

ADD CONSTRAINT FOREIGN KEY (ID_PLC) REFERENCES PLCs

ON DELETE CASCADE

ALTER TABLE TUTSSignals

ADD CONSTRAINT FOREIGN KEY (ID_PLC) REFERENCES PLCs

ON DELETE CASCADE

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