Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

15
Proiectarea si normalizarea bazelor de date

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 of Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

Page 1: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

Proiectarea si normalizarea bazelor de date

Page 2: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

Sistemul de baze de dateTabeleNormalizareFormele normaleExemplu

Proiectarea si normalizarea bazelor de date

Mihai Oaida <[email protected]> 01

Proiectarea si normalizareabazelor de date

Page 3: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

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

Page 4: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

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

Page 5: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

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

Page 6: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

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?

Page 7: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

Normalizare - exempleDatele personale + notele =>• redundante

Proiectarea si normalizarea bazelor de date

Mihai Oaida <[email protected]> 06

anomaliiadaugarestergeremodificare

Page 8: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

TeoriaEdgar F. Codd – a inventat modelul

relational (‘70) Relatii, tupluri = tabeleDependente functionaleFormele normale

Proiectarea si normalizarea bazelor de date

Mihai Oaida <[email protected]> 07

Page 9: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

Formele normaleReguli de proiectare1NF2NF3NFBCNF4NF5NFDKNF6NF

Proiectarea si normalizarea bazelor de date

Mihai Oaida <[email protected]> 08

Page 10: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

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

Page 11: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

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

Page 12: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

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

Page 13: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

Exemplu - bibliotecaCerinte:

CartiExemplareAbonatiImprumuturi

Proiectarea si normalizarea bazelor de date

Mihai Oaida <[email protected]> 12

Page 14: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

UnelteMysql WorkbenchfabForce DBDesigner 4Motoare de cautare

Proiectarea si normalizarea bazelor de date

Mihai Oaida <[email protected]> 13

Page 15: Proiectarea si normalizarea bazelor de date - Infoeducatie 2008

Intrebari ?

Proiectarea si normalizarea bazelor de date

Mihai Oaida <[email protected]> 14