proiectarea si normalizarea bazelor de date - infoeducatie 2008
DESCRIPTION
Cum este organizata o baza de date? De ce anomaliile si redundantele pot creea probleme? Ce sunt formele normale si care este scopul lor? Cum proiectam o baza de date si cu ce instrumente? Exemple pe MySql.TRANSCRIPT
Proiectarea si normalizarea bazelor de date
Sistemul de baze de dateTabeleNormalizareFormele normaleExemplu
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 01
Proiectarea si normalizareabazelor de date
Baze de date => Tabele => Campuri
Sistemul nu impune reguli de proiectare
Avem flexibilitate => bad!
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 02
Sistemul de baze de date
Tabele• tabelele definesc relatii intre campurile
care le contin >persoane(cnp,nume,prenume)
• fiecare inregistrare trebuie sa fie unicdefinita ( nu 2 persoane cu acelasi cnp )
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 03
Normalizarea – ce este ?Procedeul prin care o baza de date este
scapata de redundate si anomalii la adaugare , stergere si editare
(spargerea in tabele a unei db)
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 04
tabele normalizate => putine date => • cautari rapide.• lipsa de anomalii• intretinerea mai usoara
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 05
Normalizarea – de ce?
Normalizare - exempleDatele personale + notele =>• redundante
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 06
anomaliiadaugarestergeremodificare
TeoriaEdgar F. Codd – a inventat modelul
relational (‘70) Relatii, tupluri = tabeleDependente functionaleFormele normale
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 07
Formele normaleReguli de proiectare1NF2NF3NFBCNF4NF5NFDKNF6NF
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 08
1NFo relatie se afla in prima forma normala
daca toate atributele sale sunt atomice
Ex: campul Nume poate fi spart in nume si prenume
campul adresa poate fi spart in strada, bloc, oras , etc
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 09
2NFo relatie este in 2 NF daca este in 1NF
si toate atributele sunt dependente de cheia primara
Student(id,nume,skill)
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 10
3NFo relatie este in 3 NF daca este in 2 NF si
orice atribut este DIRECT dependent de de cheia primara
Studenti(id,nume,companie,nr_companie)Nr_tel depinde de companie nu de id
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 11
Exemplu - bibliotecaCerinte:
CartiExemplareAbonatiImprumuturi
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 12
UnelteMysql WorkbenchfabForce DBDesigner 4Motoare de cautare
Proiectarea si normalizarea bazelor de date
Mihai Oaida <[email protected]> 13