Oracle Teorie

S-ar putea să vă placă și

Sunteți pe pagina 1din 13

Colectarea i analizarea datelor.

Modelul conceptual
Primul pas n realizarea unei aplicaii de baze de date este analiza datelor i realizarea
uneischeme 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. r 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. !osturile modificrii acestei
baze de date este mult mai mare dec"t costurile pe care le#ar fi implicat etapa de analiz i realizare a
modelului conceptual. $odificarea modelului conceptual este mult mai uoar dec"t modificarea unor
tabele de%a existente, care eventual conin i o mulime de date. &deea de baz a analizei datelor i
construirii modelului conceptual este 's msori de dou ori i s tai o singur dat'.
&nformaiile necesare realizrii modelului conceptual se obin folosind metode convenionale precum
intervievarea oamenilor din cadrul organizaiei i studierea documentelor folosite.
(dat obinute aceste informaii ele trebuiesc reprezentate ntr#o form convenional care s
poat fi uor neleas de toat lumea. ( astfel de reprezentare este diagrama entiti-relaii, numit
iharta relaiilor, sau ERD#ul )Entit* Relations+ip Diagram,. Aceste sc+eme 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 sc+em, c+iar
dac nu sunt cunosctori n domeniul &-.
n concluzie putem sublinia c"teva caracteristici ale ./0#urilor1
- 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
- spri%in 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 ./0 precum i
conveniile de reprezentare a acestora.
Entiti. Instane. Atribute. Identificator unic.
( entitate este un lucru, obiect, persoan sau eveniment care are semnificaie pentru afacerea
modelat, despre care trebuie s colectm i s memorm date. ( 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.
( entitate este reprezentat n ./0 printr#un dreptung+i cu colurile rotun%ite. 2umele entitii este
ntotdeauna un substantiv la singular i se scrie n partea de sus a dreptung+iului cu majuscule, ca n
figura &.3.3.
( entitate este de fapt o clas de obiecte i pentru orice entitate exist mai multe instaneale
sale. ( instan a unei entiti este un obiect, persoan, eveniment, particular din clasa de obiecte care
formeaz entitatea. 0e exemplu, elevul X din clasa a &4#a A de la 5iceul de &nformatic din
localitatea Y este o instan a entitii ELEV.
0up cum se vede pentru a preciza o instan a unei entiti, trebuie s specificm unele
caracteristici ale acestui obiect, s#l descriem )precizm de exemplu numele, clasa, coala etc,. Aadar,
dup ce am identificat entitile trebuie s descriem aceste entiti n termeni reali, adic s le
stabilim atributele. 6n atribut este orice detaliu care servete la identificarea, clasificarea,
cuantificarea, sau exprimarea strii unei instane a unei entiti. Atributele sunt informaii specifice ce
trebuie cunoscute i memorate.
0e exemplu atributele entitii ELEV sunt nume, prenume, adresa, numr de
telefon, adresa de email, data naterii etc.
n cadrul unui ./0, atributele se vor scrie imediat sub numele entitii, cu litere
mici. 6n atribut este un substantiv la singular )vezi figura &.3.7,.
6n atribut poate fi obligatoriu sau opional. 0ac un atribut este obligatoriu,
pentru fiecare instan a entitii respective trebuie s avem o valoare pentru
acel atribut, de exemplu este obligatoriu s cunoatem numele elevilor. Pentru
un atribut opional putem avea instane pentru care nu cunoatem valoarea
atributului respectiv. 0e exemplu atributul email al entitii ELEV este opional, un elev put"nd s
nu aib adres de email. 6n atribut obligatoriu este precedat n ./0 de un asterisc *, iar un atribut
opional va fi precedat de un cercule o.
Atributele care definesc n mod unic instanele unei entiti se numesc identificator unic )UID,.
6&0#ul unei entiti poate fi compus dintr#un singur atribut, de exemplu codul numeric personal poate fi un
identificator unic pentru entitatea ELEV. n alte situaii, identificatorul unic este compus dintr#o combinaie
de dou sau mai multe atribute.
0e exemplu combinaia dintre titlu, numele autorului i data apariiei poate
forma unicul identificator al entitii CARTE. (are combinaia titlu i nume autor nu
era suficient8 /spunsul este 26, deoarece pot exista de exemplu mai multe
volume scrise de $i+ai .minescu av"nd toate titlul Poezii, dar aprute la date
diferite.
Atributele care fac parte din identificatorul unic al unei entiti vor fi precedate
de semnul diez # )figura &.3.7 i &.3.9,. Atributele din UID sunt ntotdeauna obligatorii, ns
semnul # este suficient, nu mai trebuie pus i un semn asterisc n faa acestor atribute.
:alorile unor atribute se pot modifica foarte des, ca de exemplu atributul v"rst. Spunem n acest caz
c avem de a face cu un atribut volatil. 0ac valoarea unui atribut ns se modific foarte rar sau deloc
)de exemplu data naterii, acesta este un atribut non-volatil. .vident este de preferat s folosim
atribute non#volatile atunci c"nd acest lucru este posibil
Normalizarea relatiilor in ORACLE
Ce este normalizarea
2ormalizarea este o te+nic de proiectare a bazelor de date prin care se elimin )sau se evit, anumite
anomalii i inconsistene a datelor. ( 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. Anomaliile
care pot s apar la o baz de date nenormalizat sunt urmtoarele1
anomalii la actualizarea datelor la o bibliotec se nregistreaz ntr#o tabel urmtoarele date despre
cri1 &S;2, titlu, autor, pre, subiect, editura, adresa editurii. 5a un moment dat o editur i sc+imb
adresa. ;ibliotecara va trebui s modifice adresa editurii respective, n nregistrrile corespunztoare
tuturor crilor din bibliotec aprute la respectiva editur. 0ac aceast modificare nu se face cu
succes, unele dintre nregistrri rm"n"nd cu vec+ea adres, apare din nou o inconsisten a datelor.
- anomalii de inserare < n exemplul anterior, nu vom putea memora adresa unei edituri, lucru
inacceptabil dac dorim s avem informaii i despre edituri a cror cri nu le avem n bibliotec,
eventual de la care dorim s facem comenzi.
- anomalii de tergere < s presupunem c ntr#o tabel memorm urmtoarele informaii1 codul
studentului, codul cursului, codul profesorului. 5a un moment dat, nici un student nu mai dorete s
participe la un anume curs. =terg"nd toate nregistrrile corespunztoare cursului, nu vom mai putea
ti niciodat cine preda acel curs.
.dgar !odd a definit primele trei forme normale 32, 72 i 92. 6lterior s#au mai definit formele
normale >2, ?2, @2 care ns sunt rar folosite n proiectarea bazelor de date.
!rima form normal
O entitate se gsete n prima form normal dac i numai dac: nu e!ist atri"ute cu #alori
multiple$ nu e!ist atri"ute sau grupuri de atri"ute care se repet. !u alte cuvinte toate atributele
trebuie s fie atomice, adic s conin o singur informaie.
0ac 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 31m. n noua entitate vor fi
introduse atributele sau grupurile de atribute care se repet.
S considerm entitatea din figura &.7.3, referitoare la notele elevilor unei clase. !"teva observaii
referitoare la aceast entitate1 c"te discipline are un elev8 !"te perec+i )disciplina, nota, va trebui s
aib entitatea .levi8 S spunem c tim exact c"te discipline maxim poate studia un elev. !e se
nt"mpl dac n anul viitor colar acest numr de discipline va fi mai mare8 n plus, la o materie un
elev poate avea mai multe note. !"te note8 !um memorm aceste note8 5e punem n c"mpul
corespunztor disciplinei cu virgul ntre ele8
!um rezolvm aceast problem8 :om crea o nou entitate n care vom introduce disciplina i nota la
disciplina respectiv )vezi figura &.7.7.,.
n acest fel fiecrui elev i pot corespunde oric"te note, iar la o disciplin poate avea oric"te note,
singura restricie conform acestui model fiind c un elev nu va putea primi n aceeai zi la aceeai
materie mai multe note.
%igura I&'&(& %igura I&'&'
6n alt exemplu de nclcare a regulilor primei formei normale, puin mai 'ascuns', este prezentat n
figura &.7.?. 0e ce8 Pentru c adresa este de forma 'str. lorilor, bl. >?, sc. A, ap. 7A, eta% 9, ;raov,
cod 379379', form care de fapt conine mai multe informaii elementare. Aadar, n mod normal acest
atribut ar trebui 'spart' n mai multe atribute ca n figura &.7.@.
%igura I&'&) %igura I&'&*&
2oile atributele introduse sunt opionale ntruc"t dac elevul locuiete la cas, probabil atributele bloc,
apartament, scara, eta%, nu au sens. &nvers dac elevul locuiete la bloc, probabil nu poate fi completat
numrul.
Pentru acest tip de nclcare a regulilor formei normale 32 poate fi totui ignorat, decizia depinz"nd
de natura fenomenului, sau afacerii modelate. n exemplul anterior, ntruc"t datele din interiorul unei
adrese este puin probabil s se modifice, modific"ndu#se el mult adresa complet a unui elev, se poate
decide s nu operm modificarea anterioar. 0ac ns aceste informaii s#ar modifica frecvent, de
exemplu denumirile strzilor s#ar modifica mereu, atunci probabil modificarea este de dorit.
A doua form normal
( entitate se gsete n a doua form normal dac i numai dac se gsete n
prima form normal i n plus orice atri"ut care nu face parte din UID
(uni+ue identifier) #a depinde de ntregul UID nu doar de o parte a
acestuia.
0e exemplu dac memorm anga%aii unui departament ntr#o entitate ca mai %os1
Se observ c data_nasterii i adresa sunt dou atribute care depind doar de id#ul anga%atului nu
de ntregul 6&0 care este combinaia dintre atributele id_dep si id_angajat. Aceast situaie se
rezolv prin crearea unei noi entiti ANGAJAT, pe care o legm de entitateaDEARTA!ENT printr#o
relaie "#m.
( situaie mai special este n cazul relaiilor barate, c"nd trebuie inut seama c 6&0#ul unei entiti
este compus din atribute din entitatea respectiv plus un atribut sau mai multe atribute provenite din
relaia barat. S considerm urmtorul exemplu1
Se observ c 6&0#ul entitii AARTA!ENT este compus din combinaia a trei atribute1 numrul
apartamentului, numrul blocului i strada. 0eci toate atributele din entitatea AARTA!ENT care nu
fac parte din 6&0, trebuie s depind de ntregul 6&0. 0ar se tie c atributul codBpostal depinde doar
de strada si de numrul blocului, nu i de numrul apartamentului. Acest lucru ne spune ca acest
atribut nu este memorat la locul potrivit. 0eoarece depinde doar de combinaia )strada, nrBbloc,,
nseamn c de fapt depinde de 6&0#ul entitii $lo%. Aadar vom muta atributul codBpostal n
entitatea &L'C.
Observaie 0ac o entitate se gsete n prima form normal i 6&0#ul su este format dintr#un singur
atribut atunci ea se gsete automat n a doua form normal.
A treia form normal
( entitate se gsete n a treia form normal dac i numai dac se gsete n a doua form
normal i n plus nici un atri"ut care nu este parte a UIDului nu depinde de un alt atri"ut non
UID. !u alte cuvinte nu se accept dependene tranzitive, adic un atribut s depind de 6&0 n mod
indirect.
5um ca exemplu entitatea CARTE din figura &.7.3C. Atributul $iogra(ie_a)tor nu
depinde de *+&N ci de atributul a)tor. 2erezolvarea acestei situaii duce la memorarea de date
redundante, deoarece biografia unui autor va fi memorat pentru fiecare carte scris de autorul
respectiv. /ezolvarea acestei situaii este s crem o nou entitate A,T'R, pe care o legm de
entitatea CARTE printr#o relaie "#m )figura &.7.33.,.
%igura I&'&(,& %igura I&'&((&
Atributul nu por avea alte atribute, asa ca el devine entitate.
Relaii "ntre entiti
n lumea real, obiectele nu exist izolat.&ntre ele exista relatii 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. ( relaie este o asociere, legtur, sau conexiune
existent ntre entiti i care are o semnificaie pentru afacerea modelat. (rice relaie este
bidirecional, leg"nd dou entiti sau o entitate cu ea nsi. 0e exemplu, elevii studiaz mai multe
materii, o materie e studiat de ctre elevi.
(rice relaie este caracterizat de urmtoarele elemente1
- 3. numele relaiei D 7.opionalitatea relaieiD 9. gradul
)cardinalitatea, relaiei.
S lum de exemplu relaia existent ntre entitile J,C-T'R i EC.*-. :om spune1
6n J,C-T'R %oac ntr#o EC.*-. Si 5a o EC.*- trebuie s %oace unul sau mai
muli J,C-T'R*.

- -umele rela.iei este1 joac.
- Pentru a stabili op.ionalitatea relaiei trebuie s rspundem la urmtoarea ntrebare1 6n
%uctortre"uie s %oace ntr#o ec+ip8 Se poate ca un %uctor s nu %oace n nici o ec+ip8 0ac
acceptm c toi %uctorii trebuie s %oace ntr#o ec+ip relaia este obligatorie sau mandatorie i
vom spune1 6n J,C-T'R trebuie s %oace ntr#o EC.*-.
0ac ns acceptm c exist %uctori care nu %oac n nici o ec+ip )de exemplu li s#a terminat
contractul i n momentul de fa nu mai %oac la nici o ec+ip,, atunci relaia este opional.
n acest caz vom spune1 6n J,C-T'R poate %uca la oEC.*-.
- /ardinalitatea 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 st"ng a relaiei. Adic va trebui s
rspundem la ntrebri de genul1 5a c"te ec+ipe poate %uca un %uctor8 /spunsurile posibile
sunt unul i numai unul, sau unul sau mai mul.i. :om spune1
6n J,C-T'R trebuieEpoate s %oace la o EC.*- !i numai una.
sau 6n J,C-T'R trebuieEpoate s %oace la una sau mai multe EC.*E.
!ea mai realist varinat a relaiei este aadar1 6n J,C-T'R poate s %oace la o EC.*- i numai
una.
Con#enii de reprezentare a relaiilor

n cadrul diagramei entiti#relaii, o relaie va fi reprezentat printr#o linie ce unete cele dou entiti.
0eoarece o relaie este bidirecional, linia ce unete cele dou entiti este compus din dou
segmente distincte, c"te una pentru fiecare entitate. -ipul segmentului ce pleac de la o entitate ne va
indica op.ionalitatea relaiei dintre aceast entitate i entitatea aflat n cealalt parte a relaiei. 0ac
acest segment este continuu este vorba de o relaie obligatorie, o linie ntrerupt indic o relaie
opional.
0e exemplu n figura &.3.> segmentul ce pleac de la entitatea F6!G-(/ fiind ntrerupt nseamn c
un %uctor poate %uca la o ec+ip, adic relaia este opional. Segmentul ce pleac dinspre entitatea
.!H&PG este continu, deci la o ec+ip trebuie s %oace %uctori.
%igura I&(&0& /eprezentarea relaiilor
$odul n care o linie se termin spre o entitate este important. 0ac 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 J,CAT'R la EC.*- se termin n partea dinspre EC.*- cu olinie
simpl, deci un %uctor %oac la o ec+ipa !i numai una.
0ac 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 EC.*- la J,C-T'Rse
termin cu piciorul de cioar, nseamn c unei instane a entitii EC.*- i corespund mai multe
instane ale entitii J,C-T'R, adic o ec+ip are unul sau mai muli %uctori.
/aracteristica rela.iei 1aloare 2od de reprezentare
-umele rela.iei un verb se scrie deasupra relaiei
Op.ionalitatea relaie obligatorie
)-/.;6&.,
linie continu
relaie opional
)P(A-.,
linie ntrerupt
/ardinalitatea una i numai una
linie simpl
una sau mai multe
picior de cioar
$ipuri i subtipuri
n lumea real obiectele sunt deobicei clasificate. Astfel vorbim despre animale vertebrate i
nevertebrate, despre licee teoretice, colegii, grupuri colare etc. . normal ca n modelarea bazelor de date
s putem modela i astfel de clasificri.
6n su"tip sau o su"entitate este o clasificare a unei entiti care are caracteristici comune cu entitatea
general, precum atribute i relaii. Subtipurile se reprezint n cadrul +rii relaiilor ca entiti n
interiorul altei entiti. Atributele i relaiile comune tuturor subtipurilor se vor reprezenta la
nivelul supertipului, sau superentit.ii. Atributele i relaiile supertipului vor fi motenite de ctre
subtipuri.
6n subtip poate avea la r"ndul su alte subtipuri incluse.
%igura I&0&(& olosirea subtipurilor i supertipurilor
Subtipurile trebuie s respecte dou reguli importante1
- trebuie s acopere toate cazurile posibile de instane ale supertipului, cu alte cuvinte, orice
instan a supertipului trebuie s aparin unui subtip. 0e multe ori ./0#urile includ un subtip
'A5-65' pentru a acoperi toate situaiile, i pentru a permite viitoare dezvoltri ale modelului.
subtipurile trebuie s se exclud reciproc. Aceast regul se traduce pe exemplul de mai sus n faptul
c un anga%at nu poate fi, de exemplu, i manager i secretar n acelai timp.
%ocumentare &usiness Rules
Pentru ca modelul conceptual sa fie complet se definesc reguli structurale )#indica tipuri de info ce
vor fi stocate si cum relationeaza ele, si reguli procedurale )legate de timp , etc, #acestea ne se repr pe
./0, ci trebuie implementate in programare ,.

$ipuri de relaii

:ariantele de relaii ce pot exista ntre dou entiti sunt prezentate mai %os1
- rela.ii onetoone < acest tip de relaie este destul de rar nt"lnit. 6neori astfel de relaii pot fi
modelate transform"nd una dintre entiti n atribut al celeilalte entiti.
-
%igura I&(&)& /elaii one#to#one

- rela.ii onetoman3 < sunt cele mai nt"lnite tipuri de relaii, ns i aici cazurile c i d prezentate
n figura &.3.@ sunt mai puin uzuale.
S facem c"teva observaii pe marginea exemplelor din figura &.3.@. /azul a este foarte des
nt"lnit. 5a cazul ", am ales o relaie opional dinspre 'E/*E spre 'ET deoarece poate fi vorba
de o poezie popular i n acest caz nu exist un poet cunoscut. 5a cazul c, am considerat c o
formaie nu poate exista fr a avea cel puin un membru, ns un artist poate avea o carier solo,
deci nu face parte din nici o formaie. 1arianta d modeleaz o colecie de filme memorate pe !0#
uri. Pentru afacerea considerat, un !0 conine obligatoriu un film, dar unul singur, ns un film
poate s nu ncap pe un singur !0 de aceea el este poate fi memorat pe unul sau mai multe !0#uri.

%igura I&(&*& /elaii one#to#man*
- rela.ii man3toman3 < aceste tipuri de relaii apar n prima faz a proiectrii bazei de date, ns
ele trebuie s fie ulterior eliminate. igura &.3.I prezint c"teva exemple de relaii man*#to#
man*. 5a punctul b am considerat c un curs poate aprea pe oferta de cursuri a unei faculti,
ns poate s nu fie aleas de nici un student de aceea un curs poate fi urmat de unul sau mai
muli studeni. &nvers, este posibil ca un student s fi terminat studiile i s se pregteasc pentru
susinerea examenului de licen i de aceea el nu mai frecventeaz nici un curs. 5a punctul c, un
profesor anga%at al unei coli tre"uie s predea cel puin o disciplin. &ar o disciplin din planul
de nvm"nt trebuie s fie predat de cel puin un profesor.
%igura I&(&4& /elaii man*#to#man*
$ransferabilitate
Spunem c o relaie este nontransferabil dac o asociaie ntre dou instane ale celor dou entiti,
odat stabilit, nu mai poate fi modificat. 2ontransferabilitatea unei relaii se reduce la faptul c
valorile c+eii strine corespunztoare relaiei respective nu pot fi modificate.!ondiia de
nontransferabilitate a unei relaii este asigurat prin program. 0e aceea trebuie s documentm aceast
restricie.n ./0 o relaie nontransferabil se noteaz cu un romb pe linia corespunztoare relaiei,
nspre entitatea a crei c+eie strin nu este permis s o modificm )adic n partea cu man* a unei
relaii one#to#man*,.
n figura &.>.? este dat un exemplu de relaie nontransferabil. .ste vorba despre notele date elevilor.
.ste normal ca o not dat unui elev s nu poat fi apoi transferat unui alt elev.
%igura I&0&)& /elaii nontransferabile
Rezol#area relaiilor man'(to(man'
0up cum am precizat mai devreme
relaiile man*#to#man* pot aprea ntr#o prim
faz a proiectrii bazei de date ns ele nu au
voie s apar n sc+ema final. S considerm
relaia din figura &.3.3> dintre entitile S-60.2- i !6/S. Se tie c orice curs se termin n general
cu un examen. 6nde vom memora nota studentului la fiecare examen8

%igura I&(&(0
0ac ncercm s introducem atributul N'TA la entitatea +T,DENT, nu vom ti crei materii
corespunde acea not, ntruc"t unei instane a entutii student i corespund mai multe instane ale
entitii C,R+. &nvers dac ncercm s memorm nota n cadrul entitii C,R+, nu vom tii crui
student i aparine acea not.
/ezolvarea unei relaii man*#to#man* const introducerea unei noi entiti numit entitate de
intersecie, pe care o legm de entitile originale prin c"te o relaie one#to#man*.
Paii n rezolvarea unei relaii man*#to#man* sunt urmtorii1
3, se gsete entitatea de intersecie, pentru exemplul nostru vom introduce entitate*N+CR*ERE.
7, crearea noilor relaii
opionalitatea1 relaiile care pleac din entitatea de intersec.ie sunt ntotdeauna o"ligatorii n
aceast parte. n partea dinspre entitile originale, relaiile vor pstra opionalitatea relaiilor
iniiale.
cardinalitatea1 ambele relaii sunt de tip one#to#man*, iar partea cu man* va fi ntotdeauna
nspre entitatea de intersecie.
numele noilor relaii
9, adugarea de atribute n cadrul entitii de intersecie, dac acestea exist. n exemplul nostru ne
poate interesa de exemplu data la care s#a nscris un student la un curs, data la care a finalizat
cursul precum i nota obinut la sf"ritul cursului.
>, stabilirea identificatorului unic pentru entitatea de intersecie1 dac entitatea de intersecie nu are
un identificator unic propriu, atunci acesta se poate forma din identificatorii unici ai entitilor
iniiale la care putem aduga atribute ale entitii de intersecie.
n exemplul nostru, identificatorul unic al entitii de intersecie este format din id#ul
studentului, id#ul cursului i data nscrierii la curs.
?, aptul c identificatorul unic al unei entiti preia identificatorul unic din alt entitate cu care
este legat este reprezentat grafic prin bararea relaiei respective, nspre entitatea care preia 6&0#
ul celeilalte entiti.

Analiza CR)%(se refera la !/.A-., /.-/&:., 6P0A-., 0.5.-.#)crea , reface, actualiza,
sterge, operatii ce fac din ./0 un model complet.Se verifica daca modelul exprima toate operatiile ce
se pot face si nu are elem inutile, etc.

)I% artificial si compus
6&0#)6niJue &dentifier,#e atributul ce identifica in mod unic entitatea)ex1 !2P, cod, id,,. 0aca e
nevoie de o combinatie de mai multe atribute care sa identifice in mod unic entitatea , e vorba de un
6&0 compus. 0aca se recurge la o modalitate de identificare printr#un cod artificial oferit in mod
automat de program, e vorba de 6&0 artificial.

$ipuri de relatii in ORACLE
Relaii e*clusi#e +arce,
n unele situaii, relaiile se pot exclude reciproc, adic dintr#un grup de relaii, la un moment
dat doar una dintre ele poate avea loc. 0e exemplu, un cont anume la o banc este deinut fie de o
persoan fizic fie de o firm dar nu de ambele tipuri de clieni simultan. 6n grup de relaii exclusive
este reprezentat n +arta relaiilor printr#un arc peste relaiile care fac parte din respectivul grup, ca n
figura &.>.7. -oate relaiile ce fac parte din grupul de relaii exclusive trebuie s aib aceeai
opionalitate. 6n arc aparine unei singure entiti, adic va include doar relaii care pleac de la o
aceeai entitate.
( entitate poate avea mai multe arce, dar o anumit relaie nu poate face parte dec"t dintr#un singur
arc.
.xist dou tipuri de relaii exclusive1
# relaii exclusive obligatorii n care toate relaiile ce fac parte din arcul respectiv sunt obligatorii, ceea ce
nseamn c de fiecare dat, una dintre relaii are obligatoriu loc. .ste i cazul din figura 3 .vident c un
cont trebuie s fie deinut de o persoan fizic sau de o firm, o a treia variant neexist"nd.
# relaii exclusive opionale caz n care toate relaiile ce fac parte din arc sunt opionale. n acest caz de
fiecare dat are loc cel mult una dintre relaii, exist"nd varianta ca pentru o instan a entitii creia
aparine arcul s nu aib loc nici una din relaiile din grupul respectiv. n figura 7, este exemplificat
situaia n care un elev poate opta s fac parte din ec+ipa de fotbal, sau s participe la cercul literar sau
la cercul de informatic. ns regulile colii prevd ca un elev s nu participe la dou astfel de activiti
extracolare. /elaiile fiind opionale, nseamn c un elev are libertatea de a decide s nu participe la
nici o activitate extracolar.
& /elaii exclusive obligatorii /elaii exclusive opionale
Relaii ierar-ice. Relaii recursi#e
Haidei s analizm care este structura
personalului ntr#o firm oarecare. n
figura &.3.A este prezentat doar o parte
din organigrama unei firme.
%igura I&(&5& (rganigrama unei firme
6n model de proiectare a unei astfel de structuri ntr#o baz de date
ar fi cea din figura urmtoare1
%igura I&(&6& &mplementarea unei structuri ierar+ice
Problema este c fiecare tip de anga%at din figura anterioar este de fapt un anga%at i probabil exist
foarte multe atribute comune tuturor acestor entiti ca de exemplu nume, prenume, adres, telefon,
email, data naterii etc. :om putea de aceea modela aceast structur cu a%utorul unei singure entiti
numit ANGAJAT. ns fiecare anga%at poate fi condus de ctre un alt anga%at. Aadar vom avea o
relaie de la entitatea ANGAJAT la ea nsi. ( astfel de relaie se numete relaie recursiv.
%igura I&(&(,& &mplementarea unei structuri ierar+ice folosind relaii recursive
Relaii redundante si multiple
Atunci c"nd o relaie poate fi dedus din alte relaii spunem c acea relaie este redundant. /elatia se
poate elimina.pot exista si relaii multiple ntre entiti
Modelarea datelor istorice
:iaa nseamn sc+imbare,
orice lucru se sc+imb de#a
lungul timpului, i nu doar
obiectele se modific n timp
dar c+iar i relaiile dintre
aceste obiecte se sc+imb. Preul produselor poate suferi modificri destul de des.
actorii care duc la aceste modificri pot fi dintre cei mai diveri, rata inflaia,
anotimpul etc. Aadar atributul pre0 din cadrul entitii prod)s se modific de#a lungul timpului.
0ac nu ne intereseaz dec"t preul actual al fiecrui produs modelul este foarte simplu, ca cel din
fig.0ac ns pentru afacerea modelat este important s reinem un istoric al preurilor pentru fiecare
produs, atunci atributul pre se va transforma ntr#o nou entitate
Atributul data_s(arsit este opional,
deoarece data p"n la care este valabil
preul curent al unui produs nu este de
obicei cunoscut.
:om considera acum o situaie puin mai
dificil. S presupunem c dorim s
modelm o baz de date pentru o bibliotec. .vident este important de reinut un istoric al tuturor
mprumuturilor, deoarece pe baza acestora, se pot afla domeniile de interes ale cititorilor, i astfel vom
ti ce ac+iziii de carte s facem n viitor, vom putea determina uzura crilor astfel nc"t s le putem
nlocui etc.
ntr#o prim faz vom obine o relaie de man*#to#man* ntre entitile CARTE i C*T*T'R. iecare
carte poate fi mprumutat de mai muli cititori )evident nu n acelai timp,, i fiecare cititor poate
mprumuta mai multe cri .
S rezolvm aceast relaie
man*#to#man*. Aplic"nd ceea ce
am nvat n capitolele
anterioare vom obine sc+ema
din fig. a 7 a
S verificm c acest caz este cel corect. !+eia primar este acum combinaia
coloanelor%od_%arte idata_impr)m)t. Poate un cititor mprumuta dou cri n aceeai dat8
Adic urmtoarele dou nregistrri pot exista simultan n tabela*+T'R*C_*!R,!,T,R*8
/spunsul este 0A, combinaia celor dou coloane, pentru cele dou nregistrri fiind unic.
0eci bararea automat a celor dou relaii dinspre entitatea de intersecie nu este ntotdeauna o soluie
corect. Pentru a evita aceste complicaii putem recurge la introducerea unei c+ei artificiale n entitatea
de intersecie. n exemplul nostru se poate decide ca pentru fiecare mprumut n parte s se completeze
c"te o fia separat care are un numr unic. (binem modelul din figura &.>.39, care este de asemenea
unul corect.
%ig& &ntroducerea unei c+ei artificiale

S-ar putea să vă placă și