1 curs bd cig id-normalizarea bazelor de date

Upload: oancea-theodor

Post on 16-Jul-2015

268 views

Category:

Documents


0 download

TRANSCRIPT

BAZE DE DATErealizate cu

ACCESS 2010Anul universitar 2011-2012

1

Cerine examen 20% proiect prezentat la laborator 20% teste n timpul orelor de lab. 10% teme de control platforma 50% examen SCRISBibliografie: materiale cursuri, seminarii i Baze de date Access 2007, proiectare i realizare pas cu pas, Tama Ilie, etc., Editura Infomega 2010, Bucureti2

Teoria general a bazelor de dateDatele reprezint o colecie de premise, care constau ncuvinte, numere, imagini, etc. Informaia poate fi definit ntr-o form general, ca fiind totalitatea datelor pentru care se face o referire, adic date accesibile public (dar securizate), n concordan cu interesul pentru organizaie. Cunotinele gestioneaz o experien complex, ctigat din diferite perspective. Totalitatea ideilor, noiunilor, informaiilor pe care le are cineva ntr-un domeniu reprezint cunotine. nvarea reprezint capacitatea de a transmite sistematic cunotine i deprinderi dintr-un domeniu oarecare, a iniia pe cineva, a dobndi cunotine prin 3 studiu, a memora, a ctiga experien.

R O IT VI

UT EC TR

4

Teoria general a bazelor de dateBaza de date este: Un ansamblu de date structurate Legate funcional Stocate pe suporturi tehnice adresabile Accesate de mai muli utilizatori de o manier selectiv i ntr-un timp oportun

5

Baze de date ExcelCmpuri (Atribute / Proprieti / Rubrici)

Valoare ntregistrare (Tuplu) Domeniu

Cmpuri calculate 6

Clieni 1

Facturi n

7

ClieniCod_client Nume_client Adres

FacturaNr_factur Data_factur Data_scadenei Cod_client (CF)

Localitate

Coninut FacturCod_Produs Nr_Factur Cantitate

ProduseCod_produs Denumire_produs

8

Pre_unitar

Modelul RELAIONALUn model de organizare bidimensional a datelor n tabele Implementeaz schema relaional (MRD)Tabele Relaii ntre tabele Reguli de validare

Algebra relaional (Operatori relaionali)Operatori de asamblare (Reuniunea, Intersecia, Produsul cartezian, Diferena) Operatori unari (Proiecia, Selecia) Operatori de extensie (Compunerea, Diviziunea)

Un limbaj standard de gestiune a BDR9

Modelul RELAIONALR(X1,X2,....Xn)unde, pentru fiecare element Xi se definete un domeniu de valori

Domeniul reprezint mulimea valorilor posibile care definesc o anumit proprietate. Atributul / Cmpul / Proprietate reprezint mulimea valorilor Cmpul existente ntr-o coloan a relaiei. Relaiile se reprezint prin tabele care sunt supuse urmtoarelor restricii:n fiecare coloan, toate valorile sunt de acelai tip; Ordinea liniilor (tuplurilor sau nregistrrilor) nu este predefinit; Nu sunt admise nregistrri duplicate Coloanele sunt identificate prin nume distincte (atribute sau proprieti)

Tuplurile unei relaii se pot identifica de o manier unic prin intermediul valorilor unuia sau mai multor atribute care joac rol de CHEIE PRIMAR a relaiei respective 10

Definiii ale cheilor existente ntr-o tabelCheia unei tabele reprezint un ansamblu minim de atribute care identific o nregistrare dintr-o tabel. Cheia poate fi format dintr-un singur atribut i se numete cheie simpl sau din mai multe atribute i se numete cheie compus. ntr-o tabel pot exista mai multe atribute cu proprietatea c pot identifica o nregistrare i sunt numite chei candidate. Cheia primar va identifica n mod unic o nregistrare din tabel. Dac ntr-o tabel un atribut sau ansamblu de atribute ia valori n acelai domeniu ca i cheia primar a unei tabele, atunci acest ansamblu de atribute se numete cheie extern.

11

Modelul RELAIONALCHEIA EXTERN Fiind dou relaii R1 i R2, cu EXTERN: atributele A1 i A2 chei primare definite pe acelai domeniu primar D, se spune c n relaia R1, A2 este cheie extern dac, utiliznd o parte din valorile ei sau toate, pot fi regsite tuplurile relaiei R2 (altfel spus, un atribut al unei relaii este cheie extern, dac se regsete pe post de cheie primar n alt relaie) Relaii

