104_unitatea de invatare 5_1725

22
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

Upload: zanet-cosmin-alexandru

Post on 27-Jun-2015

110 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 104_Unitatea de invatare 5_1725

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

Page 2: 104_Unitatea de invatare 5_1725

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

Page 3: 104_Unitatea de invatare 5_1725

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

Page 4: 104_Unitatea de invatare 5_1725

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

Page 5: 104_Unitatea de invatare 5_1725

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

Page 6: 104_Unitatea de invatare 5_1725

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

Page 7: 104_Unitatea de invatare 5_1725

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

Page 8: 104_Unitatea de invatare 5_1725

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

Page 9: 104_Unitatea de invatare 5_1725

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

Page 10: 104_Unitatea de invatare 5_1725

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

Page 11: 104_Unitatea de invatare 5_1725

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

Page 12: 104_Unitatea de invatare 5_1725

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

Page 13: 104_Unitatea de invatare 5_1725

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

Page 14: 104_Unitatea de invatare 5_1725

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

Page 15: 104_Unitatea de invatare 5_1725

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

Page 16: 104_Unitatea de invatare 5_1725

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

Page 17: 104_Unitatea de invatare 5_1725

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

Page 18: 104_Unitatea de invatare 5_1725

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

Page 19: 104_Unitatea de invatare 5_1725

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ă

Page 20: 104_Unitatea de invatare 5_1725

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

Page 21: 104_Unitatea de invatare 5_1725

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.

Page 22: 104_Unitatea de invatare 5_1725

22

1) b

2) c

3) b

4) b

5) c

6) a

7) c

8) a

9) b

10) b