Documente Academic
Documente Profesional
Documente Cultură
Sistem Informaţional
Proceduri
Informaţii
Documentare şi
analiză
Informaţii Proceduri
Legături între informaţii Reguli de gestiune
Modelare
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).
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.
II-5
CONTRACT DE CREDIT definit prin: Nr. Contract, Data contract, Valoare contract, Moneda.
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.
CONTRIBUABIL ROL
1,1 1,1
Cod-identificare ARE Nr rol
Nume Data deschiderii
Adresa
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ă
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Ă .
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
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ă:
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
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.
II-14
Fig.27) Excluziune 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.
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
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:
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:
Den produs
Den U.M. Cod U.M Preţ produs
Cantitate normată
pe reper
Fig.33) Diagrama DF
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.
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
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-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
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
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
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
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ţă).
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
Modelul
conceptual
al datelor
(EA)
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.
II-33