Spec-Zone.ru › MariaDB

Реляционные базы данных: Ключи таблиц

Ключ, или индекс, как само название указывает, открывает доступ к таблицам. Если вы знаете ключ, вы знаете, как идентифицировать конкретные записи и связи между таблицами.

Каждый ключ состоит из одного или нескольких полей или префиксов полей. Порядок столбцов в индексе имеет значение. Каждый ключ имеет имя.

Кандидатный ключ — это поле или комбинация полей, которые однозначно идентифицируют запись. Он не может содержать значение NULL, и его значение должно быть уникальным. (При дублировании вы уже не сможете идентифицировать уникальную запись).

Основной ключ (PK) — это кандидатный ключ, который был обозначен для идентификации уникальных записей в таблице во всей структуре базы данных.

Заместительный ключ — это основной ключ, который содержит уникальные значения, автоматически генерируемые системой базы данных — обычно целочисленные значения. У заместительного ключа нет смысла, кроме уникальной идентификации записи. Это наиболее распространенный тип основного ключа.

Например, см. следующую таблицу:

Customer_code First_name Surname Telephone_number
1 Ariane Edison 448-2143
2 Georgei Edison 448-2142
3 Abbas Edison 9231-5312

На первый взгляд для этой таблицы есть два возможных кандидатных ключа. Достаточно либо customer_code, либо комбинация first_name, surname и telephone_number. Всегда лучше выбирать кандидатный ключ с наименьшим количеством полей для основного ключа, поэтому в данном примере вы выберете customer_code (обратите внимание, что это заместительный ключ). После размышления существует также возможность, что вторая комбинация не будет уникальной. Комбинация first_name, surname и telephone_number теоретически может дублироваться, например, если у отца и сына одинаковое имя и одинаковый номер телефона. Эта система должна явным образом исключить такую возможность, чтобы эти три поля могли рассматриваться в качестве основного ключа.

Может быть много Ариан Эдисонов, но вы избегаете путаницы, присвоив каждому уникальное число. После создания основного ключа оставшиеся кандидаты классифицируются как альтернативные ключи.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не предварительно просматривается MariaDB. Мнения, информация и мнения, выраженные в данном содержании, не обязательно отражают позицию MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/relational-databases-table-keys/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API