Реферат: Базы данных 10
Второй оператор CREATETABLE описывает таблицу АВС с полями
EMPNO, SALARY, REVIEW. Первичный ключ не определен. Внешним ключом является поле EMPNO, значения которого ссылаются на соответствующие значения в таблице ЕМР. При удалении строк из родительской таблицы ЕМР осуществляется каскадное удаление строк из таблицы АВС.
1.11.Задание ограничений целостности: общих, доменов и семантики
Термин целостность используется для описания точности и корректности данных, хранящихся в БД. Иными словами, под целостностью подразумевается, что пользователям БД разрешается выполнять над ней некоторые действия и эти действия выполняются корректно [8].
Можно дать и другое определение: целостность означает защиту БД от некорректных действий санкционированного пользователя.
Для поддержки целостности СУБД должна содержать сведения о тех правилах, которые пользователю не следует нарушать при модификации БД (при выполнении операций UPDATE, DELETE, INSERT). Кроме того СУБД должна следить за выполнением заданных правил. Эти правила принято называть ограничениями целостности.
Кроме рассмотренных выше ограничений ссылочной целостности стандарт языка SQL поддерживает также ограничения домена, ограничения семантики и общие ограничения – «утверждения».
Ограничения домена
Домен – это набор допустимых значений для одного или нескольких атрибутов.
Каждый атрибут отношения определяется на некотором домене. Домены могут отличаться для каждого из атрибутов (т.е. для каждого атрибута может использоваться свой домен). Однако два или более атрибута могут определяться на одном и том же домене .
Фактически задание домена означает задание типа и размера, используемых данных, а также задание ограничений целостности этих данных.
Имя атрибута не обязательно должно совпадать с именем домена.
Пример домена представлен в разделе 1.3. Домен определяется оператором SQLCREATEDOMAIN.
Ограничения семантики
В основе ограничений семантики лежит проверка cемантического контекста данных. Например, если в столбце хранится процентное значение, то, очевидно, что это значение должно лежать в диапазоне от 0 до 100. Если в столбце хранится дата рождения, то эта дата не может превышать текущую дату и т.д.
Ограничения семантики для таблиц задаются с помощью предложения
CHECK (conditional-expression), вставляемого в оператор CREATETABLE (где conditional-expression определяет логическое условие, которое не может быть нарушено при модификации данных).
Пример .
CREATE TABLE EMP
(EMPNO INT NOT NULL,
LNAME VARCHAR (15),
FNAME CHAR (10),
DEPTNO SMALLINT,
HIREDATE DATE,
JOB VARCHAR (15),
PRIMARY KEY (EMPNO),
CHECK (HIREDATE <2009));
Здесь проверочное условие состоит в том, что столбец HIREDATEв таблице ЕМР (сотрудник) должен содержать значения меньшие, чем 2009 (текущий год).
Общие ограничения целостности