Sunteți pe pagina 1din 29

BAZE DE DATE

realizate cu

ACCESS 2010

Anul universitar 2011-2012

1

Cerinţe examen 20% proiect prezentat la laborator 20% teste în timpul orelor de lab. 10% teme de control platforma 50% examen SCRIS

Bibliografie: materiale cursuri, seminarii şi Baze de date – Access 2007, proiectare şi realizare pas cu pas, Tamaş Ilie, etc., Editura Infomega 2010, Bucureşti

2

Teoria generală a bazelor de date

Datele reprezintă o colecţie de premise, care constau în cuvinte, numere, imagini, etc. Informaţia 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 organizaţie. Cunoştinţele gestionează o experienţă complexă, câştigată din diferite perspective. Totalitatea ideilor, noţiunilor, informaţiilor pe care le are cineva într-un domeniu reprezintă cunoştinţe. Învăţarea reprezintă capacitatea de a transmite sistematic cunoştinţe şi deprinderi dintr-un domeniu oarecare, a iniţia pe cineva, a dobândi cunoştinţe prin studiu, a memora, a câştiga experienţă. 3

TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR
TRECUT
VIITOR
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4
TRECUT VIITOR 4

4

TRECUT VIITOR 4

Teoria generală a bazelor de date

Teoria generală a bazelor de date BazaBaza dede datedate este: Un ansamblu de date structurate Legate
Teoria generală a bazelor de date BazaBaza dede datedate este: Un ansamblu de date structurate Legate
Teoria generală a bazelor de date BazaBaza dede datedate este: Un ansamblu de date structurate Legate

BazaBaza dede datedate este:

Un ansamblu de date structurate

Legate funcţional Stocate pe suporturi tehnice adresabile Accesate de mai mulţi utilizatori de o manieră selectivă şi într-un timp oportun

5

Baze de date Excel
Baze de date Excel
Câmpuri (Atribute / Proprietăţi / Rubrici) Valoare Domeniu Întregistrare (Tuplu) Câmpuri calculate
Câmpuri (Atribute / Proprietăţi / Rubrici)
Valoare
Domeniu
Întregistrare (Tuplu)
Câmpuri calculate

6

Clienţi 1 Facturi n
Clienţi
1
Facturi
n
Clienţi 1 Facturi n 7

7

Clienţi Cod_clientCod_client Nume_client Adresă Localitate Factura Conţinut Factură Produse Nr_factură
Clienţi
Cod_clientCod_client
Nume_client
Adresă
Localitate
Factura
Conţinut Factură
Produse
Nr_factură
Data_factură
Data_scadenţei
Cod_client (CF)
Cod_produsCod_produs
Cod_ProdusCod_Produs
Denumire_produs
Nr_FacturăNr_Factură
8
Preţ_unitar
Cantitate

ModelulModelul RELAŢIONALRELAŢIONAL

Un model de organizare bidimensională a datelor în tabele Implementează schema relaţională (MRD)

Tabele Relaţii între tabele Reguli de validare

Algebra relaţională (Operatori relaţionali)

Operatori de asamblare (Reuniunea, Intersecţia, Produsul cartezian, Diferenţa) Operatori unari (Proiecţia, Selecţia) Operatori de extensie (Compunerea, Diviziunea)

Un limbaj standard de gestiune a BDR

9

ModelulModelul RELAŢIONALRELAŢIONAL

R(XR(X 11 ,X,X 22 ,

X

X,

nn ))

unde, pentru fiecare element Xi se defineşte un domeniu de valori

DomeniulDomeniul reprezintă mulţimea valorilor posibile care definesc o anumită proprietate. AtributulAtributul // CâmpulCâmpul // ProprietateProprietate reprezintă mulţimea valorilor existente într-o coloană a relaţiei. RelaţiileRelaţiile se reprezintă prin tabele care sunt supuse următoarelor restricţii:

coloană a relaţiei. RelaţiileRelaţiile se reprezintă prin tabele care sunt supuse următoarelor restricţii :
coloană a relaţiei. RelaţiileRelaţiile se reprezintă prin tabele care sunt supuse următoarelor restricţii :

În fiecare coloană, toate valorile sunt de acelaşi tip; Ordinea liniilor (tuplurilor sau înregistrărilor) nu este predefinită; Nu sunt admise înregistrări duplicate Coloanele sunt identificate prin nume distincte (atribute sau proprietăţi)

Nu sunt admise înregistrări duplicate Coloanele sunt identificate prin nume distincte (atribute sau proprietăţi)
Nu sunt admise înregistrări duplicate Coloanele sunt identificate prin nume distincte (atribute sau proprietăţi)
Nu sunt admise înregistrări duplicate Coloanele sunt identificate prin nume distincte (atribute sau proprietăţi)

