Изменения

Перейти к: навигация, поиск

Реляционная модель данных. Ключи

3261 байт добавлено, 19:34, 4 сентября 2022
м
rollbackEdits.php mass rollback
== Ключи ==
=== Надключи ===
 
==== Определения ====
{{Определение
* Обладает свойством уникальности.
* В проекции на надключ нет повторяющихся кортежей.
}}
Как следствия приходим к следующему определению надключа:
{{Определение
|definition =
Надключ является '''идентификатором''' кортежа.
}}
 
==== Пример ====
 
{| class="wikitable" style="float:right; margin-left:0.8em; clear:right;"
|+ Пример таблицы с паспортными данными
|-
! SId
! PassS
! PassNo
! LastName
! FirstName
|-
|1
|0000
|123456
|Иванов
|Иван
|-
|2
|0001
|098765
|Петров
|Петр
|-
|3
|0001
|654321
|Сидоров
|Сидр
|-
|4
|0007
|567890
|Плюшкин
|Иван
|}
 
Сколько надключей в таблице с паспортными данными?
 
Очевидно, что <tex>SId</tex> и <tex>\{PassS, PassNo\}</tex> сами по себя являются надключами.
Тогда рассмотрим все возможные множества, которые содержат любой из этих надключ:
* Все для <tex>SId</tex>: <tex>1+C_4^1+C_4^2+C_4^3+C_4^4= 16</tex>
* Все без <tex>SId</tex> для <tex>\{PassS, PassNo\}</tex>: <tex>1+C_2^1+C_2^2= 4</tex>
 
Итого: <tex>16 + 4 = 20</tex>
=== Ключи ===
==== Определения ===={{Определение|definition = '''Ключ''' — минимальный по включению надключ.}}Учитывая то, что у любого множества атрибутов отношения R существует надключ в виде множества всех атрибутов R, то ключ всегда можно найти, минимизировав этот надключ. Как следствия приходим к следующему определению:{{Определение|definition =Ключ является '''минимальным идентификатором''' кортежа.}} Ключи для таблицы с паспортными данными:* <tex>SId</tex>* <tex>\{PassS, PassNo\}</tex> ==== Требования к ключам ===={{Определение|definition =Пусть R — отношение. Будем говорить, что заданное множество атрибутов R обладает свойством '''неизменности''', если в любой конкретный момент времени никакое строгое подмножество множества атрибутов не обладает свойством уникальности.}}Ключи должны удовлетворять следующим свойствам:* Уникальность* Неизменность ==== Естественные и суррогатные ключи ====Различия суррогатных и натуральных ключей (виды ключей <ref>[http://neerc.ifmo.ru/wiki/index.php?title=== Выбор %D0%A4%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85#.D0.9A.D0.BB.D1.8E.D1.87.D0.B8 Виды ключей ===— Викиконспекты]</ref>):* Натуральные – соответствуют бизнес-правилам, часто составные* Суррогатные – простые и эффективные
== Примечания ==
1632
правки

Навигация