Sunteți pe pagina 1din 19

Atestat informatic

Elevi: Negru Marian


Sturzu Tiberiu Alexandru

Cuprins

- Descrierea lucrrii
- Proiectarea bazelor de date
- Entiti. Instane. Atribute. Identificator unic
- Relaii intre entiti
- Diagrama ERD-iniial
- Normalizarea datelor - Prima form normal
- A doua form normal
- A treia form normal
- Diagrama ERD-final
- Maparea relaiilor

Descrierea lucrrii
Proiectare a
domeniu

in

metodologii
asigura

bazelor de date relationale este in acest moment

care

cercetarile au evoluat

teoretice

un

spre

elaborarea

si a unor instrumente software

grad ridicat de

normalizare

pastrarea integritatii, evitarea

anomaliilor

un
unor

practice care

schemelor

de relatie,

datorate unei

proiectari

nesistematice si eliminarea subiectivismului proiectantului prin inlocuirea


lui cu exactitatea
relatii si de

metodei. Initial se pornea de la o colectie de scheme de

la dependentele functionale si multivalorice asociate si se

ajungea, prin aplicarea


normalizata

unor

algoritmi

de

normalizare

a bazei de date. Aceasta abordare de

tip

la

schema

bottom-up creaza

insa dificultati in cazul bazelor de date complexe in care numarul de relatii si


de dependente este mare. Probabilitatea
date sa nu fie sesizate in
ridicat

rezultind

procesul de

in exploatare

ca unele

proiectare

anomalii

interdependente intre

este

in

aceste

care duc la reluari ale

analiza cerintelor schema bazei de date programe de


datelor. Cercetarile
metodologii

din

top-down

ultimul timp s-au concentrat pe


pentru proiectarea

date. Ele au fost influentate de rezultatele

structurii

cazuri
ciclului:

exploatare
gasirea

unor

optime a bazelor de

obtinute in domenii care folosesc

bazele de date: inteligenta artificiala, proiectarea asistata, orientarea pe


obiecte. Impactul conceptelor de abstractizare si generalizare precum si
elaborarea unui model de descriere informala a datelor, si anume modelul
entitate asociere (EL),
proiectare
acest

au dus la gasirea unor cai

optima a bazelor de date. Modelul

moment cel mai popular

model

bazelor de date datorita intuitivitatii


Imbunatatiri

ulterioare

ale

generalizarilor au dus la crearea

sale

si
prin

de

algoritmizabile

entitate

asociere este

comunicare

simplitatii

in

a structurii

elementelor

folosirea abstractizarilor

modelului entitate

de

sale.
si

asociere extins (EA)

care este folosit si

in

aceasta lucrare pentru primul pas al metodologiei

descrise.

Pentru exemplificare, in lucrarea de fata am incercat sa aratam pasii in


proiectarea unei baze de date care sa puna in relatie diferite entitati din
industria filmului.

I. Proiectarea bazelor de date.


Noiuni introductive

1. Date, informaii, cunotine


Auzim adesea vorbindu-se despre Era informaiilor sau societate
informaional sau tehnologia informaiei ns de multe ori cuvntul
"informaie" este folosit fr a nelege clar sensul acestui cuvnt, diferena
dintre date, informaii, cunotine. n general, coninutul gndirii umane
opereaz cu urmtoarele concepte:
a) Date constau n material brut, fapte, simboluri, numere, cuvinte, poze
fr un neles de sine stttor, neintegrate ntrun context, fr relaii cu alte
date sau obiecte. Ele se pot obine n urma unor experimente, sondaje etc.
b) Informaii prin prelucrarea datelor i gsirea relaiilor dintre acestea se
obin informaii care au un neles i sunt integrate ntr-un context. Datele
organizate i prezentate ntr-un mod sistematic pentru a sublinia sensul
acestor date devin informaii. Pe scurt informaiile sunt date prelucrate.
Informaiile se prezint sub form de rapoarte, statistici, diagrame etc.

c) Cunotinele sunt colecii de date, informaii, adevruri i principii


nvate, acumulate de-a lungul timpului. Informaiile despre un subiect
reinute i nelese i care pot fi folosite n luarea de decizii, formeaz
judeci i opinii devin cunotine. Cu alte cuvinte, cunotinele apar n
momentul utilizrii informaiei .

2. Colectarea i analizarea datelor. Modelul conceptual


