Upload
zanet-cosmin-alexandru
View
99
Download
0
Embed Size (px)
Citation preview
1
Cuprins
Unitatea de învăţare 5 – Modelul conceptual al datelor. Modelul
Entitate-Asociere ........................................................................ 2
5.1 Entităţi si tipuri de entităţi ............................................. 2
5.2 Atributele unei entităţi ................................................... 5
5.3 Asocieri si tipuri de asocieri ........................................ 10
Întelegerea notiunii de entitate, atribut al entitatii, respectiv identificator al unei entitati Însusirea notiunii de asociere, tipuri de asocieri, rolurile asocierii, cardinalitatea asocierii
2
Unitatea de învăţare 5 – Modelul conceptual al datelor. Modelul Entitate-
Asociere
5.1 Entităţi si tipuri de entităţi
Modelul conceptual al datelor (MCD)
reprezintă o modalitate de reprezentare
a datelor organizaţiei. Rolul său este de
a scoate în relief toate regulile privind
identitatea şi legăturile existente între
date. MCD are următoarele obiective:
� să servească drept suport de
comunicare între utilizatori şi
informaticieni;
� să exprime modul în care datele din
sistemul informatic reflectă realitatea
(domeniul problemei).
Modelul conceptual al datelor reprezintă
o structură generală şi logică a bazei de
date. Această structură este
independentă de software-ul utilizat sau
de modalitatea de stocare a datelor.
Din acest punct de vedere, MCD
presupune:
� reprezentarea organizării datelor într-un format grafic care poartă
denumirea de diagrama entitate-asociere;
� verificarea validităţii modelării datelor;
� generarea unui model fizic al datelor care specifică modul de
implementare a bazei de date.
MCD corespunde unei structuri generale a datelor acceptată de toţi utilizatorii
potenţiali. Rezultatul final al activităţii de modelare la acest nivel nu este o
reprezentare a unui sistem informatic real, ci reprezintă o viziune abstractă a
Timp necesar: 240 minute. După parcurgerea unităţii veţi fi în măsură să răspundeţi la întrebările: • Ce este o entitate? • Care sunt conditiile pe care trebuie sa le îndeplineasca o entitate?
• Ce este un atribut al unei entitati?
• Ce este identificatorul unei entitati?
• Ce este o asociere? • Ce este cardinalitatea unei asocieri?
00:00
3
acestuia, reprezentare ce poate lua fie o formă grafică (de cele mai multe ori), fie
matematică, verbală sau mentală.
MCD are o formă abstractă şi formalizată şi poate conţine erori datorate:
� spiritului de observare şi subiectivităţii observatorului;
� metodelor de observare folosite;
� tehnicilor, instrumentelor şi metodelor de modelare.
Pentru a se înlătura erorile de concepţie a modelului este bine ca la procesul de
observare să participe mai mulţi membri ai echipei, fiecare dintre aceştia
realizând câte un model. Modelele astfel realizate sunt supuse confruntării, care
în urma unor analize pot duce la identificarea eventualelor erori de reprezentare.
De asemenea, este important ca modelele utilizate să respecte normele şi
standardele recunoscute.
Identificarea principalelor obiecte care stau la baza modelului conceptual
al datelor, din punct de vedere al metodei MERISE, se referă la noţiunile de
entitate şi asociere.
Entitatea reprezinta o abstractizare a proprietatilor si caracteristicilor unui obiect
din cadrul domeniului modelat. Entitatile sunt asadar niste reprezentari ale
obiectelor si conceptelor din lumea reala. Exemple de entitati: factura, banca,
furnizor, beneficiar, produs, angajat, student, disciplină de studiu, oras etc.
În general, în cadrul modelarii conceptuale se încearca stabilirea unor modele
semantice care sa dea sens atât entitatilor cât si regulilor ce iau nastere între
acestea. Modelul entitate – asociere este un model semantic. În cadrul lui se va
încerca identificarea entitatilor care prezinta interes pentru domeniul modelat dar
si a asocierilor care iau nastere între aceste entitati [Amza, 2008].
Au fost propuse mai multe variante pentru identificarea entitatilor, una
dintre acestea fiind metoda (abordarea) gramaticala de identificare a entitatilor.
Abordarea gramaticala se bazeaza pe faptul ca, de obicei, entitatile apar in textul
problemei de modelat sub forma unor substantive. Plecand de la acest aspect,
abordarea gramaticala presupune identificarea subiectelor si substantivelor din
enuntul problemei de rezolvat. Dar, metoda gramaticala de identificare a
entitatilor nu este o metoda general valabila. Utilizand aceasta metoda, exista
00:15
4
pericolul de a identifica entitati false. De exemplu, luam in considerare entitatile:
„angajat”, „inginer”, „sef_echipa”. Se constata ca „inginer” respectiv „sef_echipa”
sunt valori ale atributului „functie” din cadrul entitatii „angajat”.
Pentru a selecta corect entitatile, trebuie sa luam in considerare
caracteristicile unei entitati:
� Să aparţină spaţiului problemei de rezolvat (domeniului de modelat);
� Să poată fi descrisă printr-o suită de caracteristici, numite atribute;
� Să poată fi identificată în raport cu celelalte entităţi;
� Să aibă o existenţă de sine stătătoare.
Deci, o entitate reprezinta "orice poate fi identificat în mod distinctiv". O entitate
se referă la un aspect al realităţii obiective, care poate fi deosebit de restul
universului şi poate reprezenta un obiect fizic, o activitate, un concept etc.
Cu alte cuvinte, o entitate trebuie sa fie identificată in mod unic, in cadrul
modelului conceptual, prin intermediul unui nume (nu putem avea 2 entitati cu
acelasi nume).
O entitate trebuie sa poata fi descrisă. Prin descriere, se intelege specificarea
unor caracteristici, care sa ofere informatii despre entitate si totodata sa-i confere
identificabilitatea in raport cu celelalte entitati. Orice entitate este descrisă prin
atributele sale. Atributele prin care este descrisă o entitate se aleg pe baza
criteriului relevanţei privind domeniul de interes pentru care se defineşte modelul
respectiv, astfel încât să asigure diferenţierea precisă a entităţii respective faţă
de restul universului. De exemplu, entitatea ANGAJAT reprezintă o persoană
angajată a instituţiei, care are o anumită funcţie, lucrează într-o anumită secţie şi
primeşte un anumit salariu. Această entitate fi descrisă prin mai multe atribute,
dintre care o parte sunt atribute de identificare a persoanei (cum sunt: Nume,
Prenume, DataNasterii, Adresa), iar alte atribute sunt atribute legate de
activitatea acesteia în instituţia respectivă (cum sunt: Funcţia, Salariul).
În bazele de date, entităţile similare care pot fi descrise prin aceleaşi atribute, se
grupează în mulţimi, fiecare entitate având valori particulare ale atributelor
respective. Toate entităţile similare, care pot fi descrise prin aceleaşi atribute,
aparţin aceluiaşi tip de entitate (clasa entitatii). Ansamblul tuturor entităţilor de
00:30
5
acelaşi tip dintr-o bază de date constitue o mulţime de entităţi. O mulţime de
entităţi se descrie prin aceleaşi atribute prin care este descrisă fiecare entitate
componentă.
Numim realizare a unei entităţi mulţimea formată din câte o valoare pentru
fiecare atribut al entităţii. Valorile fiecărui atribut component a ceea ce numim
generic entitate alcătuiesc o realizare (instanţiere) a entităţii respective.
De exemplu, in Figura 5.1, luam in considerare entitatea STUDENT, descrisa
prin aributele: CNP, Nume, Prenume, DataNastere, Adresa. Dând valori acestor
atribute obtinem o realizare a entitatii STUDENT.
Figura 5.1
5.2 Atributele unei entităţi
Fiecare tip de entitate are un set de atribute asociate lui. Un atribut este o
proprietate sau o caracteristică a unei entităţi care prezintă interes pentru
organizaţie. Atributele sunt percepute, din punct de vedere informatic, ca
variabile ale datelor, caracterizate prin natura valorilor pe care le pot lua acestea
la un moment dat. Fiecare atribut are asociat un domeniu de valori. Domeniul de
Student
CNP
Nume
Prenume
DataNastere
Adresa
Realizare 1
1820515311612
Popescu
Ion
15-05-1982
Bucuresti
00:50
01:00
Identificaţi principalele criterii pe baza cărora se pot distinge entităţile adevărate dintre cele false. ..................................................................................................................................................................................................................................
6
valori al unui atribut poate sa impuna restrictii cu privire la valorile valide pe care
le poate lua un atribut.
Clasificarea atributelor
Exista mai multe criterii de clasificare a atributelor astfel:
Din punct de vedere al modului de reprezentare a informaţiei, atributele pot fi:
� elementare – reprezentarea datei este indivizibilă în raport cu informaţia
pe care o reprezintă (nu mai pot fi descompuse in alte atribute). Aceste
atribute se mai numesc şi atribute atomice;
� compuse – se pot descompune în mai multe atribute elementare
(exemplu: „adresa”).
Dupa modul de stocare al valorii:
� simple - stocheaza în ele valorile asa cum au fost introduse de utilizator;
� calculate - îsi obtin valoarea prin aplicarea unei formule asupra unor alte
atribute, pentru care utilizatorul a specificat valoarea (exemplu: câmpul
„pret” respectiv „cantitate”, ale unei facturi sunt atribute simple, în timp ce
„valoarea” = „pret” * „cantitate” reprezinta un atribut calculat). În cele mai
multe cazuri, atributele calculate nu se stochează deoarece valoarea lor
poate fi dedusă cu ajutorul unor formule.
Din punct de vedere al realităţii modelate, atributele pot fi:
� opţionale – dacă atributul respectiv nu poate prezenta o valoare la un
moment dat, valoarea lui nefiind neaparat necesara (exemplu: „limbi
străine cunoscute”);
� obligatorii – trebuie să prezinte neaparat o valoare. In aceasta situatie,
utilizatorul nu va putea continua prelucrarile pana cand nu se furnizeaza
respectiva valoare.
Daţi exemple şi de alte atribute calculate pentru entitatea FACTURA. ...................................................................................................................................................................................................................................................................................................................................................
01:15
01:25
7
Din punct de vedere al valorilor pe care le pot lua la un moment dat, atributele
pot fi:
� multivaloare – atunci când valoarea pe care o poate lua un atribut, la un
moment dat, prezintă mai multe realizări concomitente pentru aceeaşi
entitate (exemplu: limbi străine cunoscute – o persoană poate cunoaşte
engleză, franceză şi germană);
� monovaloare – prezintă doar o singură valoare pentru atributul respectiv.
Dupa tipul datelor care sunt continute de un atribut, atributele pot fi:
� atribute de tip text – sunt folosite cand datele care descriu o anumita
entitate sunt de tip text (exemplu: nume, prenume, denumire, adresa);
� atribute de tip numeric – sunt utilizate pentru a stoca în ele caracteristici
ce pot fi exprimate valoric sau cantitativ pentru o anumita entitate
(exemplu: pret, cantitate, valoare, valoare TVA, cota de TVA);
� atribute de tip boolean – sunt atribute ale caror valori pot lua una din doua
stari posibile: Da/Nu; Adevarat/Fals; 1/0;
� atribute de tip data si ora – sunt atribute destinate in special stocarii unor
valori cu privire la data sau timp;
� atribute binare - sunt acele atribute în care se stocheaza informatia ce nu
poate fi stocata cu nici unul dintre tipurile anterioare (exemplu: o imagine,
un clip audio sau video).
Observatie: se recomanda sa se aleaga un atribut numeric ori de câte ori acel
atribut este utilizat în efectuarea unor calcule aritmetice sau comparative. De
exemplu, constituie o greseala stocarea numerelor de telefon sub forma
numerica, acesta nefiind supus niciodata unor operatii aritmetice. De aceea, tipul
01:30
Daţi exemple de alte atribute multivaloare pentru entitatea FACTURA. ...................................................................................................................................................................................................................................................................................................................................................
01:40
8
atributului ales trebuie sa fie de tip text (prin alegerea unui atribut de tip numeric,
se vor pierde zerourile situate la începutul numarului de telefon).
De asemenea, trebuie sa se stabileasca pentru fiecare atribut, lungimea
acestuia. Lungimea unui atribut depinde in principal de tipul atributului. Astfel,
lungimea unui atribut de tip text trebuie stabilita luând în considerare valorile
posibile pe care le poate lua respectivul atribut. De exemplu, pentru atributul
„nume” este suficienta o dimensiune de 50 caractere.
Din punct de vedere al rolului pe care îl îndeplineşte atributul respectiv în cadrul
modelului, atributele pot fi:
� cheie primară (identificator) – reprezintă acel atribut, sau grup de atribute,
care reuşeşte, prin valorile pe care le ia, să identifice în mod unic o
entitate din mulţimea entităţilor care prezintă acelaşi comportament.
Atributele care compun cheia primară nu pot avea valori nule. O altă
cerinţă esenţială este unicitatea.
� cheie candidat – reprezintă acel atribut, care prin natura sa, poate juca
rolul de cheie primară sau de identificator în cadrul unui tip de entitate.
Altfel spus, reprezintă o posibilă cheie primară, care nu a fost, însă,
reţinută ca atare.
� cheie externă – reprezintă un atribut, sau o mulţime de atribute, definite pe
aceeaşi mulţime de valori ca şi cheia primară, rolul său fiind acela de a
putea stabili o asociere (legătură) între două sau mai multe tipuri de
entităţi, care, în realitatea modelată, interacţionează între ele. Altfel spus,
orice cheie externă este cheie primară pentru o altă entitate.
Identificatorul unei entitati este atributul (sau grupul de atribute) a carui
realizare (valoare) caracterizeaza in mod unic o realizare a entitatii.
În realitate, pot exista mai multe atribute care pot juca rolul de identificator pentru
un tip de entitate. De exemplu, pentru societăţi comerciale: codul unic de
înregistrare (CUI), numărul de înregistrare, codul IBAN. De aceea, atributul care
joacă rolul de identificator (cheie primară) trebuie să îndeplinească concomitent
mai multe cerinţe:
01:50
9
a) nu trebuie să existe două valori identice în mulţimea valorilor pe care le
poate lua acel atribut;
b) cheia primară nu poate avea valoarea NULL. Valoarea NULL nu este
valoarea zero, ci arată că pentru atributul respectiv nu s-a introdus nici o valoare;
c) valoarea pe care o poate lua o cheie primară nu trebuie să se modifice.
În exemplul de mai sus codul IBAN nu respectă această condiţie;
d) dimensiunea câmpului cheie primară trebuie să fie cât mai redusă
(identificatorul sa fie cat mai scurt). În exemplul de mai sus, numărul de
înregistrare la Registrul Comerţului are 13 caractere, iar CUI este format din 7
caractere.
În cazul în care identificatorul este compus din mai multe atribute atunci aceste
caracteristici sunt cerute tuturor atributelor care fac parte din respectivul
identificator. Ţinând cont de aceste cerinţe, se alege acel atribut, sau grup de
atribute, care să joace rolul de identificator al unui tip de entitate (cheia primară).
In reprezentarea grafică, de regulă, identificatorul se subliniază cu o linie
continuă.
Un alt criteriu de clasificare a atributelor il reprezintă domeniul de valori.
Din punct de vedere al domeniului de valori, atributele pot fi:
� atribute cu domeniul de valori continuu - sunt acele atribute numerice care
iau valori în limitele unui interval.
� atribute cu domeniul de valori discret - sunt acele atribute care nu pot lua
decât anumite valori din multimea valorilor domeniului.
Domeniul de valori reprezintă mulţimea tuturor valorilor posibile pe care le
poate lua un atribut. Orice atribut trebuie sa aiba asociat un domeniu de valori.
Atributele surprind partea statică a unui tip de entitate, iar valorile atributelor
reflectă partea dinamică a entităţii. De exemplu: „vârsta” este atributul entităţii
SALARIAT, iar valoarea acestui atribut se schimbă.
Există două modalităţi prin care se poate exprima domeniul de valori:
a) Exprimarea explicită – se enumeră valorile din domeniul respectiv.
Exemplu: vârsta∈{18,19,20,…, 65};
02:00
10
b) Exprimarea implicită – se precizează proprietăţile pe care le are domeniul.
Exemplu: vârsta∈{x, x∈N, 18≤x≤65}.
5.3 Asocieri si tipuri de asocieri
Asocierea reprezintă legătura sau corespondenţa existentă între două sau mai
multe entităţi, în care fiecare joacă un anumit rol.
Rolul unei entităţi este un nume care desemnează modul de participare a
entităţii la o asociere. Identificarea asocierilor se realizează prin rolurile entităţilor
participante, deci, concret, cu ajutorul identificatorilor entităţilor participante.
Tipul asocierii reprezintă ansamblul legăturilor sau a corespondenţelor cu
aceeaşi semnificaţie, dintre două sau mai multe tipuri de entităţi.
Tipurile de entităţi (mulţimea entităţilor) care participă la un tip de asociere
formează colecţia acesteia. Numărul de tipuri de entităţi care participă la un tip
de asociere formează gradul sau dimensiunea asocierii.
Din punct de vedere al gradului unei asocieri, distingem:
� unară (reflexivă) – 1 entitate;
� binară – 2 entitati;
� ternară – 3 entitati;
� complexă – 4 sau mai multe entitati.
Spre deosebire de entităţi, asocierile nu au existenţă de sine stătătoare, acestea
depinzând de existenţa entităţilor pe care le leagă. Existenţa unei asocieri poate
fi mai scurtă decât a entităţilor participante. O asociere poate avea atribute
proprii. Pentru identificarea asocierilor, trebuie sa tinem cont de urmatoarele
reguli:
� o asociere nu poate exista decât o singură dată între aceleaşi entităti;
Daţi exemple de entităţi cu identificatori compuşi din mai multe atribute. ...................................................................................................................................................................................................................................................................................................................................................
02:15
02:05
11
� numele entităţilor, corespondenţelor, rolurilor, atributelor trebuie să fie
unice în cadrul modelului conceptual, iar apoi, în baza de date definită.
În modelul Entitate-Asociere (E-A), conform metodei gramaticale, orice entitate
semnifică un substantiv, în timp ce o asociere semnifică un verb. Deci pentru
gasirea asocierilor între tipurile de entităţi, proiectantul va identifica verbele care
pun in legatura respectivele entitati. Nu este obligatoriu ca numele dat unei
asocieri să fie un verb, dar o asociere reprezintă o interacţiune între tipurile de
entităţi (şi mulţimile de entităţi corespunzătoare), care poate fi exprimată printr-un
verb. De exemplu, în diagrama E-A din Figura 5.2, asocierea FACTURA-CLIENT
poate fi exprimată prin verbul “se trimite”.
Exemplu :
Figura 5.2
Un exemplu tipic de asociere unară sau reflexivă, este asocierea stabilită intre
realizările aceleiasi entitati: ANGAJAT (vezi Figura 5.3). In acest caz, entitatea
ANGAJAT joacă dublu rol: „este condus” si „conduce”.
este condus conduce Figura 5.3
FACTURA CLIENT se trimite
ANGAJAT
CodAngajat
Nume
Prenume
DataNastere
Functia
este subordonat
02:25
12
In Figura 5.4 este prezentata schema unei asocieri binare. Rolul entitatii
FACTURA este de document emis, iar cel al entitatii FURNIZOR este de emitent.
este emisă emite
Figura 5.4
In Figura 5.5 este prezentata schema unei asocieri ternare.
Figura 5.5
Cardinalitatea asocierii - exprimă modul de participare al entităţilor la
asociere. Putem vorbi despre o cardinalitate minimă (0 sau 1) si una maximă (1
sau n).
Deci, cardinalitatea reprezinta numarul minim, respectiv maxim de realizari al
entitatilor implicate intr-o asociere. Valorile uzuale sunt: 0,1; 1,1; 0,n; 1,n.
Cardinalitatea unei asocieri poate fi de tipul:
1) unu-la-unu (one-to-one/biunivocă). Fiind date două mulţimi de entităţi, A şi
B, spunem că cele 2 multimi sunt într-o relaţie unu-la-unu, dacă unei
FACTURA FURNIZOR este emisă
ANGAJAT CALCULATOR utilizează
PROGRAME
02:35
Daţi exemple de alte asocieri unare, binare şi ternare. ...................................................................................................................................................................................................................................................................................................................................................
02:55
13
entităţi din mulţimea A îi corespunde o singură entitate din mulţimea B, şi
reciproc; se notează cu 1:1 (vezi Figura 5.6, punctul a)).
2) unu-la-mulţi (one-to-many) - este asocierea în care unei entităţi din
mulţimea A îi corespund una sau mai multe entităţi în mulţimea B, dar unei
entităţi din B îi corespunde o singură entitate din mulţimea A; se notează
cu 1:N (vezi Figura 5.6, punctul b)).
3) mulţi-la-mulţi (many-to-many) - este asocierea în care unei entităţi din
mulţimea A îi corespund una sau mai multe entităţi în mulţimea B, şi, de
asemenea, unei entităţi din B îi corespund una sau mai multe entităţi din
mulţimea A; se notează cu M:N (vezi Figura 5.6, punctul c)).
Figura 5.6 - Tipuri de asocieri între două mulţimi de entităţi
(a) Asociere 1:1; (b) Asociere 1:N; (c) Asociere M:N.
Vom descrie în exemplele următoare, modalitatea prin care se stabileste
cardinalitatea unei asocieri. Considerăm exemplul din Figura 5.2:
Nr
A B A B A B
(a) (b) (c)
FACTURA NrFactură
DataFactură
Produs
Cantitate
Pret
CLIENT
CodClient
Nume
Prenume
Adresa
se trimite
03:05
14
Pentru entitatea FACTURA:
Identificatorul entitatii este format din 2 atribute: NrFactura si DataFactura.
Vom avea în vedere faptul că întocmirea unei facturi trebuie să vizeze un singur
client.
Astfel, Factura cu numarul 1125 din data de 20.09.2010 se trimite unui singur
client (minim 1 client si maxim 1 client). Deci, cardinalitatea minimă este 1 si
cardinalitatea maximă este 1; se noteaza langa entitatea CLIENT astfel:
1,1
Pentru entitatea CLIENT:
Identificatorul entitatii este CodClient.
Astfel, clientul cu codul 145 poate sa primească minim 0 facturi (este posibil ca,
într-o anumită perioadă, să nu i se trimită nici o factură) si maxim n (este posibil
să i se trimită mai multe facturi). Deci, cardinalitatea minimă este 0 si
cardinalitatea maximă este N; se noteaza langa entitatea FACTURA astfel:
0,N 1,1
cardinalitate minimă cardinalitate maximă
Pentru fiecare grup de valori, respectiv (0, N) si (1,1), vom alege cardinalitatile
maxime, obtinand astfel valoarea (1,N).
In acest mod, am identificat cardinalitatea asocierii de tipul 1 la N sau unu la
multi, reprezentata astfel:
N 1
FACTURA CLIENT se trimite
FACTURA CLIENT se trimite
FACTURA CLIENT se trimite 03:10
15
Modelarea unei asocieri de tipul unu la multi se realizeaza astfel: identificatorul
entitatii cu cardinalitate 1 (în cazul nostru CLIENT) se adaugă entităţii cu
cardinalitate N (în cazul nostru FACTURA). Deci, CodClient se adaugă la
entitatea FACTURA.
Pentru exemplificarea unei asocieri de tipul N la N (mulţi la mulţi) vom folosi
asocierea de mai jos.
Vom considera câte o realizare pentru fiecare dintre cele doua entitati.
Pentru entitatea Articol_papetărie (se consideră o realizare a entităţii):
Un articol de papetarie cu codul 65 poate fi cuprins in minim 0 facturi (se poate
întampla ca un anumit produs să nu mai fie comandat de clienţi) sau se poate
factura de mai multe ori, adica se poate regăsi în maxim N facturi. Se notează,
langă entitatea Factura, astfel:
0,N
Articol_papetarie CodArticol
Denumire
Model
Culoare
Imagine
Factura NrFactură
DataFactură
CodClient
Cantitate
Pret
se facturează
Articol_papetărie CodArticol
Denumire
Model
Culoare
Imagine
Factura NrFactură
DataFactură
CodClient
Cantitate
Pret
se facturează
03:15
Modelarea unei asocieri de tipul one-to-many se realizează astfel: ..................................................................................................................................................................................................................................
03:20
16
Pentru entitatea Factura:
Factura cu numarul 652 din data de 23.07.2010, poate conţine, în cantităţi si la
preţuri diferite, minim 1 articol de papetarie si maxim N (poate contine mai multe
produse ce urmeaza a fi livrate unui client). Se notează, langă entitatea
Articol_papetărie, astfel:
1,N 0,N
Pentru fiecare grup de valori, respectiv (1, N) si (0,N), alegem cardinalităţile
maxime, obţinând valoarea (N,N). Deci, am identificat cardinalitatea asocierii de
tipul N la N sau mulţi la mulţi, reprezentată astfel:
N N
Modelarea unei asocieri de tipul N la N sau mulţi la mulţi se realizează astfel:
între cele două entităţi se introduce, în mod artificial, o noua entitate care are, ca
atribute de pornire, identificatorii celor doua entităţi implicate iniţial în asociere.
Pe lângă aceste atribute, proiectantul va introduce şi atributele multivaloare, deci
cele care exprimă o cantitate, un preţ etc.
Procesul de modelare al asocierii mulţi la mulţi se reprezintă astfel:
Înainte de modelare:
N N
Articol_papetarie CodArticol
Denumire
Model
Culoare
Imagine
Factura NrFactură
DataFactură
CodClient
Cantitate
Pret
se facturează
Articol_papetărie Factura se facturează
Articol_papetarie CodArticol
Denumire
Model
Culoare
Imagine
Factura NrFactură
DataFactură
CodClient
Cantitate
Pret
se facturează
03:25
17
Dupa modelare:
1 1
N N
S-a introdus entitatea ConţinutFactura care are un identificator compus din
identificatorii celor 2 entităţi, respectiv CodArticol si NrFactură, DataFactură.
Aceasta entitate a preluat si atributele multivaloare de la entitatea Factura,
respectiv, Cantitate si Preţ.
03:40
Modelarea unei asocieri de tipul many-to-many se realizează astfel: ..............................................................................................................................................................................................................................
03:35
Articol_papetarie CodArticol
Denumire
Model
Culoare
Imagine
Factura NrFactură
DataFactură
CodClient
ConţinutFactura NrFactură
DataFactură
CodArticol
Cantitate
Pret
18
1. Considerând entităţile si asocierile din figura următoare, cardinalitatea asocierii este: a) 1:1; b) 1:N; c) M:N.
2. Considerând entităţile si asocierile din figura următoare, cardinalitatea
asocierii este: a) 1:1; b) 1:N; c) M:N.
3. Considerând entităţile si asocierile din figura următoare, cardinalitatea
asocierii este:
03:40
CLIENT COMANDA trimite
COMANDA
PRODUS cuprinde
CLIENT
CONT deschide
19
a) 1:1; b) 1:N; c) M:N.
4. Dupa modul de stocare al valorii, atributele pot fi:
a) elementare şi compuse; b) simple şi calculate; c) opţionale şi obligatorii.
5. Din punct de vedere al valorilor pe care le pot lua la un moment dat,
atributele pot fi: a) elementare şi compuse; b) opţionale şi obligatorii; c) monovaloare şi multivaloare.
6. Din punct de vedere al rolului pe care îl îndeplineşte atributul respectiv
în cadrul modelului, atributele pot fi: a) cheie primară, cheie candidat, cheie externă; b) cheie primară, cheie secundară, cheie decizională; c) cheie primară, cheie internă, cheie externă.
7. Identificatorul entitatii “Factura” este: a) număr_factura; b) data_factura; c) numar_factura şi data_factura.
8. Identificaţi afirmaţia falsă:
a) Cheia primară poate avea valoarea NULL. b) Valoarea pe care o poate lua o cheie primară nu trebuie să se
modifice. c) Dimensiunea câmpului cheie primară trebuie să fie cât mai redusă.
9. Se consideră entităţile din figura de mai jos. Entitatea CLIENT are ca
identificator CodClient, iar entitatea AGENŢIE are ca identificator CodAgenţie. În urma modelării asocierii se obţine:
a) CodClient se adaugă entităţii AGENŢIE; b) CodAgenţie se adaugă entităţii CLIENT;
CLIENT
AGENŢIE se înregistrează
20
c) Rezultă o nouă entitate care are ca identificator atributele CodClient şi CodAgenţie.
10. Următoarea afirmaţie este corectă:
a) Factura cu numărul 145 din data de 23.05.2010 reprezintă o entitate oarecare.
b) Factura cu numărul 145 din data de 23.05.2010 reprezintă o realizare a entităţii FACTURA.
c) Factura cu numărul 145 din data de 23.05.2010 reprezintă un atribut complex.
04:00
21
Prin entitate întelegem o abstractizare a proprietatilor si caracteristicilor unui obiect din cadrul domeniului modelat. Entitatile sunt reprezentari ale obiectelor si conceptelor din lumea reala.
Conditiile pe care trebuie sa le îndeplineasca o entitate sunt:
� sa aiba existenta de sine statatoare; � sa fie identificabila în raport cu alte entitati; � sa poata fi descrisa prin atribute; � sa apartina domeniului modelat.
Atributul reprezintă o caracteristică unei entităţi. Un identificator reprezintă un atribut, sau un grup de
atribute, pe baza caruia poate fi identificată, în mod unic, orice realizare a entitatii respective.
O asociere reprezintă o expresie a modului în care una sau mai multe entitati interactionează între ele, sau cu ele însele.
Cardinalitatea reprezintă numarul minim, respectiv maxim, de realizari al entitatilor implicate într-o asociere.
Amza C.P. - Proiectarea sistemelor informatice financiar-bancare si de gestiune. Editura
Cartea Studentească. Bucureşti. 2008.
Chindea M. E - Proiectarea sistemelor informatice economice. Bucureşti, 1999.
Oprea D. – Analiza şi proiectarea sistemelor informaţionale economice, Ed. Polirom,
Iaşi, 1999
Stanciu V. – Proiectarea sistemelor informatice de gestiune, Ed. Cison, Bucureşti 2000
Zaharie D., Rosca I. - Proiectarea obiectuala a sistemelor informatice, Ed. Dual Tech,
Bucuresti, 2002
Cozgarea G., Zaharie D. - Utilizarea proiectarii orientate obiect in informatica de
gestiune, A.S.E. 2004
Sabau Gh., ş.a. – Sisteme informatice. Analiza, proiectare şi implementare. Ed.
Economica, Bucuresti, 2003
Morariu N. - Proiectarea sistemelor informatice. Suceava, 2005.
22
1) b
2) c
3) b
4) b
5) c
6) a
7) c
8) a
9) b
10) b