Sunteți pe pagina 1din 33

CUPRINS

Cap II MODELAREA CONCEPTUALĂ A DATELOR ..................................................................... II-2


II-1 Modelul Entitate-Asociere (EA) ........................................................................................................... II-2
II-1.1) Concepte de bază ale modelului Entitate Asociere ...........................................................................................II-3
II-1.1.1) ENTITATEA ..........................................................................................................................................II-3
II-1.1.1.a) TIP DE ENTITATE ........................................................................................................................II-3
II-1.1.1.b) ATRIBUTUL ..................................................................................................................................II-4
II-1.1.1.c) Tipuri de obiecte. Obiecte simple, compozite şi/ sau complexe. ........................................................II-4
II-1.1.1.c.1) Obiecte simple ..............................................................................................................................II-4
II-1.1.1.c.2) Obiecte compozite.........................................................................................................................II-5
II-1.1.1.c.3) Obiecte compuse ...........................................................................................................................II-5
II-1.1.1.d) IDENTIFICATOR...........................................................................................................................II-6
II-1.1.2) ASOCIEREA ..........................................................................................................................................II-6
II-1.1.2.a) TIPUL DE ASOCIERE ...................................................................................................................II-6
II-1.1.2.b) CARDINALITATEA ......................................................................................................................II-7
II-1.1.2.c) Tipuri de asocieri între entităţi .........................................................................................................II-8

II-2 Restricţii de integritate ....................................................................................................................... II-10


II-2.1) Restricţii de domeniu .................................................................................................................................... II-10
II-2.2) Restricţii structurale ...................................................................................................................................... II-11
II-2.3) 2.2.3. Restricţii de integritate de roluri........................................................................................................... II-12
II-2.4) 2.2.4. Restricţii de integritate de asocieri ....................................................................................................... II-14

II-3 Dependenţe funcţionale ...................................................................................................................... II-16


II-3.1) Tipuri de dependenţe funcţionale .................................................................................................................. II-16
II-3.2) Proprietăţile dependenţelor funcţionale ............................................................................................................ II-17
II-3.3) Matricea dependenţelor funcţionale ................................................................................................................. II-18
II-3.4) Diagrama dependenţelor funcţionale ............................................................................................................. II-19

II-4 Reguli de verificare şi normalizare a MCD ....................................................................................... II-23


II-4.1) Reguli de verificare a MCD ............................................................................................................................ II-23
II-4.2) Reguli de normalizare a MCD ........................................................................................................................ II-23

II-5 Dezvoltări ale modelului EA. Generalizarea şi specializarea. ............................................................ II-25


II-5.1) Subtipuri şi supertipuri de entităţi .................................................................................................................. II-25
II-5.2) Generalizarea................................................................................................................................................ II-25
II-5.3) Specializarea ................................................................................................................................................ II-26
II-5.4) STUDIU DE CAZ ........................................................................................................................................ II-28

II-6 Reprezentarea timpului ...................................................................................................................... II-29


II-7 Validarea modelelor externe .............................................................................................................. II-31
Cap II MODELAREA CONCEPTUALĂ A DATELOR
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 permiţând reprezentarea realităţii circumscrise
domeniului supus informatizării.
Modelele utilizate se numesc modele semantice şi au drept obiectiv ca prin conceptele oferite să
permită reprezentarea lumii reale.
Modelele semantice utilizează abstracţii reprezentând lumea reală ca pe o colecţie de entităţi şi de
legături, stabilite între acestea. Majoritatea modelelor permit definirea de restricţii descriind aspectele
statice, dinamice sau chiar temporale ale entităţilor.
II-1 Modelul Entitate-Asociere (EA)
Modelul entitate-asociere (EA) pe care îl vom utiliza în continuare pentru definirea modelului
conceptual al datelor este şi el un model semantic.
Modelul EA urmăreşte obţinerea unei reprezentări fidele, utilizând concepte specifice, a realităţii
(problemei de rezolvat ce urmează a fi informatizată).
Această reprezentare a lumii reale se va realiza făcându-se abstracţie de orice restricţie fie ea
informatică sau organizatorică. Pornind de la semantica obiectelor lumii reale şi a legăturilor stabilite
între acestea modelul EA serveşte în egală măsură ca un mijloc de comunicare între modelator
(informatician) şi viitorul utilizator al sistemului (beneficiarul sistemului informatic), care descrie
realitatea supusă modelării în conformitate cu propria lui percepţie.

Sistem Informaţional
Proceduri
Informaţii

Documentare şi
analiză

 Informaţii  Proceduri
 Legături între informaţii  Reguli de gestiune

Modelare

Modelul conceptual al  Modelul conceptual al


datelor prelucrărilor
 Date  MCP
 Tipuri de entităţi
 Asociere întere entităţi
Fig.1) Procesul de modelare a datelor şi prelucrărilor

II-2
II-1.1) Concepte de bază ale modelului Entitate Asociere

II-1.1.1) ENTITATEA
Entitatea reprezintă un obiect al realităţii modelate caracterizat printr-o existenţă proprie, cu o
identitate proprie (care-l face identificabil în raport cu celelalte obiecte de acelaşi tip) şi o mulţime de
caracteristici care exprimă proprietăţile acestuia.
Pentru exemplificare vă propunem ca domeniu de studiu gestiunea poliţelor încheiate de o
societate de asigurări. Entităţile pe care le putem defini sunt: o poliţă de asigurare, instrumente de plată, etc.
Entitatea poliţă de asigurare nr. 25 se defineşte prin următoarele realizări ale caracteristicilor:
15/03/2002 (data încheierii), Ionescu Costel (numele agentului de asigurare), Popescu Marius (titularul
poliţei de asigurare), 22/03/2002 (data începerii perioadei asigurate), etc. Entitatea poliţă de asigurare
nr. 25 are propria identitate, distingându-se clar de celelalte entităţi de acelaşi tip (celelalte poliţe
încheiate) prin numărul său şi are o existentă de sine stătătoare (Figura 2.2).

Fig.2) Entităţi aparţinând tipului de entitate poliţă de asigurare

II-1.1.1.a) TIP DE ENTITATE


În activitatea de modelare interesul se focalizează pe definirea tipurilor de entităţi aparţinând
problemei de rezolvat şi nu pe entităţi care reprezintă realizările tipurilor de entităţi. În locul noţiunii de
tip de entitate, unii autori folosesc conceptul de clasă de entităţi. Modelul abstract pe care ni-l oferă
modelul EA se bazează tocmai pe aceste tipuri generice de entităţi şi a legăturilor stabilite între acestea.
Tipul de entitate reprezintă un concept generic desemnând mulţimea tuturor entităţilor
prezentând aceleaşi caracteristici constructive.

Fig.3) Entităţi aparţinând aceluiaşi tip

II-3
Exemple : produs, comandă, angajat, student, contract, poliţă de asigurare, depozit bancar, ordin de
tranzacţionare la bursă etc.
Tipul de entitate 'Produs' desemnează ansamblul produselor aflate în catalogul firmei, produse
descrise plecând de la aceleaşi caracteristici comune: codul produsului, denumirea, unitatea de măsură,
data omologării, procent TVA.
Tipul de entitate 'Student' desemnează ansamblul studenţilor caracterizaţi prin aceleaşi trăsături
comune: număr matricol, nume, data-naşterii, localitatea, facultatea, specializarea etc.
♫ Atenţionăm asupra faptului că o entitate poate aparţine mai multor tipuri de
entităţi diferite. De exemplu, entitatea cititorului Ionescu poate aparţine şi tipului de entitate profesor şi
tipului de entitate doctoranzi (desemnând ansamblul persoanelor care urmează forma de pregătire
doctorală).
Fiecare tip de entitate se defineşte prin mulţimea caracteristicilor comune entităţilor aparţinând
tipului.
II-1.1.1.b) ATRIBUTUL
ATRIBUTUL defineşte o proprietate distinctă a unei entităţi. Fiecare atribut prezintă un domeniu,
adică o mulţime de valori admise, într-o entitate se regăsesc realizări corespunzătoare caracteristicilor
definitorii pentru tipul de entitate. Atributele pot fi clasificate în funcţie de mai multe criterii:
a) După complexitate atributele sunt:
 elementare (simple) ale căror realizări nu pot fi descompuse (exemplu: unitate monetară, preţ
unitar, număr matricol al studentului, marca angajatului, etc).
 decompozabile (complexe) ale căror realizări sunt decompozabile (ex: data calendaristică - se
poate descompune în zi, lună, an; adresa - se poate descompune în stradă, număr etc).
b) După realizările pe care le pot prezenta atributele pot fi:

 obligatorii - trebuie să prezinte obligatoriu o realizare, ceea ce corespunde sintagmei NOT
NULL -
orice realizare.
 opţionale - sunt atribute care pot să nu prezinte nici o valoare (realizare) în cadrul unei entităţi
(de exemplu atributele: telefon, fax, e-mail - nu toate persoanele au telefon, fax, adresă e-mail).

 monovaloare: atribute care prezintă o singură valoare în cadrul unei entităţi (exemplu: nume
student, nr. matricol, data naşterii, codul numeric personal etc).
 multivaloare: atribute care prezintă mai multe realizări în cadrul aceleiaşi entităţi (de exemplu, în
tipul de entitate ANGAJAT, entitatea Popescu Marius poate prezenta pentru atributul STUDII mai
multe valori: Facultatea de Mecanică, Facultatea de Finanţe Asigurări Bănci şi Burse de Valori).
II-1.1.1.c) Tipu ri de obiect e. Obiecte si mp le, comp ozite şi/ sau comp lexe.
Problema de modelat este adesea deosebit de complexă în cadrul ei putându-se identifica obiecte
simple, compozite şi/ sau complexe.
În modelul EA obiectelor lumii reale le corespund entităţi, iar entităţile CONT BANCAR
definite prin aceleaşi caracteristici formează un tip de entitate.
 Nr. Cont
II-1.1.1.c.1) Obiecte si mp le
 Tip Cont
Aceasta înseamnă că obiectelor simple le va corespunde în modelul  Data Deschiderii
conceptual al datelor câte un tip de entitate.  Limită credit
Exemplu. Pentru conturile deschise de o bancă se poate defini în cadrul  Moneda
modelului conceptual al datelor tipul de entitate cont bancar (Figura 2.4).
Fig.4) Tipul de entitate Cont Bancar

II-4
Clienţilor (persoane fizice) ai unei bănci, deoarece sunt definiţi prin aceleaşi caracteristici (nume
client, cod numeric personal, cod de identificare în cadrul băncii, adresa etc), le va corespunde în
modelul EA un singur tip de entitate, numărul de realizări ale acestuia (de entităţi) fiind egal cu numărul
clienţilor.
II-1.1.1.c.2) Obiecte compozit e
Obiectele compozite se caracterizează prin faptul că ele conţin una sau mai multe caracteristici
multivaloare (cărora î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
entităţi (atributele multivaloare se vor regăsi într-un tip de entitate distinct).
Exemplu. Documentelor bonuri de consum le va corespunde tipul de entitate bon de consum definit prin
atributele monovaloare: număr bon, data bon, secţia, gestiunea dar şi atributele multivaloare: cod
material, cantitate eliberată, preţ unitar. Aceasta face ca tipul de entitate bon de consum, definit iniţial
prin mulţimea tuturor atributelor mai sus menţionate, să conducă în final la definirea a două tipuri de
entităţi: Bon de consum (documentul în sine) definit prin atributele: număr bon, data bon, secţia,
gestiunea şi tipul de entitate Material eliberat definit prin atributele: cod material, cantitate eliberată, preţ
unitar (Figura 2.5).
Într-un mod asemănător putem reprezenta în modelul EA facturile, comenzile emise de clienţi
pentru livrarea produselor etc.

Fig.5) Reprezentarea obiectelor compozite sub formă de


tipuri de entităţi
II-1.1.1.c.3) Obiecte compu se
Obiectele compuse sunt decompozabile ele regrupând în structura lor obiecte simple între care
există o anumită legătură. Chiar dacă în modelul EA iniţial pentru un obiect compus s-a definit un singur
tip de entitate, ulterior acesta se va descompune în tipuri de entităţi de sine stătătoare corespunzătoare
obiectelor elementare care intră în structura obiectului compus (Figura 2.6).
Exemplu. Tipul de entitate contract de credit - definit prin atributele: număr contract, data contract,
titular, valoare contract, unitate monetară, garanţii - corespunde unui obiect compus al realităţii de
modelat. Titularul şi garanţia sunt două obiecte distincte ale problemei de modelat, fiecăruia trebuind
să-i corespundă în MCD un tip de entitate distinct. Ca urmare, se vor include în MCD tipurile de entităţi:
TITULAR definit prin: Cod identificare, nume, cod numeric personal, adresă, data naşterii.
GARANŢIE care poate fi reprezentată, de exemplu, de o scrisoare de garanţie bancară definită prin
atributele: număr document, data emiterii, banca emitentă, termen de valabilitate, sumă.

II-5
CONTRACT DE CREDIT definit prin: Nr. Contract, Data contract, Valoare contract, Moneda.

Fig.6) Reprezentarea obiectelor compuse sub formă de tipuri de entităţi

II-1.1.1.d) IDENTIFICATOR
Fiecare tip de entitate prezintă un identificator reprezentat de un atribut sau un grup minimal de
atribute al cărui rol este de a permite identificarea în mod unic, fără echivoc, a entităţilor.
De multe ori identificatorul este reprezentat de un atribut de tip "număr de ordine" (incrementat cu 1
pentru fiecare nouă valoare atribuită) sau de un cod (construcţie artificială având o anumită
semnificaţie).
Exemplu. Pentru:
− tipul de entitate STUDENT identificatorul va fi Nr Matricol;
− în cazul entităţii BON CONSUM identificatorul va fi atributul
Nr. Bon (atribut de tip număr de ordine), etc.
În reprezentarea grafică a tipului de entitate identificatorul este
marcat distinct prin subliniere (Figura II.7)
Fig.7) Tipul de entitate Student

II-1.1.2) ASOCIEREA
1) Asocierea dintre entităţi exprimă legătura stabilită dintre acestea şi rolul pe care îl joacă
fiecare entitate participantă la legătură.
Exprimând o legătură dintre entităţi ea nu are o existenţă de sine stătătoare. O asociere poate
prezenta unul sau mai multe atribute proprii cu rol de a caracteriza, explicita, legătura stabilită între
entităţile participante la asociere.
Exemplu. Atributele Data debut şi Data sfârşit caracterizează asocierea Ocupă şi aceasta deoarece ele
nu sunt proprietăţi ale entităţii Camere - aceiaşi cameră cu nr. 10 poate fi ocupată la date diferite de către
clienţi diferiţi. Fiecare entitate participantă la asociere joacă un anumit rol. În exemplul prezentat în figura
II.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).
II-1.1.2.a) TIPUL DE ASOCIERE
Tipul de asociere se defineşte ca ansamblul legăturilor, prezentând aceiaşi semnificaţie, dintre
entităţile aparţinând la două sau mai multe tipuri de entităţi. Exemplu: tipul de asociere Ocupă din
figura 2.8.

II-6
Fig.8) Tipul de asociere Ocupă

II-1.1.2.b) CARDINALITATEA
Cardinalitatea cuplului entitate-asociere reprezintă cuplul de valori întregi (x,y) astfel încât:
 x - cardinalitate minimală exprimă numărul minim de realizări ale legăturii (asocierii) care pot
exista pentru o entitate;
 y - cardinalitate maximală reprezintă numărul maxim de apariţii ale corespondenţei care pot
exista pentru o entitate;
 Cardinalitatea minimală 0 (zero) indică faptul că pot exista anumite entităţi ale unui tip de
entitate care să nu participe la nici o asociere.
Exemplu. Există clienţi potenţiali ai unei firme cărora încă nu li s-au încheiat poliţe de asigurare -
cardinalitate minimală 0, dar sunt clienţi cărora li s-au încheiat mai multe poliţe - cardinalitate maximală n.

Fig.9) Cardinalitatea minimală 0 şi 1


 Cardinalitatea minimală 1 indică faptul că toate realizările tipului de entitate trebuie să
participe la cel puţin o realizare a tipului de asociere.
Exemplu. Orice contribuabil aflat în evidenţa administraţiei financiare are deschis un rol fiscal şi numai
unul singur (în acest caz atât ccardinalitatea minimală cât şi cea maximală sunt 1).
 Cardinalitatea maximală 1 indică faptul că numărul de roluri fiscale deschise unui contribuabil
la administraţiafinan financiară nu poate fi mai mare de 1
Săgeata din figura 2.10 indică caracterul imuabil al asocierii (rolul fiscal nu-şi modifică titularul).

CONTRIBUABIL ROL
1,1 1,1
 Cod-identificare ARE  Nr rol
 Nume  Data deschiderii
 Adresa

Fig.10) Cardinalitatea maximală 1


 Cardinalitatea maximală N indică faptul că unele entităţi ale unui tip de entităţi pot participa
la mai multe de o asociere.

II-7
Exemplu. Un client (Figura 2.11). poate emite 0 sau mai multe documente de plată. Deci cardinalitatea
dintre entitatea client şi asocierea emite este:
− minimală=0
− maximală=N
De asemenea un document poate fi emis numai şi numai către un client şi odată emuis nu se mai
poate modifica (vezi săgeata). În acest caz, atât cardinalitatea minimală cât şi aceea maximală sunt 1.
CLIENT DOCUMENT
0,n 1,1
 Cod-client emite  Nr doc
 Nume  Data doc
 Adresa  Tip doc
 CNP  Sumă

Fig.11) Cardinalitatea maximală N


Uneori valoarea lui N poate fi
specificată clar printr-o constantă.
Exemplu. Pentru o poliţă de asigurare
(încheiată pe un an) sunt calculate
maxim 4 prime de asigurare - câte una
pe trimestru (figura 2.12).
Fig.12) Cardinalitatea maximală 4
Valorile uzuale pentru exprimarea cardinalităţii sunt: 0,1; 1, 1; 0,n; 1,n.
Între realizările a două tipuri de entităţi se pot stabili mai multe asocieri prezentând semantică
diferită şi prin urmare cardinalităţi diferite.
Exemplu. Un profesor lucrează la o disciplină cu un grup de studenţi, unora dintre aceştia (maxim 10)
conducându-le şi proiectul de semestru la disciplina respectivă (figura 2.13).

1,n

Fig.13)
♫ Referitor la structura tipurilor de asocieri putem sintetiza astfel:
 Asocierea poate avea atribute;
 Legătura dintre o asociere şi o entitate se caracterizează prin:
− Rolul jucat de entitate în asociere;
− Cardinalitatea legăturii dintre asociere şi entitate;
II-1.1.2.c) Tipu ri de asocieri înt re entităţi
Există trei tipuri posibile de asocieri între entităţi, funcţie de numărul de tipuri de entităţi
participante la asociere. Acestea sunt:
 unară (refexivă)
 binară
 complexă

II-8
 Asocierea reflexivă (ciclică, unară) se caracterizează prin faptul că exprimă legăturile stabilite
între entităţi aparţinând aceluiaşi tip (figura 2.14).
Fig.14) Asocire reflexivă
Exemplu. O materie primă necesară pentru
fabricarea unui produs poate fi substituită
(dacă nu există cantitatea necesară în stoc)
printr-o altă materie primă (având aceleaşi
caracteristici dar spre exemplu o altă Substituie
concentraţie) într-o anumită cantitate.
 Asocierile binare reprezintă
legături (corespondenţe) stabilite între
realizările aparţinând la două tipuri de
entităţi 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ă legături stabilite între realizările mai multor tipuri de entităţi. Spre
exemplu, o asociere ternară se poate stabili între tipurile de entităţi: CONTRIBUABIL, TAXA,
DOCUMENT DE PLATĂ .

Fig.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.

Fig.16) Descompunerea unei asocieri ternare în asocieri binare

II-9
II-2 Restricţii de integritate
Restricţiile de integritate definesc cerinţele pe care datele trebuie să le respecte pentru a fi corecte
şi coerente în raport cu realitatea pe care o reflectă.
Restricţiile de integritate reprezintă o modalitate de integrare a semanticii datelor în mod indirect în
modelul EA pe care astfel îl îmbogăţesc.
Restricţiile de integritate privesc:
1) valorile pe care le pot lua atributele entităţilor şi asocierilor;
2) valorile identificatorilor entităţilor;
3) rolurile jucate de entităţi în asocierile la care participă;
4) asocierile stabilite între entităţi;
Pentru modelul EA prezentat în Figura II-17 pot fi definite următoarele restricţii de integritate
privitoare la valorile pe care le pot lua atributele (tipul 1 de integritate):
 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 fabricaţie a
fost omologat în 12.12.99;
 unităţile de măsură sunt KG şi
BUC.
 numărul gestiunii poate lua
valori în mulţimea M={1,2,3};
 tipul depozitului poate fi
frigorific/nefrigorific;
Fig.17) Model EA

Restricţiile de integritate pot fi:


− statice - se verifică permanent;
− dinamice - privesc evoluţia în timp a datelor;
Exemplu. Restricţiile referitoare la numărul gestiunii, tipul depozitului şi unităţile de măsură sunt statice.
Restricţia privind cota de TVA este dinamică ea putându-se modifica în timp în conformitate cu
prevederile fiscale în vigoare.
II-2.1) Restricţii de domeni u
Domeniul reprezintă mulţimea de valori pe care le poate lua un atribut. El poate fi definit:
− printr-o proprietate (o condiţie privind un atribut sau un grup de atribute);
− prin precizarea unui interval de valori;
− prin enumerarea mulţimii de valori admise;
Restricţiile de domeniu reprezintă condiţii (reguli) care privesc ansamblul de valori admise
pentru un atribut în cadrul tipului sau domeniului său.
Restricţiile de domeniu pot fi:
− restricţii intraentitate - care se referă la realizările unui/unor atribute aparţinând unei aceleiaşi
entităţi sau asocieri;
− restricţii interentităţi - care se referă la realizările unui/unor atribute aparţinând unor entităţi
şi/sau asocieri diferite;
Restricţiile pe domeniu se pot exprima cu privire la:

II-10
1) Conţinutul unui singur atribut al unei entităţi sau asocieri:
Exemplu.
− Unit. Măsură={ "KG","Buc"}
− TVA = {0, 19}
− Preţ > 10.000 şi preţ < 10.000.000
− Cantitate > 10 (cantitatea este un atribut definit pentru asocierea CUPRINDE din Figura 2.17).
2) Corelaţiile ce trebuie să se respecte între valorile mai multor atribute sau asocieri
aparţinând aceleiaşi entităţi sau asocieri:
Exemplu.
− Număr gestiune=1 atunci nume gestionar = "Ion Toma"
− Cod produs=12 atunci Unit Măsură="BUC"
3) Corelaţiile care trebuie să existe între atributele aparţinând mai multor entităţi sau
asocieri diferite:
Exemplu.
− în gestiunea 1 se stochează doar produsele având codurile în mulţimea {1000, 1001, 1014}.
− Data-stoc > data omologării
− Cod produs=112 atunci număr gestiune=1
4) Corelaţii realizate pe baza unor valori obţinute prin operaţii de sintetizare (însumare,
calculul mediei, valorii minime /maxime etc.) a unui ansamblu de entităţi:
Exemplu.
− Suma cantităţilor comandate pentru un produs nu poate depăşi stocul din data respectivă.
− Preţul mediu al produselor >200.000
II-2.2) Restricţii structurale

 Identificarea entităţilor
Fiecare entitate va trebui să poată fi identificată fără echivoc. Acest lucru impune ca identificatorul
entităţii să ia valori unice şi diferite de NULL (NULL înseamnă că nu s-a atribuit nici o valoare; valoarea
NULL este diferită de zero sau spaţiu).
În definirea modelului EA putem întâlni cazuri mai speciale legate de identificarea entităţilor:
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 prezenţa prin precizarea orelor efectiv
lucrate, orelor absentate, orelor de concediu şi de concediu medical.
Identificarea entităţilor Prezenţa se face prin rolul Realizează pe care entitatea Angajat îl joacă în
asocierea Înregistrează
Identificarea prin rol a entităţilor 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).

Fig.18)
2) Identificarea unei entităţi 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.

II-11
Fig.19)
O poliţă de asigurare de viaţă presupune pe lângă specificarea numărului, datei încheierii poliţei,
valorii asigurate şi precizarea primelor de plată cu înscrierea datei limită a plăţii precum şi a sumei de
plată (considerăm că sumele sunt diferite de la o scadenţă la alta). Fiecare poliţă se identifică prin
număr, atribuit în mod unic. Pentru tipul de entitate Prime asigurare, atributul Data scadenţei nu poate fi
identificator deoarece, la aceeaşi dată mai multe poliţe au acelaşi termen limită de plată. Identificarea
entităţilor Prime asigurare se va realiza prin valorile atributului propriu Data scadenţei şi rolul Cuprinde
jucat de entitatea Asigurare în asocierea Prevede.
II-2.3) 2.2.3. Restricţii de integritate de rol uri
În definirea asocierii am subliniat faptul că aceasta exprimă legătura stabilită între entităţi diferite,
fiecare dintre acestea jucând un anumit rol.
Restricţia de integritatea de roluri se referă la faptul că dacă o entitate are un anumit rol într-o
asociere, atunci acest rol va implica anumite condiţii şi asupra altor roluri jucate de respectiva entitate cu
alte asocieri. Plecând de la rolurile jucate de entităţi în cadrul asocierilor putem defini o serie de restricţii
de integritate şi anume de : egalitate, incluziune şi excluziune de roluri.
 Restricţia de incluziune de roluri
Restricţia 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 restricţiei de incluziune de roluri se va utiliza următoarea reprezentare grafică:

Fig.20) Incluziune de roluri


Exemplu. Secvenţa de MCD elaborat pentru o firmă de asigurări. (Figura 2.21).
Clienţii încheie poliţe de asigurare şi primesc despăgubiri la producerea riscului asigurat dacă au la zi
plata primelor de asigurare.
Între rolul despăgubită şi rolul achitată se manifestă o restricţie de incluziune de rol.
De asemenea este o restricţie de integritate pe rolurile despăgubită şi încheiată pe care le joacă
entitatea poliţă.
I
CLIENT încheiată POLIŢĂ despăgubită DESPĂGUBIRE
 Cod client 1,n
încheie
1,1  Nr.poliţă 1,1
calculează
1,1  Nr.Document
 Nume client  Data poliţă  Data Doc
 Adresa  Data început  Suma
 Data sfârşit calculează despăgubită
 Nume agent
1,n Plată prime
achitată I
 Nr. chitanţă
achită
1,1  Data chitanţă
 Suma plătită
Fig.21) Incluziune de roluri

II-12
 Restricţia de egalit at e d e roluri
Egalitatea de roluri presupune ca restricţia de incluziune între roluri să fie reciprocă.
Grafic restricţia de egalitate de roluri se reprezintă conform figurii 2.22. rl

R1 = R1

Fig.22) Egalitatea de roluri


Persoanele care au un rol (fişă) deschis la administraţia financiară, deci joacă rol de posesor în
asocierea Are, înseamnă că au obligaţii fiscale, deci joacă rol de contribuabil în asocierea Datorează,
reciproca fiind valabilă: orice persoană care are obligaţii fiscale trebuie să aibă deschis un rol. Dar nu toate
persoanele sunt contribuabili, deci există entităţi ale tipului Persoana care nu joacă rolul de Posesor în
asocierea Are. Grafic, egalitatea de roluri se reprezintă conform figurii 2.23.

Fig.23) Egalitate de roluri

 Restricţia de excluziune de roluri


Excluziunea de roluri specifică faptul că un rol r1 jucat de o entitate E1 în asocierea A1 exclude
existenţa rolului r2 jucat în asocierea A2.

Fig.24) Reprezentarea excluziunii de roluri

Fig.25) Excluziunea de roluri


Din exemplele prezentate rezultă că restricţiile de integritate de roluri vizează rolurile pe care o
entitate le poate juca în cadrul unor asocieri diferite.

II-13
 Incluziunea de roluri specifică faptul că un rol r2 jucat de entitatea E1 în asocierea A2 este
urmarea rolului r1 jucat de aceeaşi entitate în asocierea A1.
 Restricţia de egalitate de roluri evidenţiază că rolul r1 jucat de entitatea E1 în asocierea A1
determină rolul r2 jucat de aceeaşi entitate în asocierea A2, iar rolul r2 determină în acelaşi timp rolul r1.
 Resticţia 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 restricţii legate de participarea entităţilor la asocieri nu pot fi judecate doar la nivel de
roluri ci este necesară uneori precizarea unor restricţii de integritate la nivelul tipului de asociere, deci a
ansamblului de asocieri prezentând aceeaşi semantică.
II-2.4) 2.2.4. Restricţii de integ ritate de asocieri
Restricţiile analizate în acest subcapitol vizează asocierea însăşi împreună cu entităţile
participante. Altfel spus restricţiile se referă la mulţimea tuturor rolurilor aparţinând asocierii.
 Restricţia de incluziune de asocieri
Restricţia de incluziune exprimă faptul că asocierea A1 stabilită între două entităţi va determina
existenţa unei alte asocieri A2 în cadrul modelului EA.
Exemplu. Un broker primeşte ordine de la clientul său şi execută tranzacţii.

Fig.26) Incluziunea de asocieri


Tipul de asociere execută este determinat de existenţa tipului de asociere primeşte (brokerul nu
poate efectua tranzacţia dacă nu a primit ordinul corespunzător).
 Restricţia de excluziune de asocieri
Restricţia de excluziune de asocieri exprimă faptul că asocierile aparţinând tipului de asociere A1
exclud asocierile aparţinând tipului A2.
Exemplu. Studenţii din universităţile de stat care achită taxa de şcolarizare nu pot fi bursieri ai acestor
instituţii. Rezultă că între Achită (taxe) şi încasează (bursă) este o excluziune de asocieri.

II-14
Fig.27) Excluziune de asocieri

 Restricţia de egalitate de asocieri


Restricţia de egalitate de asocieri exprimă faptul că asocierile aparţinând tipului A1 determină
existenţa asocierilor aparţinând tipului A2 şi invers. Exemplu:
Fie tipurile de entităţi Cărţi şi Legitimaţii între care se stabilesc tipurile de asocieri Posedă şi
Împrumută cu tipul de entitate Student. Între aceste asocieri se stabileşte o restricţie de egalitate de
asocieri deoarece orice împrumut de carte implică posesia legitimaţiei de acces la bibliotecă iar posesia
legitimaţiei implică posibilitatea împrumutului de carte (Figura 2.28). Toate rolurile Cititor implică toate
rolurile Posesor şi entităţile participante la asociere.

Fig.28) Restricţie de egalitate de asocieri

II-15
II-3 Dependenţe funcţionale
II-3.1) T ipuri de dependenţe funcţionale
Conceptul de dependenţă funcţională (DF) este fundamental în analiza structurii datelor. Studiul
dependenţelor funcţionale stabilite între atribute ne permite obţinerea unei reprezentări formalizate a
structurii de date.
Dependenţele funcţionale evidenţiază raporturile de determinare stabilite între atributele unei
entităţi.
O dependenţă funcţională pune în relaţie două atribute: determinantul şi determinatul.

Fig.29) Dependenţă funcţională

Această DF subliniază faptul că unei realizări a atributului Nr. rol îi va corespunde întotdeauna
aceeaşi realizare a atributului Nume contribuabil, iar aceeaşi realizare a atributului Cod fiscal va fi
asociată aceluiaşi Agent economic.
Rezultă că determinantul reprezintă atributul/grupul de atribute din stânga DF care prin valoarea sa
determină valoarea luată de atributul cu rol de determinat.
Fie tipul de entitate R şi A,B,C... atributele aparţinând lui R, iar X, Y, Z ansamblurile de realizări ale
atributelor lui R. Spunem că în tipul de entitate R se verifică DF: X  Y dacă în două realizări ale lui R
având aceleaşi valori pentru X există aceleaşi valori pentru Y.
Rezultă deci că DF este o relaţie de determinare stabilită între atributele aparţinând aceluiaşi tip de
entitate.
Dacă valorile atributelor cuprinse în Y sunt cunoscute, atunci ele sunt în funcţie de valorile
atributelor aparţinând lui X pentru că ele sunt determinate în mod unic de acestea din urmă.
 Tipurile de dependenţe funcţionale sunt:
1) Dependenţa funcţională elementară sau compusă (neelementară), adică o DF poate implica
atribute sau grupuri de atribute.
Dacă: A  (B,C) atunci există dependenţele funcţionale: A  B ş i A  C
Exemplu. DF: Nr. Poliţă (Data poliţă, Nume agent) - Ne conduce la identificarea dependenţelor
funcţionale:
 Nr. Poliţă  Data poliţă
 Nr. Poliţă  Nume agent
Totuşi trebuie precizat următorul aspect: dacă există o DF: (A,B)  C aceasta nu înseamnă că se
verifică dependenţele funcţionale: A  B ş i A  C
Exemplu. Dacă există DF: (Cod-material, cod-furnizor)  preţ-aprovizionare, aceasta înseamnă că
preţ-aprovizionare nu depinde numai de codul materialului ci şi de furnizor, acelaşi material putând fi
aprovizionat la preţuri diferite de la furnizori diferiţi.
------------------
2) Dependenţa funcţională completă.

II-16
DF: X Y este o dependenţă funcţională completă dacă Y este dependent funcţional de X fără să
fie dependent funcţional de nici o alta din componentele lui X (preţul de aprovizionare este determinat
atât de furnizor cât şi de materialul aprovizionat).
3) Dependenţa funcţională parţială.
DF: X Y se numeşte dependenţă funcţională parţială dacă Y este dependent funcţional atât de X
cât şi de o parte a lui X.
Exemplu. Fie tipul de entitate E definit prin atributele: cod operaţie, cod reper, timp-prelucrare,
categorie-operaţie. Între atributele aparţinând lui E există următoarele DF::
− Cod operaţie, cod reper  timp de prelucrare (DF completă)
− Cod operaţie, cod reper  categorie-operaţie (DF parţială)
4) Dependenţa funcţională trivială.
DF: X Y se numeşte dependenţă funcţională trivială dacă Y  X
5) Dependenţa funcţională tranzitivă.
În procesul de analiză a datelor pot fi identificate DF tranzitive.
DF: X A este o dependenţă funcţională tranzitivă dacă:
A este un atribut unic neinclus în X astfel încât există Y   X, X Y şi Y A şi Y nu determină X.
Exemplu. Să analizăm dependenţele funcţionale care se stabilesc între atributele: CNP (cod numeric
personal), Nume persoană, Localitatea de domiciliu, Cod localitate aparţinând tipului de entitate
Persoana. CNP fiind ales drept identificator al entităţii înseamnă că există dependenţele funcţionale:
− CNP  Nume persoană
− CNP  Localitatea de domiciliu
− CNP  Cod localitate
Dar mai există DF
− Localitate de domiciliu  Cod localitate - ceea ce ne conduce la concluzia că:
DF: CNP  Cod localitate este o DF tranzitivă.
6) Dependenţa funcţională multivaloare.
Dependenţa funcţională multivaloare se manifestă atunci când valorii unui atribut/grup de atribute
îi corepund mai multe valori ale unui alt atribut. DF multivaloare se reprezintă astfel:
X Y
O dependenţă multivaloare poate să se manifeste în cazul unei entităţi prezentând cel puţin trei
atribute (A,B,C) astfel încât:
− A determină mai multe valori pentru B;
− A determină mai multe valori pentru C;
− B şi C sunt independente unul de celălalt;
Exemplu. Să presupunem că dorim să reţinem informaţia referitoare la numărul de inventar al
mijloacelor fixe aflate într-o secţie şi mărcile (codul de identificare) salariaţilor care lucrează în secţia
respectivă într-un tip de entitate numit SECŢII al cărui identificator este atributul cod secţie. Se identifică
între aceste atribute dependenţele funcţionale multivaloare:
Cod secţie Marca
Cod secţie Nr inventar
II-3.2) Proprietăţile dependenţelor funcţionale
Proprietăţile dependenţelor funcţionale, 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 aparţinând
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 adevărată şi DF: X Z.

II-17
 Aditivitatea:
Dacă există DF: X Y şi DF: X Z atunci există DF: X YZ.
 Pseudotranzitivitatea:
Dacă există DF: X Y şi DF: WY Z atunci se verifică DF: XW Z.
 Descompunerea:
Dacă se verifică DF: X Y atunci se verifică şi DF: X Z dacă Z Y.

Studiul dependenţelor funcţionale se poate realiza utilizând mai multe instrumente, în cele ce
urmează ne propunem să prezentăm două dintre acestea: matricea dependenţelor funcţionale şi
diagrama dependenţelor funcţionale care s-au dovedit complementare.
II-3.3) Matricea dependenţelor funcţionale
Matricea dependenţelor funcţionale poate fi realizată în două variante:
− matricea simplificată
− matricea completă
Matricea simplificată reprezintă un tablou în care coloanele cuprind determinanţii dependenţelor
funcţionale iar fiecare linie un atribut aparţinând mulţimii atributelor supuse modelării.
Matricea completă reprezintă un tablou asemănător matricii simplificate cu singura deosebire că
numărul de coloane este egal cu numărul liniilor, cu alte cuvinte antet de coloană va fi orice atribut
(regăsit şi ca antet de linie) şi nu doar atributele (grupurile de atribute) cu rol de determinant într-o
dependenţă funcţională.
Exemplu. Matricea simplificată a dependenţelor funcţionale
Să elaborăm matricea simplificată a dependenţelor funcţionale pentru atributele necesare
elaborării MCD privind consumul normat de materii prime stabilit pentru produsele din nomenclatorul
de fabricaţie al firmei.
Mulţimea atributelor corespunzătoare 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 acelaşi fel sau diferite), cod material, denumire material, cantitate normată pe
reper, denumire um. Pe baza mulţimii atributelor enunţate se identifică dependenţele funcţionale stabilite
între acestea care apoi sunt marcate în matricea simplificată a dependenţelor funcţionale.

DETERMINANŢI
ATRIBUTE 1 3 5 8 5+8 1+5
1 . Cod produs 1
2. Denumire produs 1
3. Cod um 1 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
1 1 . Denumire unitate de măsură 1

Fig.30) Matricea simplificată a DF


Analizând Figura 2.30 constatăm că fiecare coloană din matrice a fost rezervată unui determinant (se
poate stabili anterior o listă a DF).

II-18
Valoarea 1 marchează la intersecţia unei coloane cu o linie existenţa unei DF între atributul cu rol
de determinant precizat în coloană şi atributul determinat înscris la nivelul liniei.
Una din regulile modelului EA specifică unicitatea atributelor adică obligativitatea ca un atribut să
aparţină unei singure entităţi sau asocieri.
Plasarea unui atribut într-o entitate sau alta este determinată de DF la care participă în legătură cu
identificatorul tipului de entitate. Aceasta înseamnă că la nivelul matricei dependenţelor funcţionale la
nivelul fiecărei linii va trebui să fie înscrisă o singură valoare 1.
În mod distinct, prin subliniere, în cadrul matricei au fost marcate câteva valori 1. Ele exprimă
proprietatea de reflexivitate a DF şi sunt marcate la intersecţia coloanei cu linia corespunzătoare aceloraşi
atribute (în cazul nostru determinanţii).
O problemă apare în liniile 3 şi 8 unde cod um şi cod material prezintă mai mulţi determinanţi.
Această situaţie atenţionează asupra necesităţii unei analize şi impune alegerea corectă a determinantului
dependenţelor funcţionale puse în evidenţă. Existenţa mai multor valori 1 pe o linie poare fi şi consecinţa
unor DF tranzitive care pun în evidenţă asocieri ierarhice (numite şi restricţii de integritate funcţională) între
entităţile ale căror identificatori sunt în dependenţă funcţională.
Exemplu. Matricea completă a dependenţelor funcţionale
În cazul matricei complete numărul de coloane corespunde cu numărul liniilor.

DETERMINANŢI
ATRIBUTE 1 2 3 4 5 6 7 8 9 10 11 5+8 1+5
1. Cod produs 1
2. Den. produs 1 1
3. Cod um 1 1 1 1
4. Preţ produs 1 1
5. Cod reper 1 1
6. Den. reper 1 1
7. Cantitate reper 1 1
8. Cod material 1 1 1
9. Den. material 1 1
10. Cant. normată 1 1
11. Den. um 1 1
Fig.31) Matricea completă a DF
Din analiza matricei complete a DF constatăm:
 diagonala de valori 1 rezultată (aşa cum am precizat şi în cadrul matricei simplificate) este
consecinţa proprietăţii de reflexivitate a DF;
 existenţa dependenţelor elementare (prezentând un determinant elementar, format dintr-un
atribut);
 existenţa dependenţelor neelementare al căror determinant este format dintr-un grup de atribute.
În cazul nostru (Cod produs, cod reper) şi (cod reper, cod material).
 existenţa unor dependenţe tranzitive (cod produs cod material) şi multivaloare între atributele
cod produs şi cod reper, respectiv între cod reper şi cod material care conduc la apariţia mai multor valori
1 în cadrul liniilor matricei.
Analiza informaţiei din matrice (completă sau simplificată) ne va conduce la definirea unor tipuri de
entităţi optimizate în cadrul cărora să fie eliminate DF complexe.
II-3.4) Diagrama depende nţelor funcţionale
Diagrama dependenţelor funcţionale reprezintă un graf constituit pe baza DF identificate, pornind
de la care vom putea defini tipurile de entităţi ale modelului EA astfel încât în cadrul acestora să nu se mai
manifeste DF complexe. Notaţiile pe care le vom utiliza în cadrul diagramei sunt:

II-19
Cvasi dependenţele funcţionale sunt cele pentru care cunoaşterea unei valori pentru determinant
nu antrenează sistematic cunoaşterea unei valori a determinatului. De exemplu:
Cod produs Cod reper
De multe ori aceste cvasi dependenţe funcţionale 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:

Fig.32) Graf al DF tranzitive


Dependenţa tranzitivă DF3 va trebui eliminată din diagrama dependenţelor funcţionale.
În cazul problemei pe care o avem de rezolvat cvasi dependenţe funcţionale reciproce sunt:

Dar dependenţa funcţională dintre atributul cod produs şi atributul cod material este tranzitivă şi va
trebui eliminată din diagrama DF.
Pornind de la mulţimea atributelor ce definesc problema de rezolvat (enumerate în paragraful anterior)
putem identifica dependenţele funcţionale pe care le vom grupa în cadrul diagramei în funcţie de determinanţii
pe care îi prezintă.
În aceste condiţii diagrama DF va arăta astfel:

Cod produs Cantitate reper

Den produs
Den U.M. Cod U.M Preţ produs

Den material Cod material Cod reper Den reper

Cantitate normată
pe reper
Fig.33) Diagrama DF

 Trecerea de la diagrama dependenţelor funcţionale la modelul EA se realizează pe baza


următoarelor reguli:
1) Pentru fiecare DF în care determinantul este elementar se creează un tip de entitate în care
determinantul DF joacă rolul de identificator.

II-20
În cazul problemei de rezolvat se vor defini patru tipuri de entităţi şi anume: Produs, Reper,
Material şi Unităţi măsură prezentând drept identificatori atributele: Cod produs, Cod reper, Cod
material şi respectiv Cod UM (Figura 2.34).
PRODUS REPER MATERIAL UNITĂŢI MĂSURĂ
 Cod produs  Cod reper  Cod material  Cod U.M.

Fig.34) Tipuri de entităţi definite.


2) Toate atributele participând la dependenţe funcţionale ce prezintă acelaşi determinant se vor
grupa în cadrul aceluiaşi tip de entitate prezentând drept identificator atributul cu rol de determinant în
cadrul dependenţelor funcţionale.
În urma aplicării acestei reguli obţinem:
PRODUS REPER MATERIAL UNITĂŢI MĂSURĂ
 Cod produs  Cod reper  Cod material  Cod U.M.
 Den produs  Den reper  Den material  Den U.M.
 Preţ livrare

Fig.35) Gruparea atributelor pe tipuri de entităţi


3) Fiecărei dependenţe funcţionale între identificatorii tipurilor de entităţi îi va corespunde în
modelul EA un tip de asociere. Există două feluri de asocieri, astfel:
 Asociere este ierarhică (restricţie de integritate funcţională) atunci când cardinalitatea
maximală pentru cuplul E1A este 1 iar pentru cuplul E2A este N.
Aplicând această regulă obţinem:

Fig.36) Definirea tipurilor de asocieri

II-21
 Asocierea este de tip neierarhic (restricţie de integritate multiplă), atunci când DF este
neelementară (cu determinantul format dintr-un grup de atribute, care sunt identificatori în cadrul tipurilor
de entităţi definite). Acest tip de asociere neierarhică va fi definită prin atributul cu rol de determinat
(în exemplu: cantitate reper sau cantitate normată pe reper) în DF. Aplicând regula obţinem:

Fig.37) Model EA
Realizând matricea simplificată a DF vom constata respectarea cerinţelor de validare a modelului
EA:

DETERMINANŢI
ATRIBUTE 1 3 5 8 1+5 8+5
1 . Cod produs 1
2. Denumire produs 1
3. Cod um 1
4, Preţ produs 1
5. Cod reper 1
6. Denumire reper 1
7. Cantitate reper 1
8. Cod material 1
9, Denumiră material 1
10, Cantitate normată pe reper 1
11 , Denumire unitate de măsură 1

Fig.38) Matricea simplificată a DF


Matricea s-a realizat pe baza DF manifestate în cadrul tipurilor de entităţi definite.

Se observă că prin eliminarea elementelor de tranzitivitate pe fiecare linie a matricei rămâne, aşa
cum este corect, o singură valoare semnificând că un atribut prezintă un singur determinant.

II-22
II-4 Reguli de verificare şi normalizare a MCD
II-4.1) Reguli de verificare a MCD
Realizarea MCD impune respectarea următoarelor reguli:
1) Regula de unicitate a numelor se aplică tuturor elementelor care participă la definirea MCD:
tipuri de entităţi, tipuri de asocieri, atribute, roluri. Această regulă impune eliminarea din model
a omonimelor şi sinonimelor. Aceasta înseamnă că nu vom putea da, în cadrul aceluiaşi MCD, şi unui
atribut şi unui tip de entitate acelaşi nume, de exemplu Student. Vom numi tipul de entitate Student iar
atributul va primi denumirea Nume Student.
2) Regula unicităţii atributelor (neredundanţei) impune ca un atribut să definească un singur tip
de entitate sau un singur tip de asociere.
3) Regula de unicitate a asocierilor, aplicabilă în cazul asocierilor neierarhice, specifică faptul
că pentru fiecare realizare a asocierii nu poate să existe decât o singură realizare a fiecărei entităţi
participante la asociere.
4) Regula proprietăţilor şi determinantului unei entităţi precizează că un atribut care este
determinat de mai mulţi determinanţi, aceştia fiind identificatori ai unor tipuri de entităţi diferite, trebuie
să definească tipul de asociere creat între respectivele tipuri de entităţi.
5) Regula atributelor derivabile recomandă evitarea includerii în MCD a atributelor
rezultate din calcule. Prezenţa unor astfel de atribute în MCD se justifică numai dacă ele sunt purtătoare
ale unei informaţii cu o anumită relevanţă şi frecvenţă de utilizare.
6) Regula atributelor decompozabile precizează că pot fi menţinute în cadrul MCD atribute
complexe în măsura în care prelucrările nu impun descompunerea lor pe componente elementare. Un
exemplu este reprezentat de atributul adresa care se poate descompune pe următoarele componente: cod
poştal, localitate, stradă, număr, nr. apartament. Într-un SI realizat pentru activitatea unei administraţii
financiare se impune descompunerea atributului adresa pe componentele sale elementare deoarece
contribuabilii sunt adesea selectaţi după criteriul străzii de domiciliu sau numărului, dar în cazul unui SI
destinat evidenţei angajaţilor unei firme atributul adresa se va reţine ca atare, nefiind necesară
descompunerea sa pe elemente.
7) Regula minimizării identificatorilor specifică necesitatea stabilirii cu atenţie a identificatorilor
entităţilor reţinând în grupul de atribute un număr cât mai mic de elemente (atribute).
8) Regula valorii NULL. Deoarece există definite în cadrul tipurilor de entităţi atribute care nu
prezintă realizări obligatorii la nivelul fiecărei entităţi, rezultă că MCD poate fi rafinat prin definirea
unor subtipuri de entităţi care să cuprindă doar atributele specifice acelei submulţimi de entităţi.
Atributele cu rol de identificator vor trebui să primească obligatoriu realizări.

II-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 entităţi, atributelor definite în cadrul
acestora, a identificatorilor şi a asocierilor. Normalizarea vizează atributele entităţilor pe care le
analizează cu scopul eliminării anomaliilor asigurându-se astfel definirea unor tipuri de entităţi "libere" de
dependenţe funcţionale tranzitive şi multivaloare.
Procesul normalizării se poate desfăşura urmând una din următoarele abordări:
 Varianta "top down" caracterizată prin urmărirea respectării formelor normale la nivelul
entităţilor;
 Varianta "bottom up" caracterizată prin definirea unui tip de entitate unic înglobând toate
atributele modelului EA la nivelul căruia să se identifice mulţimea dependenţelor funcţionale
existente între ele.
Regulile de normalizare a MCD sunt:
− Regula nr. 1: Fiecare entitate trebuie să prezinte un identificator prezentând realizări unice,
nenule.

II-23
Această regulă este consecinţa directă a definirii tipului de entitate în cadrul MCD. O regulă
suplimentară celei enunţate este cea referitoare la caracterul elementar al atributelor.
− Regula nr. 2: Toate atributele entităţii, altele decât identificatorul, trebuie să fie în dependenţă
funcţională completă şi directă cu identificatorul entităţii.
Altfel spus, în toate realizările 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 dependenţe
funcţionale 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 dependenţe
parţiale).
Din cele menţionate rezultă faptul că o entitate care prezintă identificatorul format dintr-un singur
atribut respectă automat această regulă.
− Regula nr. 3: Toate atributele unei asocieri trebuie să depindă complet de identificatorul
asocierii (format din identificatorii entităţilor participante la asociere) iar fiecare atribut trebuie să
depindă de întregul identificator al asocierii şi nu de o parte a acestuia.

II-24
II-5 Dezvoltări ale modelului EA. Generalizarea şi specializarea.
II-5.1) Subtipuri şi s upertipuri de entităţi
Un subtip (o subclasă) de entităţi reprezintă un grup de entităţi aparţinând unui tip, reprezentate
distinct în cadrul modelului, ele prezentând anumite trăsături caracteristice ce le detaşează,
individualizează, de celelalte entităţi.
Definirea subtipurilor de entităţi se poate face pe două căi:
− plecând de la valoarea unui atribut (valorile unor atribute);
− folosind anumite criterii precizate de utilizator (atribute specifice);
Prin această grupare a entităţilor aparţinând unui tip se ajunge la definirea unor supertipuri de
entităţi dominante în raport cu subtipurile (subclasele) acestora. Subclasele sunt rezultanta unei
specializări la nivelul entităţilor, ele conservând însă capacitatea de a moşteni de la supertipul lor
elementele comune definitorii.
Exemplu. Pentru a clarifica importanţa definirii în modelul EA a tipurilor şi subtipurilor de entităţi
vă propunem următorul exemplu:
O bancă lucrează atât cu clienţi persoane fizice cât şi cu clienţi persoane juridice. Fiecare client al
băncii primeşte un număr unic de identificare (cod ID), are un nume. Dacă este persoană fizică se reţine
codul numeric personal (CNP) şi data naşterii (DataN), dacă este persoană juridică se reţine codul fiscal
(CodF) şi codul din registrul comerţului (CodC).

Supertip

Subtipuri de
entităţi

Fig.39) Subtipuri de entităţi


Cele două subtipuri - PERS FIZICĂ şi PERS JURIDICĂ - moştenesc toate caracteristicile definite pentru
supertip (CLIENŢI) şi anume Cod ID şi Nume
II-5.2) Generali zarea
Generalizarea reprezintă un proces de modelare a cărui finalitate este reprezentată de definirea unui
supertip regrupând toate atributele comune şi a mai multor subtipuri regrupând atributele specifice unui
subansamblu de realizări ale unui tip generic de entităţi.
Conceptul de generalizare provine de la reprezentarea cunoştinţelor sub formă de reţele semantice şi
se materializează printr-un predicat de forma "este un" (mai este numită şi relaţie IS-A după forma
engleză a predicatului).

II-25
Exemplu. Să luăm un exemplu: orice document se identifică prin număr, data emiterii, emitent,
beneficiar dar fiecare tip de document consemnează un eveniment cu o anumită natură şi conţinut.
Astfel o scrisoare de garanţie bancară indică perioada de valabilitate pentru care se garantează plata
pentru o sumă precizată. Un ordin de plată va aduce ca informaţie specifică: numărul contului plătitor,
banca plătitoare, contul beneficiar, banca acestuia, suma plătită. Se pot reprezenta astfel în mod distinct
proprietăţile comune ale tuturor documentelor (elementelor de identificare) de cele specifice (Figura
2.40).
Document
 Număr
 Data
 Emitent
 Beneficiar
0,1 0,1

Este un Este un
#
1,1 1,1

ScGaranţie Ordin de plată


 Număr zile  Cont plătitor
 Suma  Cont beneficiar
 Banca plătitor
 Banca beneficiar
 Suma
Fig.40) Generalizarea în modelul EA
Generalizarea permite în cadrul modelului EA tocmai definirea acestor caracteristici comune în
cadrul unui supertip de entitate urmând ca elementele specifice să rămână a fi descrise la nivelul
subtipurilor de entităţi.
Pentru că orice scrisoare de garanţie bancară sau ordin de plată se definesc prin număr, data, emitent,
beneficiar rezultă că subtipurile de entităţi ScGaranţie şi OrdinPlată vor moşteni atributele susmenţionate
de la supertipul DOCUMENT.
Generalizarea prezintă o serie de proprietăţi, parţial comentate deja:
 Moştenirea atributelor semnificând faptul că orice entitate E1 (ScGaranţie/OrdinPlată) având
cu o altă entitate E (DOCUMENT) o relaţie de generalizare, de forma E1 este un E, moşteneşte atributele
lui E;
 Atributele supertipului nu aparţin subtipului;
 Nu există moştenire colaterală (între ScGaranţie şi OrdinPlată)
Figura 2.40. cuprinde şi precizarea restricţiei de integritate de excluziune (o scrisoare de garanţie nu
poate fi un ordin de plată).
II-5.3) Specializarea
Specializarea reprezintă operaţia opusă generalizării permiţând realizarea unei decupări a unui tip
de entitate E (care va deveni SUPERTIP) în subtipuri de entităţi diferenţiate prin atribute proprii sau
prin anumite realizări aparţinând unui atribut.
Specializarea şi generalizarea sunt două abordări diferite ale aceluiaşi proces de modelare.
În măsura în care dorim să cuprindem în modelul EA informaţia existentă în documentele
Scrisoare de garanţie bancară şi Ordin de plată (emis de agentul economic) putem crea iniţial un tip de
entitate document definit prin mulţimea atributelor corespunzătoare problemei analizate (mulţimea tuturor
atributelor celor două tipuri de documente).
Tipul de entitate DOCUMENT (Figura 2.41) este un concept generic, el cuprinzând elementele
caracteristice celor două documente aparţinând lumii reale, Scrisoarea de garanţie şi Ordinul de plată.
Chiar dacă pot exista atribute cu realizări opţionale în cadrul unui tip de entitate, totuşi dacă acestea

II-26
privesc caracteristici particulare ale unor entităţi este necesară "gruparea" acestora în subtipuri (de
entităţi). La nivelul tipului de entitate (Document) vor rămâne doar atributele comune subtipurilor
definite. Obţinem astfel subtipurile de entităţi ScGaranţie şi OrdinPlată ajungând astfel la modelul EA
prezentat în figura 2.40.
DOCUMENT
 Număr
 Data
 Emitent
 Beneficiar
 Nr. zile
 Suma
 Cont benef.
 Banca benef.
 Cont plătitor
 Banca plătit.

Fig.41)
Operaţia de specializare poate fi: totală sau parţială.
 Specializarea totală corespunde situaţiei în care orice entitate a supertipului face parte dintr-un
subtip. Grafic se marchează printr-o linie dublă.
 Specializarea parţială corespunde situaţiei în care pot exista realizări ale supertipului care nu
aparţin nici unui subtip (spre exemplu o realizare a tipului document este un document de tip bon de
consum căruia nu-i corespunde nici un subtip din cele definite - în exemplul nostru ScGaranţie şi
OrdinPlată). Grafic aceasta se reprezintă printr-o linie simplă.
Exemplu. Să presupunem că
secretariatul unei facultăţi doreşte să
evidenţieze cele trei categorii de
studenţi pe care îi gestionează:
studenţii de la forma de învăţământ zi,
studenţii cursurilor postuniversitare şi
studenţii doctoranzi. Toţi aceşti
studenţi se definesc printr-o serie de
atribute comune: număr matricol,
nume, adresă, data naşterii care se reţin
la nivelul tipului de entitate
STUDENT. Atributele specifice
fiecărui grup de studenţi aparţinând
unei anumite forme de pregătire se vor
reţine în subtipurile specifice. Astfel,
studenţii de la cursurile de zi se
definesc prin: an (de studii), grupa,
categorie (student înscris pe loc
bugetat sau cu taxă), tip bursă.
Studenţii cursurilor postuniversitare se
caracterizează prin: cursul urmat, tema
aleasă pentru dizertaţie iar studenţii
doctoranzi se definesc prin:
specializare, conducător ştiinţific, tema
tezei, anul înscrierii.
Fig.42) Specializare totală

II-27
Figura 2.42 evidenţiază faptul că orice entitate aparţinând tipului student îşi găseşte corespondent
într-o realizare a unui subtip. S-a marcat distinct şi de această dată restricţia de integritate de excluziune
dintre subtipurile de entităţi (dacă este un student la zi nu poate fi student la un curs postuniversitar sau
doctorand). Există situaţii în care între cele două subtipuri de entităţi având acelaşi supertip pot apărea şi
restricţii de incluziune, deci realizările cele două subtipuri nu sunt disjuncte (figura 2.43).
Şeful unui compartament din structura organizatorică a firmei poate fi economist deci apare relaţia
de incluziune între cele două subtipuri definite - ŞEF şi ECONOMIST

Fig.43) Restricţie de integritate de incluziune

II-5.4) ST UDIU DE CAZ


Se doreşte realizarea modelului conceptual al datelor pentru sistemul informatic al unei societăţi de
valori mobiliare ştiind că:
 Ordinele de tranzacţionare se primesc de la clienţi, fiecare client fiind definit printr-un cod unic
de identificare, nume, adresa, banca, cont.
 Ordinele de tranzacţionare vizează societăţile cotate pe piaţă, societăţi pentru care se reţine
codul, denumirea, capitalul social, cotaţia maximă şi respectiv cotaţia minimă înregistrată.
 Ordinele clienţilor privesc o anume societate tranzacţionată şi pot fi de vânzare, (caz în care
acesta poate specifica preţul minim pe care îl acceptă) sau de cumpărare, pentru care poate
preciza un preţ maxim. Ordinele primesc un număr unic la nivelul SVM-ului şi cuprind: data şi
ora emiterii, numărul de acţiuni, societatea vizată.
 Ordinele sunt executate de un broker, clienţii lucrând fiecare cu un anume broker din societate,
pentru care se reţin următoarele caracteristici: cod şi nume.
 Tranzacţiile realizate pe baza ordinelor primite prezintă: un număr, data tranzacţiei, numărul
acţiunilor care au făcut obiectul tranzacţiei, preţul la care s-a realizat tranzacţionarea.
 Un ordin poate fi acoperit prin mai multe tranzacţii realizate pe piaţă.

II-28
Fig.44)
În MCD s-au definit următoarele tipuri de entităţi:
− Client definit prin atributele: Cod-client (identificator), nume-client, adresa, cont, banca.
− Societăţi definit prin: Cod soc (identificator), denumire, capital, cotaţia maximă, cotaţia minimă
(aceste două ultime atribute au rol informativ iar prin cerinţele problemei nu s-a cerut şi reţinerea datelor la
care s-au înregistrat aceste valori).
− Ordin definit prin: Nr-ordin (identificator), data ordin, ora, nr-acţiuni. Se remarcă în cadrul
MCD specializarea totală (cu specificarea restricţiei de excluziune între entităţile subtipurilor) prin
definirea subtipurilor Vânzare şi Cumpărare necesare reţinerii preţului minim de vânzare respectiv
preţului maxim de cumpărare.
− Tranzacţii: Nr-tranz (identificator), data tranz, nr. acţiuni, preţtranz.
− Broker: Cod-broker (identificator), nume broker.
II-6 Reprezentarea timpului
Modulul EA nu oferă formalisme specializate pentru reprezentarea timpului. Dar elementul timp
trebuie de cele mai multe ori să se regăsească în cadrul modelului conceptual definit. Aşa se explică
faptul că modelul EA permite atât reprezentări sincronice (care aduc o viziune atemporală) sau
diacronice (care surprind elementul timp în MCD).
Să presupunem că dorim să realizăm un MCD care să permită reprezentarea consumului specific de
materii prime necesare fabricării fiecărui subansamblu din componenţa 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ă situaţii în care în cadrul MCD este necesar să integrăm şi elementul timp. Să
presupunem că dorim să reprezentăm cursele realizate de fiecare aeronavă a unei companii de
transporturi aeriene. Ne interesează să cunoaştem ce aeronavă a asigurat fiecare din cursele
programate. Vor fi utilizate în cadrul modelului două tipuri de entităţi AVION şi CURSA între cele două
stabilindu-se tipul de asociere REALIZEAZĂ.

II-29
Fig.45) Reprezentare sincronică a consumului specific de materii prime

Fig.46) Reprezentare sincronică cursele programate ale aeronavelor

 Realizarea reprezentării diacronice prin introducerea unui tip de entitate temporală.


Reprezentarea sincronică din figura 2.46 evidenţiază ce curse au fost realizate de fiecare
aeronavă din dotare dar nu şi când. Cursa cu numărul 123 având destinaţia Paris se efectuează în fiecare zi
de joi a săptămânii ş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 dovedeşte
neacoperitoare. Realizările tipului de asociere se identifică după Nr-ID şi Nr cursă. Cum acelaşi avion
poate realiza aceeaşi cursă, de mai multe ori identificarea realizărilor tipului de asociere nu se mai poate
realiza. Acest lucru impune introducerea în cadrul modelului a unui tip de entitate temporală.
Caracteristic pentru entităţile 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 măsură a timpului (zi, oră, minut) iar ansamblul acestor atribute formează identificatorul tipului
de entitate.
Observăm că introducerea timpului de entitate temporală a condus la transformatea tipului de
asociere binară existent iniţial între AVION şi CURSA într-o asociere ternară.

Fig.47) Reprezentare diacronică cursele programate ale aeronavelor

II-30
 Realizarea reprezentării diacronice prin introducerea evenimentelor datate.
O altă modalitate de a introduce elementul timp în cadrul modelului EA este reprezentată de
introducerea evenimentelor datate. Din activitatea practică cunoaştem faptul că fiecare eveniment produs (o
aprovizionare, încheierea unui contract, etc.) se concretizează într-un document care pe lângă număr şi
prezentarea conţinutului prezintă şi o dată.
Să luăm cazul unei societăţi de asigurări şi să ne limităm la gestiunea doar a poliţelor de asigurare a
bunurilor. În cadrul MCD trebuie să cuprindem atât clienţii societăţii, bunurile pe care aceştia le asigură şi
riscurile pentru care se face asigurarea.
Evenimetul bun asigurare care are loc se consemnează într-un document numit poliţă de asigurare.
Acest eveniment se va regăsi în cadrul MCD sub forma unui tip de entitate (Poliţă).

Fig.48) Introducerea evenimentelor datate în modelul EA

II-7 Validarea modelelor externe


Validarea MCD nu se realizează doar prin regulile de validare şi normalizare (prezentate într-un
capitol anterior) vizând elemente de "construcţie" ale modelului ci şi prin controlul completitudinii
modelului. Trecerea la etapa modelării logice nu se poate face fără verificarea completitudinii modelului
conceptual.
MCD este definit prin prisma unei structuri semantice a datelor. Dar în realitate diferiţi utilizatori
prelucrează datele conform nevoilor lor, având din această cauză o percepţie diferită (modele externe) asupra
datelor.

II-31
Fiecărei prelucrări (consultare sau actualizare) realizate de un utilizator îi corespunde un model
extern al datelor (MED) care reflectă viziunea particulară a utilizatorului asupra realităţii. Acest model
extern propriu unei anumite prelucrări implică un bloc logic de date constituit pe baza formalismului
modelului EA.

REALITATE

Model extern Model extern


1 Model extern 3
2

Modelul
conceptual
al datelor
(EA)

Fig.49) Modele externe ale datelor


Dacă în urma definirii modelelor externe constatăm că fiecare dintre acestea este deductibil
din MCD definit, înseamnă că modelul conceptual al datelor răspunde criteriului de completitudine.
În construirea modelelor externe se recomandă utilizarea următoarelor reguli:
− se defineşte un model extern pentru fiecare consultare sau actualizare impusă de o prelucrare;
− modelul extern se construieşte utilizând formalismul modelului EA.
În construirea modelului EA corespunzător MED se ţine seama de faptul că:
− entităţile MED pot să nu prezinte identificatori;
− atributele, entităţile şi asocierile MED pot să nu-şi găsească un corespondent în MCD;
− atributele MED corespunzătoare celor aparţinând MCD vor trebui să aibe acelaşi nume.
În cazul unei actualizări sau consultări, construirea MED va trebui să redea şi fluxul de date
implicat în cadrul prelucrării.
Astfel, în cazul operaţiei de actualizare privind facturile emise clienţilor, MED se prezintă astfel:

FACTURA  Cod produs


 Den produs
 Nr.Factura 1,N 1,1  UM
 Data Factură Cuprinde  Cantitate Fact
 Client  Pret
 Valoare produs
 Valoare Factură  TVA produs
 Total val. produs

Fig.50) MED al operaţiei de actualizare


Din analiza MED prezentat în figura 2.50 constatăm că unele atribute îşi găsesc corespondent
direct în MCD, altele sunt atribute calculate (VAL-PRODUS, TVA-PRODUS, TOTAL-PRODUS) iar
unele atribute, deşi definesc aceleaşi caracteristici, sunt definite cu nume diferite de cele utilizate în
MCD (Client în loc de DEN CLIENT de exemplu), deci prin echivalenţă îşi găsesc un corespondent în
MCD.
Atributele calculate aparţinând MED vor fi descompuse în conformitate cu algoritmii de calcul
utilizaţi în vederea identificării operanzilor.
Se verifică apoi măsur a în car e atributele se regăsesc direct sau prin echivalenţă în MCD.

II-32
În măsura în care MED cuprinde şi atribute care nu se regăsesc în MCD este necesară completarea
acestuia cu atributele omise.

Fig.51) Verificarea completitudinii MCD

 Reguli de validare a modelelor externe


 La prelucrarea - CONSULTARE
1) Atributele din modelele externe trebuie să fie atribute din modelul conceptual.
2) Se verifică existenţa în MCD a atributelor necesare identificării datelor în procesul consultării.
3) Cardinalităţile asocierilor din modelele externe trebuie să fie incluse în cardinalităţile asocierilor
aparţinând MCD corespunzătoare semantic.
 La prelucrarea - ACTUALIZARE
1) Orice atribut din modelul extern serveşte fie la identificarea unui element de actualizare (atribut,
entitate) din modelul conceptual, fie la obţinerea valorii de actualizare a unui element din modelul
conceptual. Această regulă permite identificarea atributelor omise ce vor completa MCD precum
şi la identificarea atributelor MED care vor fi şterse deoarece nu servesc niciunuia din scopurile amintite.
2) Cardinalităţile asocierilor din modelele externe trebuie să se includă în cardinalităţile asocierilor
din modelelul conceptual, corespunzătoare semantic.
3) Orice element din modelul conceptual trebuie să poată fi actualizat (adăugat, modificat, şters)
prin cel puţin unul din modele externe. În acest sens se vor defini modelele externe omise care realizează
actualizarea tuturor elementelor conceptuale.

II-33

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