R1(A1,B1,C1,D1,A2 A2)Chei primare12

R2(A2,B2,C2,D2)Cheie extern

Modele de date: modelul RELAIONALRelaii

R1(A1,B1,C1,D1,A2 A2)FacturaNr_factur Data_factur Data_scaden Cod_client

R2(A2,B2,C2,D2)Clieni Chei primareCod_client Nume_client Adres Localitate

Cheie extern

Factura(Nr.Factura,Data_f,Data_s,Cod client Cod client) Clienti(Cod client,Nume_cl,Adresa,Localitate)13

Normalizarea Bazelor de Date: Procesul de normalizareNormalizarea este un demers ce conduce la construirea modelului relaional al bazei de dateSe descompune o tabel complex manipulat n subtabele mai mici i mai uor de

Dictionar Date +Reguli Gest

NORMALIZARE

MRD

SCOP: Normalizarea garanteaz coerena bazei de date n timpul operaiilor de actualizare de date, evitnd redundanele REZULTAT: Un model nedecompozabil ce respect regulile de definire semantic i de integritate a datelor14

Dependena funcional :Dependenele sunt legturi logice, ce se stabilesc ntrecmpurile modelului relaional.Exist o dependen funcional ntre 2 atribute atunci cnd cunoscnd valoarea luat de ctre un atribut, se furnizeaz sistematic valoarea pentru cellalt atributA -> B (B depinde funcional de A, dac la orice valoare a lui A corespunde n orice moment o valoare unic a lui B) Tranzitivitate: Exemple de dependene funcionale: TranzitivitateCod Produs -> Denumire produs Dac A -> B i B -> C, atunci Cod Produs -> Pre de referin A ->C Numr Comand -> Dat Comand Numr Comand -> Cod Client -> Nume Client -> Cod Fiscal

Dac un atribut sau un grup de atribute dintr-un tabel determin funcional celelalte atribute ale tabelului, rezult c atributul sau grupul de atribute constituie cheia primar a tabelului 15

Normalizarea Bazelor de Date: Diagrama dependenelor funcionaleReprezentarea grafic a dependenelor funcionale Cod ProdusDenumire, UM, Pre de referin

NrComand Cod Produs

Dat comand, Cantitate comandat

16

Normalizarea Bazelor de Date: Dependene Inter-Tabele i MultivaloareDependene Inter-Tabele (1-1)Cnd la o valoare a atributului Cheie primar dintr-o tabel, se asociaz o singur valoare a atributului Cheie primar dintr-o alt tabel, se poate spune c exist o dependen funcional ntre tabele, exprimat prin dependena funcional dintre atributele chei primare aferente celor dou tabele

CodProfesor

NumeProfesor

Dependene Multivaloare (1-n) (n-m)n cazul n care la o valoare a atributului Cheie primar dintr-o tabel, corespund mai multe valori ale altui atribut dintr-o alt tabel, se poate spune c exist o dependen funcional multivaloare

Nr.factur

Cod Produs

CodProfesor

Cod Carte17

Normalizarea Bazelor de Date : Formele normale 1, 2, 3Dicionar de date i Reguli de gestiunePotrivit regulilor de gestiune coroborate cu analiza informaional referitoare la aplicaia de informatizat se declar ntr-un tablou toate atributele disponibile (Identificatorul + Denumirea n clar)

DD+RG 1FN 2FN 3FN

1 FNO relaie R este n 1FN atunci cnd atributele sale nu pot fi descompuse n uniti mai mici

2 FNO relaie R este n 2FN, dac este n 1FN i toate dependenele ntre cheia primar a lui R i celelalte atribute a lui R sunt elementare (atributele nu depind de o parte din cheie)

3 FNO relaie R este n 3FN, dac este n 2FN i dac sunt eliminate toate dependenele funcionale tranzitive (dac nu exist nici o dependen funcional ntre atributele non-cheie) 18

Normalizarea Bazelor de Date: Matricea Dependenelor FuncionaleFormalizarea procesului de normalizare este operaional prin Matricea Dependenelor Funcionale:MDF are pe linie toate atributele dicionarului de date MDF are pe coloan toate atributele sau numai atributele care pot avea rol de cheie primar Se noteaz 1 la intersecia liniei cu coloana pentru care exist dependen funcional Se noteaz cu M dependena multipl Se noteaz 1T dependenele funcionale tranzitiveLiniile care NU AU 1 desemneaz fie atribute care nu sunt dependente funcional de un identificator simplu, fie desemneaz atribute parametru19

