SQL и базы данныхSeniorТехническое
Основные характеристики и особенности Primary Key в SQL
Краткий ответ
Primary Key — это уникальный идентификатор строки в таблице, который не допускает NULL и всегда уникален. Он может состоять из одного или нескольких полей и автоматически индексируется для оптимизации поиска.
Развёрнуто
Краткий ответ
Primary Key — это уникальный идентификатор записи в таблице, который гарантирует уникальность и отсутствие пустых значений (NULL). Он может быть составным, включать несколько колонок, и автоматически создаёт индекс для ускорения запросов.
Как это работает
В SQL Primary Key служит для однозначной идентификации каждой строки в таблице. Его основные свойства:
- Уникальность: значения в столбце или наборе столбцов первичного ключа не повторяются.
- NOT NULL: столбец(ы) не могут содержать NULL, что исключает неопределённость.
- Составной ключ: первичный ключ может включать несколько колонок, образуя уникальный набор значений.
- Автоматический индекс: при создании первичного ключа СУБД автоматически создаёт индекс, чтобы повысить производительность запросов по ключу.
Пример таблицы с первичным ключом:
| id (PK) | username | |
|---|---|---|
| 1 | user_one | user1@example.com |
| 2 | user_two | user2@example.com |
Пример
CREATE TABLE Users (
id INT PRIMARY KEY, -- уникальный идентификатор
username VARCHAR(50) NOT NULL,
email VARCHAR(100)
);
-- составной первичный ключ
CREATE TABLE Orders (
order_id INT,
product_id INT,
quantity INT,
PRIMARY KEY (order_id, product_id)
);
В данном примере Users.id — простой первичный ключ, а в таблице Orders используется составной ключ из двух колонок.
Что важно знать на собеседовании
- Primary Key обеспечивает уникальную и не пустую идентификацию строк.
- Составной ключ может включать несколько колонок для комплексной уникальности.
- Автоматическое создание индекса повышает скорость выборок по ключу.
- NULL значения в первичном ключе запрещены.
- Primary Key отличается от Unique тем, что всегда не допускает NULL.
Тема: SQL и базы данных | Уровень: senior