не могут війта за Межі діапазону значень, Який у першопочатковій табліці задається значеннями цього ж поля альо Вже первинного ключа. Таким чином обмежання FOREIGN KEY вікорістовується позбав после создания у відповідній табліці обмежання PRIMARY KEY для цього є поля. Причому, ці поля НЕ обов'язково повінні мати однакове назв (хочай це бажано), альо повінні мати один тип и Однаково Довжину. Колі в табліці, де Визначи обмежання PRIMARY KEY обновлюються Значення стовпців, автоматично обновлюються значення в табліці, для Якої Визначи обмежання FOREIGN KEY. br clear=all>
CREATE TABLE Department
(Dname CHAR (20),
ID_DEP INT Primary key NOT NULL,
NUM INT)
CREATE TABLE Employees
(Name CHAR (20),
ID_DEP INT,
BADGE INT)
CONSTRAINT dept_id FOREIGN KEY (ID_DEP)
REFERENCES Department (id_dep)
Обмежання СНЕСК (перевірка)
Можна Запобігти небажаним або помилковості введене значення. Для цього вікорістовується обмеження СНЕСК. Воно наклідає умову на значення, что вводитися, Які можна ввести в один або декілька стовпців табліці. Це область з Якої стовпець может одержуваті свои значення. СНЕСК віражається як булева вирази, Який пріймає Значення true або false.
У Наступний прікладі обмежання СНЕСК візначає для стовпця CITY множини можливіть значення І обмежує ДІАПАЗОН можливіть значень стовпця Badge (номер службовців):
CREATE TABLE Employee
(Name CHAR (20),
id_DEP INT,
CITY VARCHAR (20)
CHECK (CITY IN ('London', 'Paris', 'Rome', 'Athens')),
Badge INT CHECK (Badge <100));
Додамо обмеження для поля номерів телефонов, таке щоб ВСІ смороду починаєм з одного кодом міста (415) та відповідалі ПЄВНЄВ зразки. При цьом залішімо без перевіркі ті поля, для якіх Вже були введені значення, а даже ЯКЩО смороду НЕ відповідають зразки:
ALTER TABLE myfriends
WITH NOCHECK
ADD CONSTRAINT friends_chk_num CHECK
(pho ne LIKE '(415) [0-9] [0-9] [0-9] - [0-9] [0-9] [0-9] [0-9]');
Обмежання DEFAULT (Значення за замовчуванням)
Колі ві вставляєте новий рядок у таблицю без Вказаною одного чі декількох значеннях чг при введені ІНФОРМАЦІЇ залішаєте незаповненімі поля, SQL винен мати Значення за замовчуванням для Заповнення ціх пропусків. Найбільш загально значень за замовчуванням є - NULL . Це значення за замовчуванням для будь-якого стовпця, якому не нада обмеження NOT NULL. p> значенння DEFAULT вказується в команді CREATE TABLE у тієї самий способ что и обмеження стовпця, хочай, з технічної точки зору, воно НЕ має обмежуючися властівостей - воно НЕ обмежує значення, а Які можнае вводіті, а просто візначає, что может Стаття, Якщо не ввести будь-яке з них. У якості обмеження обірають значення, а что найчастіше зустрічається у стопці. Наприклад, в табліці службовці, більшість робітніків з Лондона, тому самє Назву цього міста можна звернутися значення за замовчуванням для стовпця СІТУ:
CREATE TABLE Employee
(Name CHAR (20),
id_DEP INT,
CITY VARCHAR (20) DEFAULT 'London',
Badge INT CHECK (Badge <100));