Normalizarea Bazelor de Date: Exemplul I Etapele procesului de NORMALIZAREInventarierea atributelor (se vor selecta toate atributele referitoare la facturile primite) Numr factur Dat factur Cod furnizor Denumire furnizor Adresa, etc. Se specific regulile de gestiune i algoritmii de calcul asociai (se vor specifica diversele restricii i condiii impuse datelor) O factur este emis de un singur furnizor Codul materialului este unic O factur conine mai multe produse aprovizionate Furnizorii pot fi numai persoane juridice Algoritmii de calcul: (Val_mat_fact=Cant_facturat*Pre_unitar) 20

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZARESe ntocmete dicionarul datelor Un atribut poate fi nscris o singur dat n dicionar Se elimin atributele sinonime (de ex. Cod furnizor = Simbol furnizor) Dicionarul datelor nu admite atribute derivate sau calculate (Valoare, TVA)

Nr.crt 1 2 3 4 5

Atribut CodFz DenFz AdrFz NrFact DataFact

n clar Cod Furnizor Denumire Furnizor Adres Furnizor Numr Factur Dat Factur 21

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZARESe stabilesc dependenele funcionale ntre atribute prin MDF Toate atributele sau grupurile de atribute determinante, devin CHEI CANDIDATE (posibile chei ale relaiei). Cheile candidate aparinnd aceleiai relaii sunt caracterizate prin dependene funcionale reciproce. Se stabilesc CHEILE PRIMARE dintre cheile candidateCodFz NU DenFz 1 NU 1T AdrFz 1 NU 1T22

NrFact

DataFact

CodFz DenFz AdrFz NrFact DataFact

1

NU

1 NU

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZARESau se stabilesc dependenele funcionale ntre atribute Denumire Furnizor

Cod Furnizor

Adres Furnizor

Numr Factur

Dat Factur

23

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZARE Pentru atributele izolate se vor cuta grupuri de atribute ce pot constitui determinani ai acestora. Se acestora. Se vor cuta mai nti grupuri de chei primare, apoi grupuri de atribute non-cheie, noniar n final, dac va fi cazul, se vor aduga chei surogat. Cu fiecare cheie primar i cu atributele determinate direct (fr tranzitivitate) se (fr tranzitivitate) formeaz o nou relaie. relaie. Se stabilesc CHEILE EXTERNE24

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZAREDac ntre dou chei primare exist o dependen multipl (reciproc), atunci, aceast dependen (reciproc) va genera o relaie. relaie. Cheia primar a acestei relaii va fi format din cele dou atribute, care, individual vor avea i rol de chei externe. externe.

FURNIZOR(CodFz, DenFz, AdrFz) FURNIZOR FACTUR(NrFact, DataFact, CodFz) FACTUR25

Normalizarea Bazelor de Date: EXEMPLUL II: Evidena facturilor emise

NrFact,DataFact

CLIENTI FACTURI

CodCli,Nume, Adresa, Tel

PRODUSE

CodProd,

DenProd, CantFact, Pret26

Normalizarea Bazelor de Date: EXEMPLUL II: Evidena facturilor emiseNrFact, DataFact, CodCli, Nume, Telefon, Adresa, CodProd, DenProd, CantFact, Pret

FN1 Descompunerea atributelor compuse ale dicionarului de date n atribute simple Precizarea identificatorului.Dicionarul datelor (NrFact, DataFact, CodCli, Nume, Telefon, Strada, Nr, CodPostal, Localitate, Cod Postal, CodProd, DenProd, CantFact, PretRef, PretFact)27

Normalizarea Bazelor de Date: EXEMPLUL II: Evidena facturilor emiseCLIENTI

FN2Fiecare atribut non-cheie s depind de ntreaga cheie primar (dependene elementare).CLIENTI (CodCli, Nume, Telefon, Strada, Nr, CodPostal, Localitate) FACTURI(NrFact, DataFact, CodCli) FACTURI

FACTURI

FACTURAT

PRODUSE

PRODUSE(CodProd, DenProd, PretRef) PRODUSE FACTURAT(NrFact, CodProd, CantFact, PretFact) FACTURAT28

Normalizarea Bazelor de Date: EXEMPLUL II: Evidena facturilor emise FN3

Eliminarea dependenelor tranzitiveCLIENT (CodCli, Nume, Telefon, Fax, Strada, Nr, CodPostal) FACTURA(NrFact, DataFact, CodCli) PRODUS(CodProd, DenProd, PretRef) FACTURAT(NrFact, CodProd, CantFact, PretFact) LOCALIZARE(CodPostal, Localitate) LOCALIZARE

29