русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Оператор CREATE TABLE

Оператор CREATE TABLE створює таблицю в базі даних. Синтаксис оператора CREATE TABLE виглядає так:

CREATE TABLE {} таблиця
(
{поле1} {тип даних} [IDENTITY] [NOT NULL]
[DEFAULT {значення за умовчанням}]
[{обмеження поля}],
{поле2} {тип даних} [NOT NULL]
[DEFAULT {значення за умовчанням}]
[{обмеження поля}],
...
CONSTRAINT {обмеження таблиці}
)

Параметр IDENTITY вказує, що поле буде містити згенеровані системою послідовні значення, унікально ідентифікуючі кожну запис таблиці.

Конструкція NOT NULL використовується для заборони можливості введення в полі порожніх значень. Слід відрізняти порожнє значення NULL, нуль, пробіл і символьне рядок нульової довжини. Порожнє значення NULL показує, що в полі не були введені які-небудь дані. Зазвичай порожнє значення свідчить про те, що значення невідомо або не визначено. В цілому, слід уникати можливості зберігання порожніх значень, так як вони ускладнюють обробку запитів і оновлень. Якщо для поля дозволені порожні значення, то пусте значення може опинитися в полі в трьох випадках: якщо при додаванні запису не вказано значення цього поля або значення поля присвоєно значення NULL при виконанні запиту UPDATE або значення поля присвоєно значення NULL при введенні даних. Якщо для поля порожні значення заборонені, то при додаванні даних в таблицю для поля повинно бути зазначено будь-яка значення, інакше запис не буде додана в таблицю.

Іноді потрібно додати запис у таблицю, значення поля якої поки не відомо або практично завжди одне й теж. Для вирішення цієї задачі рекомендується визначити для поля значення за замовчуванням використовуючи конструкцію DEFAULT. При додаванні в таблицю нового запису, якщо користувач поля не вкаже ніякого значення, і при цьому для поля заборонені порожні значення в полі буде автоматично додано значення за замовчуванням. Варто звернути увагу на те, що значення за замовчуванням має бути сумісним з типом дані поля, до якого належить визначення DEFAULT.

Для вказівки поля або полів, що є первинним ключем таблиці, використовується обмеження PRIMARY KEY. У таблиці може бути лише одне обмеження PRIMARY KEY, причому поля, що входять в первинний ключ, не допускають введення порожніх значень. Існує два способи створення обмеження PRIMARY KEY - як обмеження одного поля (якщо первинний ключ простий) або як обмеження таблиці (якщо первинний ключ простий або складеного). Синтаксис застосування обмеження PRIMARY KEY, як обмеження одного поля, виглядає так:

{полі} {тип даних} PRIMARY KEY, ...

Синтаксис застосування обмеження PRIMARY KEY, як обмеження таблиці, виглядає так:

CONSTRAINT {ключа} PRIMARY KEY ({поле1}, {поле2}, ...)

Обмеження UNIQUE дозволяє заборонити введення повторюваних значень у полі або поля, не беруть участь у формуванні первинного ключа. Основна відмінність обмеження UNIQUE від PRIMARY KEY полягає в тому, що для однієї таблиці допускається більше одного обмеження UNIQUE, у той час як обмеження PRIMARY KEY може бути лише одне. Існує два способи створення обмеження UNIQUE - як обмеження одного поля або як обмеження таблиці. Синтаксис застосування обмеження UNIQUE, як обмеження одного поля, виглядає так:

{полі} {тип даних} UNIQUE, ...

Синтаксис застосування обмеження UNIQUE, як обмеження таблиці, виглядає так:

CONSTRAINT {ключа} UNIQUE ({поле1}, {поле2}, ...)

Для вказівки поля або полів, які використовуються для створення зв'язку між двома таблицями, використовується обмеження FOREIGN KEY. Це поле або поля повинні містити значення або первинного ключа з другій таблиці, або поля (полів) з обмеженням UNIQUE. У таблиці може бути кілька обмежень FOREIGN KEY. Поля з обмеженням FOREIGN KEY можуть містити порожні значення. Зовнішній ключ може також посилатися на поля цієї ж таблиці. Існує два способи створення обмеження FOREIGN KEY - як обмеження одного поля або як обмеження таблиці.Синтаксис застосування обмеження FOREIGN KEY, як обмеження одного поля, виглядає так:

{полі} {тип даних} FOREIGN KEY
REFERENCES {друга таблиця} ({поле у другій таблиці})
ON DELETE {опція ключа}, ...

Синтаксис застосування обмеження FOREIGN KEY, як обмеження таблиці, виглядає так:

CONSTRAINT {ключа} FOREIGN KEY ({поле1}, {поле2}, ...)
REFERENCES {друга таблиця} ({поле1 у другій таблиці}, ...)
ON DELETE {опція ключа}

Можливі опції зовнішнього ключа, що визначають, що відбувається при видаленні запису, що має пов'язані записи:

  • NO ACTION - видалення завершується помилкою.
  • CASCADE - пов'язані записи також видаляються.
  • SET NULL - в пов'язаних записах поля ключа отримують значення NULL.
  • SET DEFAULT - в пов'язаних записах поля ключа отримують значення за замовчуванням.

Обмеження CHECK використовується для обмеження значень, які дозволено ввести в поле. Цим воно схоже на обмеження FOREIGN KEY.

Відмінність полягає у способі визначення допустимих значень. Обмеження FOREIGN KEY отримує список допустимих значень з іншої таблиці, а обмеження CHECK визначає їх на основі логічного вирази. До одного полю дозволяється застосувати кілька обмежень CHECK, які перевіряються в порядку їх створення. Можна також створити обмеження CHECK для декількох полів, якщо визначити його на рівні таблиці. Синтаксис застосування обмеження CHECK, як обмеження одного поля, виглядає так:

{полі} {тип даних} CHECK ({умова}), ...

Синтаксис застосування обмеження CHECK, як обмеження таблиці, виглядає так:

CONSTRAINT {назва обмеження} CHECK ({умова})

Переглядів: 3607

Повернутися в зміст:Введення в розробку розподілених інформаційних систем




Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн