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