Топ питань
Часова шкала
Чат
Перспективи
Первинний ключ
множина атрибутів (колонок), яка унікально визначає кортеж (рядок) відношення З Вікіпедії, вільної енциклопедії
Remove ads
Первинний ключ — атрибут або набір атрибутів, який однозначно ідентифікує кортеж даного відношення. Первинний ключ обов'язково унікальний.
![]() |
У реляційних базах даних первинний ключ обирають серед одного з потенційних ключів або ж генерують сурогатний ключ.
Первинний ключ у мові SQL
Узагальнити
Перспектива
У мові SQL первинний ключ описують обмеженням PRIMARY KEY, яке задається в операторах DDL (Create, Alter). Наприклад[1],
CREATE TABLE fools(id integer primary key auto_increment, name char(20), folly char(40));
Під час створення первинного ключа рушій бази даних зазвичай перевіряє метадані та дані відповідних стовпчиків (англ. columns) щодо їх відповідності таким правилам:
- Стовпчики не повинні допускати значень NULL
- Стовпчики первинного ключа неявно набувають обмеження NOT NULL[note 1][2]. Розріджений стовпчик[уточнити] можна використовувати як частину первинного ключа, оскільки вони мають дозволяти значення NULL.
- Якщо первинний ключ додається до вже наявної таблиці, то набір значень у визначених стовпчиках має бути унікальним (не містити повторів)
- Якщо повтори трапляються, то рушій бази даних не створює обмеження та повертає помилку.
Приклади застосування первинного ключа
Приклад створення таблиці мовою SQL з обмеженням первинного ключа:
CREATE TABLE "Student" (
"id_student" int(120) NOT NULL auto_increment,
"first_name" varchar(120) NOT NULL,
"last_name" varchar(120) NOT NULL,
"birth_date" date,
"address" varchar(255),
PRIMARY KEY ("id_student"));
Інший приклад:
CREATE TABLE "Car" (
"Id_Car" int NOT NULL,
"CarName" varchar(120) NOT NULL,
"Price" float NOT NULL,
"BodyType" varchar(120),
PRIMARY KEY ("Id_Car"));
Для створення обмеження первинного ключа в колонці «Id_Car», коли таблиця «Car» вже існує, використовують наступний сценарій мовою SQL з використанням оператора ALTER TABLE:
ALTER TABLE "Car"
ADD PRIMARY KEY ("Id_Car")
Щоб розподілити обмеження первинного ключа на декілька колонок, доцільно використовувати такий синтаксис SQL:
ALTER TABLE "Car"
ADD CONSTRAINT "PrimaryKey_Car" PRIMARY KEY ("Id_Car", "CarName")
Для видалення обмеження первинного ключа використовують наступний SQL:
ALTER TABLE "Car"
DROP PRIMARY KEY
Remove ads
Примітки
Джерела
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads