Sunteți pe pagina 1din 40

2 MODELAREA CONCEPTUAL A DATELOR

2.1 Modelul Entitate-Asociere (EA) Pentru definirea modelului conceptual al datelor se apeleaz la modele intermediare care sunt folosite ca suport al unei metodologii de proiectare. Un model conceptual este un ansamblu de concepte i reguli de combinare a acestor concepte permind reprezentarea realitii circumscrise domeniului supus informatizrii. Modelele utilizate se numesc modele semantice i au drept obiectiv ca prin conceptele oferite s permit reprezentarea lumii reale. Modelele semantice utilizeaz abstracii reprezentnd lumea real ca pe o colecie de entiti i de legturi, stabilite ntre acestea. Majoritatea modelelor permit definirea de restricii descriind aspectele statice, dinamice sau chiar temporale ale entitilor. Modelul entitate-asociere (EA) pe care l vom utiliza n continuare pentru definirea modelului conceptual al datelor este i el un model semantic.
Sistem informaional Proceduri Informaii

Documentare i analiz

Informaii i legturi dintre informaii

Proceduri i reguli de gestiune

Modelare

Modelul conceptual al datelor - date - tipuri de entiti - asocieri ntre entiti

Modelul conceptual al prelucrrilor (MCP)

Figura 2.1 Procesul de modelare a datelor i prelucrrilor Modelul EA urmrete obinerea unei reprezentri fidele, utiliznd concepte specifice, a realitii (problemei de rezolvat ce urmeaz a fi informatizat). Aceast reprezentare a lumii reale se va realiza fcndu-se abstracie de orice restricie fie ea informatic sau organizatoric. Pornind de la semantica obiectelor lumii reale i a legturilor stabilite ntre acestea modelul EA servete n egal msur ca un mijloc de comunicare ntre modelator (informatician) i viitorul utilizator al sistemului (beneficiarul sistemului informatic), care descrie realitatea supus modelrii n conformitate cu propria lui percepie.

Concepte de baz ale modelului Entitate Asociere


ENTITATEA reprezint un obiect al realitii modelate caracterizat printr-o existen proprie, cu o identitate proprie (care-l face identificabil n raport cu celelalte obiecte de acelai tip) i o mulime de caracteristici care exprim proprietile acestuia. Pentru exemplificare v propunem ca domeniu de studiu gestiunea polielor ncheiate de o societate de asigurri. Entitile pe care le putem defini sunt: o poli de asigurare, instrumente de plat, etc. Entitatea poli de asigurare nr. 25 se definete prin urmtoarele realizri ale caracteristicilor: 15/03/2002 (data ncheierii), Ionescu Costel (numele agentului de asigurare), Popescu Marius (titularul poliei de asigurare), 22/03/2002 (data inceperii perioadei asigurate), etc. Entitatea poli de asigurare nr. 25 are propria identitate, distingndu-se clar de celelalte entiti de acelai tip (celelalte polie ncheiate) prin numrul su i are o existen de sine stttoare (Figura 2.2).
25 15/03/2002 Ionescu Costel Popescu Marius 22/03/2002 27 10/03/2002 Ionescu Costel Popescu Ion 17/03/2002 117 11/03/2002 Ion Dan Manea Marian 18/03/2002

Figura 2.2 Entiti aparinnd tipului de entitate poli de asigurare n activitatea de modelare interesul se focalizeaz pe definirea tipurilor de entiti aparinnd problemei de rezolvat i nu pe entiti care reprezint realizrile tipurilor de entiti. n locul noiunii de tip de entitate, unii autori folosesc conceptul de clas de entiti. Modelul abstract pe care ni-l ofer modelul EA se bazeaz tocmai pe aceste tipuri generice de entiti i a legturilor stabilite ntre acestea. TIP DE ENTITATE reprezint un concept generic desemnnd mulimea tuturor entitilor prezentnd aceleai caracteristici constructive. Exemple : produs, comand, angajat, student, contract, poli de asigurare, depozit bancar, ordin de tranzacionare la burs etc. De aceast dat tipul de entitate produs desemneaz ansamblul produselor aflate n catalogul firmei, produse descrise plecnd de la aceleai caracteristici comune: codul produsului, denumirea, unitatea de msur, data omologrii, procent TVA. Tipul de entitate student desemneaz ansamblul studenilor caracterizai prin aceleai trsturi comune: numr matricol, nume, data-naterii, localitatea, facultatea, specializarea etc. POLI DE ASIGURARE
Numr Data ncheierii Agentul Beneficiarul Data nceperii ENTITI 25 15/03/2002 Ionescu Costel Popescu Marius 22/03/2002 27 10/03/2002 Ionescu Costel Popescu Ion 17/03/2002 117 11/03/2002 Ion Dan Manea Marian 18/03/2002 TIP DE ENTITATE ATRIBUTE

Realizri ale atributelor

Figura 2.3 Entiti aparinnd aceluiai tip

Atenionm asupra faptului c o entitate poate aparine mai multor tipuri de entiti diferite. De exemplu, entitatea cititorului Ionescu poate aparine i tipului de entitate profesor i tipului de entitate doctoranzi (desemnnd ansamblul persoanelor care urmeaz forma de pregtire doctoral). Fiecare tip de entitate se definete prin mulimea caracteristicilor comune entitilor aparinnd tipului. ATRIBUTUL definete o proprietate distinct a unei entiti. Fiecare atribut prezint un domeniu, adic o mulime de valori admise. ntr-o entitate se regsesc realizri corespunztoare caracteristicilor definitorii pentru tipul de entitate. Atributele pot fi clasificate n funcie de mai multe criterii: a) Dup complexitate atributele sunt: elementare (simple) ale cror realizri nu pot fi descompuse (exemplu: unitate monetar, pre unitar, numr matricol al studentului, marca angajatului, etc). decompozabile (complexe) ale cror realizri sunt decompozabile (ex: data calendaristic se poate descompune n zi, lun, an; adresa - se poate descompune n strad, numr, codul de clasificare al unui mijloc fix, etc). b) Dup realizrile pe care le pot prezenta atributele pot fi: 1) obligatorii (trebuie s prezinte obligatoriu o realizare, ceea ce corespunde sintagmei NOT NULL orice realizare). opionale ( sunt atribute care pot s nu prezinte nici o valoare (realizare) n cadrul unei entiti (de exemplu atributele: telefon, fax, e-mail - nu toate persoanele au telefon, fax, adres e-mail). 2) monovaloare: atribute care prezint o singur valoare n cadrul unei entiti (exemplu: nume student, nr. matricol, data naterii, codul numeric personal etc). multivaloare: atribute care prezint mai multe realizri n cadrul aceleiai entiti (de exemplu, n tipul de entitate ANGAJAT, entitatea Popescu Marius poate prezenta pentru atributul STUDII mai multe valori: Facultatea de Mecanic, Facultatea de Finane Asigurri Bnci i Burse de Valori). CONT BANCAR Nr. Cont Tip Cont Data Deschiderii Limit credit Moneda Figura 2.4. Tipul de entitate Cont Bancar Problema de modelat este adesea deosebit de complex n cadrul ei putndu-se identifica obiecte simple, compozite i/ sau complexe. n modelul EA obiectelor lumii reale le corespund entiti, iar entitile definite prin aceleai caracteristici formeaz un tip de entitate. Aceasta nseamn c obiectelor simple le va corespunde n modelul conceptual al datelor cte un tip de entitate. Exemplu: pentru conturile deschise de o banc se poate defini n cadrul modelului conceptual al datelor tipul de entitate cont bancar (Figura 2.4). Clienilor (persoane fizice) ai unei bnci, deoarece sunt definii prin aceleai caracteristici (nume client, cod numeric personal, cod de identificare n cadrul bncii, adresa etc), le va corespunde n modelul EA un singur tip de entitate, numrul de realizri ale acestuia (de entiti) fiind egal cu numrul clienilor. Obiectele compozite se caracterizeaz prin faptul c ele conin una sau mai multe caracteristici multivaloare (crora n modelul EA le vor corespunde atribute multivaloare). Aceasta va determina ca n modelul conceptual optimizat al datelor acestui obiect compozit s-i corespund mai multe tipuri de entiti (atributele multivaloare se vor regsi ntr-un tip de entitate distinct).

Exemplu: Documentelor bonuri de consum le va corespunde tipul de entitate bon de consum definit prin atributele monovaloare: numr bon, data bon, secia, gestiunea dar i atributele multivaloare: cod material, cantitate eliberat, pre unitar. Aceasta face ca tipul de entitate bon de consum, definit iniial prin mulimea tuturor atributelor mai sus menionate, s conduc n final la definirea a dou tipuri de entiti: Bon de consum (documentul n sine) definit prin atributele: numr bon, data bon, secia, gestiunea i tipul de entitate Material eliberat definit prin atributele: cod material, cantitate eliberat, pre unitar (Figura 2.5). ntr-un mod asemntor putem reprezenta n modelul EA facturile, comenzile emise de clieni pentru livrarea produselor etc. Obiectele compuse sunt decompozabile ele regrupnd n structura lor obiecte simple ntre care exist o anumit legtur. Chiar dac n modelul EA iniial pentru un obiect compus s-a definit un singur tip de entitate, ulterior acesta se va descompune n tipuri de entiti de sine stttoare corespunztoare obiectelor elementare care intr n structura obiectului compus (Figura 2.6). BON DE CONSUM
Obiect compozit Nr. bon Data bon Secia Gestiunea Cod material Cantitate eliberat Pre unitar Tip de entitate Bon de consum Nr bon Data bon Secia Gestiunea Material eliberat Cod material Cantitate eliberat Pre unitar Caracteristici multivaloare (un bon de consum servete la eliberarea din magazie a mai multor materii prime)

Figura 2.5 Reprezentarea obiectelor compozite sub form de tipuri de entiti


Obiect compus

CONTRACT DE CREDIT NR CONTRACT DATA CONTRACT TITULAR VALOARE CONTRACT UNITATE MONETARA GARANTII

TITULAR COD IDENTIFICARE NUME CNP ADRESA DATA NASTERII GARANTIE NR DOCUMENT DATA EMITERII BANCA EMITENTA SUMA

Tipuri de entiti

Figura 2.6 Reprezentarea obiectelor compuse sub form de tipuri de entiti

Tipul de entitate contract de credit - definit prin atributele: numr contract, data contract, titular, valoare contract, unitate monetar, garanii corespunde unui obiect compus al realitii de modelat. Titularul i garania sunt dou obiecte distincte ale problemei de modelat, fiecruia trebuind s-i corespund n MCD un tip de entitate distinct. Ca urmare, se vor include n MCD tipurile de entiti: TITULAR definit prin: Cod identificare, nume, cod numeric personal, adres, data naterii. GARANIE care poate fi reprezentat, de exemplu, de o scrisoare de garanie bancar definit prin atributele: numr document, data emiterii, banca emitent, termen de valabilitate, sum. CONTRACT DE CREDIT definit prin: Nr. Contract, Data contract, Valoare contract, Moneda. Fiecare tip de entitate prezint un IDENTIFICATOR reprezentat de un atribut sau un grup minimal de atribute al crui rol este de a permite identificarea n mod unic, fr echivoc, a entitilor. De multe ori identificatorul este reprezentat de un atribut de tip numr de ordine (incrementat cu 1 pentru fiecare nou valoare atribuit) sau de un cod (construcie artificial avnd o anumit semnificaie). Exemple: pentru tipul de entitate STUDENT identificatorul va fi Nr Matricol, n cazul entitii BON CONSUM identificatorul va fi atributul Nr. Bon (atribut de tip numr de ordine), etc. n reprezentarea grafic a tipului de entitate identificatorul este marcat distinct prin subliniere (Figura 2.7).
STUDENT Nr matricol Nume student Data naterii Adresa

Figura 2.7 Tipul de entitate Student

ASOCIEREA dintre entiti exprim legtura stabilit dintre acestea i rolul pe care l joac fiecare entitate participant la legtur. Exprimnd o legtur dintre entiti ea nu are o existen de sine stttoare. O asociere poate prezenta unul sau mai multe atribute proprii cu rol de a caracteriza, explicita, legtura stabilit ntre entitile participante la asociere. Atributele Data debut i Data sfrit caracterizeaz asocierea Ocup i aceasta deoarece ele nu sunt proprieti ale entitii Camere, aceiai camer cu nr. 10 poate fi ocupat la date diferite i de ctre clieni diferii. Fiecare entitate participant la asociere joac un anumit rol. n exemplul prezentat n figura 2.8 entitatea Client joac rolul Ocupant (clientul x ocup n data y camera z) iar entitatea Camera prezint rolul este ocupat (camera z este ocupat n data y de clientul x).

TIPUL DE ASOCIERE se definete ca ansamblul legturilor, prezentnd aceeai semnificaie, dintre entitile aparinnd la dou sau mai multe tipuri de entiti. Exemplu: tipul de asociere Ocup din figura 2.8.
Cardinaliti CLIENI Cod client Nume Adresa CNP 1,n Ocup Data debut Data sfarsit Ocupant Roluri 1,n CAMERE Nr camer Tip Tarif camer

Este ocupat

Figura 2.8 Tipul de asociere Ocup CARDINALITATEA cuplului entitate-asociere reprezint cuplul de valori ntregi (x,y) astfel nct: x (cardinalitate minimal) exprim numrul minim de realizri ale legturii (asocierii) existnd pentru o entitate. y (cardinalitate maximal) reprezint numrul maxim de apariii ale corespondenei putnd exista pentru o entitate. Cardinalitatea minimal 0 indic faptul c pot exista entiti care s nu participe la nici o asociere: Exist clieni poteniali ai unei firme crora nc nu li s-au ncheiat polie de asigurare cardinalitate minimal 0, dar sunt clieni crora li s-au ncheiat mai multe polie cardinalitate maximal n.
CLIENT Cod client Nume Adresa CNP 0,n incheie 1,1 POLIA Nr. poli Data poli Valoare asigurat

Figura 2.9 Cardinalitatea minimal 0

Cardinalitatea minimal 1 indic faptul c toate realizrile tipului de entitate trebuie s participe la o realizare a tipului de asociere. De exemplu, orice contribuabil aflat n evidena administraiei financiare are deschis un rol i numai unul singur (n acest caz i cardinalitatea maximal este tot 1).

CONTRIBUABIL Cod-identificare Nume Adresa

1,1 ARE

1,1

ROL Nr rol Data deschiderii

Figura 2.10 Cardinalitatea minimal 1

Cardinalitatea maximal 1 indic faptul c numrul de roluri deschise unui contribuabil la administraia financiar nu poate fi mai mare de 1. Sgeata din figura 2.10 indic caracterul imuabil al asocierii (rolul fiscal nu-i modific titularul). Cardinalitatea maximal n indic faptul c mai multe entiti de un anumit tip particip la o asociere. Un client emite unul sau mai multe documente de plat (Figura 2.11).
POLIA Nr. Poli Data ncheierii Data nceput Data sfrit Valoare asigurat 1,4 prevede 1,1 PRIME DE PLAT Data scadenei Suma de plat

Figura 2.11 Cardinalitatea maximal n Dar uneori valoarea lui N poate fi specificat clar printr-o constant. De exemplu, pentru o poli de asigurare (ncheiat pe un an) sunt calculate maxim 4 prime de asigurare - cte una pe trimestru (figura 2.12). Valorile uzuale pentru exprimarea cardinalitii sunt : 0,1; 1,1; 0,n;1,n.
CLIENT Cod client Nume Adresa CNP 1,n emite 1,1 DOCUMENT Nr doc Data doc Tip doc Sum

Figura 2.12 Cardinalitatea maximal 4 ntre realizrile a dou tipuri de entiti se pot stabili mai multe asocieri prezentnd semantic diferit i prin urmare cardinaliti diferite. Exemplu: un profesor lucreaz la o disciplin cu un grup de studeni, unora dintre acetia (maxim 10) conducndu-le i proiectul de semestru la disciplina respectiv (figura 2.13).

PROFESOR Cod ID Nume Grad didactic Titlu tiinific

1,n

lucreaz

STUDENT Nr. Matricol Nume student

conduce
1,10 1,1

Figura 2.13

Dup numrul de tipuri de entiti participante asocierea poate fi: unar (refexiv) binar complex Asocierea reflexiv (ciclic, unar) se caracterizeaz prin faptul c exprim legturile stabilite ntre entiti aparinnd aceluiai tip (figura 2.14).

0,N

MATERIAL COD DENUMIRE UNIT. DE MSUR

0,N

Substituie

Este substituit

Substituie Cantsubstit

Figura 2.14 Asocire reflexiv Spre exemplu, o materie prim necesar pentru fabricarea unui produs poate fi substituit (dac nu exist cantitatea necesar n stoc) printr-o alt materie prim (avnd aceleai caracteristici dar spre exemplu o alt concentraie) ntr-o anumit cantitate. Asocierile binare reprezint legturi (corespondene) stabilite ntre realizrile aparinnd la dou tipuri de entiti diferite. Exemplu: asocierea Prevede stabilit ntre tipul de entitate POLI i tipul de entitate PRIMA DE PLAT (figura 2.12) sau asocierile Lucreaz i Conduce din figura 2.13. Asocierile complexe exprim legturi stabilite ntre realizrile mai multor tipuri de entiti. Spre exemplu, o entitate ternar se poate stabili ntre tipurile de entiti: CONTRIBUABIL, TAXA, DOCUMENT DE PLAT (DOC PLATA).
1,N Contribuabil Pltitor Pltit Tax 0,N Emis Pltete 1,1 Doc. plat

Figura 2.15 Asociere ternar Se recomand ns reducerea acestor asocieri complexe la asocieri binare. Astfel asocierea ternar prezentat n figura 2.15 se descompune conform figurii 2.16 n asocieri binare. n continuare prezentarea se va referi doar la asocierile binare.

0,N Contribuabil Achit

1,1 Doc plat

Datoreaz Suma Taxe

1,N 1,N 0,N Privesc 1,N

Figura 2.16 Descompunerea unei asocieri ternare n asocieri binare

2.2. Restricii de integritate


Restriciile de integritate definesc cerinele pe care datele trebuie s le respecte pentru a fi corecte i coerente n raport cu realitatea pe care o reflect. Restriciile de integritate reprezint o modalitate de integrare a semanticii datelor n mod indirect n modelul entitate asociere pe care astfel l mbogesc. Restriciile de integritate privesc: valorile pe care le pot lua atributele entitilor i asocierilor; valorile identificatorilor entitilor; rolurile jucate de entiti n asocierile la care particip; asocierile stabilite ntre entiti. Pentru modelul EA prezentat n Figura 2.17 pot fi definite urmtoarele restricii de integritate privitoare la realizrile atributelor: data documentului (comenzii) s fie anterioar datei curente sau egal cu aceasta, cota de TVA poate fi 0 %, sau 19%, produsul cel mai vechi din nomenclatorul de fabricaie a fost omologat n 12.12.99, iar numrul gestiunii poate lua valori n mulimea M={1,2,3}, tipul depozitului poate fi frigorific/nefrigorific, unitile de msur sunt KG i BUC. Restriciile de integritate pot fi statice (se verific permanent) sau dinamice (privesc evoluia n timp a datelor). De exemplu, restriciile referitoare la numrul gestiunii, tipul depozitului i unitile de msur sunt statice. Restricia privind cota de TVA este dinamic ea putndu-se modifica n timp n conformitate cu prevederile fiscale n vigoare.

Comanda Nr doc Data-doc

1,N Cuprinde Cantitate

0,N

Produs Cod produs Denumire Pre catalog TVA Data omologrii Unit msur

Gestiune Numr gestiune Nume gestionar Tip depozit 1,n Depozitat Stoc Data stoc 1,n

Figura 2.17. Model EA

2.2.1. Restricii de domeniu


Domeniul, ca mulime de valori pe care le poate lua un atribut, poate fi definit printr-o proprietate (o condiie privind un atribut sau un grup de atribute), prin precizarea unui interval de valori sau prin enumerarea mulimii de valori admise. Restriciile de domeniu reprezint condiii (reguli) care privesc ansamblul de valori admise pentru un atribut n cadrul tipului sau domeniului su. Restriciile pot viza realizrile unui/unor atribute aparinnd unei aceleiai entiti sau asocieri, caz n care se numesc restricii intraentitate, sau a unui/unor atribute aparinnd unor entiti i/sau asocieri diferite, caz n care se numesc restricii interentiti. Restriciile pe domeniu se pot exprima cu privire la: 1. Coninutul unui singur atribut al unei entiti sau asocieri: Exemplu: Unit. Msur={ KG,Buc} TVA = { 0, 19} Pre > 10000 i pre <10000000 Cantitate > 10 (cantitatea este un atribut definit pentru asocierea CUPRINDE din Figura 2.17). 2. Corelaiile ce trebuie s se respecte ntre valorile mai multor atribute sau asocieri aparinnd aceleiai entiti sau asocieri: Exemple: Numr gestiune=1 atunci nume gestionar = Ion Toma Cod produs=12 atunci Unit Msur=BUC 3. Corelaiile care trebuie s existe ntre atributele aparinnd mai multor entiti sau asocieri diferite: Exemplu: n gestiunea 1 se stocheaz doar produsele avnd codurile n mulimea {1000, 1001, 1014}. Data-stoc > data omologrii Cod produs=112 atunci numr gestiune=1 4. Corelaii realizate pe baza unor valori obinute prin operaii de sintetizare (nsumare, calculul mediei, valorii minime /maxime etc.) a unui ansamblu de entiti: Exemplu: Suma cantitilor comandate pentru un produs nu poate depi stocul din data respectiv. Preul mediu al produselor >200000

2.2.2. Restricii structurale


Identificarea entitilor Fiecare entitate va trebui s poat fi identificat fr echivoc. Acest lucru impune ca identificatorul entitii s ia valori unice diferite de NULL (NULL nseamn c nu s-a atribuit nici o valoare, deci valoarea NULL este diferit de zero sau spaiu). n definirea modelului EA putem ntlni cazuri mai speciale legate de identificarea entitilor: 1. Nu putem defini un identificator sub forma unui atribut/grup de atribute pentru un anumit tip de entitate (Figura 2.18). Exemplu: Pentru fiecare angajat al firmei se consemneaz lunar prezena prin reinerea orelor efectiv lucrate, orelor absentate, orelor de concediu medical. Identificarea entitilor Prezena se face prin rolul Realizeaz pe care entitatea Angajat l joac n asocierea nregistreaz Identificarea prin rol a entitilor se poate realiza doar dac asocierea n cauz nu este ciclic (unar) iar cardinalitatea cuplului entitate identificat-asociere este 1,1 i cardinalitatea cuplului entitate identificator - asociere este 1,1 sau 0,1. 1,1
ANGAJAT Marca Nume Funcie Salariu nregistreaz Luna

1,1

PREZENA Ore efective Ore absene Ore concediu Ore medical

Realizez

Aparine

Figura 2.18 2. Identificarea unei entiti se poate realiza prin unul sau mai multe atribute proprii mpreun cu rolul jucat de alt tip de entitate (figura 2.19) n cadrul asocierii.
ASIGURARE Nr. polit Data Val. asigurare Cuprinde 1,n Prevede 1,1 PRIME ASIGURARE Data scaden Sum de plat Privete

Figura 2.19 O poli de asigurare de via presupune pe lng specificarea numrului, datei ncheierii poliei, valorii asigurate i precizarea primelor de plat cu nscrierea datei limit a plii precum i a sumei de plat ( considerm c sumele sunt diferite de la o scaden la alta). Fiecare poli se identific prin numr, atribuit n mod unic. Pentru tipul de entitate Scadena, atributul Data scadenei nu poate fi identificator deoarece, la aceeai dat mai multe polie au acelai termen limit de plat. Identificarea entitilor Prime asigurare se va realiza prin valorile atributului propriu Data scadenei i rolul Cuprinde jucat de entitatea Asigurare n asocierea Prevede.

2.2.3. Restricii de integritate de roluri


n definirea asocierii am subliniat faptul c aceasta exprim legtura stabilit ntre entiti diferite, fiecare dintre acestea jucnd un anumit rol. Plecnd de la rolurile jucate de entiti n cadrul asocierilor putem defini o serie de restricii de integritate i anume de : egalitate, incluziune i excluziune de roluri. Restricia de incluziune de roluri Restricia de incluziune de roluri statueaz faptul c, dac o entitate E1 care joac rolul r1 n asocierea A1 va trebui s joace i rolul r2 n asocierea A2. Rezult c rolul r1 include (implic prin incluziune) rolul r2 . Pentru reprezentarea restriciei de incluziune de roluri se va utiliza urmtoarea reprezentare grafic: I
r2

r1

Figura 2.20 Incluziune de roluri Un exemplu l constituie secvena de MCD elaborat pentru o firm de asigurri. (Figura 2.21). Clienii ncheie polie de asigurare i primesc despgubiri la producerea riscului asigurat dac au la zi plata primelor de asigurare. ntre rolul despgubit i rolul achitat se manifest o restricie de incluziune pe rol. De asemenea este o restricie de integritate pe rolurile despgubit i ncheiat pe care le joac entitatea poli.
I

CLIENT

Cod client Nume client Adresa

1,n ncheie

ncheiat 1,1

POLIA

Nr polia Data polia Data inceput Data sfrit Nume agent


1,n

despgubit 1,1 1,1 calculeaz calculat

DESPAGUBIRE Nr. Document Data document Sum despgubit

achitat achit

1,1 PLATA PRIME Nr chitan Data chitan Suma pltit

Figura 2.21. Incluziune de roluri

Restricia de egalitate de roluri Egalitatea de roluri presupune ca restricia de incluziune ntre roluri s fie reciproc. Grafic restricia de egalitate de roluri se reprezint conform figurii 2.22. r1 = r2

Figura 2.22. Egalitatea de roluri Persoanele care au un rol (fi) deschis la administraia financiar, deci joac rol de posesor n asocierea Are, nseamn c au obligaii fiscale, deci joac rol de contribuabil n asocierea Datoreaz, reciproca fiind valabil: orice persoan care are obligaii fiscale trebuie s aib deschis un rol. Dar nu Posesor toate persoanele sunt contribuabili, deci exist entiti ale tipului Persoana care nu joac rolul de Posesor n asocierea Are. Grafic, egalitatea de roluri se reprezint conform figurii 2.23.
Persoana CNP Nume Adresa Contribuabil 0,n 0,1 Are Rol 1,1 Nr. rol Data deschid.

=
1,n Datoreaz

Impozit Cod impozit Denumire

Figura 2.23. Egalitate de roluri Restricia de excluziune de roluri Excluziunea de roluri specific faptul c un rol r1 jucat de o entitate E1 n asocierea A1 exclude existena rolului r2 jucat n asocierea A2. r1 # r2

Figura 2.24. Reprezentarea excluziunii de roluri

Figura 2.25. Excluziunea de roluri

Din exemplele prezentate rezult c restriciile de integritate de roluri vizeaz rolurile pe care o entitate le poate juca n cadrul unor asocieri diferite. Incluziunea de roluri specific faptul c un rol r2 jucat de entitatea E1 n asocierea A2 este urmarea rolului r1 jucat de aceeai entitate n asocierea A1. Restricia de egalitate de roluri evideniaz c rolul r1 jucat de entitatea E1 n asocierea A1 determin rolul r2 jucat de aceeai entitate n asocierea A2, iar rolul r2 determin n acelai timp rolul r1. Resticia de excluziune de roluri precizeaz c, dac o entitate E1 joac rolul r1 n asocierea A1 nu poate juca rolul r2 ntr-o alt asociere numit A2. Dar aceste restricii legate de participarea entitilor la asocieri nu pot fi judecate doar la nivel de roluri ci este necesar uneori precizarea unor restricii de integritate la nivelul tipului de asociere, deci a ansamblului de asocieri prezentnd aceeai semantic.

2.2.4. Restricii de integritate de asocieri


Restriciile analizate n acest subcapitol vizeaz asocierea nsi mpreun cu entitile participante. Altfel spus restriciile se refer la mulimea tuturor rolurilor aparinnd asocierii. Restricia de incluziune de asocieri Restricia de incluziune exprim faptul c asocierea A1 stabilit ntre dou entiti va determina existena unei alte asocieri A2 n cadrul modelului EA. Exemplu: Un broker primete ordine de la clientul su i execut tranzacii.

BROKER
ID Broker Nume broker SVM 1,n Execut 1,1 TRANZACII Cod tranzactie Valoare

ORDINE 1,n primete 1,1 ID ordin Data ordin Cod aciune

1,1 emite 1,n CLIENTUL Cod client Nume client Adresa

Figura 2.26. Incluziunea de asocieri Tipul de asociere execut este determinat de existena tipului de asociere primete (brokerul nu poate efectua tranzacia dac nu a primit ordinul corespunztor). Restricia de excluziune de asocieri Restricia de excluziune de asocieri exprim faptul c asocierile aparinnd tipului de asociere A1 exclud asocierile aparinnd tipului A2. Exemplu: Studenii din universitile de stat care achit taxa de colarizare nu pot fi bursieri ai acestor instituii. Rezult c ntre Achit (taxe) i ncaseaz (burs) este o excluziune de asocieri.

STUDENT

Primitor 0,n ncaseaz 1,1

BURSE Cod burs Suma

Cod-stud Nume Adresa

# 1,n Achit Pltitor 1,1 TAXE SCOLARE Cod TAX Denumire Suma tax

Figura 2.27. Excluziune de asocieri Restricia de egalitate de asocieri Restricia de egalitate de asocieri exprim faptul c asocierile aparinnd tipului A1 determin existena asocierilor aparinnd tipului A2 i invers. Exemplu: Fie tipurile de entiti Cri i Legitimaii ntre care se stabilesc tipurile de asocieri Posed i mprumut. ntre aceste asocieri se stabilete o restricie de egalitate de asocieri deoarece orice mprumut de carte implic posesia legitimaiei de acces la bibliotec iar posesia legitimaiei implic posibilitatea mprumutului de carte (Figura 2.28). Toate rolurile Cititor implic toate rolurile Posesor i entitile participante la asociere.
STUDENT Nr. Matricol Nume 1,1 posesor Posed 1,1 LEGITIMATIE Nr. Legitimatie Data emiterii

cititor

0,n

mprumut

0,n CARI Cota Titlu Editura

Figura 2.28. Restricie de egalitate de asocieri

2.3. Dependene funcionale 2.3.1. Tipuri de dependene funcionale


Conceptul de dependen funcional (DF) este fundamental n analiza structurii datelor. Studiul dependenelor funcionale stabilite ntre atribute ne permite obinerea unei reprezentri formalizate a structurii de date. Dependenele funcionale evideniaz raporturile de determinare stabilite ntre atributele unei entiti. O dependen funcional pune n relaie dou atribute: determinantul i determinatul.
Determinant

Determinat

Figura 2.29 Dependen funcional Exemplu:


Nr. rol Cod fiscal Nume contribuabil Agent economic

Aceast df subliniaz faptul c unei realizri a atributului Nr. rol i va corespunde ntotdeauna aceeai realizare a atributului Nume contribuabil, iar aceeai realizare a atributului Cod fiscal va fi asociat aceluiai Agent economic. Rezult c determinantul reprezint atributul/grupul de atribute din stnga df care prin valoarea sa determin valoarea luat de atributul cu rol de determinat. Fie tipul de entitate R, A,B,C atribute aparinnd lui R, iar X, Y, Z ansambluri de atribute de R. Spunem c n tipul de entitate R se verific df X Y dac n dou realizri ale lui R avnd aceleai valori pentru X exist aceleai valori pentru Y. Rezult deci c df este o relaie de determinare stabilit ntre atributele aparinnd aceluiai tip de entitate. Dac valorile atributelor cuprinse n Y sunt cunoscute, atunci ele sunt n funcie de valorile atributelor aparinnd lui X pentru c ele sunt determinate n mod unic de acestea din urm. Dependena funcional poate implica atribute sau grupuri de atribute. Dac: A (B,C) atunci exist dependenele funcionale: AB AC Exemplu: Nr. Poli Data poli, nume agent Ceea ce ne conduce la identificarea dependenelor funcionale: Nr. Poli Data poli Nr. Poli Nume agent Dar dac exist df (A,B) C nu nseamn c se verific dependenele funcionale: AB i AC

Exemplu: Cod secie Marca

Dac exist dependena funcional: Cod-material, cod-furnizor pre-aprovizionare rezult c preul nu depinde numai de codul materialului ci i de furnizor, acelai material putnd fi aprovizionat la preuri diferite de la furnizori diferii. Df X Y este o dependen funcional complet dac Y este dependent funcional de X fr s fie dependent funcional de nici una din componentele lui X (preul de aprovizionare este determinat att de furnizor ct i de materialul aprovizionat). Dependena funcional X Y se numete df parial dac Y este dependent funcional att de X ct i de o parte a lui X. Fie tipul de entitate E definit prin atributele: cod operaie, cod reper, timp-prelucrare, categorieoperaie. ntre atributele aparinnd lui E exist urmtoarele df: Cod operaie, cod reper timp de prelucrare (df.complet) Cod operaie, cod reper categorie-operaie (df.parial) Dependena funcional X Y se numete df trivial dac Y X. n procesul de analiz a datelor pot fi identificate df tranzitive. X A este o df tranzitiv dac A este un atribut unic neinclus n X astfel nct exist Y X, X Y i Y A i Y nu determin X. S analizm dependenele funcionale care se stabilesc ntre atributele: CNP (cod numeric personal), Nume persoan, Localitatea de domiciliu, Cod localitate aparinnd tipului de entitate Persoana. CNP fiind ales drept identificator al entitii nseamn c exist dependenele funcionale: CNP Nume persoan CNP Localitatea de domiciliu CNP Cod localitate Dar exist: df Localitate de domiciliu Cod localitate ceea ne conduce la concluzia c df CNP Cod localitate este o df tranzitiv. Dependena multivaloare se manifest atunci cnd valorii unui atribut/grup de atribute i corepund mai multe valori ale unui alt atribut. Df tranzitiv se reprezint astfel: X Y O dependen multivaloare poate s se manifeste n cazul unei entiti prezentnd cel puin trei atribute (A,B,C) astfel nct: A determin mai multe valori pentru B, A determin mai multe valori pentru C; B i C sunt independente unul de cellalt. Exemplu: S presupunem c dorim s reinem informaia referitoare la numrul de inventar al mijloacelor fixe aflate ntr-o secie i mrcile (codul de identificare) salariailor care lucreaz n secia respectiv ntrun tip de entitate numit SECII al crui identificator este atributul cod secie. Se identific ntre aceste atribute dependenele funcionale multivaloare:

Cod secie

Nr inventar

2.3.2. Proprietile dependenelor funcionale


Proprietile dependenelor funcionale, numite i regulile lui Amstrong sunt: Reflexivitatea: Dac Y X atunci se verific df X Y unde X i Y sunt atribute/grupuri de atribute aparinnd tipului de entitate R. Dezvoltarea: Pentru orice Z R dac se verific X Y atunci se verific i df XZ YZ. Tranzitivitatea: Dac se verific df X Y i df Y Z atunci este adevrat i df X Z. Aditivitatea: Dac X Y i X Z atunci exist df X YZ. Pseudotranzitivitatea: Dac exist dependenele funcionale X Y i WY Z atunci se verific df XW Z. Descompunerea: Dac se verific df X Y atunci se verific i df X Z dac ZY. Studiul dependenelor funcionale se poate realiza utiliznd mai multe instrumente. n cele ce urmeaz ne propunem s prezentm dou dintre acestea: matricea dependenelor funcionale i diagrama dependenelor funcionale care s-au dovedit complementare.

2.3.3. Matricea dependenelor funcionale


Matricea dependenelor funcionale poate fi realizat n dou variante: matricea simplificat matricea complet Matricea simplificat reprezint un tablou n care coloanele cuprind determinanii dependenelor funcionale iar fiecare linie un atribut aparinnd mulimii atributelor supuse modelrii. Matricea complet reprezint un tablou asemntor matricii simplificate cu singura deosebire c numrul de coloane este egal cu numrul liniilor, cu alte cuvinte antet de coloan va fi orice atribut (regsit i ca antet de linie) i nu doar atributele (grupurile de atribute) cu rol de determinant ntr-o dependen funcional. S elaborm matricea simplificat a dependenelor funcionale pentru atributele necesare elaborrii MCD privind consumul normat de materii prime stabilit pentru produsele din nomenclatorul de fabricaie al firmei. Mulimea atributelor corespunztoare problemei studiate este format din: cod produs, denumire produs, cod um, pre livrare, cod reper, denumire reper, cantitate reper (n realizarea unui produs finit intr mai multe repere de acelai fel sau diferite), cod material, denumire material, cantitate normat pe reper, denumire um. Pe baza mulimii atributelor enunate se identific dependenele funcionale stabilite ntre acestea care apoi sunt marcate n matricea simplificat a dependenelor funcionale. DETERMINANTI ATRIBUTE 1 3 5 8 5+8 1+5 1. Cod produs 1 2. Denumire produs 1 3. Cod um 1 1 1 4. Pre produs 1 5. Cod reper 1 1 6. Denumire reper 1 7. Cantitate reper 1 8. Cod material 1 1 1 9. Denumire material 1 10. Cantitate normat pe reper 1 11. Denumire unitate de 1 msur Figura 2.30 Matricea simplificat a DF

Analiznd Figura 2.30 constatm c fiecare coloan din matrice a fost rezervat unui determinant (se poate stabili anterior o list a DF). Valoarea 1 marcheaz la intersecia unei coloane cu o linie existena unei DF ntre atributul cu rol de determinant precizat n coloan i atributul determinant nscris la nivelul liniei. Una din regulile modelului EA specific unicitatea atributelor adic obligativitatea ca un atribut s aparin unei singure entiti sau asocieri. Plasarea unui atribut ntr-o entitate sau alta este determinat de DF la care particip n legtur cu identificatorul tipului de entitate. Aceasta nseamn c la nivelul matricei dependenelor funcionale la nivelul fiecrei linii va trebui s fie nscris o singur valoare 1. n mod distinct, prin subliniere, n cadrul matricei au fost marcate cteva valori 1. Ele exprim proprietatea de reflexivitate a DF i sunt marcate la intersecia coloanei cu linia corespunztoare acelorai atribute (n cazul nostru determinanii). O problem apare n linii de 3 i 8 unde cod um i cod material prezint mai muli determinani. Aceast situaie atenioneaz asupra necesitii unei analize i impune alegerea corect a determinantului dependenelor funcionale puse n eviden. Existena mai multor valori 1 pe o linie poate fi i consecina unor DF tranzitive care pun n eviden asocieri ierarhice (numite i restricii de integritate funcional) ntre entitile ale cror identificatori sunt n dependen funcional. Matricea complet a dependenelor funcionale n cazul matricei complete numrul de coloane corespunde cu numrul liniilor. DETERMINANTI 5 6 7 8 9 10

ATRIBUTE 1 2 3 4 1 1. Cod produs 1 1 2. Den. produs 1 1 3. Cod um 1 1 4. Pre produs 1 1 5. Cod reper 1 1 6. Den. reper 7. Cantitate reper 1 1 8. Cod material 9. Den. material 10. Cant. normat 1 11. Den. um Figura 2.31 Matricea complet a DF

11

5+8

1+5

1 1 1 1 1 1 1

Din analiza matricei complete a DF constatm: diagonala de valori 1 rezultat (aa cum am precizat i n cadrul matricei simplificate) este consecina proprietii de reflexivitate a df; existena dependenelor elementare (prezentnd un determinant elementar, format dintr-un atribut); existena dependenelor neelementare al cror determinant este format dintr-un grup de atribute n cazul nostru (Cod produs, cod reper) i (cod reper, cod material). existena unor dependene tranzitive (cod produscod material) i multivaloare ntre atributele cod produs i cod reper, respectiv ntre cod reper i cod material care conduc la apariia mai multor valori 1 n cadrul liniilor matricei. Analiza informaiei din matrice (complet sau simplificat) ne va conduce la definirea unor tipuri de entiti optimizate n cadrul crora s fie eliminate DF complexe. Diagrama dependenelor funcionale Diagrama dependenelor funcionale reprezint un graf constituit pe baza DF identificate pornind de la care vom putea defini tipurile de entiti ale modelului EA astfel nct n cadrul acestora s nu se mai manifeste DF complexe. Notaiile pe care le vom utiliza n cadrul diagramei sunt:
DF Cvasi DF

Cvasi dependenele funcionale sunt cele pentru care cunoaterea unei valori pentru determinant nu antreneaz sistematic cunoaterea unei valori a determinatului. De exemplu:
Cod produs Cod reper

De multe ori aceste cvasi dependene funcionale sunt reciproce. Un produs este format din mai multe repere dar un anumit reper particip la realizarea mai multor produse. Un graf al DF pune n eviden DF tranzitive: Atribut 1 Df 1 Df 3 Atribut 2 Df 2 Atribut 3 Figura 2.32 Graf al DF Dependena tranzitiv DF3 va trebui eliminat din diagrama dependenelor funcionale. n cazul problemei pe care o avem de rezolvat cvasidependene funcionale reciproce sunt: Dar dependena funcional dintre atributul cod produs i atributul cod material este tranzitiv i va trebui eliminat din diagrama DF. Pornind de la mulimea atributelor ce definesc problema de rezolvat (enumerate n paragraful anterior) putem identifica dependenele funcionale pe care le vom grupa n cadrul diagramei n funcie de determinanii pe care i prezint. n aceste condiii diagrama DF va arta astfel:
Cod produs Cod reper Cod produs Cod reper Cod material Cod material

Trecerea de la diagrama dependenelor funcionale la modelul EA se realizeaz pe baza urmtoarelor reguli:

Figura 2.33 Diagrama DF 1. Pentru fiecare DF n care determinantul este elementar se creeaz un tip de entitate n care determinantul DF joac rolul de identificator.

n cazul problemei de rezolvat se vor defini patru tipuri de entiti i anume: Produs, Reper, Material i Uniti msur prezentnd drept identificatori atributele: Cod produs, Cod reper, Cod material i respectiv Cod um (Figura 2.34).
PRODUS Cod produs REPER Cod reper MATERIAL Cod material UNITATI MASURA Cod um

Fig 2.34 Tipuri de entiti definite. 2. Toate atributele participnd la dependene funcionale ce prezint acelai determinant se vor grupa n cadrul aceluiai tip de entitate prezentnd drept identificator atributul cu rol de determinant n cadrul dependenelor funcionale. n urma aplicrii acestei reguli obinem:
PRODUS Cod produs Den produs Pret livrare REPER Cod reper Den reper MATERIAL Cod material Den material UNITATI MASURA Cod um Den um

Figura 2.35 Gruparea atributelor pe tipuri de entiti 3. Fiecrei dependene funcionale ntre identificatorii tipurilor de entiti i va corespunde n modelul EA un tip de asociere. Aceast asociere este ierarhic (restricie de integritate funcional) cnd cardinalitatea maximal pentru cuplul E1A este 1 iar pentru cuplul E2A este n. Aplicnd aceast regul obinem:

Figura 2.36 Definirea tipurilor de asocieri 4. Pentru fiecare DF neelementar (cu determinantul format dintr-un grup de atribute, identificatorii n cadrul tipurilor de entiti definite) se creeaz un tip de asociere neierarhic (restricie de integritate multipl), definit prin atributul cu rol de determinant n DF. Aplicnd regula obinem:

Figura 2.37 Model EA Realiznd matricea simplificat a df vom constata respectarea cerinelor de validare a modelului EA:

Figura 2.38 Matricea simplificat a DF Matricea s-a realizat pe baza DF manifestate n cadrul tipurilor de entiti definite. Se observ c prin eliminarea elementelor de reflexivitate pe fiecare linie a matricei rmne, aa cum este corect, o singur valoare semnificnd c un atribut prezint un singur determinant.

2.4. Reguli de verificare i normalizare a MCD 2.4.1. Reguli de verificare a MCD


Realizarea MCD impune respectarea urmtoarelor reguli: Regula de unicitate a numelor se aplic tuturor elementelor care particip la definirea MCD: tipuri de entiti, tipuri de asocieri, atribute, roluri. Aceast regul impune eliminarea din model a omonimelor i sinonimelor. Aceasta nseamn c nu vom putea da, n cadrul aceluiai MCD, i unui atribut i unui tip de entitate acelai nume, de exemplu Student. Vom numi tipul de entitate Student iar atributul va primi denumirea Nume Student. Regula unicitii atributelor (neredundanei) impune ca un atribut s defineasc un singur tip de entitate sau un singur tip de asociere.

Regula de unicitate a asocierilor, aplicabil n cazul asocierilor neierarhice, specific faptul c pentru fiecare realizare a asocierii nu poate s existe dect o singur realizare a fiecrei entiti participante la asociere. Regula proprietilor i determinantului unei entiti precizeaz c un atribut care este determinat de mai muli determinani, acetia fiind identificatori ai unor tipuri de entiti diferite, trebuie s defineasc tipul de asociere creat ntre respectivele tipuri de entiti. Regula atributelor derivabile recomand evitarea includerii n MCD a atributelor rezultate din calcule. Prezena unor astfel de atribute n MCD se justific numai dac ele sunt purttoare ale unei informaii cu o anumit relevan i frecven de utilizare. Regula atributelor decompozabile precizeaz c pot fi meninute n cadrul MCD atribute complexe n msura n care prelucrrile nu impun descompunerea lor pe componente elementare. Un exemplu este reprezentat de atributul adresa care se poate descompune pe urmtoarele componente: cod potal, localitate, strad, numr, nr. apartament. ntr-un SI realizat pentru activitatea unei administraii financiare se impune descompunerea atributului adresa pe componentele sale elementare deoarece contribuabilii sunt adesea selectai dup criteriul strzii de domiciliu sau numrului. n cazul unui SI destinat evidenei angajailor unei firme atributul adresa se va reine ca atare, nefiind necesar descompunerea sa pe elemente. Regula minimizrii identificatorilor specific necesitatea stabilirii cu atenie a identificatorilor entitilor reinnd n grupul de atribute un numr ct mai mic de elemente (atribute). Regula valorii NULL. Deoarece exist definite n cadrul tipurilor de entiti atribute care nu prezint realizri obligatorii la nivelul fiecrei entiti, rezult c MCD poate fi rafinat prin definirea unor subtipuri de entiti care s cuprind doar atributele specifice acelei submulimi de entiti. Atributele cu rol de identificator vor trebui s primeasc obligatoriu realizri.

2.4.2. Reguli de normalizare a MCD


Normalizarea este considerat o parte important a procesului de proiectare a datelor. Modelul EA este rezultatul unui proces iterativ care a permis identificarea tipurilor de entiti, atributelor definite n cadrul acestora, a identificatorilor i a asocierilor. Normalizarea vizeaz atributele entitilor pe care le analizeaz cu scopul eliminrii anomaliilor asigurndu-se astfel definirea unor tipuri de entiti libere de dependene funcionale tranzitive i multivaloare. Procesul normalizrii se poate desfura urmnd una din urmtoarele abordri: Varianta top down caracterizat prin urmrirea respectrii formelor normale la nivelul entitilor; Varianta bottom up caracterizat prin definirea unui tip de entitate unic nglobnd toate atributele modelului EA la nivelul cruia s se identifice mulimea dependenelor funcionale existente ntre ele. Regulile de normalizare a MCD sunt: Regula nr. 1 (FN1): Fiecare entitate trebuie s prezinte un identificator prezentnd realizri unice, nenule. Aceast regul este consecina direct a definirii tipului de entitate n cadrul MCD. O regul suplimentar celei enunate deja este cea referitoare la caracterul elementar al atributelor. Regula nr. 2 (FN2): Toate atributele entitii, altele dect identificatorul, trebuie s fie n dependen funcional complet i direct cu identificatorul entitii. Altfel spus, n toate realizrile tipului de entitate, fiecare atribut trebuie s fie determinat de identificator i trebuie s ia o singur valoare i numai una (nu se admit valori multiple deci dependene funcionale multivaloare). Sintagma de dependen complet exprim necesitatea ca atributele s fie determinate de identificator n ansamblul lui, i nu doar de o parte a lui (nu se admit dependene pariale). Din cele menionate rezult faptul c o entitate care prezint identificatorul format dintr-un singur atribut respect automat aceast regul. Regula nr. 3 (FN3): Toate atributele unei asocieri trebuie s depind complet de identificatorul asocierii (identificatorii entitilor participante la asociere) iar fiecare atribut trebuie s depind de ntregul identificator i nu de o parte a acestuia.

2.5. Dezvoltri ale modelului entitate asociere