Tuplurile unei relaţii se pot identifica de o manieră unică prin intermediul valorilor unuia sau mai multor atribute care joacă rol de CHEIE PRIMARĂ a relaţiei respective

10

Definiţii ale cheilor existente într-o tabelă

Cheia 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 numeşte cheie simplă sau din mai multe atribute şi se numeşte 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 acelaşi domeniu ca şi cheia primară a unei tabele, atunci acest ansamblu de atribute se numeşte cheie externă.

11

ModelulModelul RELAŢIONALRELAŢIONAL

CHEIACHEIA EXTERNĂEXTERNĂ: Fiind două relaţii R1 şi R2, cu atributele A1 şi A2 chei primare definite pe acelaşi domeniu primar D, se spune că în relaţia R1, A2 este cheie externă dacă, utilizând o parte din valorile ei sau toate, pot fi regăsite tuplurile relaţiei R2 (altfel spus, un atribut al unei relaţii este cheie externă, dacă se regăseşte pe post de cheie primară în altă relaţie)

Relaţii
Relaţii
pe post de cheie primară în altă relaţie ) Relaţii R1 ( A1 ,B1,C1,D1, A2A2 )

R1(A1,B1,C1,D1,A2A2)

cheie primară în altă relaţie ) Relaţii R1 ( A1 ,B1,C1,D1, A2A2 ) R2 ( A2

R2(A2,B2,C2,D2)

cheie primară în altă relaţie ) Relaţii R1 ( A1 ,B1,C1,D1, A2A2 ) R2 ( A2
Cheie externă Chei primare
Cheie externă
Chei primare

12

Modele de date: modelulmodelul RELAŢIONALRELAŢIONAL

Relaţii
Relaţii

R1(A1,B1,C1,D1,A2A2)

R2(A2,B2,C2,D2)

Factura Nr_facturăNr_factură Chei primare Data_factură Data_scadenţă Cod_clientCod_client
Factura
Nr_facturăNr_factură
Chei primare
Data_factură
Data_scadenţă
Cod_clientCod_client

Cheie externă

Clienţi

Cod_clientCod_client

Nume_client

Adresă

Localitate

Cod_clientCod_client Nume_client Adresă Localitate Factura ( Nr.Factura ,Data_f,Data_s, CodCod clientclient )

Factura(Nr.Factura,Data_f,Data_s,CodCod clientclient)

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

Clienti(Cod client,Nume_cl,Adresa,Localitate)

13

Normalizarea Bazelor de Date:

Procesul de normalizare

NormalizareaNormalizarea este un demers ce conduce la construirea modelului relaţional al bazei de date

Se descompune o tabelă complexă manipulat

în

subtabele mai mici şi mai uşor

Dictionar Date +Reguli Gest

NORMALIZARE
NORMALIZARE
MRD
MRD

de

SCOP: Normalizarea garantează coerenţacoerenţa bazei de date în timpul operaţiilor de actualizare de date, evitândevitând redundanţeleredundanţele

REZULTAT: Un model nedecompozabil ce respectă regulile de definire semantică şi de integritate a datelor

14

Dependenţa funcţională :

Dependenţele sunt legături logice, ce se stabilesc între câmpurile modelului relaţional.

Există o dependenţă funcţională între 2 atribute atunci când cunoscând valoarea luată de către un
Există o dependenţă funcţională între 2 atribute atunci când
cunoscând valoarea luată de către un atribut, se furnizează
sistematic valoarea pentru celălalt atribut
AA ->-> BB (B depinde funcţional de A, dacă la orice valoare a lui A
corespunde în orice moment o valoare unică a lui B)
ExempleExemple de dependenţe funcţionale:
TranzitivitateTranzitivitate:
Cod Produs -> Denumire produs
Cod Produs -> Preţ de referinţă
Număr Comandă -> Dată Comandă
AA ->C->C
Număr Comandă ->
Cod Client -> Nume Client
-> Cod Fiscal

Dacă A -> B şi B -> C, atunci

Dacă un atribut sau un grup de atribute dintr-un tabel determină funcţional celelalte atribute ale tabelului, rezultă că atributul sau grupul de atribute constituie cheia primară a tabelului

15

Normalizarea Bazelor de Date:

Diagrama dependenţelor funcţionale

Reprezentarea grafică a dependenţelor funcţionale

Cod Produs Denumire, UM, Preţ de referinţă
Cod Produs
Denumire, UM, Preţ de referinţă
NrComandă Cod Produs Dată comandă, Cantitate comandată
NrComandă
Cod Produs
Dată comandă, Cantitate
comandată

16

Cod Produs Denumire, UM, Preţ de referinţă NrComandă Cod Produs Dată comandă, Cantitate comandată 16

Normalizarea Bazelor de Date:

Dependenţe Inter-Tabele şi Multivaloare

Dependenţe Inter-Tabele (1-1)

Când 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ţă funcţională între tabele, exprimată prin dependenţa funcţională dintre atributele chei primare aferente celor două tabele

CodProfesor
CodProfesor

NumeProfesor

Dependenţe 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ţă funcţională multivaloare

Nr.factură Cod Produs
Nr.factură
Cod Produs
CodProfesor
CodProfesor

Cod Carte

17

Normalizarea Bazelor de Date :

Formele normale 1, 2, 3

Dicţionar de date şi Reguli de gestiune

Potrivit regulilor de gestiune coroborate cu analiza informaţională referitoare la aplicaţia de informatizat se declară într-un tablou toate atributele disponibile (Identificatorul + Denumirea în clar)

DD+RG 1FN 2FN 3FN
DD+RG
1FN
2FN
3FN

11 FNFN

O relaţie R este în 1FN atunci când atributele sale nu pot fi descompuse în unităţi mai mici

22 FNFN

O relaţie R este în 2FN, dacă este în 1FN şi toate dependenţele între cheia primară a lui R şi celelalte atribute a lui R sunt elementare (atributele nu depind de o parte din cheie)

33 FNFN

O relaţie R este în 3FN, dacă este în 2FN şi dacă sunt eliminate toate dependenţele funcţionale tranzitive (dacă nu există nici o

dependenţă funcţională între atributele non-cheie)

18

Normalizarea Bazelor de Date:

Matricea Dependenţelor Funcţionale

Formalizarea procesului de normalizare este operaţională prin Matricea Dependenţelor Funcţionale:

MDF are pe linie toate atributele dicţionarului de date MDF are pe coloană toate atributele sau numai atributele care pot avea rol de cheie primară Se notează 1 la intersecţia liniei cu coloana pentru care există dependenţă funcţională Se notează cu „M” dependenţa multiplă Se notează 1 T dependenţele funcţionale tranzitive

Liniile care NU AU 1 desemnează fie atribute care nu sunt dependente funcţional de un identificator simplu, fie desemnează atribute parametru

19

Normalizarea Bazelor de Date:

Exemplul I Etapele procesului de NORMALIZARE

InventariereaInventarierea atributeloratributelor (se vor selecta toate atributele referitoare la facturile primite) Număr factură Dată factură Cod furnizor Denumire furnizor Adresa, etc.

SeSe specificspecificăă regulileregulile dede gestiunegestiune şşii algoritmiialgoritmii dede calculcalcul asociaasociaţţii (se vor specifica diversele restricţii şi condiţii impuse datelor) O factură este emisă de un singur furnizor Codul materialului este unic O factură conţine 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 NORMALIZARE

SeSe întocmeîntocmeşştete dicdicţţionarulionarul datelordatelor Un atribut poate fi înscris o singură dată în dicţionar Se elimină atributele sinonime (de ex. Cod furnizor = Simbol furnizor) Dicţionarul datelor nu admite atribute derivate sau calculate (Valoare, TVA)

Nr.crt

Atribut

În clar

1

CodFz

Cod Furnizor

2

DenFz

Denumire Furnizor

3

AdrFz

Adresă Furnizor

4

NrFact

Număr Factură

5

DataFact

Dată Factură

21

Normalizarea Bazelor de Date:

Etapele procesului de NORMALIZARE

SeSe stabilescstabilesc dependendependenţţeleele funcfuncţţionaleionale întreîntre atributeatribute prinprin MDFMDF ToateToate atributeleatributele sausau grupurilegrupurile dede atributeatribute determinante,determinante, devindevin CHEICHEI CANDIDATECANDIDATE (posibile(posibile cheichei aleale relarelaţţiei).iei). CheileCheile candidatecandidate aparaparţţinândinând aceleiaaceleiaşşii relarelaţţiiii suntsunt caracterizatecaracterizate prinprin dependendependenţţee funcfuncţţionaleionale reciproce.reciproce. SeSe stabilescstabilesc CHEILECHEILE PRIMAREPRIMARE dintredintre cheilecheile candidatecandidate

CodFz DenFz AdrFz NrFact DataFact CodFz 11 11 DenFz AdrFz NrFact 1 1 T 1
CodFz
DenFz
AdrFz
NrFact
DataFact
CodFz
11
11
DenFz
AdrFz
NrFact
1
1
T
1
T
11
DataFact

22

Normalizarea Bazelor de Date:

Etapele procesului de NORMALIZARE

SauSau sese stabilescstabilesc dependendependenţţeleele funcfuncţţionaleionale întreîntre atributeatribute

Denumire Furnizor Cod Furnizor Adresă Furnizor Număr Factură Dată Factură
Denumire Furnizor
Cod Furnizor
Adresă Furnizor
Număr Factură
Dată Factură

23

Normalizarea Bazelor de Date:

Etapele procesului de NORMALIZARE

PentruPentru atributeleatributele izolateizolate sese vorvor ccăăutauta grupurigrupuri dede atributeatribute cece potpot constituiconstitui determinandeterminanţţii aiai acestoraacestora SSee vorvor ccăăutauta maimai întâiîntâi grupurigrupuri dede cheichei primare,primare, apoiapoi grupurigrupuri dede atributeatribute nonnon--cheie,cheie, iariar înîn final,final, dacdacăă vava fifi cazul,cazul, sese vorvor adadăăugauga cheichei surogat.surogat. CuCu fiecarefiecare cheiecheie primarprimarăă şşii cucu atributeleatributele determinatedeterminate directdirect ((ffăărrăă tranzitivitatetranzitivitate)) sese formeazformeazăă oo nounouăă relarelaţţieie SeSe stabilescstabilesc CHEILECHEILE EXTERNEEXTERNE

24

Normalizarea Bazelor de Date:

Etapele procesului de NORMALIZARE

DacDacăă întreîntre doudouăă cheichei primareprimare existexistăă oo dependendependenţăţă multiplmultiplăă (reciproc(reciprocăă)),, atunci,atunci, aceastaceastăă dependendependenţăţă vava generagenera oo relarelaţţieie CheiaCheia primarprimarăă aa acesteiacestei relarelaţţiiii vava fifi formatformatăă dindin celecele doudouăă atribute,atribute, care,care, individualindividual vorvor aveaavea şşii rolrol dede cheichei externe.externe.

FURNIZORFURNIZOR(CodFz, DenFz, AdrFz) FACTURĂFACTURĂ(NrFact, DataFact, CodFz)
FURNIZORFURNIZOR(CodFz, DenFz, AdrFz)
FACTURĂFACTURĂ(NrFact, DataFact, CodFz)

25

Normalizarea Bazelor de Date:

EXEMPLUL II: Evidenţa facturilor emise

CLIENTI FACTURI PRODUSE
CLIENTI
FACTURI
PRODUSE

CodProd,

CodCli,

Nume,

DenProd,

NrFact,

DataFact

Adresa,

Tel

CantFact,

Pret

26

Normalizarea Bazelor de Date:

EXEMPLUL II: Evidenţa facturilor emise

NrFact, DataFact, CodCli, Nume, Telefon, Adresa, CodProd, DenProd, CantFact, Pret

FN1FN1

Descompunerea atributelor compusecompuse ale dicţionarului de date în atributeatribute simplesimple Precizarea identificatorului.

Dicţionarul datelor (NrFact, DataFact, CodCli, Nume, Telefon, Strada, Nr, CodPostal, Localitate, Cod Postal, CodProd, DenProd, CantFact, PretRef, PretFact)

27

Normalizarea Bazelor de Date:

CLIENTICLIENTI FACTURIFACTURI FACTURATFACTURAT PRODUSEPRODUSE
CLIENTICLIENTI
FACTURIFACTURI
FACTURATFACTURAT
PRODUSEPRODUSE

EXEMPLUL II: Evidenţa facturilor emise

FN2FN2

Fiecare atribut non-cheie să

depindă de întreaga cheie primară (dependenţe elementare).

CLIENTICLIENTI (CodCli, Nume, Telefon, Strada, Nr, CodPostal, Localitate)

FACTURIFACTURI(NrFact, DataFact, CodCli)

PRODUSEPRODUSE(CodProd, DenProd, PretRef) FACTURATFACTURAT(NrFact, CodProd, CantFact, PretFact)

28

Normalizarea Bazelor de Date:

EXEMPLUL II: Evidenţa facturilor emise

•• FN3FN3

Eliminarea dependenţelor tranzitive

CLIENT (CodCli, Nume, Telefon, Fax, Strada, Nr, CodPostal) FACTURA(NrFact, DataFact, CodCli) PRODUS(CodProd, DenProd, PretRef) FACTURAT(NrFact, CodProd, CantFact, PretFact) LOCALIZARELOCALIZARE(CodPostal, Localitate)

29