2 dependență funcțională

Normalizarea modelului relațional se bazează pe conceptul de dependență funcțională.

Să presupunem dat un raport de R.

Caracteristica Afunktsionalno definește atributul B (AV) în cazul în care valoarea unui atribut A corespunde unei singure valori atributului B. De exemplu, în ceea ce privește STUDENT (№ Gradebook, numele, prenumele, data nașterii) în proiecția R [A, B] poate fi identifică următoarele dependențe funcționale: zachotnoo numărul knizhkiFamiliya, numărul de înregistrare student knizhkiImya, numărul de înregistrare knizhkiOtchestvo student, numărul de înregistrare knizhkiData naștere student. În același timp, determină Nume punct de vedere funcțional gradebook numărul. deoarece același nume poate avea mai multe cărți transcrieri.







Dacă AV și VA. atunci există o relație bijectivă (AV), de exemplu, INN№ Gradebook.

De exemplu, în ceea ce privește TEST (număr de cod de student disciplina, data, codul de profesor, evaluare) pot identifica următoarele relații funcționale: numărul de elev, distsiplinyotsenka cod; Numărul de cod dataotsenka disciplină de student; Numărul de cod disciplinei de student, prepodavatelyaotsenka data de cod; numărul de studenți, data, codul prepodavatelyaotsenka; . Codul de Profesor datakod disciplina și alte condiții ale existenței unor relații funcționale ale acestora sunt următoarele afirmații la o disciplină dată de student specificat poate fi atribuit doar o singură evaluare în timpul existenței bazei de date; la aceeași dată profesorul poate lua doar un singur examen; subiect specific pentru o anumită dată, numai un singur cadru didactic predă. Astfel, dependențe funcționale reflectă normele specifice pentru acest domeniu. Schimbarea regulilor atrage după sine o schimbare în dependențe funcționale.

Folosind conceptul de dependență funcțională putem formula următoarea regulă:

dacă modelul relațional proiectat satisface criteriul de normalizare, singurele relații funcționale într-o relație trebuie să se bazeze vidaKV, gdeK- relație cheie primară.







Din cele de mai sus declarațiile se poate da o definiție cheie:

cheie - setul minim de atribute care sunt determină funcțional toate atributele de relații separat.

3 Teoreme de dependențe funcționale

Teorema 1. Orice set de atribute determină funcțional orice subset sale.

Teorema 5. Între atributele cheie ale dependențe funcționale nu există.

A se vedea „Teoria Relational Database“

Forme normale de relații. Metoda de descompunere

1 Forme normale de relații

Forma normală a relației - o relație cu restricții suplimentare privind valorile stocate în ea.

Prima formă normală (1NF) - raportul în care fiecare element are o valoare atomică aparținând domeniului corespunzător.

Al doilea Form Normal (2NF) - un raport care este în primul formă normală și care nu conține dependențe funcționale parțiale.

relație funcțională incompletă apare atunci când o relație de atribut depinde de un subset al atributelor cheie compuse.

Luați în considerare exemplul unei dependențe funcționale parțiale. În exemplul de relații funcționale sunt reprezentate vertical, pentru a le înregistra într-o formă mai compactă. Figura 1 atribut Numărul depinde numai de chei compozit, și atributele numele furnizorului și detaliile furnizorului depinde de subseturi cheie compozite.

Figura 1 - Raportul, care nu se află în 2NF

Dezavantajele acestei atitudini:

1) coloana „Furnizor Numele“ și „furnizor de informații“ nu poate fi umplut până la livrarea efectivă a unui anumit partid;

2) În cazul în care furnizorul întârziat de livrare a unor părți, îndepărtarea tuplul va duce la eliminarea a furnizorului;

3) Dacă doriți să modificați informațiile furnizor, acestea trebuie să se schimbe toate tuplele, care se referă la furnizor.

Pentru a doua formă normală trebuie să fie raportul inițial împărțit în două atitudini:

- se referă la o cheie compozit;

- relație cu cheia fiind un subset al cheii compozit.

Pentru acest exemplu, vom obține:

Provider (număr de furnizor, numele furnizor, furnizor de informații);

PARTY (număr de furnizor, codul produsului, numărul de lot, cantitate).

A treia formă normală (3NF) - raportul, situat în a doua formă normală și nu cuprinde relații tranzitive.

Luați în considerare exemplul unei relații în care există o relație tranzitiv:

STUDENT (№studenta, grp, Codul Facultății).

În acest sens №studenta№gruppy, №gruppyKod facultate №studentaKod facultate.

1) redundanța datelor (cod Facultatea se repetă pentru toate grupurile de elevi, cu toate că ar fi de ajuns să-l subliniem o dată pentru un grup);

2) complicarea integritatea datelor.

trebuie să împartă relația inițială Pentru 3NF în două: