Dependene funcionale Definiie Dependena funcional este o restricie

  • Slides: 8
Download presentation
Dependenţe funcţionale Definiţie Dependenţa funcţională este o restricţie care apare între atributele unei entităţi

Dependenţe funcţionale Definiţie Dependenţa funcţională este o restricţie care apare între atributele unei entităţi la nivelul semanticii (semnificaţiei) acestora; fie a 1 şi a 2 atributele unei entităţi E; spunem că atributul a 2 este dependent funcţional de atributul a 1 dacă fiecărei valori a atributului a 1 îi corespunde o valoare şi numai una a atributului a 2. Notaţie a 1 a 2 (a 2 depinde funcţional de a 1) Obs: se pot afla în dependenţă funcţională nu numai atribute individuale, ci şi grupuri de atribute

Definiţie Determinantul unei dependenţe funcţionale este un atribut care, prin valorile sale, determină valorile

Definiţie Determinantul unei dependenţe funcţionale este un atribut care, prin valorile sale, determină valorile celuilalt atribut (atributul aflat în stânga săgeţii) Exemple: 1. Elevi={CNP, Nume, Prenume, Adresa, Cod. Clasă} Atributul Nume depinde funcţional de atributul CNP; CNP este determinantul dependenţei 2. Clase={Cod. Clasa, Locaţie, Nr. Bănci, Nr. Table} Fiecare dintre atributele Locatie, Nr. Banci, Nr. Table depinde functional de atributul Cod. Clasa; Cod. Clasa este determinantul dependenţei funcţionale 3. Medici={Cod. Cabinet, Grad, Nume, Prenume} Atributul Cod. Cabinet depinde de grupul de atribute Nume, Prenume, Grad

Procesul de normalizare Normalizarea este un proces care se desfăşoară în mai mulţi paşi.

Procesul de normalizare Normalizarea este un proces care se desfăşoară în mai mulţi paşi. Fiecare pas (cu excepţia aducerii bazei de date la FN 1) necesită: 1. Identificarea dependenţelor funcţionale 2. Verificarea îndeplinirii unor anumite proprietăţi denumite generic forme normale 3. Dpdv al modelului relaţional, singura formă normală obligatorie pentru toate relaţiile din baza de date este FN 1; pentru evitarea tuturor anomaliilor de actualizare este necesară continuarea procesului de normalizare până cel puţin la FN 3

Prima formă normală (FN 1) Exemplu: fie baza de date a unei firme de

Prima formă normală (FN 1) Exemplu: fie baza de date a unei firme de transport auto care se ocupă cu transportul persoanelor. Această baza de date ar putea cuprinde următoarele entităţi: Angajaţi, Vehicule, Garaje, Clienţi , Trasee. Colectarea unor date ar putea duce la completarea următorului tabel Examinând celulele din coloanele Tip. Auto si Soferi observăm că tabela Garaje se află în formă nenormalizată. Ca urmare, tabela trebuie trecută în FN 1. Definiţie: O relaţie aflată în prima formă normală este o relaţie cu proprietatea că oricare dintre celulele tabelei care o reprezintă convenţional conţine o valoare şi numai una (nu există atribute cu valori multiple)

Aducerea unei relaţii la FN 1 Fie E o entitate (ex: Garaje), a atributul

Aducerea unei relaţii la FN 1 Fie E o entitate (ex: Garaje), a atributul său (ex: Tip. Auto) responsabil pentru forma nenormalizată a tabelei T corespunzătoare entităţii (ex: tabela Garaje 11) Aducerea tabelei la FN 1 necesită: 1. Eliminarea atributului a din entitatea E, respectiv a coloanei corespunzătoare din tabela T (aici: a coloanei Tip. Auto din tabela Garaje 11; denumim Garaje 22 tabela astfel rezultată) 2. Crearea – pornind de la atributul a – a unei noi entităţi E’ (aici: pe baza atributului Tip. Auto creăm entitatea Vehicule cu cheia primară NrÎnmatr şi atributele: Tip. Auto, Marca, Nr. Locuri, Culoare) 3. Stabilirea relaţiei dintre cele două entităţi, relaţie care este – după caz – de tip 1 -m sau n-m (aici: relaţia dintre entităţile Garaje şi Vehicule este de tip 1 -m). Prin urmare, cheia primară a entităţii E trebuie să fie inclusă – cu rol de cheie externă – printre atributele entităţii E’ (aici: includem atributul Cod. Garaj – cu rol de cheie primară pentru entitatea Garaje – pe post de cheie externă pentru entitatea Vehicule)

Tabela Garaje după prima modificare Tabela nou creată, Vehicule Relaţiile dintre noile tabele

Tabela Garaje după prima modificare Tabela nou creată, Vehicule Relaţiile dintre noile tabele

Într-o relaţie pot exista mai multe atribute cu valori multiple; în acest caz, aducerea

Într-o relaţie pot exista mai multe atribute cu valori multiple; în acest caz, aducerea relaţiei la FN 1 necesită câte un pas pentru fiecare atribut (aici: noua tabelă Garaj 22 este în forma nenormalizată din cauza atributului Soferi). Prin urmare, se va proceda pentru acest atribut cum s-a procedat pentru atributul Tip. Auto Tabela Garaj 33 (aflată în FN 1) Tabela nou creată, Soferi Setul de relaţii rezultat după încheierea operaţiei de aducere la FN 1 a entităţii Garaje Tabela de joncţiune, Conduc Prin aceasta se realizează o relaţie de tip n-m între entităţile nou create Soferi şi Vehicule)

Sursa: Informatică – Manual pentru clasa a XII-a, Editura Corint, Mioara Gheorghe, Monica Tătărâm,

Sursa: Informatică – Manual pentru clasa a XII-a, Editura Corint, Mioara Gheorghe, Monica Tătărâm, Corina Achinca, Ioana Pestriţu, 2007