Generalizarea i specializarea Un subtip (o subclas) de entiti reprezint un grup de entiti aparinnd unui tip, reprezentate distinct n cadrul modelului, ele prezentnd anumite trsturi caracteristice ce le detaeaz, individualizeaz, de celelalte entiti. Definirea subtipurilor de entiti se poate face pe dou ci: - plecnd de la valoarea unui atribut (valorile unor atribute); - utiliznd criterii precizate de utilizator. Prin aceast grupare a entitilor aparinnd unui tip se ajunge la definirea unor supertipuri de entiti dominante n raport cu subtipurile (subclasele) acestora. Subclasele sunt rezultanta unei specializri la nivelul entitilor, ele conservnd ns capacitatea de a moteni de la supertipul lor elementele comune definitorii. Pentru a clarifica importana definirii n modelul EA a tipurilor i subtipurilor de entiti v propunem urmtorul exemplu: O banc lucreaz att cu clieni persoane fizice ct i cu clieni persoane juridice. Fiecare client al bncii primete un numr unic de identificare (cod ID), are un nume. Dac este persoan fizic se reine codul numeric personal (CNP) i data naterii (DataN), dac este persoan juridic se reine codul fiscal (CodF) i codul din registrul comerului (CodC).
CLIENI Cod ID Nume

Tip (Supertip)

0,1

0,1

Este o
1,1 PERS FIZIC CNP DataN

Este o
1,1 PERS JURIDIC CodF CodC

Subtipuri de entiti

Figura 2.39 Subtipuri de entiti Cele dou subtipuri - PERS FIZIC i PERS JURIDIC - motenesc toate caracteristicile definite pentru supertip (CLIENI) i anume Cod ID i Nume. Generalizarea Generalizarea reprezint un proces de modelare a crui finalitate este reprezentat de definirea unui supertip regrupnd toate atributele comune i a mai multor subtipuri regrupnd atributele specifice unui subansamblu de realizri ale unui tip generic de entiti.

DOCUMENT NUMR DATA DOC EMITENT BENEFICIAR

0,1

1,1

Este un 1,1 Sgaranie Nr zile Suma

Este un 1,1 OrdinPlat Cont Pltitor Cont Benef Banca Pl. Banca Benef.

Figura 2.40 Generalizarea n modelul EA Conceptul de generalizare provine de la reprezentarea cunotinelor sub form de reele semantice i se materializeaz printr-un predicat de forma este un (mai este numit i relaie IS-A dup forma englez a predicatului). S lum un exemplu: orice document se identific prin numr, data emiterii, emitent, destinatar dar fiecare tip de document consemneaz un eveniment cu o anumit natur i coninut. Astfel o scrisoare de garanie bancar indic perioada de valabilitate pentru care se garanteaz plata pentru o sum precizat. Un ordin de plat va aduce ca informaie specific: numrul contului pltitor, banca pltitoare, contul beneficiar, banca acestuia, suma pltit. Se pot reprezenta astfel n mod distinct proprietile comune ale tuturor documentelor (elementelor de identificare) de cele specifice (Figura 2.40). Generalizarea permite n cadrul modelului EA tocmai definirea acestor caracteristici comune n cadrul unui supertip de entitate urmnd ca elementele specifice s rmn a fi descrise la nivelul subtipurilor de entiti. Pentru c orice scrisoare de garanie bancar sau ordin de plat se definesc prin numr, data, emitent, beneficiar rezult c subtipurile de entiti Sgaranie i OrdinPlat vor moteni atributele susmenionate de la supertipul DOCUMENT. Generalizarea prezint o serie de proprieti, parial comentate deja: Motenirea atributelor semnificnd faptul c orice entitate E1 (Sgaranie/OrdinPlat) avnd cu o alt entitate E (DOCUMENT) o relaie de generalizare, de forma E1 este un E, motenete atributele lui E; Atributele supertipului nu aparin subtipului; Nu exist motenire colateral (ntre Sgaranie i OrdinPlat) Figura 2.40. cuprinde i precizarea restriciei de integritate de excluziune (o scrisoare de garanie nu poate fi un ordin de plat). Specializarea Specializarea reprezint operaia opus generalizrii permind realizarea unei decupri a unui tip de entitate E (care va deveni SUPERTIP) n subtipuri de entiti difereniate prin atribute proprii sau prin anumite realizri aparinnd unui atribut. Specializarea i generalizarea sunt dou abordri diferite ale aceluiai proces de modelare. n msura n care dorim s cuprindem n modelul EA informaia existent n documentele Scrisoare de garanie bancar i ordin de plat (emis de agentul economic) putem crea iniial un tip de

entitate document definit prin mulimea atributelor corespunztoare problemei analizate (mulimea tuturor atributelor celor dou tipuri de documente). Tipul de entitate DOCUMENT (Figura 2.41) este un concept generic, el cuprinznd elementele caracteristice celor dou documente aparinnd lumii reale, Scrisoarea de garanie i Ordinul de plat. Chiar dac pot exista atribute cu realizri opionale n cadrul unui tip de entitate, att timp ct privesc caracteristici particulare ale unor entiti este necesar gruparea acestora n subtipuri (de entiti). La nivelul tipului de entitate (Document) vor rmne doar atributele comune subtipurilor definite. Obinem astfel subtipurile de entiti Sgaranie i OrdinPlat ajungnd astfel la modelul EA prezentat n figura 2.40. Operaia de specializare poate fi: total sau parial.
Document Numr Data Emitent Beneficiar Nr. zile Suma Cont benef. Banca benef. Cont pltitor Banca pltit.

Figura 2.41 Specializarea total corespunde situaiei n care orice entitate a supertipului face parte dintr-un subtip. Grafic se marcheaz printr-o linie dubl. Specializarea parial corespunde situaiei n care pot exista realizri ale supertipului care nu aparin nici unui subtip (spre exemplu o realizare a tipului document este un document de tip bon de consum cruia nu-i corespunde nici un subtip din cele definite n exemplul nostru Sgaranie i OrdinPlat). Grafic se reprezint printr-o linie simpl. S presupunem c secretariatul unei faculti dorete s evidenieze cele trei categorii de studeni pe care i gestioneaz: studenii de la forma de nvmnt zi, studenii cursurilor postuniversitare i studenii doctoranzi. Toi aceti studeni se definesc printr-o serie de atribute comune: numr matricol, nume, adres, data naterii care se rein la nivelul tipului de entitate STUDENT. Atributele specifice fiecrui grup de studeni aparinnd unei anumite forme de pregtire se vor reine n subtipurile specifice. Astfel, studenii de la cursurile de zi se definesc prin: an (de studii), grupa, categorie (student nscris pe loc bugetat sau cu tax), tip burs. Studenii cursurilor doctorale se caracterizeaz prin: cursul urmat, tema aleas pentru dizertaie iar studenii doctoranzi se definesc prin: specializare, conductor tiinific, tema tezei, anul nscrierii.

Student Nr. matricol Nume Adres Data naterii 0,1 0,1 Este un 1,1 Zi An Grup Categorie Tip burs # Este un 1,1 Postuniv. Cursul Tema dizertaiei 1,1 Doctoranzi Specializare Conductor Anul nscrierii Tema # Este un 0,1

Figura 2.42. Specializare total Figura 2.42 evideniaz faptul c orice entitate aparinnd tipului student i gsete corespondent ntr-o realizare a unui subtip. S-a marcat distinct i de aceast dat restricia de integritate de excluziune dintre subtipurile de entiti (dac este un student la zi nu poate fi student la un curs postuniversitar sau doctorand). Exist situaii n care ntre cele dou subtipuri de entiti avnd acelai supertip pot aprea i restricii de incluziune, deci realizrile cele dou subtipuri nu sunt disjuncte (figura 2.43). eful unui compartiment din structura organizatoric a firmei poate fi economist deci apare relaia de incluziune ntre cele dou subtipuri definite EF i ECONOMIST.
Angajat Cod id Nume Funcie Salariu 0,1 # Este un 1,1 ef Indemnizaie Economist Specializarea Este un 1,1

0,1

Figura 2.43 Restricie de integritate de excluziune

STUDIU DE CAZ Se dorete realizarea modelului conceptual al datelor pentru sistemul informatic al unei societi de valori mobiliare tiind c: - Ordinele de tranzacionare se primesc de la clieni, fiecare client fiind definit printr-un cod unic de identificare, nume, adresa, banca, cont. - Ordinele de tranzacionare vizeaz societile cotate pe pia, societi pentru care se reine codul, denumirea, capitalul social, cotaia maxim i respectiv cotaia minim nregistrat. - Ordinele clienilor privesc o anume societate tranzacionat i pot fi de vnzare, (caz n care acesta poate specifica preul minim pe care l accept) sau de cumprare, pentru care poate preciza un pre maxim. Ordinele primesc un numr unic la nivelul SVM-ului i cuprind: data i ora emiterii, numrul de aciuni, societatea vizat. - Ordinele sunt executate de un broker, clienii lucrnd fiecare cu un anume broker din societate, pentru care se rein urmtoarele caracteristici: cod i nume. - Tranzaciile realizate pe baza ordinelor primite prezint: un numr, data tranzaciei, numrul aciunilor care au fcut obiectul tranzaciei, preul la care s-a realizat tranzacionarea. - Un ordin poate fi acoperit prin mai multe tranzacii realizate pe pia. n MCD s-au definit urmtoarele tipuri de entiti: Client definit prin atributele: Cod-client (identificator), nume-client, adresa, cont, banca. Societi definit prin: Cod soc (identificator), denumire, capital, cotaia maxim, cotaia minim (aceste dou ultime atribute au rol informativ iar prin cerinele problemei nu s-a cerut i reinerea datelor la care s-au nregistrat aceste valori). Ordin definit prin: Nr-ordin (identificator), data ordin, ora, nr-aciuni. Se remarc n cadrul MCD specializarea total (cu specificarea restriciei de excluziune ntre entitile subtipurilor) prin definirea subtipurilor Vnzare i Cumprare necesare reinerii preului minim de vnzare respectiv preului maxim de cumprare. Tranzacii: Nr-tranz (identificator), data tranz, nr. aciuni, pre tranz. Broker: Cod-broker (identificator), nume broker.

Figura 2.44

2.6 Reprezentarea timpului


Modulul EA nu ofer formalisme specializate pentru reprezentarea timpului. Dar elementul timp trebuie de cele mai multe ori s se regseasc n cadrul modelului conceptual definit. Aa se explic faptul c modelul EA permite att reprezentri sincronice (care aduc o viziune atemporal) sau diacronice (care surprind elementul timp n MCD). S presupunem c dorim s realizm un MCD care s permit reprezentarea consumului specific de materii prime necesare fabricrii fiecrui subansamblu din componena unui produs finit (Figura 2.45). Modelul conceptual din figura 2.45 este o reprezentare sincronic. Realitatea modelat nu a impus integrarea n MCD a elementului timp. Sunt ns situaii n care n cadrul MCD este necesar s integrm i elementul timp. S presupunem c dorim s reprezentm cursele realizate de fiecare aeronav a unei companii de transporturi aeriene. Ne intereseaz s cunoatem ce aeronav a asigurat fiecare din cursele programate. Vor fi utilizate n cadrul modelului dou tipuri de entiti AVION i CURSA ntre cele dou stabilindu-se tipul de asociere REALIZEAZ.
Produs Cod produs Denumire Pre catalog 0,n Compus Nr. compon. 1,n Component Cod Den. compon.

1,n

Necesit Cantitate MaterPrim Codmat Den mat 1,n

Figura 2.45 Reprezentare sincronic


Aeronav Nr-id Marca Tip Km parcuri Data reparaiei 1,n Realizeaz 1,n Curs Nr curs Destinaie Ora-plecrii Ora-sosirii

Figura 2.46 Reprezentarea sincronic din figura 2.46 evideniaz ce curse au fost realizate de fiecare aeronav din dotare dar nu i cnd. Cursa cu numrul 123 avnd destinaia Paris se efectueaz n fiecare zi de joi a sptmnii i deci nu putem identifica cu ce aeronav s-a realizat ntr-o numit zi. Dac ns dorim s avem o eviden clar a curselor realizate de o anumit aeronav aceast reprezentare se dovedete neacoperitoare. Realizrile tipului de asociere se identific dup Nr-ID i Nr curs. Cum acelai avion poate realiza aceeai curs, de mai multe ori identificarea realizrilor tipului de asociere nu se mai poate realiza. Acest lucru impune introducerea n cadrul modelului a unui tip de entitate temporal.

Caracteristic pentru entitile temporale este faptul c ele sunt definite adesea printr-un singur atribut (data calendaristic). n cazul n care prezint mai multe atribute, fiecare dintre acestea reprezint o unitate de msur a timpului (zi, or, minut) iar ansamblul acestor atribute formeaz identificatorul tipului de entitate. Observm c introducerea timpului de entitate temporal a condus la transformarea tipului de asociere binar existent iniial ntre AVION i CURSA ntr-o asociere ternar.
Data cursei Data

Aeronav Nr-id Marca Tip Km parcuri Data reparaiei 1,n

1,n

Curs Realizeaz Nr curs Destinaie Ora-plecrii Ora-sosirii 1,n

Figura 2.47 Reprezentare diacronic O alt modalitate de a introduce elementul timp n cadrul modelului EA este reprezentat de introducerea evenimentelor datate. Din activitatea practic cunoatem faptul c fiecare eveniment produs (o aprovizionare, ncheierea unui contract, etc.) se concretizeaz ntr-un document care pe lng numr i prezentarea coninutului prezint i o dat. S lum cazul unei societi de asigurri i s ne limitm la gestiunea doar a polielor de asigurare a bunurilor. n cadrul MCD trebuie s cuprindem att clienii societii, bunurile pe care acetia le asigur i riscurile pentru care se face asigurarea. Evenimentul asigurare bun care are loc se consemneaz ntr-un document numit poli de asigurare. Acest eveniment se va regsi n cadrul MCD sub forma unui tip de entitate (Poli).
Client Cod client Nume Tip Adres 1,n ncheie 1,1 Poli Nr poli Data poli

1,n 1,n Asigur Precizeaz 1,n 1,1 Riscuri Bun asigurat Denumire Adresa Val bun Val asigurat Cod risc Denrisc

Figura 2.48 Introducerea evenimentelor datate n modelul EA

2.7 Validarea modelelor externe


Validarea MCD nu se realizeaz doar prin regulile de validare i normalizare (prezentate ntr-un capitol anterior) viznd elemente de construcie ale modelului ci i prin controlul completitudinii modelului. Trecerea la etapa modelrii logice nu se poate face fr verificarea completitudinii modelului conceptual. MCD este definit prin prisma unei singure prelucrri a datelor, ori n realitate diverii utilizatori prelucreaz datele n conformitate cu propriile lor nevoi avnd o percepie diferit (modele externe) asupra datelor.
Realitate

Model Extern 1

Model Extern 2

Model Extern n

Model Conceptual

Figura 2.49. Modele externe ale datelor Fiecrei prelucrri (consultare sau actualizare) realizate de un utilizator i corespunde un model extern al datelor (MED) care reflect viziunea particular a utilizatorului asupra realitii. Acest model extern propriu unei anumite prelucrri implic un bloc logic de date constituit pe baza formalismului EA. Dac n urma definirii modelelor externe constatm c fiecare dintre acestea este deductibil din MCD definit nseamn c modelul conceptual al datelor rspunde criteriului de completitudine. n construirea modelelor externe se recomand utilizarea urmtoarelor reguli: - se definete un model extern pentru fiecare consultare sau actualizare impus de o prelucrare; - modelul extern se construiete utiliznd formalismul EA. n construirea modelului EA corespunztor ME se ine seama de faptul c : - entitile ME pot s nu prezinte identificatori; - atributele, entitile i asocierile ME pot s nu-i gseasc un corespondent n MCD; - atributele ME corespunztoare celor aparinnd MCD vor trebui s prezinte acelai nume cu acestea. n cazul unei actualizri ME construit va reda spre exemplu, fluxul de date implicat n cadrul prelucrrii. n cazul operaiei de actualizare privind facturile emise clienilor ME se prezint astfel:

Factura NR FACTUR Data factur Client Val-factur

1,n CUPRINDE 1,1 COD PROD DEN PROD UM CANT FACT PRE VAL-PRODUS TVA-PRODUS TOTAL-PRODUS

Figura 2.50 ME al operaiei de actualizare Din analiza ME prezentat n figura 2.50 constatm c unele atribute i gsesc corespondent direct n MCD, altele sunt atribute calculate (VAL-PRODUS, TVA-PRODUS, TOTAL-PRODUS) iar unele atribute, dei definesc aceleai caracteristici, sunt definite cu nume diferite de cele utilizate n MCD (Client n loc de DEN CLIENT de exemplu), deci prin echivalen i gsesc un corespondent n MCD.

Figura 2.51 Verificarea completitudinii MCD Atributele calculate aparinnd ME vor fi descompuse n conformitate cu algoritmii de calcul utilizai n vederea identificrii operanzilor. Se verific apoi msura n care atributele se regsesc direct sau prin echivalen n MCD. n msura n care ME cuprinde i atribute care nu se regsesc n MCD este necesar completarea acestuia cu atributele omise.

Reguli de validare a modelelor externe CONSULTARE 1. Atributele externe trebuie s fie atribute conceptuale 2. Se verific existena n MCD a atributelor necesare identificrii datelor n procesul consultrii. 3. Cardinalitile asocierilor externe trebuie s fie incluse n cardinalitile asocierilor aparinnd MCD corespunztoare semantic. ACTUALIZARE 1. Orice atribut extern servete fie la identificarea unui element conceptual de actualizare (atribut, entitate) fie la obinerea valorii de actualizare a unui element conceptual. Aceast regul permite identificarea atributelor omise ce vor completa MCD precum i la identificarea atributelor ME care vor fi terse deoarece nu servesc niciunuia din scopurile amintite. 2. Cardinalitile asocierilor externe trebuie s se includ n cardinalitile asocierilor conceptuale corespunztoare semantic. 3. Orice element conceptual trebuie s poat fi actualizat (inserat, modificat, ters) prin cel puin un model extern. Se vor defini modele externe omise care realizeaz actualizarea elementelor conceptuale. 2.8 Probleme recapitulative Probleme rezolvate Problema 1 n cadrul subsistemului informatic privind calculaia costurilor se urmrete evidenierea consumului de materii prime aferent comenzilor de produse lansate n fabricaie. tiind c : n comand se precizeaz secia productoare i cantitatea de fabricat din produsul respectiv; Eliberarea materiilor prime din gestiune pentru consum se face pe baza bonului de consum n care se specific: numrul i data bonului, gestiunea care elibereaz materialele, comanda de producie pentru care se elibereaz materialele, cantitile i preurile materiilor prime date n consum; Orice produs din nomenclatorul de fabricaie se definete prin: cod, denumire, pre de livrare; Materiile prime se definesc prin: codul materiei prime, denumire, unitate de msur, gestiunea n care se depoziteaz; Intrrile de materii prime n gestiuni se realizeaz pe baza documentului Not de recepie i constatare de diferene (NRCD) n care se consemneaz: numrul i data documentului, furnizorul, gestiunea primitoare, materia prim recepionat, cantitatea i preul de aprovizionare. Restricii: O comand de producie se refer la un singur produs; O materie prim poate fi stocat n mai multe depozite; Preul fiecrei materii prime difer de la un furnizor la altul; Un depozit are un singur gestionar. Se cere: 1. Identificai mulimea atributelor aparinnd problemei de rezolvat; 2. Realizai diagrama dependenelor funcionale; 3. Realizai modelul EA pe baza dependenelor funcionale identificate. REZOLVARE: 1. Atributele care definesc realitatea modelat sunt: Cod produs Den prod Pre livrare Nr. comand Data lansrii cd Secia de producie Cantitate produs Nr. bon consum Data bon Gestiune Cod material Den material Cantitate eliberat Nr NRCD Cantitate intrat Pre intrare Furnizor Gestionar

