Sunteți pe pagina 1din 25

Universitatea Al.I.

Cuza Iai
Facultatea de Economie i Administrarea Afacerilor
Departamentul de Contabilitate, Informatic economic i
Statistic

PROIECTAREA
BAZELOR DE
DATE
Modelare, diagrame, (un
Marin pic de) normalizare
Fotache
Tipuri de modelri n
analiza/proiectarea SI
Modelarea datelor: abstractizri (descrieri)
ale coninutului BD (Diagrame E-R, ORM,
EER, IDEF1X, UML (diagrama de clase))
Modelarea proceselor: abstractizri
(descrieri) ale activiilor i funciunilor
dintr-un SI (Diagrame Use Case, Diagrame
de Activiti, Diagrame de Fluxuri de Date
Metamodelare: abstractizri (descrieri)
ale modelelor nsei
Modelarea datelor
Un set de metode i instrumente pentru
descrierea cerinelor informaionale dintr-o
organizaie
Destinatari:
Utilizatorii aplicaiei (sistemului): formuleaz cerinele i
verific modul de implementare a cerinelor
Dezvoltatorii aplicaiei (informaticieni) care proiecteaz
i implementeaz BD i celelalte module
Modelarea datelor este parte integrant din
modelarea sistemelor informaionale
Ciclul de via al datelor
ntr-o organizaie

Sursa: Ponniah 2007


Metodologii, limbaje i instrumente
de modelare a datelor
Entity-Relationship (E-R) - P. Chen - 1976
Enhanced Entity-Relationship (EER)
T.Teorey s.a. - 1986
IDEF1X (1981)
Object-Role Modeling (ORM) Falkenberg
(1976), Nijssen, Halpin
Object Oriented Modeling
Limbaj: Unified Modeling Language (UML): 1997
Instrumente: E-R Studio, Enterprise
Architect, Visual Paradigm, Visible
Analyst. Oracle Data Modeler etc.
Diagram E-R clasic
(P.Chen)

Sursa: Ponniah 2007


Diagram (E-R) IDEF1X

Sursa: Ponniah 2007


Diagram (E-R) Barker

Sursa: Ponniah 2007


Diagrama Barker a BD VNZRI
(Oracle Data Modeler)
Diagrama Information Engineering
a BD VNZRI (Oracle Data
Modeler)
Diagrama Bachman a BD VNZRI
(Oracle Data Modeler)
Diagram Object-Role Modeling

Sursa: Ponniah 2007


Diagram UML

Sursa: Ponniah 2007


Cum se proiecteaz o BD
Dup ureche (lutrete) este cea mai
ndrgit metodologie i uneori chiar
funcioneaz!
Folosind metodologii/instrumente ale
analizei i proiectrii de sisteme
informaionale (APSI) mai ales pentru
aplicaii complexe (vezi APSI, SIFC)
Prin normalizare subiectul nostru de
discuie
Combinnd o metodologie APSI cu
normalizarea (demers mixt)
Proiectarea bazelor de date
A proiecta o baz de date este echivalent cu a
stabili ce tabele vor alctui baza de date, ce
atribute vor intra n componena fiecrei tabele
i care sunt restriciile (atomicitate, nenulitate,
unicitate, refereniale, de comportament) la
care vor fi supuse valorile atributelor.

Cine proiecteaz BD?


Analiti-proiectani de sisteme informaionale
Proiectani de baze de date
Dezvoltatori de aplicaii
Simpli utilizatori (mai rar)
De ce folosim (la acest curs)
exclusiv normalizarea ?
Se bazeaz exclusiv pe noiuni ale (sau vecine cu)
modelului relaional (prin comparaie, celelalte metodologii
folosesc concepte precum: clase de entiti
(puternice/independente sau slabe/dependente), clase de asociaii
(relaii), cardinalitate, obligativitate, agregare, specializare
(complet, sau disjunct), motenire, auto-referin, rol etc.)
Este relativ simpl (afirmaie dificil de demonstrat)
Este riguroas
Minimizeaz spaiul ocupat pe disc
Elimin o serie de anomalii manifestate la inserarea,
modificarea, tergerea n/de nregistrri n tabelele BD
Simplific modelarea temporalitii tranzaciilor,
proceselor etc.
Dezavantajele normalizrii -
1
Nu dispune de un formalism grafic echivalent
diagramelor E-R, ORM, UML
Nu exist de instrumente software de modelare
bazate pe normalizare (care s genereze
comenzile DDL)
Este intimidant, datorit multor lucrri teoretice
(matematizate)
Nu permite declararea de restricii i cardinaliti
Nu permite reprezentarea utilizatorilor/grupurilor i
(implicit) nici a rolurilor acestora
Nu se cupleaz natural cu analiza/proiectarea ce
sunt impregnate astzi de orientarea pe obiecte
Dezavantajele normalizrii - 2
Nu permite declararea comportamentului
(operaiuni, procese) entitilor n baza de
date
Intuitiv, asociem entiti i nu atribute: de
ex., este mai natural s spunem:
un student X este nscris pentru un an universitar AnUnivY n
anul de studii AnStudii al specializrii Spec, forma de
nvmnt FStudii
dect
matricolul Mx care identific un student X se afl, mpreun cu
anul universitar AnUnivY n dependen funcional cu
specializarea Spec, anul de studii AnStudii, forma FStudii
Normalizarea este btrn (din 1970...)
Cliee privind normalizarea
Normalizarea este teoretic
Normalizarea nu poate fi utilizat la
proiectarea BD, ci numai la validarea
schemei relaionale obinut folosind o alt
metodologie de proiectare
Normalizarea nu poate fi aplicat la
proiectarea unei BD complexe
Normalizarea nu permite reprezentarea
unor situaii reale ceva mai dificile (ex.
workflow)
O analiz (incomplet) a
dezavantajelor i clieelor
normalizrii

Why Normalization Failed to Become the


Ultimate Guide for Database Designers?,
Social Science Research Network (SSRN),
INFORMATION TECHNOLOGY & SYSTEMS,
Working Paper Series,Vol.2,No.9:June 08,
2006
http://papers.ssrn.com/sol3/papers.cfm?abstract_id
=905060

P
Dou tipuri de normalizare

Normalizarea prin descompunere


(fundamentat de E.F. Codd):
UR 1NF 2NF 3NF
BCNF
4NF 5NF DKNF 6NF
Autori importani: Codd, Boyce, Heath,
Fagin, Ullman, Kent
Normalizarea prin sintez
(fundamentat de Bernstein), pe baza
setului de DF dintre atributele BD
Fundamentul normalizrii
Dependenele dintre atributele BD
Categorii de dependene:
Funcionale (DF), dintre care:
DF totale/pariale
DF directe/tranzitive
De incluziune
Multivaloare (DMV)
De jonciune (DJ) - nu le discutm la acest obiect, i
nici la altele
Formele normale ale unei BD
Sunt numite i forme normalizate
Eu fost enumerate la prezentarea
normalizrii prin descompunere (slide-ul 5)
Cele mai importante sunt: 1NF, 2NF, 3NF,
BCNF i 4NF
Cele mai folosite (i necesare n practic):
1NF, 2NF, 3NF
BCNF i 4NF sunt rar aplicate n practic
5NF, DKNF i 6NF sunt (mai mult) teoretice
Cerine ale formelor
normalizate
Pentru 1NF: atributele s fie atomice
Pentru 2NF: eliminarea DF pariale
Pentru 3NF: eliminarea DF tranzitive
Pentru BCNF: eliminarea DF n care sursele
sunt atribute ne-cheie, iar destinaii
atribute cheie
Pentru 4NF: eliminarea dependenelor
multi-valoare
Pentru 5NF: eliminarea dependenelor de
jonciune
Cteva tutoriale video
Introduction to Data Modeling
http://www.youtube.com/watch?v=-VlxBdc7tTc&feature=related

Lecture -1a Conceptual Designs


http://www.youtube.com/watch?v=EuSBAOpXjU0&feature=related

Lecture - 12 Data Modelling - ER Diagrams, Mapping


http://www.youtube.com/watch?v=fJaPlsVIzio&feature=related

what is database normalization?


http://www.youtube.com/watch?v=FZs-Qdf-Sxg&feature=related