1 / 8

Dependen ţ e func ţ ionale

Dependen ţ e func ţ ionale. Definiţie

sari
Download Presentation

Dependen ţ e func ţ ionale

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 a1 şi a2 atributele unei entităţi E; spunem că atributul a2 este dependent funcţional de atributul a1 dacă fiecărei valori a atributului a1 îi corespunde o valoare şi numai una a atributului a2. Notaţie a1  a2 (a2 depinde funcţional de a1) Obs: se pot afla în dependenţă funcţională nu numai atribute individuale, ci şi grupuri de atribute

  2. 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, CodClasă} Atributul Nume depinde funcţional de atributul CNP; CNP este determinantul dependenţei 2. Clase={CodClasa, Locaţie, NrBănci, NrTable} Fiecare dintre atributele Locatie, NrBanci, NrTable depinde functional de atributul CodClasa; CodClasa este determinantul dependenţei funcţionale 3. Medici={CodCabinet, Grad, Nume, Prenume} Atributul CodCabinet depinde de grupul de atribute Nume, Prenume, Grad

  3. 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 FN1) necesită: • Identificarea dependenţelor funcţionale • Verificarea îndeplinirii unor anumite proprietăţi denumite generic formenormale • Dpdval modeluluirelaţional, singura formă normală obligatorie pentru toate relaţiile din baza de date este FN1; pentru evitarea tuturor anomaliilor de actualizare este necesară continuarea procesului de normalizare până cel puţin la FN3

  4. Prima formă normală (FN1) 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 TipAuto si Soferi observăm că tabela Garaje se află în formă nenormalizată. Ca urmare, tabela trebuie trecută în FN1. 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)

  5. Aducerea unei relaţii la FN1 • Fie E o entitate (ex: Garaje), a atributul său (ex: TipAuto) responsabil pentru forma nenormalizată a tabelei T corespunzătoare entităţii (ex: tabela Garaje11) • Aducerea tabelei la FN1 necesită: • Eliminarea atributului a din entitatea E, respectiv a coloanei corespunzătoare din tabela T (aici: a coloanei TipAuto din tabela Garaje11; denumim Garaje22 tabela astfel rezultată) • Crearea – pornind de la atributul a – a unei noi entităţi E’ (aici: pe baza atributului TipAuto creăm entitatea Vehicule cu cheia primară NrÎnmatr şi atributele: TipAuto, Marca, NrLocuri, Culoare) • 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 CodGaraj – cu rol de cheie primară pentru entitatea Garaje – pe post de cheie externă pentru entitatea Vehicule)

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

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

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

More Related