Первичный ключ однозначно идентифицирует каждую запись в таблице. Две строки не могут иметь одинаковое значение первичного ключа. Ключ не может быть пустым (null). Он должен быть уникальным и стабильным. В таблице клиентов первичным ключом может быть идентификатор клиента. В таблице заказов это может быть номер заказа. Первичный ключ является якорем для записи. Другие таблицы ссылаются на него через внешние ключи. Без первичного ключа записи трудно надежно идентифицировать, обновлять или удалять.
Первичные ключи бывают двух видов. Естественные ключи формируются на основе самих данных. Это может быть номер социального страхования, адрес электронной почты или артикул товара. Они имеют смысл, но могут меняться. Люди меняют адреса электронной почты. Компании меняют коды товаров. Суррогатные ключи генерируются системой. Это автоматически увеличивающиеся целые числа или UUID. Они не имеют смысла за пределами базы данных. Они никогда не меняются. Суррогатные ключи, как правило, предпочтительнее, поскольку стабильность важнее смысла. Естественный ключ, который меняется, приводит к обновлениям во всех таблицах, которые на него ссылаются. Суррогатный ключ остается неизменным навсегда. В некоторых таблицах используются составные первичные ключи, состоящие из двух или более столбцов. Позиция заказа может быть идентифицирована по комбинации идентификатора заказа и номера позиции. Составные ключи работают, но усложняют объединения и ссылки на внешние ключи. Один суррогатный ключ проще.
Основные ключевые свойства
- Уникальный товар — без дубликатов.
- Не является нулевым значением — всегда имеет значение.
- Стабильный — не меняется со временем.
- Отдельный или составной — одна колонка или несколько
- Индексируется автоматически для быстрого поиска.
Первичный ключ — это идентификатор. Он указывает, что эта запись является именно этой записью и никакая другая. Без него данные не имеют привязки.
Comments
No comments yet. Be the first to share a thought.
Leave a comment