Первичные ключи
Мы уже использовали PRIMARY KEY в таблице и при добавлении в нее новых строк значение этого поля автоматически получало новое число. Это создавало удобство при вводе данных, но это не все возможности первичного ключа:
- Первичный ключ уникален, в таблице не может быть другой записи с таким же ключом, а значит это минимально необходимый набор данных о записи по которому ее можно найти
- По первичному ключу автоматически строится индекс, индексы позволяют существенно сократить поиск по таблице и сокращают время выполнения запросов
- База данных может автоматически добавлять новое значение первичному ключу если он числовой (INTEGER), в некоторых СУБД используется ключевое слово AUTOINCREMENT
- По первичному ключу формируются связи между таблицами
Уникальность первичного ключа часто используется в жизни. Номер паспорта или код налогоплательщика — это минимальная уникальная характеристика по которым можно найти всю необходимую информацию по человеку в банке или государственной службе. Другие данные о человеке не настолько надежные: имя и фамилия не уникальны, телефон можно поменять, по адресу может проживать несколько человек. А ИНН (если он есть) может быть только у одного человека в стране.
Самый быстрый способ найти одну единственную запись в таблице это искать ее по первичному ключу:
SELECT name FROM author WHERE id = 1;
name
------------
Лев Толстой
Первичный ключ — это уникальная минимальная характеристика, по которой можно найти запись в базе.