Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Реляционные ключи




 

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

 

Суперключ (superkey) – это атрибут или множество атрибутов, которое единственным образом идентифицирует кортеж данного отношения.

 

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

 

Потенциальный ключ – это суперключ, который не содержит подмножества, также являющегося суперключом данного отношения.

 

Потенциальный ключ К для данного отношения обладает двумя свойствами.

· Уникальность. В каждом кортеже отношения значение ключа единственным образом идентифицируют этот кортеж.

· Неприводимость. Никакое допустимое подмножество ключа не обладает свойством уникальности.

Отношение может иметь несколько потенциальных ключей. Если ключ состоит из нескольких атрибутов, то он называется составным ключом. Рассмотрим отношение BookAuthors, показанное на рис. 5.1. Как видно из данного отношения ни один из атрибутов не может быть выбран в качестве потенциального ключа кроме атрибута Code. Каждое значение этого атрибута определяет не больше одного кортежа, поэтому он является потенциальным ключом.

Обратите внимание на то, что любой конкретный набор кортежей отношения нельзя использовать для доказательства того, что некий атрибут или комбинация атрибутов являются потенциальным ключом. Тот факт, что в некоторый момент времени не существует значений-дубликатов, совсем не означает, что их не может быть вообще. Однако наличие значений-дубликатов в конкретном существующем наборе кортежей вполне может быть использовано для демонстрации того, что некоторая комбинация атрибутов не может быть потенциальным ключом. Для идентификации потенциального ключа требуется знать смысл используемых атрибутов в "реальном мире", только это позволит обоснованно принять решение о возможности существования значений-дубликатов. Только исходя из подобной семантической информации, можно гарантировать, что некоторая комбинация атрибутов является потенциальным ключом отношения. Например, на основании представленных на рис. 5.1 данных можно решить, что подходящим потенциальным ключом для отношения BookAuthors вполне может быть атрибут FamilyName, содержащий фамилию автора книги. Однако, хотя в данный момент значится только один автор книг с фамилией ‘Тихонов’, но при регистрации нового автора с фамилией ‘Тихонов’ атрибут FamilyName уже нельзя будет использовать в качестве потенциального ключа.

 

Первичный ключ – это потенциальный ключ, который выбран для уникальной идентификации кортежей внутри отношения.

 

Поскольку отношение не содержит кортежей-дубликатов, всегда можно уникальным образом идентифицировать каждую его строку. Это значит, что отношение всегда имеет первичный ключ. В худшем случае все множество атрибутов может использоваться как первичный ключ, но обычно, чтобы различить кортежи, достаточно использовать несколько меньшее подмножество атрибутов. Потенциальные ключи, которые не выбраны в качестве первичного ключа, называются альтернативными ключами. В отношении BookAuthors в качестве первичного ключа выбран атрибут Code. Альтернативного ключа здесь нет. В отношении Books в качестве первичного ключа также выбран атрибут Code, сочетание атрибутов Name, AuthorCode, IssueYear и Drawing является альтернативным ключом, который может также идентифицировать однозначно кортеж данного отношения. Ведь автор вряд ли переиздаст книгу дважды в одном и том же году с одинаковым названием в одном и том же издательстве.

 

Внешний ключ – это атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу некоторого (может быть, того же самого) отношения.

 

Например, атрибут Code намеренно включен в отношения BookAuthors, а атрибут AuthorCode – в отношение Books для установления связи книги и ее автором. В отношении BookAuthors атрибут Code является первичным ключом, а в отношении Books атрибут AuthorCode является внешним ключом. В таком случае говорят, что атрибут AuthorCode в отношении Books ссылается на первичный ключ, т.е. на атрибут Code, в базовом отношении AuthorCode. (Базовое отношение иногда называют целевым отношением) Как будет показано далее эти общие атрибуты играют важную роль в манипулировании данными.

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 844; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.