Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Потенциальные ключи




Ключи

Ограничения состояния и ограничения перехода

Во всех описанных ранее случаях были представлены ограничения состояния, поскольку они касались тех или иных состояний БД. Однако существуют также и ограничения перехода, т.е. ограничения для допустимых вариантов перехода от одного корректного состояния к другому. Например, сведения о семейном положении могут изменяться следующим образом:

§ Никогда не состоял в браке – состоит в браке.

§ Состоит в браке – овдовел.

§ Состоит в браке – разведен.

§ Разведен – состоит в браке.

Среди недопустимых типов переходов можно указать следующие:

§ Никогда не состоял в браке –овдовел.

§ Никогда не состоял в браке – разведен.

§ Овдовел – разведен.

§ Разведен – овдовел.

Подобные ограничения целостности реализуются при помощи хранимых процедур или триггерных процедур, которые срабатывают при выполнении той или иной операции (INSERT, UPDATE, DELETE).

 

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

Пусть R – переменная отношение. По определению множество атрибутов переменной-отношения R обладает свойством уникальности, т.е. в любой момент времени никакие два кортежа не дублируют друг друга. На практике часто некоторое подмножество множества всех атрибутов переменной-отношения R также обладает свойством уникальности.

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

а) Уникальность. Никакие допустимые значения переменной-отношения R не содержат двух различных кортежей с одинаковыми значениями атрибутов множества K.

б) Неизбыточность. Никакое из собственных подмножеств множества K не обладает свойством уникальности.

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

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

Пример 9.3. В качестве примера представим переменную-отношение с несколькими потенциальными ключами:

VAR MARRIAGE BASE RELATION {

HUSBAND /* Муж */ NAME,

WIFE /* Жена */ NAME,

DATE /* Дата бракосочетания */ DATE }

/* Подразумевается, что муж может иметь одну жену, а жена одного мужа, причем не допускается повторного брака между одними и теми людьми */

KEY { HUSBAND, DATE }

KEY { DATE, WIFE }

KEY { WIFE, HUSBAND }

По сути дела определение потенциального ключа представляет собой сокращенную запись определенного ограничения целостности переменной-отношения. В реляционной модели потенциальные ключи обеспечивают основной механизм адресации на уровне кортежей. Это означает, что единственный гарантируемый системой способ точно указать на какой-то конкретный кортеж состоит в указании значения одного из его потенциальных ключей. Например, при помощи следующего выражения гарантированно будет получено не более одного кортежа (а точнее отношении, состоящее не более, чем из одного кортежа):

S WHERE S# = ‘S3’

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




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


Дата добавления: 2015-05-09; Просмотров: 631; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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