Sunteți pe pagina 1din 18

5.1.

Realizarea modelului conceptual; harta relaiilor


Realizarea diagramei entitate-relaie presupune parcurgerea mai multor etape:
Identificarea entitilor
Obiectivul este identificarea entitilor din modelul conceptual al utilizatorului asupra
necesitilor afacerii sale. Modelul de date conceptual const n definirea principalelor obiective
care pot prezenta interes pentru utilizator/beneficiar. O metod de identificare a entitilor
const n examinarea specificaiei cerinelor din documentaia beneficiarului cu privire la
cerinele pe care trebuie s le ndeplineasc modelul de date. Din aceast specificaie se
identific substantivele sau expresiile substantivale menionate, se caut obiectivele principale,
cum ar fi: personale, locurile sau conceptele de interes, excluzndu-se substantivele care
reprezint doar caliti ale obiectelor.
O modalitate alternativ de identificare a entitilor este de a cuta obiectele care exist
pe cont propriu. Uneori, entitile sunt greu de identificat, datorit modului n care sunt
prezentate n cadrul specificaiei cerinelor utilizatorului, deoarece utilizatorii se exprim prin
exemple sau analogii. u este ntotdeauna evident dac un anumit obiect este o entitate, o
relaie sau un atribut.
!"ist situaii n care nu se identific de la nceput toate entitile care apar n diagram,
dar aceste vor fi deduse n fazele urmtoare de realizare, de e"emplu la normalizare
#verificarea respectrii celor trei forma normale$.
%e msur ce se identific entitile, li se atribuie denumiri (substantive luate la singular)
care s aib semnificaie i s fie evidente pentru utilizatori.
Identificarea tipurilor de relaii
&n aceast etap obiectivul este identificarea relaiilor care e"ist ntre entitile
identificate. 'tunci c(nd se identific entitile #substantive$, relaiile sunt indicate prin expresii
verbale. &n ma)oritatea cazurilor relaiile sunt binare #e"ist doar ntre dou entiti$, dar e"ist *i
relaii ierarice sau recursive, care implic un singur tip de entitate.
+rebuie detectate toate relaiile care sunt: e"plicite sau implicite, deduse din e"emplele
din specificaiile utilizatorului. &n ma)oritatea cazurilor pentru a modela un fapt real, se a)unge la
o reea complex de relaii.
!eterminarea cardinalitii relaiilor
Dup identificarea relaiilor care trebuie modelate, urmeaz determinarea cardinalitii
fiecreia" care poate fi# unu-la-unu ($#$)" unu-la-multi ($#%) sau multi-la-multi (%#%)&
!eterminarea numelor de relaii
%e msur ce se identific tipurile de relaii, li se atribuie denumiri (verbe sau expresii
verbale) care au semnificaie *i sunt evidente pentru utilizator.
!esenarea diagramei entitate 'relaie (()!) preliminar
,izualizarea unui sistem comple" este mai u*oar dac se folosesc imagini dec(t dac
se folosesc e"plicaii prin te"te lungi. Deci imediat dup ce au fost identificate entitile *i
relaiile este potrivit s se recurg la desenarea unei prime forme a diagramei entitate-relaie.
181
5
REALIZAREA UNUI PROIEC
Identificarea i asocierea atributelor cu entiti sau relaii
Obiectivul acestei etape const n asocierea atributelor cu entitile sau relaii adecvate.
'tributele pot fi identificate acolo unde substantivul #devenit entitate$ exprim o proprietate" o
calitate" o caracteristic a uneia dintre acele entiti sau relaii.
*tribute simple+compuse
&n cadrul acestei etape, se identific toate atributele simple (atomice) care vor fi
reprezentate n modelul de date conceptual. !"ist cazuri c(nd se identific atribute compuse&
!"ist situaii n care atributele par s fie asociate mai multor tipuri de entiti *i aceste atrebuie
clarificate. -mediat ce se identific atributele, li se atribuie denumiri care sunt semnificative i
evidente pentru utilizatori.
'poi pentru fiecare atribut se stabilete dac este mandatoriu sau opional, se stabilete
tipul valorilor atributului (tipul de date i lungimea lor)" valorile prestabilite ale atributelor (dac
apar n specificaie). .e stabile*te dac atributul are valori multiple, deoarece acest
inconvenient trebuie eliminat n procesul de normalizare.
!eterminarea atributelor unic identificator (,I!)
.e face identificarea atributelor care ar putea fi unic identificator pentru fiecare entitate *i
dac exist mai multe astfel de atribute. Unicul identificator poate fi simplu #un singur atribut$
sau compus #format din mai multe atribute$. !"ist entiti pentru care nu se poate stabili din
specificaie un unic identificator *i atunci se introduce un nou atribut care s conin numai
valori unice acesta devenind unic identificator artificial&
-pecializarea+generalizarea tipurilor de entiti
Obiectivul este identificarea tipurilor de entiti supertip i subtip, atunci c(nd este
adecvat. Dac se alege tratarea prin specializare se evideniaz diferenele prin definirea uneia
sau a mai multor subtipuri ale unei entiti numit *i supertip.
u e"ist indicaii stricte privind situaiile n care s se foloseasc supertipuri *i subtipuri,
depinde de caracteristicile particulare a situaiei de modelat. Uneori pot fi modelate prin
folosirea relaiilor arc&
!esenarea diagramei entitate ' relaie (()!) mbuntite
Obiecti vul acestei etape const n desenarea unei diagrame !ntitate/0elaie #!0$ care
s fie o reprezentare fizic a modelului conceptual al beneficiarului.
)evizuirea modelului de date fizic" mpreun cu utilizatorul
'ceasta se face pentru a garanta c modelul este o reprezentare .real/ a dorinei
utilizatorului adic, dac modelul conceptual coincide cu modeul fizic. &n cazul n care e"ist
anomalii n modelul de date, trebuie efectuate modificrile necesare, c1iar relu(nd etapele
anterioare. .e repet acest proces p(n c(nd utilizatorul consider c este o reprezentare
2corect3 a ceea ce trebuie modelat.
0alidarea modelului de date prin utilizarea tenicii de normalizare respectarea constrngerilor
cerute
4a nc1eierea acestei etape, trebuie s se obin un model al cerinelor utilizatorului care s fie:
riguros, cuprinztor *i fr ec1ivoc. %resupune urmarea mai multor etape:
(liminarea relaiilor de tip %#%
)elaia de tip %#% este nlocuit cu dou relaii de tip $#%, corespunztoare entitii nou
identificate.
182
(liminarea relaiilor complexe
O relaie comple" este cea format din trei sau mai multe entiti. &n cazul c(nd n
modelul conceptual este identificat o reprezentare comple", ea trebuie descompus prin
identificarea unei entiti intermediare. 0elaia comple" este nlocuit cu numrul necesar de
relaii de tip 5:M, corespunztoare noii entiti identificate.
(liminarea relaiilor recursive
&n cazul c(nd n modelul conceptual este reprezentat o relaie recursiv #o entitate are
o relaie cu ea ns*i$, trebuie s o descompunem pentru a identifica o entitate intermediar.
(liminarea relaiilor cu atribute
&n cazul n care n modelul de date este reprezentat o relaie cu atribute #relaie barat$,
ea trebuie s fie descompus pentru a identifica o entitate.
(liminarea atributelor cu valori multiple
Un atribut cu valori multiple conine mai multe valori pentru o singur entitate. &n cazul
c(nd modelul de date conceptual este reprezentat un atribut cu valori multiple, el trebuie
descompus pentru a identifica o entitate.
(liminarea relaiilor redundante
O relaie este redundant dac aceeai informaie poate fi obinut prin intermediul altor
relaii. 0elaiile redundante nu sunt necesare, acestea trebuie eliminate, fapt care se realizeaz
dup ce se analizeaz semnificaia fiecrei relaii dintre entiti. -n final rezult o simplificare a
modelulului de date conceptual.
1ipuri de relaii unu-la-unu ($#$)
!ntitatea care particip parial n relaie este desemnat drept entitate printe, iar cea
care particip total este desemnat drept entitate copil. 2 copie a ceii primare a entitii
printe este plasat n relaia care reprezint entitatea copil. &n cazul n care ambele tipuri de
entiti particip total sau parial ntr/o relaie de tip 5:5, desemnarea entitilor printe, respectiv
copil, este arbitrar.
1ipuri de relaii binare unu-la-muli ($#%)
6a *i anterior, pentru a reprezenta aceast relaie, o copie a ceii primare a entitii
printe este plasat drept ceie strin n relaia reprezentnd entitatea copil . +otu*i, mai e"ist
*i alii factori care pot influena alegerea final, cum ar fi dac subtipurile sunt implicate n relaii
diferite.
0alidarea modelului conceptual prin utilizarea normalizrii
3ormalizarea este utilizat pentru a mbuntii modelul, astfel nc(t acesta s satisfac
diverse constr(ngeri care evit dublarea inutil a datelor. ormalizarea garanteaz c modelul
este mai apropiat de realitate, este coerent *i are o redundan minim. ormalizarea are rolul
de stabilire a atributelor care aparin unui tip de entitate. 6onceptul fundamental al teoriei
relaionale este acela c atributele sunt grupate" mpreun ntr-o entitate deoarece ntre ele
exist o legtur logic. &n general n favoarea normalizrii pledeaz arguumentul c proiectul
normalizat organizeaz datele conform dependenelor lor funcionale. ormalizarea implic
nelegerea n totalitate a fiecrui atribut care trebuie s fie reprezentat n baza de date.
ormalizarea realizeaz validarea fiecrei entiti, conform celor trei forme normale
%rocesul de normalizare conine urmtoarele etape:
/ prima form normal #57$, care elimin gruprile repetitive.
/ a doua form normal #87$, care elimin dependenele pariale de ceia primar.
183
/ a treia form normal #97$, care elimin dependenele tranzitive de ceia primar.
0alidarea modelului conform specificaiei utilizatorului
'ceast etap const n verificarea faptului c modelul fizic cuprinde toate cerinele
utilizatorilor. 'cestea au fost desuse din documentaia acestora. Dac apare o neconcordan,
nseamn c e"ist o problem n cadrul modelului de date, care este necesar s fie rezolvat.
&n acest caz, este posibil s se fi omis o entitate o relaie sau un atribut din componena
modelului de date.
!esenarea diagramei (ntitate-)elaie (()!) finale
Obiectivul acestei etape const n desenarea unei diagrame entitate-relaie (()!) finale,
care s constituie o reprezentare logic a datelor utilizatorului. 'ceast diagram a fost validat
prin utilizarea procesului de normalizare.
!efinirea constrngerilor de integritate
6onstr(ngerile de integritate trebuie impuse pentru a prote4a baza de date fa de
situaia de a deveni incoerent.
&n aceasta se va specifica numai ce constr(ngeri de integritate sunt necesare, fr a
stabili modul n care se va realiza aceasta. 6onstr(ngerile se refer la:
- !atele necesare& .e identific atributele care trebuie s conin obligatoriu o valoare, adic
atributele care nu au voie s conin informaii lips sau valori U44.
- !omeniile atributelor& Domeniul unui atribut define*te mulimea de valori permise pe care le
poate conine acesta.
- Integritatea entitilor. 61eia primar a unei entiti nu trebuie s admit valori U44.
- Integritatea referenial& &n general relaiile dintre entiti sunt reprezentate prin crearea unei
copii a ceii primare a entitii printe n relaia copil. -ntegritatea referenial semnific faptul
c, dac c1eia strin a unei relaii copil conine o valoare, acea valoare trebuie s se refere la
o apariie e"istent *i valabil din relaia printe. .e va asigura integritatea referenial prin
specificarea unor constr(ngeri de e"isten asupra c1eilor primare *i strine. 'ceste
constr(ngeri definesc condiiile n care sunt reactualizate sau *terse apariiile unei c1ei primare,
respectiv inserate sau reactualizate apariiile unei c1ei strine.
)evizuirea modelului de date fizic mpreun cu utilizatorul
.e valideaz modelul de date relizat, prin revizuirea acestuia mpreun cu utilizatorul/
beneficiarul. !ste foarte important ca modelul, s constituie o reprezentare 2adevrat3 a 2lumii
reale3 a*a cum este perceput de ctre beneficiar. Diagrama acioneaz ca un mi)loc de
comunicare ntre realizatorul modelului *i utilizatorul lui. !ste foarte important ca utilizatorii s
analizeze documentaia realizat de ctre programator, care susine *i e"plic modelul. &n cazul
c(nd utilizatorii constat un punct slab n model sau documentaie, trebuie repetate etapele
necesare pentru corectarea problemelor aprute. Modelul de date fizic cuprinde un model !0D
*i documentaie care descrie componentele acesteia.
184
Exemplu: Centru sportiv i de recuperare
Managerul firmei :'ctive 4ife3 care ofer servicii de recuperare medical *i diverse
activiti sportive dore*te s rein ntr/o baz de date informaiile referitoare la firm: activitile
oferite, orarul lor, evidena personalului *i a clienilor, sponsorizrile pe care le prime*te.
'ceast baz de date trebuie s fie optimizat *i s corespund cerinelor fimei. De asemenea
trebuie s fie fle"ibil s permit dezvoltarea, e"tinderea activitilor fimei.
6entrul sportiv :'ctive 4ife3 ofer servicii de recuperare medical #fizioterapie *i
gimnastic de recuperare$ *i cursuri de not, patina), aerobic, sala de culturism *i fitness, tenis
de mas pentru meinerea formei fizice. %entru aceasta are la dispoziia clienilor un centru cu o
sal de sport *i mai multe cabinete de fizioterapie. 'cestea nu se afl ntr/o singur locaie. Din
cauza lipsei de spaiu, cabinetele se afl ntr/o cldire, iar sala de sport la alt adres. %entru
cei care doresc s se nscrie la un curs de not, deoarece nu dispune de un bazin propriu,
nc1iriaz n anumite zile din sptm(n un bazin de la o baz sportiv cu care are nc1eiat un
parteneriat. -arna nc1iriaz, n condiii similare, de la o firm partener, un patinoar. 6entrul
pune la dispoziia celor care se nscriu pentru antrenamente, la disciplinele sportive enumerate,
antrenori de specialitate. 'ce*tia lucreaz n funcie de specialitatea lor n diversele locaii n
care firma *i desf*oar activitatea.
4a centru se nscriu pe baza unui abonament *i persoane care au suferit diverse
accidente *i au nevoie de recuperare medical. %entru cei care doresc s urmeze un tratament
la fizioterapie sau gimnastic medical centrul pune la dispozie medici care urmresc evoluia
clientului *i evalueaz periodic starea sa de sntate *i progresele realizate n recuperare.
'ceste evaluri se fac pe baza unor teste din care rezult un anumit puncta) *i sunt trecute ntr/
o fi* personal a clienior centrului.
6lienii care doresc s vin la centru *i fac un abonament pe o perioad dorit, firma
pun(nd la dispoziia lor mai multe oferte n acest sens. Un anumit client se poate nscrie
#abona$ la diferite discipline sportive n acela*i timp, dar, deoarece se urmre*te *i obinerea
unor performane, nu poate s se nscrie *i la fizioterapie sau gimanstic de recuperare
deoarece se presupune c un astfel de client este sntos *i poate face un efort fizic susinut.
'ntrenamentele sunt astfel concepute inc(t cei care se nscriu s poat s obin performane
notabile. Unii dintre clieni c1iar particip la competiii sportive astfel nc(t firme care produc
materiale *i ec1ipamente sportive sunt interesate s sponsorizeze centrul. Unele sponsorizeaz
direct prin donarea unor sume de bani pentru susinerea sportivilor care particip la competiii,
altele susin centrul prin anumite materiale promoionale de e"emplu, ec1ipament sportiv, altele
ofer diverse servicii, de e"emplu stagii de pregtire suplimentar pentru cei care sunt capabili
de performane. De asemenea, unele companii farmaceutice s/au artat interesate s
promoveze anumite produse pentru tratamente n cadrul centrului. %entru fiecare sponsorizare
se reine data la care a fost fcut.
6entrul, pe l(ng medici *i antrenori mai are *i ali anga)ai: cei care se ocup de partea
financiar *i de relaiile cu clienii #contabili, secretare$, persoane care se ocup de curenie *i
ntreinerea bazei sportive. 're, pentru fiecare tip de servicii oferite *i c(te un responsabil. De
asemenea are un manager general. Unele posturi sunt libere. 6ei care lucreaz de mai mult
timp n cadrul firmei *i au dovedit caliti manageriale pot promova pe un post superior sau pot
s se sc1imbe pe alt post.
7iecare client ac1it contravaloarea abonamentului prin una sau mai multe facturi.

6onform cererilor clientului trebuie identificate entitile, atributele *i relaiile dintre ele.
&ntr/o prim faz diagrama entitate relaie arta n felul urmtor:
185
%roiectanii de baze de date trebuie s aib o vedere selectiv asupra lumii *i s poat
s clasifice *i s interpreteze lucrurile legate de cerinele beneficiarului.
s ocupe
s fie
coordonat
s gzduiasc s fie ocupat
s coordoneze
s posede
s susin
s fie susinut
s nscrie
s fie nscris
s
plteasc
s fie pltit
s lucreze
s aib
efectuat
s participe
ACTIVITATE
#ID
*data nceperii
*data
terminrii
CLIENT
#ID
*nume
*adresa
*telefon
*boal
o
observaii
FACTURA
#ID
*data
*valoare
ANGAJAT
#CNP
*nume
*adresa
*telefon
*specialitatea
*data naterii
*vecimea
*salariu
POST
#cod
*cerine
o
observaii
LOCAIE
#cod
*adresa
*telefon
SPONSOR
#nume
*adresa
*telefon
o
!eb site
DEPARTAMENT
#cod
*denumire
FIA
#ID
*data test
*puncta"
186
0eprezentarea necesitilor firmei trebuie realizat astfel nc(t s fie un model c(t mai
apropiat de modul n care se desf*oar activitile ei. Datele trebuie stocate astfel nc(t s fie
permis o cutare c(t mai eficient. Design/ul bazei trebuie s fie fle"ibil astfel nc(t s poat fi
adaugate noi sporturi s apar noi departamente, s poat fi adugai noi sponsori, s fie
realizat o eviden a anga)ailor.
4a baza de date astfel construit trebuie s aib acces *i anga)aii firmei, pentru a
completa informaii #adaugarea unor noi clieni, a unor noi sponsori, a unor noi anga)ai, etc$. -n
viitor se poate avea n vedere crearea unei pagini ;eb care s conin informaiile referitoare la
centru, accesarea acestora put(nd fi fcut de ctre potenialii clieni.
5atru pai n realizarea unui proiect#
1. *naliza presupune citirea cu atenie a ntregii documentaii oferite de beneficiar *i
nelegerea fenomenelor specifice care trebui modelate.
2. -trategia presupune definirea pa*ilor importani n realizarea proiectului, necesit
conlucrarea tuturor membrilor ec1ipei care se ocup de proiect pentru a alege
cele mai potrivite idei de rezolvare a problemelor care apar dup parcurgerea
documentaiei.
3. !esign-ul const n realizarea modelului conceptual, a diagramei entitate/relaie
care s cuprind ntreg ansamblul de situaii care trebuie modelate. De obicei n
aceast faz se prezint beneficiarului modelul realizat pentru a da verdictul:
modelul corespunde sau nu necesitilor sale.
. 6onstrucia presupune implementarea efectiv n calculator, a modelului
conceptual realizat
Dar la aceast prim diagram, pentru a fi corect, sunt mai multe probleme care
necesit rezolvare:
/ sunt relaii M:M care trebui :rezolvate3
/ sunt relaii care au nume incorecte
/ sunt relaii care nu au corect definit opionalitatea
/ relaiile de tip 5:M trebuie s aib captul care indic :mai muli3 orientat numai spre
nord *i vest sau spre sud *i est
/ unele entiti au subtipuri s acestea nu sunt precizate
/ trebuie definite relaii recursive *i relaii arc, dac este necesar
/ trebuie verificate cele trei forme normale
&n urma rezolvrii acestor probleme rezult o diagram mult mai comple". %oziionarea
entitilor *i a relaiilor dintre ele trebuie realizat astfel nc(t s fie u*or de citit *i s fie c(t mai
clare. %e c(t posibil, relaiile nu trebuie s aib sc1imbri de direcie *i n nici un caz s nu se
intersecteze.
Diagrama entitate/relaie final:
187
pentru
s fie inclus s fie inclus
s includ s includ
s conduc
s fie condus
s fie
urmrit
s fie fcut de
s ofere
pentru
pentru
efectuat
s urmreasc
pentru
s fie ocupat
s ocupe
s fie oferit
s aib
s fie
coordonat
s coordoneze
s gzduiasc
s nscrie s fie nscris
s
plteasc
s fie pltit
s participe
ACTIVITATE
#ID
*data nceperii
*data terminrii
CLIENT
#ID
*nume
*adresa
*telefon
*boal
o
observaii
FACTURA
#ID
*data
*valoare
FIA
#ID
*data test
*puncta"
ANTRENAMENT
#cod
*durata
*performana
TRATAMENT
#cod
*durata
*rezultate
*contraindicaii
SPONSOR
#nume
*adresa
*telefon
o
!eb site
SPONSORIZARE
#data
BANI
*valoare
o
clauza
MATERIAL
PROMOIONAL
*denumire
*valoare
o
descriere
*!eb site
SERVICIU
*denumire
*durata
o
descriere
s primeasc
NSCRIS
*data
EVALUARE
*data
s posede
POST
#cod
*cerine
o
observaii
s lucreze
ANGAJAT
#CNP
*nume
*adresa
*telefon
*vecimea
*salariu
MEDIC
*specializare
ALII
*funcia
ANTRENOR
*specializare
*rezultate
DEPARTAMENT
#cod
*denumire
LOCAIE
#cod
*adresa
*telefon
188
(xplicaii ale diagramei entitate/relaie:
/ fiecare departament are activiti specifice. De e"emplu departamentul contabilitate
trebuie s rezolve toate problemele legate de gestionarea fondurilor: ac1iziionarea
de materiale, sponsorizrile, banii obinui din abonamente.
/ la anumite intervale de timp pot realizate evaluri ale clienilor pentru a vedea
evoluia lor n timp. %entru cei aflai sub tratament este c1iar necesar o evaluare
periodic.
/ !"ist personal cu diverse atribuii de aceea trebuie folosite subtipuri pentru
definirea entitii anga)at. .ponsorii pot contribui prin diverse forme n susinerea
sportivilor sau a persoanelor aflate la tratament.
/ %entru serviciile de care beneficiaz, clientului i este emis o factur.
&n realizarea modelului trebuie respectate constrngeri:
a) 7iecare departament are unul sau mai muli anga)ai care ocup
posturi specifice. u poate s e"iste un anga)at n afara unui departament. -ntre anga)ai
e"ist o relaie de subordonare #un anga)at este *eful celorlali$ figurat n !0D prin
intermediul unei relaii recursive de la entitatea anga)at a ea ns*i.
b) %ot e"ista doi anga)ai cu aceea*i meserie #de e"emplu, doi antrenori
sau doi medici$. %e un post poate fi la un moment dat un singur anga)at, dar un anga)at
*i poate sc1imba postul, dac promoveaz. Unele posturi pot fi vacante.
c) Departamentul contabilitate poate avea realii cu unul sau mai muli
sponsori. 'ce*tia pot oferi susinere financiar sau prin materiale promoionale sau prin
servicii #transport, aparatur, etc.$ %entru fiecare sponsorizare se nregistreaz data la
care a fost fcut.
d) Un client se poate nscrie la una sau mai multe din activitile clubului.
!l se poate nscrie fie numai la antrenamente fie numai la tratamente. 'ntenamentele
sunt obligatoriu coordonate de un antrenor, iar tratamentele sunt supervizate de un
medic din centru.
e) 6lientul poate s pltesc una sau mai multe facturi.
f) +ratamentul sau antrenamentul const din una sau mai multe activiti
la care s/a nscris clientul. 7iecare client este nscris la o activitate. Un medic nu poate
coordona un antrenament. Un antrenor nu poate supraveg1ea un client aflat sub
tratament.
Modelul conceptual surprinde fenomenele care au loc n interiorul firmei a*a cum le/a
perceput proiectantul bazei de date, dar unele clarificri se vor face la momentul nt(lnirii dintre
proiectant *i beneficiar. 'cestea vor fi incorporate n modelul final.
5.!. Con"truirea #azei de date i implementarea ei
!rans"ormarea modelului conceptual #n modelul "izic:
+ransformarea modelului conceptual n model fizic se nume*te mapare&
(ntitile se transform n tabele.
3umele entitii #substantiv luat la singular$ devine numele tabelei #substantiv
luat la plural$.
*tributele entitii devin coloane ale tabelei *i primesc numele de cmpuri. +oate
valorile de pe o coloan a tabelei sunt de acela*i tip.
18!
2 instan a unei entiti devine o linie din tabela #o nregistrare$.
'tributul care este unic identificator (,I!) devine ceie primar (notat p7).
,nic identificator secundar devine cei unice (notat u7), care va fi c1eie
candidat&
'tributul unei tabele ' care este ceie primar n tabela < cu care ' se afl n
relaie, poart denumirea de ceie strin (notat f7).
6mpurile #coloanele$ care sunt cei primare" strine sau unice trebuie s
conin obligatoriu o valoare pentru fiecare nregistrare. 6elelalte c(mpuri pot conine *i
valoarea U44 sau = ntr/un c(mp. Unicul identificator, devenit c1eie primar are, n plus,
obligativitatatea de a avea valori diferite pentru fiecare dintre instane, deoarece trebuie fcut
diferenierea ntre oricare dou ntegistrri din tabel.
6onstr(ngerile formulate ca e"plicaii la crearea modelului conceptual trebuie
cuprinse n modelul fizic prin constrngeri de integritate&
$%servaii:
- 4a trecerea de la entitate la tabel numele coloanelor poate fi acela*i cu numele
atributelor din modelul conceptual. .paiile din numele unui atribut de la modelul
conceptual se scriu cu liniu de subliniere n modelul fizic, de e"emplu, :cod
po*tal3 devine :cod>po*tal3. Dar coloanle pot fi denumite *i folosind prescurtri,
de e"emplu, pentru :cod po*tal3 poate fi :cod>p3 sau :codp3. Un c(mp cu un
anumit nume poate s apar n mai multe tabele.
- umele de tabele *i coloane trebuie s ncep obligatoriu cu o liter, nu conin
mai mult de 9= de caractere *i pe lng litere mai pot conine caracterele ?, @, /.
u poate fi un nume de tabel sau de c(mp un cuv(nt rezervat. -ntr/o baz de
date nu e"ist mai multe tabele care s aib acela*i nume.
!ntitile 64-!+ *i 7'6+U0' ntre care e"ist o relaie 5:M devin dou tabele 64-!+-
A- 7'6+U0-. %entru fiecare dintre ele :transformarea3 n tabele se face astfel:
7'6+U0-
ume
c(mp
61ei Optio/
nalitate
-D>fact pB C
Data C
,aloare C
6lient>id fB C
64-!D-
ume
c(mp
61ei Optio/
nalitate
-D>cli pB C
ume C
'dresa C
+elefon C
<oala C
Obs
o
s
plteasc
s fie pltit
CLIENT
#ID
*nume
*adresa
*telefon
*boal
o
observaii
FACTURA
#ID
*data
*valoare
1!"
+abela 7'6+U0- are c1eie primar c(mpul -D>fact, tabela 64-!+- c(mpul -D>cli.
61eia primar din entitatea 64-!+- devine c1eie strin n tabela 7'6+U0-. .crierea
efectiv a tabelelor se face prin comanda .E4:
CRE&!E !&'(E 7acturi #
id>fact ,'06F'08#G$ %0-M'0H I!H,
data D'+! N#$ N%&&,
valoare UM<!0#G,8$,
client>id ,'06F'08#G$ 7O0!-J I!H$ A
CRE&!E !&'(E 6lienti #
id>cli ,'06F'08#G$ %0-M'0H I!H,
nume varc1ar8#K=$ N#$ N%&&,
adresa varcar'()*+,
telefon varc1ar8#5=$, boala varc1ar8#LM$,
obs varc1ar8#LM$$ A
6nd trebuie s trecem n tabele o entitate de intersecie, inem cont c ea preia atribute din
cele dou entiti iniiale, dar poate avea *i atribute proprii. Unicul identificator al entitii de
intersecie provine din atribute din cele dou entiti iniiale, este cel mai adesea o combinaie
de atribute, dar se poate defini *i un unic identificator artificial. %entru entitile '6+-,-+'+! *i
64-!+ ntre care s/a introdus o entitate de intersecie -.60-. pentru rezolvarea relaiei
M:M, vor fi trecute n tabele n felul urmtor:
'6+-,-+'+-
ume
c(mp
61ei Optio/
nalitate
-D>act pB C
Data>inc C
Data>term C
-.60-!0-
ume
c(mp
61ei Optio/
nalitate
Data C
-D>act pB,fB C
-D>cli pB,fB C
64-!+-
ume
c(mp
61ei Optio/
nalitate
-D>cli pB C
ume C
'dresa C
+elefon C
<oala C
Obs
o
&n tabela &.60-!0- se vor introduce dou c(mpuri -D>act *i -D>cli care sunt c1ei primare n
tabelele '6+-,-+ND-, respectiv 64-!D-. !le devin c1ei strine n tabela -.60-!0-. -D>act,
-D>cli formeaz c1ei primare n &.60-!0- datorit faptului c aceasta este o entitate de
intersecie.
pentru
pentru
efectuat
s participe
ACTIVITATE
#ID
*data nceperii
*data terminrii
CLIENT
#ID
*nume
*adresa
*telefon
*boal
o
observaii
NSCRIS
*data
1!1
6rearea efectiv a tabelelor se face prin comenzile:
CRE&!E !&'(E 'ctivitati #
id>act ,'06F'08#G$ %0-M'0H I!H,
data>inc D'+! N#$ N%&&,
data>term D'+!$ A
CRE&!E !&'(E -nscrieri #
data D'+! O+ U44,
id>act ,'06F'08#G$ 7O0!-J I!H,
id>cli ,'06F'08#G$ 7O0!-J I!H$ A
-n mod asemntor, se transform n tabele cele trei entiti: 64-!+, !,'4U'0! *i
7-O', devenind tabelele 64-!D-, !,'4UN0- *i 7-O!:
7-O!
ume
c(mp
61ei Optio/
nalitate
-D>f pB C
Data>test C
%uncta) C
!,'4UN0-
ume
c(mp
61ei Optio/
nalitate
Data C
-D>f pB,fB C
-D>cli pB,fB C
64-!D-
ume
c(mp
61ei Optio/
nalitate
-D>cli pB C
ume C
'dresa C
+elefon C
<oala C
Obs
o
%entru modelarea unui arc, de e"emplu pentru entitatea '6+-,-+'+!, aflat n relaie
cu entitile '+0!'M!+ sau +0'+'M!+, se definesc trei tabele:
pentru
pentru
s nscrie s fie nscris
CLIENT
#ID
*nume
*adresa
*telefon
*boal
o
observaii
FIA
#ID
*data test
*puncta"
EVALUARE
*data
1!2
'+0!'M!+!
ume c(mp 61ei Optio/
nalitate
6od pB C
Durata C
%erformana C
'6+-,-+ND-
ume
c(mp
61ei Optio/
nalitate
Data C
6od>tr fB
O
6od>antr fB
O
+0'+'M!+!
ume
c(mp
61ei Optio/
nalitate
6od pB C
Durata C
0ezultate C
6ontraind C
61eile primare din tabelele +0'+'M!+! *i '+0!'M!+! devin c1ei strine n tabela
'6+-,-+ND-. 6(mpurile 6od>antr *i 6od>tr sunt ns opionale. 61eile strine din tabela
'6+-,-+N+- trebuie s fie opionale deoarece pentru o nregistrare doar una dintre ele este
activ, cealalt fiind nul #un client este nscris e"clusiv, sau la antrenament, sau la
tratament$.
!ntitatea care conine subtipuri, de e"emplu .%O.O0-P'0! poate fi implementat n tabele
n dou feluri:
'. 7olosind o unic tabel n care se insereaz un c(mp suplimentar, discriminant, de
e"emplu :+ip sponsorizare3 #+ip>sp$ care face diferena ntre cele trei tipuri de
sponsorizri. 'cest nou c(mp are o valoare pentru fiecare din nregistrri, este
obligatoriu.
'tributele specifice numai unui subtip devin c(mpuri opionale n tabela final. &n acest
caz, c(mpurile tabelei vor arta n felul urmtor:
s fie inclus s fie inclus
s includ s includ
ACTIVITATE
#ID
*data nceperii
*data terminrii
ANTRENAMENT
#cod
*durata
*performana
TRATAMENT
#cod
*durata
*rezultate
*contraindicaii
SPONSORIZARE
#data
BANI
*valoare
o
clauza
MATERIAL
PROMOIONAL
*denumire
*valoare
o
descriere
*!eb site
SERVICIU
*denumire
*durata
o
descriere
1!3
.%O.O0-PN0-
ume
c(mp
61ei Optio/
nalitate
Data pB C
+ip>sp C
,aloare C
6lauza
o
Denumire C
Descriere
o
Durata C
<. 7olosind trei tabele c(te una pentru fiecare subtip care apare n diagram. &n acest
caz, tabelele vor fi structurate astfel:
<'-
ume
c(mp
61ei
Optio/
nalitate
Data pB C
,aloare C
6lauza
o
M'+!0-'4!>%0OM
ume c(mp 61ei Optio/
nalitate
Data pB C
Denumire C
,aloare C
Descriere
o
.!0,-6--
ume
c(mp
61ei Optio/
nalitate
Data pB C
Denumire C
Durata C
Descriere
o
&n continuare, pentru modelarea legturii dintre entitile .%O.O0-P'0! *i
.%O.O0 in(nd seama c, relaia dintre ele este netransferabil, la trecerea n tabele
#.%O.O0-P'0- respectiv .%O.O0-$, c1eia primar din .%O.O0- trebuie s devin
c1eie strin n .%O.O0-P'0- *i, n plus trebuie s conin valori care nu se modific, deci
va fi o coloan cu valori care nu se pot modifica. !ntitatea .%O.O0-P'0! se poate
modela n dou feluri, dup cum am artat, iar relaionarea sa cu entitatea .%O.O0 se
poate trece n tabele astfel:
.%O.O0-PN0-
ume
c(mp
61ei Optio/
nalitate
.%O.O0-
ume
c(mp
61ei Optio/
nalitate
s fie fcut de
s ofere
SPONSOR
#nume
*adresa
*telefon
o
!eb site
SPONSORIZARE
#data
BANI
*valoare
o
clauza
MATERIAL
PROMOIONAL
*denumire
*valoare
o
descriere
*!eb site
SERVICIU
*denumire
*durata
o
descriere
1!4
Data pB C
+ip>sp C
,aloare C
6lauza
o
Denumire C
Descriere
o
Durata C
ume>sp fB C
ume pB C
'dresa C
+elefon C
Qeb>site
o
.ponsorizrile se acord unui departament:
D!%'0+'M!+!
ume
c(mp
61ei Optio/
nalitate
6od pB C
Denumire C
.%O.O0-PN0-
ume
c(mp
61ei Optio/
nalitate
Data pB C
+ip>sp C
,aloare C
6lauza
o
Denumire C
Descriere
o
Durata C
ume>sp fB C
6od>dep fB C
.%O.O0-
ume
c(mp
61ei Optio/
nalitate
ume pB C
'dresa C
+elefon C
Qeb>site
o
6odul departamentului devine c1eie strin n tabela .%O.O0-PN0-.
&ntr/un mod asemntor se transform n tabele entitile: D!%'0+'M!+ *i
4O6'D-!, devenind tabelele D!%'0+'M!+! *i 4O6'+--.
s fie oferit
s primeasc
DEPARTAMENT
#cod
*denumire
s fie fcut de
s ofere
SPONSOR
#nume
*adresa
*telefon
*!eb site
SPONSORIZARE
#data
BANI
*valoare
o
clauza
MATERIAL
PROMOIONAL
*denumire
*valoare
o
descriere
*!eb site
SERVICIU
*denumire
*durata
o
descriere
1!5
D!%'0+'M!+!
ume
c(mp
61ei Optio/
nalitate
6od pB C
Denumire C
6od>loc fB C
4O6'D--
ume
c(mp
61ei Optio/
nalitate
6od pB C
'dresa C
+elefon C
!ntitatea 'J'R'+ poate fi modelat folosind o unic tabel care are, n plus, un
c(mp discriminator, de e"emplu c(mpul cod #codul anga)atului$ care identific departamentul
*i funcia anga)atului *i astfel rezult o clasificare a lor. Un anga)at #manager$ este n relaie cu
ceilali anga)ai, fapt figurat printr/o relaie recursiv. 'ceasta va fi trecut n tabel, prin
introducerea unui c(mp care este c1eie strin, de e"emplu Man>id. .e va face o relaionare
ntre c1eia primar #6%$ *i aceast c1eie strin.
'J'R'+-
ume c(mp 61ei Optio/
nalitate
6% pB C
ume C
'dresa C
+elefon C
,ec1imea C
.alariu C
.pecializare
O
0ezultate
O
7unctia
O
6od uB C
Man>id fB
O
s gzduiasc
s posede
DEPARTAMENT
#cod
*denumire
LOCAIE
#cod
*adresa
*telefon
s conduc
s fie condus
ANGAJAT
#CNP
*nume
*adresa
*telefon
*vecimea
*salariu
MEDIC
*specializare
ALII
*funcia
ANTRENOR
*specializare
*rezultate
1!6
%entru entitatea 'J'R'+ trebuie s lum n considerare c se afl n legtur cu
entitatea D!%'0+'M!+ *i cu entitatea %O.+. 'stfel nc(t n tabela 'J'R'+- vor aprea
nc dou c1ei strine cod>dep *i cod>post.
D!%'0+'M!+!
ume
c(mp
61ei Optio/
nalitate
6od pB C
Denumire C
'J'R'+-
ume c(mp 61ei Optio/
nalitate
6% pB C
ume C
'dresa C
+elefon C
,ec1imea C
.alariu C
.pecializare
O
0ezultate
O
7unctia
O
6od uB C
Man>id fB
O
6od>dep fB C
6od>post fB C
%O.+U0-
ume
c(mp
61ei Optio/
nalitate
6od pB C
6erine C
Obs
o
'nga)aii supervizeaz activitile care se desf*oar: un medic supervizeaz tratamentele,
un antrenor coordoneaz antrenamentele. 'stfel nc(t se definesc relaii:
s ocupe
s fie ocupat
POST
#cod
*cerine
o
observaii
s aib
s lucreze
DEPARTAMENT
#cod
*denumire
s conduc
s fie condus
ANGAJAT
#CNP
*nume
*adresa
*telefon
*vecimea
*salariu
MEDIC
*specializare
ALII
*funcia
ANTRENOR
*specializare
*rezultate
1!7
'+0!'M!+!
ume c(mp 61ei Optio/
nalitate
6od pB C
Durata C
%erformana C
6od>ang fB C
'J'R'+-
ume c(mp 61ei Optio/
nalitate
6% pB C
ume C
'dresa C
+elefon C
,ec1imea C
.alariu C
.pecializare
O
0ezultate
O
7unctia
O
6od uB C
Man>id fB
O
6od>dep fB C
6od>post fB C
+0'+'M!+!
ume
c(mp
61ei Optio/
nalitate
6od pB C
Durata C
0ezultate C
6ontraind C
6od>ang fB C
s fie
urmrit
s urmreasc
s fie
coordonat
s coordoneze
ANTRENAMENT
#cod
*durata
*performana
TRATAMENT
#cod
*durata
*rezultate
*contraindicaii
ANGAJAT
#CNP
*nume
*adresa
*telefon
*vecimea
*salariu
MEDIC
*specializare
ALII
*funcia
ANTRENOR
*specializare
*rezultate
1!8

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