Ответ
Первичный ключ (Primary Key, PK) — это столбец или набор столбцов в таблице, который однозначно идентифицирует каждую запись. Его главная задача — обеспечивать целостность и уникальность данных.
Ключевые функции и свойства:
- Уникальность: Каждое значение первичного ключа в таблице должно быть уникальным. Не может быть двух записей с одинаковым PK.
- Отсутствие NULL: Первичный ключ не может содержать значения
NULL
. Каждая запись обязана иметь значение PK. - Индексация: Большинство СУБД автоматически создают кластеризованный индекс для первичного ключа, что обеспечивает максимально быстрый доступ к данным при поиске по ключу.
- Связывание таблиц: PK используется для установления связей между таблицами. В другой таблице он выступает в роли внешнего ключа (Foreign Key), обеспечивая ссылочную целостность.
Пример в SQL:
CREATE TABLE users (
id SERIAL PRIMARY KEY, -- `SERIAL` в PostgreSQL автоматически создает последовательность
username VARCHAR(50) NOT NULL UNIQUE
);
Пример в Go с GORM:
В Go ORM, таких как GORM, поле ID
в структуре по умолчанию становится первичным ключом.
type User struct {
gorm.Model // Включает поля ID, CreatedAt, UpdatedAt, DeletedAt.
// ID uint `gorm:"primaryKey"` является первичным ключом.
Name string
}