КАТЕГОРИИ: Архитектура-(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; Просмотров: 660; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |