🔹 Что такое первичный ключ (PRIMARY KEY) в SQL?
Первичный ключ (Primary Key, PK) — это уникальный идентификатор строки в таблице. Он гарантирует, что каждая запись уникальна и может быть найдена без дублирования.
📌 1. Основные свойства первичного ключа:
✅ Уникальность – каждое значение PK не повторяется.
✅ Не NULL – ключ не может быть пустым.
✅ Только один на таблицу – у таблицы может быть только один PK, но он может включать несколько колонок (составной ключ).
🔹 2. Создание первичного ключа
📌 Простой PK (на одной колонке)
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
🔹 id – это уникальный идентификатор каждого пользователя.
📌 Составной PK (на нескольких колонках)
Если уникальность зависит от двух и более колонок, можно задать составной ключ:
CREATE TABLE orders (
user_id INT,
product_id INT,
quantity INT,
PRIMARY KEY (user_id, product_id)
);
🔹 Теперь пара (user_id, product_id) должна быть уникальной.
🔹 3. Автоматическое создание уникальных PK
Обычно id делают автоинкрементным (AUTO_INCREMENT), чтобы SQL сам назначал уникальные значения:
CREATE TABLE customers (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100)
);
🔹 Теперь при добавлении нового клиента id увеличивается автоматически:
INSERT INTO customers (name) VALUES ('Анна');
INSERT INTO customers (name) VALUES ('Иван');
__________
id name
1 Анна
2 Иван
🔹 4. Почему важно использовать PK?
✔️ Упрощает поиск данных – можно быстро найти запись по id.
✔️ Гарантирует уникальность – исключает дублирование данных.
✔️ Позволяет связывать таблицы – PK используется как внешний ключ (FK) в других таблицах.
📌 Пример связи users и orders через PK и FK:
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100)
);
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
amount DECIMAL(10,2),
FOREIGN KEY (user_id) REFERENCES users(id)
);
🔹 Теперь каждый заказ связан с конкретным пользователем.
🔥 Вывод:
✔️ PRIMARY KEY делает данные уникальными и поиск быстрым.
✔️ Автоинкремент (AUTO_INCREMENT) избавляет от ручного задания id.
✔️ PK используется для связи таблиц через FOREIGN KEY.
❓ Используешь ли ты ключи в своих проектах? Делись опытом в комментариях!
#Ключи_и_связи_между_таблицами
#SQL #PRIMARY_KEY #ИТ
@relational_databases
Первичный ключ (Primary Key, PK) — это уникальный идентификатор строки в таблице. Он гарантирует, что каждая запись уникальна и может быть найдена без дублирования.
📌 1. Основные свойства первичного ключа:
✅ Уникальность – каждое значение PK не повторяется.
✅ Не NULL – ключ не может быть пустым.
✅ Только один на таблицу – у таблицы может быть только один PK, но он может включать несколько колонок (составной ключ).
🔹 2. Создание первичного ключа
📌 Простой PK (на одной колонке)
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
🔹 id – это уникальный идентификатор каждого пользователя.
📌 Составной PK (на нескольких колонках)
Если уникальность зависит от двух и более колонок, можно задать составной ключ:
CREATE TABLE orders (
user_id INT,
product_id INT,
quantity INT,
PRIMARY KEY (user_id, product_id)
);
🔹 Теперь пара (user_id, product_id) должна быть уникальной.
🔹 3. Автоматическое создание уникальных PK
Обычно id делают автоинкрементным (AUTO_INCREMENT), чтобы SQL сам назначал уникальные значения:
CREATE TABLE customers (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100)
);
🔹 Теперь при добавлении нового клиента id увеличивается автоматически:
INSERT INTO customers (name) VALUES ('Анна');
INSERT INTO customers (name) VALUES ('Иван');
__________
id name
1 Анна
2 Иван
🔹 4. Почему важно использовать PK?
✔️ Упрощает поиск данных – можно быстро найти запись по id.
✔️ Гарантирует уникальность – исключает дублирование данных.
✔️ Позволяет связывать таблицы – PK используется как внешний ключ (FK) в других таблицах.
📌 Пример связи users и orders через PK и FK:
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100)
);
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
amount DECIMAL(10,2),
FOREIGN KEY (user_id) REFERENCES users(id)
);
🔹 Теперь каждый заказ связан с конкретным пользователем.
🔥 Вывод:
✔️ PRIMARY KEY делает данные уникальными и поиск быстрым.
✔️ Автоинкремент (AUTO_INCREMENT) избавляет от ручного задания id.
✔️ PK используется для связи таблиц через FOREIGN KEY.
❓ Используешь ли ты ключи в своих проектах? Делись опытом в комментариях!
#Ключи_и_связи_между_таблицами
#SQL #PRIMARY_KEY #ИТ
@relational_databases