КАТЕГОРИИ: Архитектура-(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) |
Внешние ключи
Первичные и альтернативные ключи Как уже было отмечено, некоторые переменные-отношения могут иметь несколько потенциальных ключей. В таком случае в реляционной модели по традиции (по крайней мере, в случае базовой переменной-отношения) один из потенциальных ключей должен быть выбран в качестве первичного ключа, а все остальные потенциальные ключи будут называться альтернативными. В приведенном примере в качестве первичного ключа можно выбрать ключ {WIFE, HUSBAND}, тогда ключи {DATE, WIFE} и {HUSBAND,DATE} будут альтернативными ключами. Если в переменной-отношении существует только один потенциальный ключ, то именно он должен быть выбран в качестве ее первичного ключа. Следовательно, каждая переменная-отношение должна иметь первичный ключ. Если имеется несколько потенциальных ключей, то нет существенного значения, какой из них будет выбран в качестве первичного. Кодд на эту тему в одной из своих работ говорил: «Обычно обоснования [выбора ключа] достаточно просты, однако этот вопрос выходит за рамки реляционной модели». Если не придерживаться формальностей, то внешний ключ можно определить как множество атрибутов переменной-отношения R2, значения которых должны совпадать со значениями некоторого потенциального ключа некоторой переменной-отношения R1, указывая тем самым на некоторую логическую связь между ними. Пусть R2 – некоторая переменная-отношение. Тогда внешний ключ (скажем, FK) в переменной-отношении R2 представляет собой множество атрибутов этой переменной-отношения, такое, что: а) существует переменная-отношение R1 (причем переменные-отношения R1 и R2 необязательно различны) с потенциальным ключом CK; б) каждое значение внешнего ключа FK в текущем значении переменной-отношения R2 обязательно совпадает со значением ключа CK некоторого кортежа в текущем значении переменной-отношения R1. Следует отметить следующие особенности: § Хотя каждое значение внешнего ключа должно соответствовать значению соответствующего ему потенциального ключа, то обратное не требуется. Потенциальный ключ может иметь значение, которое не является в данный момент значением внешнего ключа. § Внешний ключ будет простым или составным в зависимости от того, является ли таковым соответствующий потенциальный ключ. § Каждый входящий во внешний ключ атрибут должен иметь тот же тип, что и эквивалентный ему компонент соответствующего потенциального ключа. § Терминология. Значение внешнего ключа представляет ссылку на кортеж, содержащий соответствующее значение потенциального ключа (ссылочный кортеж). Проблема контроля того, чтобы БД не включала никаких неверных значений внешних ключей, называется проблемой поддержания ссылочной целостности, а соответствующее ограничение – ссылочное ограничение. Переменная-отношение, которая содержит внешний ключ, называется ссылающейся переменной-отношением, а переменная-отношение, содержащая соответствующий потенциальный ключ – ссылочной переменной-отношением. § Ссылочные диаграммы. Графически ссылочное ограничение может изображаться на ссылочных диаграммах, на которых стрелками указываются переменные-отношения, которые участвуют в этом ограничении. Стрелка идет от ссылающейся переменной-отношения к ссылочной переменной-отношению. (S <- SP -> P). Возможно подписание над стрелкой имен атрибутов, представляющих внешний ключ. § Когда одна и та же переменная-отношение может быть как ссылающейся, так и ссылаемой (R3 -> R2 -> R1), то вводят понятие ссылочного пути, как цепочки стрелок между переменными-отношениями, связанные ссылочным ограничением. Тогда ссылочный путь между Rn и R1 – цепочка стрелок между отношениями Ri и R(i+1). § Ссылающаяся и ссылочная переменная-отношение не обязательно должны быть различными. В случае их совпадения подобные переменные отношения называют самосылающимися. § Кроме того, могут существовать ссылочные циклы, когда существует ссылочный путь от некоторой переменной-отношения Ri до самой себя (в частности и единичной длины). § Соответствие между ссылкой и ссылочным кортежем является некоторой логической связью. Ссылочная целостность – ограничение целостности на то, что БД не должна содержать внешних ключей, не имеющих соответствия.
Дата добавления: 2015-05-09; Просмотров: 503; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |