Введення обмежень в базах даних

В базі даних існують такі види обмежень:

  1. Первинний ключ — PRIMARY KEY.
  2. Унікальний ключ — UNIQUE KEY.
  3. Зовнішній ключ — FOREIGN KEY — може включати автоматичні тригери ON UPDATE і ON DELETE; перевірки — CHECK.

Обмеження бази даних бувають двох типів — на основі одного поля і на основі декількох полів таблиці. Давайте розглянемо створення обмежень детальніше. Першим в описі загального синтаксису обмежень йде ключове слово[CONSTRAINT <Ім'я обмеження>]. Тут CONSTRAINT означає обмеження. Як бачите, все це взяте в квадратні дужки і, значить, необов’язкове. В базі даних не може бути два обмеження з однаковими іменами.

За допомогою ключового слова CONSTRAINT можна задавати ім’я створюваному обмеженню і у випадку використання синтаксису обмежень на основі одного поля, і у випадку обмежень на основі декількох полів.

Якщо не вказати ім’я для обмеження, СУБД автоматично згенерує його. Однак краще все ж явно назначити ім’я, щоб покращити читабельність схеми бази даних і мати можливість, в подальшому, видалити його.

Читати повністю

Створення таблиці в базі даних

Перш ніж пиступити до розгляду SQL команди CREATE TABLE, розглянемо найбільш використовувані типи даних, які можуть приймати поля таблиці бази даних:

Тип Опис
BLOB Об'єкт, який зберігає дані великого обсягу, такі як графіка, текст і цифровий звук. Має декілька підтипів (sub_type), з яких найбільш використовуваним є 0: дані загального вигляду; 1: тексти. Підтип даних BLOB описується в їх контексті. Пам'ять під BLOB дані виділяється так званими сегментами. При оголошенні можна змінювати розмір сегмента, наприклад BLOB SEGMENT SIZE 1024. За замовчуванням розмір сегмента 80 байт.
CHAR(n); VARCHAR(n) Рядок тексту фіксованої довжини (від 1 до 32767 байт). Визначає кількість знаків.
DECIMAL (<точність>,
<масштаб>)
NUMERIC (<точність>,
<масштаб>)
Типи числових даних з фіксованими точністю і масштабом. Параметр <точність> (від 1 до 15) визначає загальну кількість цифр. <Масштаб> (від 1 до 15) визначає число цифр після коми. Повинно бути менше або дорівнює параметра <точність>. Розмір в пам'яті залежить від зазначеної точності.
DATE Дата (включає також інформацію про час).
FLOAT Дійсне число. 7 цифр точності. Займає 4 байта.
DOUBLE PRECISION Дійсне число підвищеної точності. Для наукових обчислень: 15 цифр точності. Займає завжди 8 байт.
INTEGER Ціле число від −2147483648 до 2147483648. Займає 4 байта.
SMALLINT Ціле число від −32768 до 32767. Займає 2 байта.

Отже, з типами розібралися, приступимо до створення таблиь. В SQL для цього існує команда CREATE TABLE, яка має наступний синтаксис:

Читати повністю