Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры бд.docx
Скачиваний:
114
Добавлен:
17.06.2021
Размер:
4.93 Mб
Скачать
  1. Понятия возможного, первичного и альтернативного ключей.

Возможный ключ — в теории реляционных баз данных — атрибут(поле) или несколько атрибутов (полей)отношения (таблицы), совокупность значений которых отвечает требованиям, предъявляемым кпервичному ключу, то есть является уникальной для каждой записи в таблице.

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

Таблица может иметь несколько возможных ключей. Так, например, в таблице сотрудников фирмы однимвозможным ключом может являться табельный номер, другим — группа полей, хранящая данные личногодокумента сотрудника. Возможны и другие комбинации полей, также дающие уникальные значения длякаждой записи. Один из возможных ключей таблицы выбирается в качестве её первичного ключа.Теоретически, все возможные ключи равно пригодны в качестве первичного ключа, на практике в качествепервичного обычно выбирается тот из возможных ключей, который имеет меньший размер и включаетменьшее количество полей. Нередко при наличии в таблице нескольких естественных возможных ключей вкачестве первичного всё равно используется суррогатный ключ, в силу его известных преимуществ.

В реальных СУБД обычно имеется возможность специально описывать возможные ключи таблицы, неявляющиеся её первичным ключом. Для объявленных возможных ключей в БД создаются индексы,обеспечивающие быстрый поиск записей по набору значений полей ключа, и включаются механизмы, непозволяющие добавлять или редактировать записи таблицы таким образом, чтобы значение возможногоключа дублировалось в нескольких записях. Таким образом, помимо использования в качестве первичногоключа, возможные ключи могут применяться в качестве дополнительного средства поиска и контролякорректности данных в таблицах.

Перви́чный ключ (англ. primary key) — в реляционной модели данных один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию).

Если в отношении имеется единственный потенциальный ключ, он является и первичным ключом. Если потенциальных ключей несколько, один из них выбирается в качестве первичного, а другие называют «альтернативными».

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

Другой критерий выбора первичного ключа — сохранение уникальности со временем. Всегда существует вероятность того, что некоторый потенциальный ключ перестанет быть таковым в долговременной перспективе или при изменении требований к системе. Например, если номер студенческой группы включает последнюю цифру года поступления, то номера групп для идентификации групп уникальны только в течение 10 лет. Поэтому в качестве первичного ключа стараются выбирать такой потенциальный ключ, который с наибольшей вероятностью не утратит уникальность.

Исторически термин «первичный ключ» появился и стал использоваться существенно ранее термина «потенциальный ключ». Вследствие этого множество определений в реляционной теории были изначально сформулированы с упоминанием первичного (а не потенциального) ключа, например, определения нормальных форм. Также термин «первичный ключ» вошёл в формулировку 12 правил Кодда как основной способ адресации любого значения отношения (таблицы) наряду с именем отношения (таблицы) и именем атрибута (столбца).

Альтернативный ключ (Alternate Key) - это потенциальный ключ, не ставший первичным. Каждая сущность должна иметь по крайней мере один потенциальный ключ. Многие сущности имеют только один потенциальный ключ. Такой ключ становится первичным. Некоторые сущности могут иметь более одного возможного ключа. Тогда один из них становится первичным, а остальные - альтернативными ключами.

 

Альтернативный ключ - это атрибут (или группа атрибутов), несовпадающий с первичным ключом и уникально идентифицирующий экземпляр сущности. Атрибуты, составляющие альтернативный ключ, однозначно (уникально) идентифицируют экземпляры сущности. Например, для сущности служащий (идентификатор служащего, фамилия, имя, отчество) группа атрибутов «фамилия» , «имя» , «отчество» может являться альтернативным ключом (в предположении, что на предприятии не работают полные тезки). С помощью альтернативных ключей часто отображают различные индексы доступа к данным в конечной реализации реляционной базы. Одни и те же атрибуты сущности могут входить в несколько различных групп ключей.

Синтаксис первичных и альтернативных ключей

Определяющие первичный ключ атрибуты размещаются наверху списка атрибутов в блоке сущности и отделяются от других атрибутов горизонтальной чертой (см. рис. 3-7).

Каждому альтернативному ключу присваивается уникальный целый номер. Этот ключ указывается с помощью размещения справа от каждого атрибута ключа заключенных в скобки букв АК с номером альтернативного ключа, например, (АК1) (см. рис. 3-8). Отдельный атрибут может входить в качестве компоненты в более чем один альтернативный ключ. Атрибут первичного ключа может служить также частью альтернативного ключа.

Рис. 3-8. Синтаксис альтернативных ключей