Primul pas n realizarea unei aplicaii de baze de date este analiza datelor i
realizarea unei scheme conceptuale (model conceptual) al acestor date.
n aceast etap sunt analizate natura i modul de utilizare a datelor. Sunt
identificate datele care vor trebui memorate i procesate, se mpart aceste
date n grupuri logice i se identific relaiile care exist ntre aceste grupuri.
Analiza datelor este un proces uneori dificil, care necesit mult timp, ns
este o etap absolut obligatorie. Fr o analiz atent a datelor i a modului
de utilizare a acestora, vom realiza o baz de date care putem constata n
final c nu ntrunete cerinele beneficiarului. Costurile modificrii acestei
baze de date este mult mai mare dect costurile pe care le-ar fi implicat
etapa de analiz i realizare a modelului conceptual. Modificarea modelului
conceptual este mult mai uoar dect modificarea unor tabele deja
existente, care eventual conin i o mulime de date. Ideea de baz a analizei
datelor i construirii modelului conceptual este "s msori de dou ori i s
tai o singur dat". Informaiile necesare realizrii modelului conceptual se
obin folosind metode convenionale precum intervievarea oamenilor din
cadrul organizaiei i studierea documentelor folosite.
Odat obinute aceste informaii ele trebuiesc reprezentate ntr-o form
convenional care s poat fi uor neleas de toat lumea. O astfel de
reprezentare este diagrama entiti-relaii, numit i harta relaiilor, sau ERDul (Entity Relationship Diagram). Aceste scheme sunt un instrument util care
uureaz comunicarea dintre specialitii care proiecteaz bazele de date i

programatori pe de o parte i beneficiari, pe de alt parte. Acetia din urm


pot nelege cu uurin o astfel de schem, chiar dac nu sunt cunosctori
n domeniul IT.
n concluzie putem sublinia cteva caracteristici ale ERD-urilor:
- sunt un instrument de proiectare
- sunt o reprezentare grafic a unui sistem de date
- ofer un model conceptual de nalt nivel al bazelor de date
- sprijin nelegerea de ctre utilizatori a datelor i a relaiilor dintre acestea
- sunt independente de implementare.
n cele ce urmeaz vom prezenta principalele elemente care intr n
componena unui ERD precum i conveniile de reprezentare a acestora.

3. Entiti. Instane. Atribute. Identificator unic.


O entitate este un lucru, obiect, persoan sau eveniment care are
semnificaie pentru afacerea modelat, despre care trebuie s colectm i s
memorm date. O entitate poate fi un lucru real, tangibil precum o cldire, o
persoan, poate fi o activitate precum o programare sau o operaie, sau
poate fi o noiune abstract.
O entitate este reprezentat n ERD printr-un dreptunghi cu colurile
rotunjite. Numele entitii este ntotdeauna un substantiv la singular i se
scrie n partea de sus a dreptunghiului cu majuscule, ca n figura 1.

Director

Regizor

Actor

Figura 1- Exemple de entiti i modul de


reprezentare
O entitate este de fapt o clas de obiecte i pentru
orice entitate exist mai multe instane ale sale. O
instan a unei entiti este un obiect, persoan,
eveniment, particular din clasa de obiecte care
formeaz entitatea. De exemplu, actorul Johnny

Actor
# cnp
* nume

Depp din Owensboro, Kentucky este o instan a

* prenume

De exemplu atributele entitii ACTOR sunt cnp,

* adresa

nume, prenume, adresa, numr de telefon, adresa


atributele se vor scrie imediat sub numele entitii,

* numar de
telefon

cu litere mici. Un atribut este un substantiv la

* adresa de email

de email, data naterii etc. n cadrul unui ERD,

singular . Un atribut poate fi obligatoriu sau


opional. Dac un atribut este obligatoriu, pentru

* data nasterii

fiecare instan a entitii respective trebuie s


avem o valoare pentru acel atribut, de exemplu
este obligatoriu s cunoatem numele actorilor.
avea instane pentru care nu cunoatem valoarea
atributului respectiv. De exemplu atributul email al
entitii ACTOR este opional, un actor putnd s nu
aib adres de email. Un atribut obligatoriu este
precedat n ERD de un asterisc *, iar un atribut

Film
# titlu
# regizor

opional
vacare
fi precedat
cercule
o.
Atributele
definescde
nun
mod
unic instanele
unei

# studio

entiti se numesc identificator unic (UID Unique

#
data_aparitiei

IDentifier). UID-ul unei entiti poate fi compus dintrun singur atribut, de exemplu codul numeric
personal poate fi un identificator unic pentru

* durata

entitatea ACTOR. n alte situaii, identificatorul unic


