Реферат: Мова запитів SQL

cname char (10) NOT NULL,

city char (10),

rating integer,

snum integer NOT NULL,

UNIQUE (cnum, snum));

Обмежання цілісності за посиланням, або зовнішній ключ

Після створення в одній таблиці поля первинного ключа, значення цього поля можуть використовуватися в іншій таблиці (таблицях) БД для створення істиних тверджень при характеристиці різних сутностей. В інших таблицях це поле вже не є унікальним, має назву поля зовнішнього ключа. FOREIGN KEY пов’язує один або декілька стовпців таблиці з ідентичним номером стовпців іншої таблиці. Його значення не можуть вийти за межі діапазону значень, який у першопочатковій таблиці задається значеннями цього ж поля але вже первинного ключа. Таким чином обмежання FOREIGN KEY використовується лише після створення у відповідній таблиці обмежання PRIMARY KEY для цього є поля. Причому, ці поля не обов’язково повинні мати однакову назв (хоча це бажано), але повинні мати один тип і однакову довжину. Коли в таблиці, де визначено обмежання PRIMARY KEY обновлюються значення стовпців, автоматично обновлюються значення в таблиці, для якої визначено обмежання FOREIGN KEY.


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

К-во Просмотров: 398
Бесплатно скачать Реферат: Мова запитів SQL