СУБД Все ключи в сочетании путаницы

Я запутался в ключах в системе управления базами данных. так как есть много частичных вопросов... но это хороший комбинированный вопрос. именно поэтому я публикую здесь. Путаница между 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 моделирования, который может привести к ошибкам в проектировании базы данных и управлении данными в целом.

Другие вопросы по тегам