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

Властивість IDENTITY

Окрім опису типу і атрибуту НУЛЛ (НОТ НУЛЛ) для стовпців можна також визначити властивість IDENTITY (автоматичне збільшення значення). Потрібно вказати початкове значення, що автоматично розміщуватиметься у цьому стовпці в першому рядку таблиці, і приріст, який буде додаватися до попереднього значення стовпчика з кожним новим рядком.

IDENTITY(поч зн-ня, крок)

Id int IDENTITY(1, 11);

Цю властивість можна присвоїти стовпцю з типом всі INT, DECIMAL(p,0), NUMERIC(p,0) але ні в якому разі стовпцю з властивістю НУЛЛ. Якщо не вказати параметри для айдентіті, за замовчуванням встановвляться значення (1,1).

Обмежання.

Крім зазаначення безпосередньо типів та розміру полів таблиці можна задавати обмеження з метою забезпечення цілісності таблиці. При створенні таблиці (або, при її зміні), можна накладати обмеження на значення які можуть вводитися в поля. Якщо це зробити, SQL буде відхиляти будь-які значення які порушують критерії які визначені для того чи іншого поля.

Оператор CREATE TABLE дозволяє не лише створити первинні і зовнішні ключі, визначити унікальні стовпці і рядки, але й вказати обмеження, що використовуються при перевірці допустимих значень даних, а також стандартні значення для стовпців.

CREATE TABLE <table name>

(<column name> <data type> <column constraint>,

<column name> <data type> <column constraint>,);

Обмежання PRIMARY KEY

При розробці таблиці визначається набір потенціальних ключів, тобто тих полів, значення яких однозначно ідентифікують кожен рядок таблиці. Причому з них, як наведено у попередньому прикладі, обирається в якості первинного ключа, для якого неможна використовувати атрибут NULL. Не може бути однакових значень цього поля для різних записів. Первинний ключ забезпечує цілісність даних у стовпцях та є першим кроком до цілісності у всій БД. СКБД створює унікальний індекс для стовпця первинного ключа. Якщо Ви не хочете, щоб створений індекс був кластеризованим, можна використовувати слово NONCLUSTERED при створенні обмеження.

CREATE TABLE customers

(customer_id INT IDENTITY CONSTRAINT customer_pk PRIMARY KEY NONCLUSTERED NOT NULL,

customer_name VARCHAR(20));

або якщо необхідно додати обмежання до вже створеної таблиці:

ALTER TABLE customers

ADD CONSTRAINT customer_pk PRIMARY KEY (customer_id);

Щодо інших потенціальних ключів, то вони є альтернативними ключами, і для позначення їх унікальності використовують унікальне обмеження (UNIQUE ), яке гарантує відсутність дублікатів стовпця.

Унікальне обмеження має ті самі атрибути, що й первинний ключ з трьома відмінностями:

- Унікальний стовпець може одноразово приймати значення NULL;

- Заданим за замовчуванням типом індекса є NONCLUSTERED;

- Одна таблиця може мати більше ніж одне обмеження.

Унікальний стовпець не може бути первинним ключем або входити до його складу.

Приклад:

CREATE TABLE Employees

(Name CHAR(20),

DEPARTMENT VARCHAR(20),

BADGE INTEGER UNIQUE);

Можна визначити групу полів як унікальну за допомогою команди обмеження таблиці — UNIQUE. Оголошення унікальності групи означає не унікальність значень складових цієї групи, а унікальність їх комбінації. Наприклад, кожного замовника обслуговує лише один продавець. Це означає, що кожна комбінація номера замовника (cnum) і номера продавця (snum) в таблиці, що створюється нижче повинна бути унікальною.

CREATE TABLE Customers

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