2. Diagrama dependenelor funcionale este:

Cod produs Den produs Cantitate comand Pre livrare

Nr. comand

Nr bon consum Data bon

Data lansrii

Secia Cantit. eliberat Cod material Den material Unit. msur Gestiune Gestionar Cantit. Intrat, Pret Intrare Furnizor

NRCD

Modelul EA este:
PRODUS Cod produs Den prod Pre livrare 0,N Cuprinde Cant cd 1,1 COMAND Nr cda Data lansare Secia

NRCD Nr NRCD Data NRCD Furnizor

1,N Necesit 1,1 BON CONSUM Nr bon Data bon

1,N Intrate Cant intr Pre intr 0,N


1,N

Cuprinde Cant elib. 1,N 0,N


1,N

MATERIALE Cod material Den material

1,N Stocheaz Stoc iniial

1,N GESTIUNE Nr Gestiune Gestionar

Problema 2 S se elaboreze MCD pentru evidena polielor de asigurare ncheiate de o societate specializat n asigurri de bunuri tiind c: Un client poate ncheia una sau mai multe polie de asigurare de bunuri. Fiecare client primete un cod unic i este definit prin nume, adres, cod numeric personal; O poli de asigurare se ntocmete pentru unul sau mai multe bunuri de ctre un agent de asigurri i cuprinde numrul, data ntocmirii, perioada asigurrii bunului; Pentru fiecare bun asigurat se specific: numele bunului, adresa unde se afl, valoarea bunului, valoarea pentru care se asigur, riscul/riscurile pentru care se asigur (furt, incendiu, inundaie etc); Pentru fiecare poli ncheiat se stabilete: valoarea primelor de asigurare pe care clientul urmeaz s le achite i data limit a plii, data de la care opereaz asigurarea, data de sfrit a perioadei de asigurare; Plata primelor de asigurare se face pe baz de documente (chitan, ordin de plat, fil cec etc identificate prin numr i dat).

REZOLVARE:

Not: Entitile Bun i PRIM nu prezint indentificator propriu. Ele se vor identifica prin valoarea atributului Numele bunului i rolul pe care entitatea POLI l joac n asocierea Privete i respectiv valoarea atributului Nr prim i rolul pe care l joac entitatea POLI n asocierea Prevede. Problema 3 O societate de turism dorete s implementeze un sistem informatic privind gestiunea hotelier. S se elaboreze MCD tiind c se dorete realizarea evidenei spaiului de cazare (camerele sunt de tipuri diferite simpl, dubl, apartament iar tariful difer de la camer la camer chiar dac sunt de acelai tip), a serviciilor suplimentare oferite n unele camere (televizor, fax, frigider etc) care se tarifeaz separat. Nota de plat se ntocmete clientului n funcie de camera ocupat, numrul zilelor de cazare, serviciilor suplimentare solicitate. Rezervrile se fac pe camere i nu pe locurile din camer. Verificai modelul EA elaborat pe baza matricei simplificate a dependenelor funcionale.

REZOLVARE:
CLIENT CAMER Nr camer Tip Tarif camer 1,n 1,n Ocup data debut data sfrit 0,n Primete SERVICII 1,n 0,n Tip serviciu Tarif/zi 1,n Privete 1,1 NOT PLAT Nr not Data Cod numeric Nume Adres Act identitate

0,n Are

Matricea simplificat a dependenelor funcionale este: 1. Nr camer 2.Tip camer 3. Tarif camer 4. Dat debut sejur 5. Dat sfrit sejur 6. Cod numeric personal 7. Nume client 8. Adres 9. Act identitate 10. Nr. not plat 11. Data not plat 12. Tip serviciu 13. Tarif serviciu/zi 1 1 1 1 6 10 12 1+6

1 1 1 1 1 1 1 1 1 1

Problema 4 Un spital dorete s implementeze un sistem informatic de gestiune prin care va putea avea o eviden clar a: pacienilor (date personale, diagnostic), medicilor i responsabilitile lor pe saloane, medicaiei i procedurilor de tratament prescrise pacienilor, repartizrii medicilor i saloanelor pe secii. Reguli de gestiune: Un pacient, n decursul unei internri, este sub supravegherea aceluiai medic i rmne n acelai salon; Pacienii din acelai salon sunt sub ngrijirea aceluiai medic; Un medic are o singur specialitate i lucreaz n cadrul unei singure secii; O procedur se poate efectua ntr-un singur cabinet, n ziua i ora fixat. Realizai diagrama dependenelor funcionale i apoi modelul EA. REZOLVARE: Modelul EA elaborat pe baza diagramei dependenelor funcionale este:

Cod medic

Cod pacient Nume

Cod diagnostic

Nume medic Cod Secie Adres Data naterii Den diagnostic Cod medicament Denumire Nr salon Act identit. Doz Pre

Nume secie

Cod procedur Capacitate Nume procedur Pacient Cod-id Nume Adres Data naterii Act identit. data internrii data externrii 0,n Face Data,ora Data, ora 0,n Sala Proceduri Cod procedur Nume procedur Cabinet

1,n Internat Medic Cod-medic Nume Specialitate Data int, Data extern

0,n

0,n 1,1 Secie Cod secie Nume secie Lucrez 1,n 1,n 1,n Are 1,1 0,n

Primete Dozaj

Medicament Cod medicament Den medicament Pre

1,1 Rspunde Salon Nr salon Capacitate

Probleme propuse 1. tiind c S.C. Agroprod este organizat pe mai multe ferme, fiecare ferm lucrnd cu angajai permaneni s se elaboreze MCD privind evidena personalului i calculul salariilor aferente timpului lucrat. Un angajat ocup un post pentru care s-a stabilit funcia i salariul. Fiecare post are un numr unic n cadrul fermei, iar fiecare ferm are un ef. Unor angajai li se fac reineri reprezentnd chirii, popriri, rate pe baza documentelor emise de creditori pentru care se reine: nr.doc, data doc, tip reinere, emitent, suma datorat. Pentru fiecare angajat se reine codul unic de identificare, numele, o dat a angajrii n firm, data naterii. n fiecare lun se consemneaz n documentul Foaie colectiv de prezen pentru fiecare angajat numrul orelor lucrate, numrul orelor absentate, numrul orelor de concediu de odihn, numrul orelor de concediu medical. 2. S se elaboreze MCD pentru sistemul informatic privind gestiunea mrfurilor ntr-o firm. Modelul va trebui s evidenieze informaiile privitoare la: cantitile i preurile de aprovizionare ale mrfurilor de la furnizori, livrrile de mrfuri ctre clieni (preul de livrare al mrfurilor este diferit de cel de achiziionare). Mrfurile se stocheaz n depozite. Fiecare depozit are un singur gestionar. Pentru fiecare marf se cunoate stocul iniial la nceputul perioadei i depozitul n care se afl. O anumit marf este stocat n unul sau mai multe depozite. Fiecare client este nscris ntr-un nomenclator cu numele, adresa, telefonul, contul, banca i codul de identificare. 3. Pentru un magazin de muzic se dorete crearea unei baze de date cuprinznd oferta acestuia. Realizai MCD necesar tiind c baza de date va stoca urmtoarele informaii: numele fiecrui album, casa productoare, anul nregistrrii, preul (care difer n funcie de suport: CD sau caset), genul n care se ncadreaz albumul (rap, dance, rock etc), melodiile cuprinse, durata fiecrei melodii, interpretul, compozitorul. Menionm c o melodie poate avea mai muli autori i poate fi interpretat de mai muli cntrei. 3. Fie urmtorul MCD:
CONTRACTE PRODUSE Cod produs Den produs Unit. msur Pre TVA PRIVESC Nr contract Data contract Cantitate contractat Cod produs Data livrrii

LIVRARE NCHEIE CLIENI Cod client Den client Adres

FACTURA Nr factur Data factura Cantitate livrat

tiind c: Obiectul unui contract este reprezentat de unul sau mai multe produse pentru care se specific cantitatea contractat; Data livrrii se refer la ntregul contract;

Livrarea produselor se face pe baz de factur care cuprinde cantitatea facturat i preul de facturare pentru produsele livrate (ntr-o factur pot fi nscrise unul sau mai multe produse).

Se cere: - Stabilii cardinalitile. - Elaborai matricea simplificat a dependenelor funcionale i pe baza informaiilor astfel obinute stabilii dac MCD este corect elaborat. n caz contrar oferi soluia corect pentru MCD. Precizai restriciile de integritate corespunztoare. - Dezvoltai MCD tiind c obiectul de activitate este reprezentat de fabricarea de produse i prestarea de servicii; contractele ncheiate preciznd produsele sau serviciile solicitate de clieni. Realizai specializrile implicate de aceast precizare. 4. Elaborai MCD pentru sistemul informatic privind gestiunea depozitelor bancare constituite de clienii unei bnci comerciale. Depozitele se pot constitui n lei sau valut (dolari USA sau Euro). Soldul minim pentru un depozit n lei este de 1000000 iar n valut 1000. Depozitele se constituie pe termen de 30, 60, 90, 180, 360 de zile, fr capitalizare, dobnda fiind de 30% pe an pentru termene sub 90 de zile i 33% pentru restul termenelor. Un client poate avea oricte depozite. Sistemul va reine numrul i data documentelor de plat a dobnzii aferente depozitelor. Stabilii restriciile impuse de problema de rezolvat. Dobnzile neridicate la scaden se nregistreaz ntr-un cont la vedere deschis pe numele titularului depozitului bancar. Fiecare cont astfel deschis are un numr unic.