СУБД Все ключи в сочетании путаницы
Я запутался в ключах в системе управления базами данных. так как есть много частичных вопросов... но это хороший комбинированный вопрос. именно поэтому я публикую здесь. Путаница между SUPER KEY,KEY,PRIMARY KEY,ALTERNATE KEY,CANDIDATE KEY,MINIMAL KEY, это то, что я понимаю об этом.
SUPER KEY: атрибут или набор атрибутов, которые могут однозначно идентифицировать кортеж.
Ключ-кандидат: набор всех супер-ключей.
Ключ: один ключ из набора ключей-кандидатов, который является минимальным (минимальные атрибуты есть)
Первичный ключ: минимальный ключ из набора ключей-кандидатов.
Альтернативный ключ: набор всех ключей-кандидатов, кроме первичного ключа
Иностранный ключ. Я знаю это очень хорошо, трудно упомянуть все вещи для этого..
но у меня путаница между суперключем, ключом, ключом-кандидатом, первичным ключом, альтернативным ключом... (добавить любой ключ, если остался), все определения в порядке?? для модели ER определения этих ключей отличаются от определений в реляционной модели?
Можете ли вы дать свой ответ с примером.? Одна таблица, имеющая все эти ключи.!! Спасибо...!!
1 ответ
Суперключ - это любой набор атрибутов, для которых значения гарантированно будут уникальными для всех разрешенных наборов кортежей в отношении в любое время.
Ключ-кандидат (= ключ или минимальный суперключ) - это наименьший набор атрибутов в каждом суперключе, который является уникальным. Поэтому удаление какого-либо одного атрибута из ключа-кандидата сделало бы его неуникальным (больше не суперключ).
Первичный ключ - это просто любой ключ-кандидат. Нет разницы между первичным ключом и любым другим ключом-кандидатом.
Альтернативный ключ - это любой кандидатный ключ, который не обозначен как первичный ключ.
Внешние ключи не являются ключами вообще (название немного неудачно). Внешний ключ - это просто набор атрибутов отношения, на которые распространяется ограничение ссылочной целостности, где тот же набор атрибутов также является ключом-кандидатом в другом отношении.
Пример? Предположим, у вас есть отношения Брака с атрибутами мужа и жены (для простоты я рассматриваю только моногамный брак между мужчиной и женщиной)
Marriages {Husband, Wife}
Отношение брака имеет три суперключа: {Husband, Wife}
, {Husband}
а также {Wife}
(человек может иметь только одного супруга за раз, поэтому оба атрибута должны быть уникальными).
{Husband}
а также {Wife}
являются ключами-кандидатами.
Теперь рассмотрим, какой из двух, {Husband}
или же {Wife}
, может быть первичный ключ и какой альтернативный? Ответ в том, что это не имеет значения: форма, функция и предполагаемое значение этого отношения в точности совпадают с тем, что вы решите назвать "первичным" ключом. Первичный ключ и Альтернативный ключ являются эквивалентными понятиями, и реляционная модель не делает различий между ними.
Моделирование сущностных отношений имеет тенденцию проводить различие между первичными ключами и другими ключами и часто дает одному ключу на сущность определенный приоритет над другими, иногда исключая или нанося ущерб другим не менее важным ключам. Это аспект ER моделирования, который может привести к ошибкам в проектировании базы данных и управлении данными в целом.