Figura
3- Entitatea
este
compus
dintr-oFilm
combinaie de dou sau mai
De exemplu combinaia dintre titlu, numele regizorului, numele studioului i

data apariiei poate forma unicul identificator al entitii FILM. Oare


combinaia numele studioului i numele regizorului nu era suficient?
Rspunsul este NU, deoarece pot exista de exemplu mai multe filme regizate
toate de James Cameron la Universal Studios , dar aprute la date diferite.
Daca se recurge la o modalitate de identificare printr-un cod artificial oferit in
mod automat de program, e vorba de UID artificial.
Atributele care fac parte din identificatorul unic al unei entiti vor fi
precedate de semnul diez # (figura 2 i 3). Atributele din UID sunt
ntotdeauna obligatorii, ns semnul # este suficient, nu mai trebuie pus i
un semn asterisc n faa acestor atribute. Valorile unor atribute se pot
modifica foarte des, ca de exemplu atributul vrst. Spunem n acest caz c
avem de a face cu un atribut volatil. Dac valoarea unui atribut ns se
modific foarte rar sau deloc (de exemplu data naterii) acesta este un
atribut non-volatil. Evident este de preferat s folosim atribute non-volatile
atunci cnd acest lucru este posibil.

4. Relaii ntre entiti


n lumea real, obiectele nu sunt izolate. Intre ele exist relaii. Aadar, dup
ce ai identificat care sunt entitile i atributele acestor entiti este timpul
s punem n eviden relaiile care exist ntre aceste entiti, modul n care
acestea comunic ntre ele. O relaie este o asociere, legtur, sau
conexiune existent ntre entiti i care are o semnificaie pentru afacerea
modelat. Orice relaie este bidirecional, legnd dou entiti sau o
entitate cu ea nsi. De exemplu, actorii joaca in mai multe fulme, un film
este jucat de actori.
Orice relaie este caracterizat de urmtoarele elemente:

1. numele relaiei ;
2. opionalitatea relaiei;
3. gradul (cardinalitatea) relaiei.
S lum de exemplu relaia existent ntre entitile ACTOR i FILM. Vom
spune:
Un ACTOR joac ntr-o FILM. Si intr-un FILM trebuie s joace unul sau mai
muli ACTORI.
- Numele relaiei este: joac.
- Pentru a stabili opionalitatea relaiei trebuie s rspundem la urmtoarea
ntrebare: Un actor trebuie s joace ntr-un film? Se poate ca un actor s nu
joace n nici un film? Dac acceptm c toi actorii trebuie s joace ntr-un
film relaia este obligatorie sau mandatorie i vom spune: Un ACTOR trebuie
s joace ntr-un FILM.
Dac ns acceptm c exist actori care nu joac n nici un film (de
exemplu sunt in vacanta i n momentul de fa nu mai joac la nici un film),
atunci relaia este opional. n acest caz vom spune: Un ACTOR poate s
joace ntr-un FILM.
- Cardinalitatea relaiei este dat de numrul de instane ale entitii din
partea dreapt a relaiei care pot intra n relaie cu o instan a entitii din
partea stng a relaiei. Adic va trebui s rspundem la ntrebri de genul:
In cate filme poate juca un actor? Rspunsurile posibile sunt unul i numai
unul, sau unul sau mai muli. Vom spune:
Un ACTOR trebuie/poate s joace intr-un FILM i numai unu.
Un ACTOR trebuie/poate s joace in unul sau mai multe FILME.

Cea mai realist variant a relaiei este aadar: Un ACTOR poate s joace in
unul sau mai multe FILME .

4.1. Convenii de reprezentare a relaiilor


n cadrul diagramei entiti-relaii, o relaie va fi reprezentat printr-o linie ce
unete cele dou entiti. Deoarece o relaie este bidirecional, linia ce
unete cele dou entiti este compus din dou segmente distincte, cte
una pentru fiecare entitate. Tipul segmentului ce pleac de la o entitate ne
va indica opionalitatea relaiei dintre aceast entitate i entitatea aflat n
cealalt parte a relaiei. Dac acest segment este continuu este vorba de o
relaie obligatorie, o linie ntrerupt indic o relaie opional.
De exemplu n figura 4 segmentul ce pleac de la entitatea ACTOR fiind
ntrerupt nseamn c un actor poate juca intr-un film, adic relaia este
opional. Segmentul ce pleac dinspre entitatea Film este continu, deci
intr-un film trebuie s joace actori.
joac

Actor

Film

