Введение в СУБД "Oracle". Космачев В.М - 14 стр.

UptoLike

ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
14
CHECK условие -устанавливает условие, которому должно удовлетворять значение столбца. В описании
условия CHECK для столбца можно ссылаться только на тот столбец, к которому оно относится. Условие
CHECK для таблицы может ссылаться на несколько столбцов.
Пример. Чтобы описать таблицу staff (предполагается, что Вы [схема.] stud1_1), следует ввести:
CREATE TABLE staff (
empno NUMBER NOT NULL PRIMARY KEY,
ename CHAR(20) NOT NULL CHECK (ename = UPPER),
job CHAR(10),
mgr NUMBER REFERENCES stud1_1.staff(empno),
hiredate DATE CHECK (hiredate >= SYSDATE - 7),
sal NUMBER(10,2) CHECK (sal > 800),
comm NUMBER(9,2) DEFAULT NULL,
deptno NOT NULL REFERENCES stud1_1.dept(deptno)
)
В системе определена таблица DUAL , которую можно использовать для вычисления выражений, работы с
поледовательностями, отладки хранимых процедур и функций и мн.др., например:
SELECT (5*2) FROM dual
SELECT my_seq.CURRVAL INTO my_per FROM dual -- для PL/SQL
Ограничение FOREIGN KEY/REFERENCES:
не дает выполниться операторам INSERT и UPDATE, если соответствующих значений нет в таблице,
содержащей первичный ключ.
не позволяет выполниться оператору DELETE, если его результат приводит к нарушению ограничения
REFERENCES.
должно ссылаться на столбец первичной таблицы (т.е. содержащей первичный ключ), определенный как
PRIMARY KEY или UNIQUE.
если не указан столбец (столбцы), то ограничение будет использовать тот столбец первичного ключа, который
определен как PRIMARY KEY.
может ссылаться только на таблицу. На представление данных или кластер ссылаться нельзя.
требует, чтобы таблица, хранящая первичный ключ, принадлежала Вам и чтобы Вы имели к доступ с правом
REFERENCE либо к таблице, либо только к столбцам, на которые Вы ссылаетесь при описании ограничения.
никак не ограничивает использование тех же таблиц в описании других ограничений.
требует совпадения типов данных в столбце (столбцах) внешнего ключа и в столбце (столбцах), к которым
описывается ограничение.
может ссылаться на ту же таблицу, что и в операторе CREATE TABLE.
в одном ограничении не может ссылаться на столбец более одного раза.
Ограничения могут описываться в команде CREATE TABLE, либо добавляться/отменяться
командой ALTER TABLE.
Например, запись
CREATE TABLE tb2 (id number(4) primary key, fk number(4) REFERENCES tb1(id) )