I. Основи на субд 2


Релационна цялостност на данните: Външни ключове (Foreign keys)



страница7/14
Дата23.02.2017
Размер1.28 Mb.
#15584
1   2   3   4   5   6   7   8   9   10   ...   14

4.Релационна цялостност на данните: Външни ключове (Foreign keys)

4.1.Определение


Да разгледаме фигура 7-1 и по-точно атрибута PUB_ID от релацията BOOK. Ясно е, че на една дадена стойност за този атрибут (напр. 102) ще бъде позволено да се появи само ако тази стойност се появи като стойност на първичния ключ PUB_ID в релацията PUBLISHER (в противен случай БД не притежава свойството цялостност).



Външен ключ: нека R е базова релация. Един външен ключ (ВК) в R е едно подмножество на множеството на атрибутите
ВК  A {A1R, A2R, ... , AnR}

така че:


  • съществува една базова релация R1 с ключ-кандидат;

  • във всеки един момент стойностите на ВК в R са равни на стойности на КК в някой запис на R1.

Важно е да се отбележи, че не е задължително R и R1 да са различни релации.

Да разгледаме отново примера на фиг. 7-1. За да разберем дали атрибута PUB_ID от релацията BOOK отговаря на условията за външен ключ, трябва да проверим дали отговаря на условията от дефиницията. Той очевидно е подмножество от атрибутите на релацията. Съществува релация PUBLISHER с ключ кандидат PUB_ID и стойностите на атрибута BOOK(PUB_ID) съвпадат със стойности на атрибута PUBLISHER(PUB_ID). Следователно в релацията BOOK атрибутът PUB_ID отговаря на условията за външен ключ.

В дефиницията беше подчертано, че не е необходимо двете релации R и R1 да се различават. Като пример за това можем да споменем релацията EMPLOYEE, в която се съдържат служителите и началниците на определена компания – фиг. 7-2.

Тук EMP_NO е първичният ключ и EMP_MGR е външният ключ, който е равен на първичния ключ на същата релация EMPLOYEE. Логиката е следната – служителят с номер 1002 е и мениджър на служителите с номера 1001 и 1003.


4.2.Свойства на външните ключове


По тази дефиниция можем да характеризираме външните ключове както следва:

  • ВК са също множество от атрибути;

  • по дефиниция всяка стойност на даден ВК трябва да се появява като стойност на съответния първичен ключ. Обратното не се изисква, т.е. КК може да има стойност, която не се появява във ВК;

  • един ВК ще бъде съставен, ако и само ако кореспондиращият КК е също съставен. Ако КК е прост, ВК също ще е прост;

  • всеки компонент на един ВК трябва да бъде дефиниран върху същия домейн, върху който е дефиниран кореспондиращият компонент от КК;

  • не се изисква ВК да е съставна част на ПК или на някой КК;

  • един ВК представлява връзка (референция) към n-торката, съдържаща съответстващата стойност на ПК.

Референциална цялостност: проблемът за осигуряване, че БД не съдържа невалидни стойности на ВК.

Референциално ограничение: ограничението, че стойностите на един ВК трябва да съответстват на стойностите на съответния ПК.

Релация:

  • референцираща - релацията, която съдържа ВК;

  • референцирана (целева) - релацията на ПК.

4.3.Референциални диаграми


Използват се за представяне на референциалните ограничения.

На фигура 7-3 е показана примерна схема на база данни за университет. Пример за референция от ВК към ПК е LECTURE->LECTURER->FACULTY.

Една и съща релация може да бъде едновременно референцираща и референцирана. В примера от фиг. 7-3 такава е LECTURER.

Референциалeн път:

R1 и Rn може да са еквивалентни. Една такава релация се нарича самореферираща се. Саморефериращите се релации представят специален случай на референциалните цикли.


4.4.Спецификация на ВК

FOREIGN KEY ( element-list ) REFERENCES base-relation



4.5.Референциална цялостност


Правило за референциалната цялостност: БД не трябва да съдържа стойности на ВК, които нямат съответствие, т.е. няма съществуваща стойност за ПК в целевата релация.

4.6.Правила за ВК


Всяко състояние на БД, което не удовлетворява правилото за референциалната цялостност, по дефиниция е некоректно.

Но правилото не казва как да се предпазим от такива некоректни състояния.

Възможности:


  • системата да отхвърли всяка операция, която би довела до некоректно състояние, ако бъде изпълнена;

  • системата извършва операцията, а след това извършва допълнителни компенсиращи операции.

За всеки ВК съществуват два основни въпроса, на които трябва да се отговори:



  1. Какво ще се случи при опит да се изтрие целевата на ВК референция? Например, да се върнем към фиг. 7-1, при опит да се изтрие издателство, за което съществува поне една съответстваща книга, т.е. публикувана от него.

Налице са два подхода:

  1. Какво ще стане при опит да се промени един ПК, който е целева референция на ВК? Например, опит да се промени номер на издателство, за което съществува поне една съответна книга, т.е. издателството е публикувало поне една книга.

Отново се използват същите два подхода:

  • RESTRICTED - операцията промяна е ограничена само за случая когато няма съответстваща книга; ако такава е налице, промяна не се извършва;

  • CASCADES - операцията се разширява каскадно и променя също така и записа за книгата.

4.7.Разширение на синтаксиса на ВК

FOREIGN KEY ( ... ) REFERENCES base-relation

DELETE option

UPDATE option


option ::= RESTRICTED | CASCADES.
Забележки:

  • опциите за правилата DELETE и UPDATE за ВК не изчерпват възможностите - те по-точно представят най-общите, които се изискват от практиката. По принцип съществуват повече възможности. Например, опит за изтриване на едно издателство. Възможности:

    • инициализира се диалог с крайните потребители;

    • информацията може да се архивира (какво ще се прави);

    • книгата може да се прехвърли на друго издателство.

  • нека R2 и R1 са референцираща и целева R2->R1 и нека delete-правилото за това референциално ограничение е CASCADES. Следователно изтриването на n-торка в R1 ще предизвика изтриване на n-торка в R2. Да допуснем, че R2 е целева за R3: R3->R2->R1. Тогава изтриването на n-торка зависи от delete-правилото между R3 и R2. Ако то забранява изтриване, тогава не се изтрива нищо и БД остава непроменена.

Каталог: sites -> default -> files
files -> Образец №3 справка-декларация
files -> Р е п у б л и к а б ъ л г а р и я
files -> Отчет за разкопките на праисторическото селище в района на вуз до Стара Загора. Аор през 1981 г. ХХVІІ нац конф по археология в Михайловград, 1982
files -> Медии и преход възникване и развитие на централните всекидневници в българия след 1989 година
files -> Окръжен съд – смолян помагало на съдебния заседател
files -> Семинар на тема „Техники за управление на делата" 18 19 юни 2010 г. Хисар, Хотел „Аугуста спа" Приложение
files -> Чинция Бруно Елица Ненчева Директор Изпълнителен директор иче софия бкдмп приложения: програма
files -> 1. По пътя към паметник „1300 години България


Сподели с приятели:
1   2   3   4   5   6   7   8   9   10   ...   14




©obuch.info 2024
отнасят до администрацията

    Начална страница