Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Целостность сущностей



Объекту или сущности реального мира в реляционной БД соответствует кортеж отношения. Требование целостности сущностей состоит в следующем:

Любой кортеж любого отношения должен быть отличим от любого другого кортежа этого же отношения.

Это требование означает, что каждое отношение должно иметь первичный ключ. Это требование выполняется автоматически, если в системе не нарушаются базовые свойства отношений.

Кроме этого, могут быть установлены и следующие ограничения:

- UNIQUE – уникальность значения атрибутов; определяет альтернативные ключи отношения;

- NOT NULL – обязательность значения; при вставке новых или модификации существующих элементов отношения значения соответствующих атрибутов должны быть заданы;

- CHECK (условие) – допустимые значения атрибутов; вставляемые значения должны удовлетворять указанному условию.

Например, отношение ДЕТАЛЬ на SQL для СУБД MS SQL Server может быть определено следующим образом:

CREATE TABLE P(

P_ID SMALLINT IDENTITY(1,1) CONSTRAINT P_PK PRIMARY KEY, --1

PNAME VARCHAR(20) NOT NULL CONSTRAINT P_UQ_01 UNIQUE, --2

PRICE MONEY NOT NULL CONSTRAINT P_CH_01 CHECK(PRICE > 0) --3

)

Пояснения:

1 – определено ограничение первичного ключа (ограничение PRIMARY KEY, имя ограничения – P_PK), значения которого должны устанавливаться автоматически, начиная с 1 и с шагом 1 (т.е. в первой записи будет установлено значение 1, во второй – значение 2 и т.д.)

2 – определены ограничения уникальности (имя ограничения – P_UQ_01) и обязательности значения;

3 – определено условие (имя ограничения – P_CH_01): значение атрибута должно быть строго положительным.

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





Дата публикования: 2014-11-26; Прочитано: 613 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...