Більшість комерційних систем підтримують пропозиції (обмеження) PRІMARY KEY, UNІQUE, DEFAULT, CHECK, REFERENCES і FOREІGN KEY у команді CREATE TABLE у відповідності зі стандартом SQL-92. Ці елементи забезпечують захист цілісності даних.
PRІMARY KEY позначає стовпець (у якому не можуть бути присутні нульові значення) як первинний ключ таблиці. Кожне значення, що вводиться в цей стовпець, повинно бути унікальним, введення однакових значень не допускається.
UNІQUE також гарантує відмінність між усіма значеннями в стовпці, але допускає в ньому одне нульове значення.
DEFAULT визначає значення, що автоматично вставляється системою, якщо користувач не введе необхідні дані.
CHECK визначає, які дані можуть вводитися у визначений стовпець, тобто дозволяє визначити область значень стовпця.
REFERENCES і FOREІGN KEY зв'язують разом первинні і зовнішні ключі. Якщо користувач введе значення в стовпець зовнішнього ключа, визначеного за допомогою пропозиції REFERENCES, цей стовпець і стовпець, на який він посилається, повинні існувати в таблиці, інакше команда модифікації даних буде відкинута.
Стовпці можуть мати більш одного обмеження, при цьому обмеження не розділяються комами. Наприклад:
create table titlescnstr (
title_id char(6) not null primary key check (title_id like '[A-Z] [A-Z] [0-9] [0-9] [0-9] [0-9] ' ),
title varchar(50) not null unique,
type char(12) default 'unclassified' null check (type in ('business', 'mod_cook', 'trad_cook', 'psychology', 'popular_comp', 'unclassified' )),
pub_id char(4) null references publishers (pub_id),
price money null,
advance money null,
ytd_sales int null,
contract bit not null,
notes varchar(200) null,
pubdate datetime null default current date);
Лабораторна робота № 2. Модифікація бази даних, таблиць БД та даних в таблицях
1. Зміна визначень таблиць.
2. Знищення таблиць, індексів та бази даних.
3. Команди модифікації даних
Методичні рекомендації