are
Figura 4 Reprezentarea relaiilor
Modul n care o linie se termin spre o entitate este important. Dac se
termin printr-o linie simpl, nseamn c o instan i numai una a acestei
entiti este n relaie cu o instan a celeilalte entiti. n exemplul anterior,
linia de la ACTOR la FILM se termin n partea dinspre FILM cu o linie simpl,
deci un actor joac intr-un film i numai unul.
Dac linia se termin cu trei linii (picior de cioar) nseamn c mai multe
instane ale entitii pot corespunde unei instane a celeilalte entiti. n
exemplul anterior linia de la FILM la ACTOR se termin cu piciorul de cioar,
nseamn c unei instane a entitii FILM i corespund mai multe instane ale
entitii ACTOR, adic intr-un film joaca unul sau mai muli actori.
Caracteristica relaiei
Numele relaiei

Valoare
un verb

Mod de reprezentare
se scrie deasupra relaiei

Opionalitatea

relaie obligatorie
(TREBUIE)
relaie opional
(POATE)
una i numai una
una sau mai multe

Cardinalitatea

linie continu
linie ntrerupt
linie simpl
picior de cioar

4.2. Tipuri de relaii Variantele de relaii ce pot exista ntre dou


entiti sunt prezentate mai jos:
- relaii one-to-one acest tip de relaie este destul de rar ntlnit. Uneori
astfel de relaii pot fi modelate transformnd una dintre
entiti n atribut al celeilalte entiti.
Figura 5 Relaii one-to-one
ACTOR

are

ROL

pentru
ACTOR

LOC IN
CINEMATOGRA
F

este
este

PERSOANA

ocupat de

CINEFIL

ocupa

- relaii one-to-many sunt cele mai ntlnite tipuri de relaii, ns i aici


cazurile c i d prezentate n figura 6 sunt mai puin uzuale. S facem cteva
observaii pe marginea exemplelor din figura 6. Cazul a este foarte des
ntlnit. La cazul b, am ales o relaie opional dinspre POVESTE spre AUTOR
deoarece autorul poate fi necunoscut (povestea fiind prelucrata in scenariul
filmului). La cazul c, am considerat c o DISTRIBUTIR nu poate exista fr a
avea cel puin un ACTOR, ns un actor poate avea roluri singur fara sa

implice o distributie, deci nu face parte din nici o distributie. Varianta d


modeleaz o colecie de filme memorate pe CD-uri. Pentru afacerea
considerat, un CD conine obligatoriu un film, dar unul singur, ns un film
poate s nu ncap pe un singur CD de aceea el este poate fi memorat pe
unul sau mai multe CD-uri.
a)

produce
produs

----------------

AUTOR

scrie

scrisa de

b)

DISTRIBUTIE
STUDIO

formata din

ACTOR
FILM

joaca in

c)

d)

POVESTE

FILM

memorat pe

CD

contine
Figura 6 Relaii one-to-many

- relaii many-to-many aceste tipuri de relaii apar n prima faz a


proiectrii bazei de date, ns ele trebuie s fie ulterior eliminate. Figura 7
prezint cteva exemple de relaii many-to-many. La punctul b am considerat

c un film poate aprea pe oferta de filme a unui cinematograf, ns poate s


nu fie aleas de nici un cinefil de aceea un film poate fi urmat de unul sau mai
muli cinefili. Invers, este posibil ca un cinefil s fi vazut toate filme din oferta
cinematografului i s nu mai fie interest de niciun film. La punctul c, un
actor trebuie s joace in cel puin o scena. Iar o scena trebuie s fie jucat de
cel puin un actor.

a)

FILM

APARE PE

PROGRAM
CONTINE

b)

FILM

URMARIT DE

CINEFIL
VIZIONEAZA

c)

ACTOR

JOACA

SCENA
JUCATA

Figura 7 Relaii many-to-many

II. Normalizarea datelor

Normalizarea este o tehnic de proiectare a bazelor de date prin care se elimin


(sau se evit) anumite anomalii i inconsistene a datelor. O baza de date bine
proiectat nu permite astfel ca datele s fie redundante, adic aceeai informaie s
se gseasc n locuri diferite, sau s memorezi n baza de date, informaii care se
pot deduce pe baza altor informaii memorate n aceeai baz de date.
Edgar Codd a definit primele trei forme normale 1NF, 2NF i 3NF. Ulterior s-au mai
definit formele normale 4NF, 5NF, 6NF care ns sunt rar folosite n proiectarea
bazelor de date.
1. Prima form normal
O entitate se gsete n prima form normal dac i numai dac:
- nu exist atribute cu valori multiple;
- nu exist atribute sau grupuri de atribute care se repet.
Cu alte cuvinte toate atributele trebuie s fie atomice, adic s conin o singur
informaie.
Dac un atribut are valori multiple, sau un grup de atribute se repet, atunci trebuie
s creai o entitate suplimentar pe care s o legai de entitatea original printr-o
relaie de 1:m. n noua entitate vor fi introduse atributele sau grupurile de atribute
care se repet.
2. A doua form normal
O entitate se gsete n a doua form normal dac i numai dac se gsete n
prima form normal i n plus orice atribut care nu face parte din UID (unique
identifier) va depinde de ntregul UID nu doar de o parte a acestuia.
3. A treia form normal
O entitate se gsete n a treia form normal dac i numai dac se gsete n a
doua form normal i n plus nici un atribut care nu este parte a UID-ului nu
depinde de un alt atribut non-UID. Cu alte cuvinte nu se accept dependene
tranzitive, adic un atribut s depind de UID n mod indirect.

Entitai
Entitati
1.Film

Atribute
Aceasta entitate reprezinta
totalitatea filmelor produse

2.Studio

de studio.
Aceasta entiate prezinta
informatii despre toate
studiourile care produc un

3.Actor

film.
Aceasta entitate este
reprezentata toti actorii

4.Regizor

care pot juca intr-un film.


Aceasta entitate reprezinta
totalitatea regizorilor unui

5.Buget

studio.
Aceasta entitate reprezinta
totalitatea fondurilor
alocate pentru productia
unui film.

6.Contract

Aceasta entitate reprezinta


totalitatea regulilor care
reglementeaza relatia dintre

actor si studio.

Atribute
Entitati

Proprietati

1.Film

# titlu
# regizor
# studio
# data_aparitiei
* durata

2.Studio

# id_studio
# data_infiintarii
* nume
* adresa
* adresa de email

3.Actor

# cnp
* nume
* prenume
* adresa
* numar de telefon
* adresa de email
* data nasterii

4.Regizor

# id_regizor
# nume
# prenume
* adresa
* adresa de email

5.Buget

# id_buget
# id_film
* tip_buget
* data
* suma

6.Contract

# id_contract
# cnp_actor
* zi_start
* zi_sfarsit
* termeni
* obiective

Relaii intre entitai


Entitati
1.Actor-Contract
2.Film-Buget
3.Film-Actor
4.Studio-Regizor
5.Regizor-Film

Tip relatie
One
One
One
One
One

to
to
to
to
to

one
one
many
many
many

III.Maparea relaiilor
Transformarea modelului conceptual, a modelului ERD n model fizic, adic n
baza de date propriu zis, se numete mapare.

Model conceptual
Atribut
Instan

Model fizic
Tabel
Cmp ( coloan)
nregistrare

Termen Oracle
Table
Field
Record

UID
Indentificator unic

(articol,linie)
Cheie primar
Cheie unic

Primary key

secundar
Relaie

Cheie strin i

Foreign key

Regulile afacerii

constrngere
Restricii (constrngeri)

Foreign key Constraint


Constraints

Entitate

Tip de relaie
One-to-one

Reguli de mapare
1. Se introduce n entitatea E1 cheia primar a

E1

entitii E2, ca i cheie strin .Aceast cheie

E2

strin va fi i cheie unic

E1

2. Cheia strin se introduce n entitatea E1 sau n

E2

entitatea E2, dar se scrie cod adiional

E1

3. Cheia strin se introduce n entitatea cu mai

E2

puine instane
Introducem n tabela corespunztoare entitii de

One-to-many

pe partea many a relaiei cheia primar a entitii


de pe partea one a relaiei. Cheia strin va avea
opionalitatea relaiei
- dac relaia pe partea many este opional atunci
i coloanele cheii strine vor fi opionale.
- dac relaia este obligatorie pe partea many
Barat

atunci cheia strin va fi opional


Cheia strin apare n partea many a relaiei i n
plus, face parte din cheia primar

Bibliografie

- https://asandului.files.wordpress.com/2014/09/proiect
area-bazelor-de-date.pdf
- https://tuneam.files.wordpress.com/2014/10/regulide-mapare.pdf
- http://www.atestateinformatica.ro/tutoriale/relatiiintre-entitati
- http://www.atestateinformatica.ro/tutoriale/maparearelatiilor-erd
- https://www.gliffy.com/publish/4151392/