TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
SQL: Реляционные базы данных

21 Feb 2025, 07:48

Open in Telegram Share Report

🔹 Что такое первичный ключ (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

412 0 4 2 11
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot