Мы настоятельно рекомендуем ссылаться на этот пост ниже.
СУБД | Введение в реляционную модель и правила Кодда
Различные типы ключей в реляционной модели
Ключ-кандидат . Минимальный набор атрибутов, который может однозначно идентифицировать кортеж, известен как ключ-кандидат. Например, STUD_NO в отношении STUDENT.
- Значение ключа-кандидата уникально и не равно нулю для каждого кортежа.
- В отношении может быть более одного ключа-кандидата. Например, STUD_NO является ключом-кандидатом для отношения STUDENT.
- Ключ-кандидат может быть простым (имеющим только один атрибут) или составным. Например, {STUD_NO, COURSE_NO} является составным ключом-кандидатом для отношения STUDENT_COURSE.
Примечание. В Sql Server уникальное ограничение, которое имеет столбец, допускающий значение NULL, допускает использование значения NULL в этом столбце только один раз . Вот почему атрибут STUD_PHONE в качестве кандидата здесь, но не может быть «нулевых» значений в атрибуте первичного ключа.
Super Key: набор атрибутов, которые могут однозначно идентифицировать кортеж, называется Super Key. Например, STUD_NO, (STUD_NO, STUD_NAME) и т. Д.
- Добавление ноля или более атрибутов в ключ-кандидат создает супер-ключ.
- Ключ-кандидат — это супер-ключ, но, наоборот, это не так.
Первичный ключ: может быть несколько ключей-кандидатов, из которых один может быть выбран в качестве первичного ключа. Например, STUD_NO, как и STUD_PHONE, оба являются ключами-кандидатами для отношения STUDENT, но STUD_NO может быть выбран в качестве первичного ключа (только один из многих ключей-кандидатов).
Альтернативный ключ: Ключ- кандидат, отличный от первичного ключа, называется альтернативным ключом. Например, STUD_NO, как и STUD_PHONE, оба являются ключами-кандидатами для отношения STUDENT, но STUD_PHONE будет альтернативным ключом (только один из многих ключей-кандидатов).
Внешний ключ: если атрибут может принимать только значения, которые присутствуют в качестве значений какого-либо другого атрибута, он будет внешним ключом для атрибута, к которому он относится. Отношение, на которое ссылаются, называется ссылочным отношением, и соответствующий атрибут называется ссылочным атрибутом, а отношение, которое ссылается на ссылочное отношение, называется ссылочным отношением, а соответствующий атрибут называется ссылочным атрибутом. Ссылочный атрибут ссылочного отношения должен быть первичным ключом для него. Например, STUD_NO в STUDENT_COURSE является внешним ключом для STUD_NO в отношении STUDENT.
Может быть, стоит отметить, что в отличие от первичного ключа любого данного отношения внешний ключ может иметь значение NULL, а также может содержать повторяющиеся кортежи, т. Е. Он не должен следовать ограничениям уникальности.
Например, STUD_NO в отношении STUDENT_COURSE не является уникальным. Это было повторено для первого и третьего кортежа. Однако отношение STUD_NO в STUDENT является первичным ключом, и оно должно быть всегда уникальным и не может быть нулевым.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме
Рекомендуемые посты:
- Разница между первичным и кандидатским ключом
- Разница между Супер Ключом и Ключом Кандидата
- Нахождение закрытия атрибута и ключей-кандидатов с использованием функциональных зависимостей
- Отображение из ER-модели в реляционную модель
- Аномалии в реляционной модели
- Реляционная модель в СУБД
- Внедрение реляционной модели и правил Кодда в СУБД
- Разница между реляционной алгеброй и реляционным исчислением
- Разница между Первичным ключом и Уникальным ключом
- Разница между моделью снизу вверх и моделью сверху вниз
- Свойства реляционного разложения
- Основные операторы в реляционной алгебре
- Внедрение реляционной алгебры в СУБД
- Доменное реляционное исчисление в СУБД
- Реляционное исчисление кортежей (TRC) в СУБД
0.00 (0%) 0 votes