Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Asocierile intre clase - date obiect

baze de date



+ Font mai mare | - Font mai mic



Asocierile intre clase - date obiect

Legatura este o conexiune intre obiecte. Asocierea reprezinta descrierea unui grup de legaturi cu aceiasi structura si semantica. Legaturile sunt abstractizate in asocieri asa cum obiectele sunt abstractizate in clase. Deoarece legaturile dintre obiecte sunt instante ale asocierii dintre doua clase, este util sa se modeleze asocierile dintre clase si nu legaturile dintre obiectele acestora.



Asocierile prezinta o serie de caracteristici, astfel:

Denumirea asocierii. O asociere dintre doua clase este reprezentata printr-o linie care conecteaza doua clase (fig. 7.11). Denumirea asocierii, este de regula un verb care se trece deasupra liniei, indicand semnificatia asocierii, iar prin sageti se precizeaza sensul asocierii. Denumirea trebuie sa fie cat mai sugestiva.

Fig. 7.11. Reprezentarea asocierii

In cele ce urmeaza vom enumera cateva exemplificari de verbe ce pot indica asocierea intre clase de obiecte.

Categorie verb

Exemple de asociere

A e parte fizica din

B

sala curs

- corp cladire

A e fizic continut in

B

elev

- clasa / sala

A e logic continut in

B

sala

- orar

A e o descriere pentru

B

pagina web

- pagina web - Hotel

A e un rand dintr-un raport

B

articol

- comanda

A este membru a lui

B

jucator

- echipa

A este o subunitate organizatorica a lui

B

atelier

- sectie

A este subaltern a lui

B

angajat

- manager

A conduce

B

sofer

- masina

A comunica cu

B

profesor

- student

A este legat la o tranzactie

B

pasager

- bilet

A este o tranzactie in legatura cu o alta tranzactie

rezervare

- anulare

A apartine lui

B

autoturism

- proprietar

Aceste exemplificari ajuta in alegerea / definirea cat mai sugestiva a denumirii asocierii.

Multiplicitatea asocierii. Multiplicitatea reprezinta numarul de instante ale unei clase care pot avea legaturi cu o instanta a celeilalte clase dintr-o asociere. Multiplicitatea corespunde cardinalitatii asocierilor in raport cu instantele claselor. Ea poate fi de mai multe feluri si poate comporta multiple forme de notare. In continuare se redau doua dintre acestea.

Varianta 1

Multiplicitatea unei asocieri se exprima printr-un interval de valori de forma (x,y) unde x reprezinta valoare minima, iar y valoarea maxima.

Exemple

Legatura de tipul "unu la unu". Specificul legaturilor de tipul "unu la unu" consta in faptul ca fiecare instanta are in corespondenta obligatoriu o alta instanta din clasa cu care intra in asociere.

Sugereaza faptul ca o localitate poate avea unul si numai un singur primar, iar in sens invers o persoana poate fi primar la una si numai o localitate.

Legatura de tipul "unu la zero sau unu". Specificul acestui tip de legatura consta in faptul ca o instanta din clasa A poate sau nu corespunde unei instante din clasa B.

   

Sugereaza faptul ca un partid politic poate avea mai multi membrii, insa o persoana poate sa nu faca parte din nici un partid, sau sa faca parte din cel mult un partid.

Legatura de tipul "unu la zero sau mai multi"

O altfel de legatura exprima faptul ca la un curs facultativ poate sa nu fie inscris nici un student sau pot sa fie mai multi studenti pentru frecventare.

Legatura de tipul "multi la    multi"

Legatura de tipul "multi la multi" de mai sus exprima faptul ca un material poate fi livrat de unul sau mai multefurnizori iar un furnizor poate livra unul sau mai multe materiale.

O multiplicitate de forma (2,5) semnifica faptul ca la realizarea legaturii pot participa minim 2 si maxim 5 instante dintr-o clasa de obiecte. Cand limita superioara a intervalului este ,, " inseamna ca avem de-a face cu o limita superioara infinita.

Varianta 2

Tipul asocierii. Tipul asocierii este dat de numarul claselor participante la o asociere exista mai multe tipuri de asocieri: unare, binare, ternare s.a.m.d. Acestea pot fi notate astfel:

Asocierea unara, presupune faptul ca a o clasa de obiecte intra in asociere cu ea insasi. O astfel de asociere este recursiva.

Exemplu: Presupunem o clasa numita PERSOANE, la nivelul unei societati comerciale. In cadrul acestei clase poate fi definita o asociere cu denumirea CASATORIE, astfel incat sa se poata da raspuns la o intrebare de genul ,,Care sunt persoanele sot - sotie ce lucreaza in aceeasi societate comerciala?" O astfel de asociere este redata in figura 7.12.

PERSOANE

 

Fig. 7.12. Exemplu de asociere unara

Asocierea binara, presupune existenta a doua clase de obiecte de forma (figura 7.13):

Fig. 7.13. Exemplu de asociere binara

Interpretarea asocierii din figura 7.13 apare astfel: un salariat poate fi angajat cel putin intr-un departament si cel mult intr-un departament. In sens invers, intr-un departament pot lucra unul sau mai multi salariati.

Asocierea ternara, presupune existenta a trei clase de obiecte. In figura 7.14 se prezinta forma generica a unei astfel de asocieri.

Fig. 7.14. Exemplu general de asociere ternara

Un exemplu pentru reliefarea asocierii ternare este prezentat in figura7.15

Fig. 7.15 Exemplu concret de asociere ternara

Asocierea ,,Imprumuta" este o asociere intre trei clase: Client, Banca si Investitie, banca acordand imprumutul unui client pentru o anumita investitie. Se observa ca asocierea ,,Imprumuta" nu poate fi divizata in asocieri intre doua clase fara a pierde din informatie.

Rolul clasei in cadrul asocierii. Prin rol se indica semnificatia fiecarei clase in cadrul asocierii. Numele de rol este un concept prin care se identifica in mod unic capetele unei asocieri. O clasa, care are mai mult de o asociere, poate juca roluri diferite fata de fiecare dintre acestea.

Fig. 7.16. Evidentierea rolului fiecarei clase

In figura 7.16 se poate observa ca un utilaj, din punct de vedere al bancii, poate reprezenta o garantie, in timp ce din punct de vedere al firmei, el reprezinta un mijloc de productie. Numele de rol se reprezinta prin intermediul unei etichete atasata capatului asocierii. Firma are rolul de proprietar de utilaj.

Atribute si clase ale asocierii. Cand o asociere are atribute si operatii proprii, sau cand participa la asocieri cu alte clase, asocierea se modeleaza ca o clasa si poarta numele de clasa a asocierii (figura 7.17).

Asocierea dintre clasele Imprumut si Banca este caracterizata de urmatoarele atribute: suma imprumutata, data acordarii imprumutului, data rambursarii imprumutului, dobanda si operatia de rambursare imprumut. Toate aceste atribute si operatii sunt atribute si operatii ale asocierii si vor fi reunite in clasa Imprumut; ele nu apartinin totalitate nici clasei Client si nici clasei Banca ci apartin ambelor clase.

Fig. 7.17. Exemplu de asociere cu atribute si operatii

Atribut derivat. Un atribut derivat este un atribut care poate fi calculat sau derivat plecand de la alte atribute. Un astfel de atribut se reprezinta grafic prin simbolul "/" pus in fata denumirii acestuia.


Fig. 7.18. Reprezentarea unui atribut derivat

In figura 7.18. atributul Varsta este un atribut derivat al clasei Student, intrucat se poate calcula plecand de la atributul Data Nastere si data curenta.

Atribut al clasei. Obiectele se diferentiaza intre ele prin valorile pe care le iau atributele lor la un moment dat, valori care constituie starea obiectului in acel moment. O categorie speciala de atribute sunt "atributele clasei".

Un atribut al clasei reprezinta un atribut a carui valoare este comuna clasei de obiecte si nu unei instante specifice. Simbolul folosit pentru acest tip atribut este caracterul "$" plasat in fata denumirii atributului, asa cum se poate observa in figura 7.19


Fig. 7.19. Atribut al clasei

Clasa Factura, pe langa atributele specifice unei facturi cum ar fi data emiterii, valoare fara TVA, TVA, valoare cu TVA etc., are si atributul NrTotalFacturi care este o caracteristica a clasei si nu a instantei.

Ordonare. In cazul unei asocieri in care la unul din capete se specifica ,,multi", setul de obiecte poate sa nu fie ordonat (fiind ca un set de obiecte), sau poate fi ordonat explicit. Mesajul ordonarii in cazul cand acest lucru este important, se face prin mentiunea langa semnul care indica multiplicitatea. Ordonarea este un tip special de constrangere aplicabil asocierilor. Sa luam exemplul alcatuit din clasele Ghiseu si Persoana (figura 7.20).

Fig. 7.20. Ordonarea intr-o asociere

Calificarea. Numim asociere calificata o asociere, care leaga doua clase, si un calificator, care are rolul de a reduce multiplicitatea efectiva a unei asocieri. Asocierile de tipul ,,unul la multi" si ,,multi la multi" trebuie sa fie calificate. Calificarea permite ca din multitudinea de obiecte aflate la capatul ,,multi" al asocierii sa se identifice unic un anumit obiect. Considerand exemplul alcatuit din clasele Companie si Angajat, si asocierea lucreaza pentru, vom aveam o relatie ,,unu la multi"; o companie are mai multi angajati si un angajat nu poate lucra decat pentru o singura companie. Calificatorul nume angajat permite reducerea asocierii ,,unu la multi" la o asociere ,,unu la unu", intrucat o companie si un nume angajat permit identificarea unica a unui angajat (figura 7.21):

Fig. 7.21. Calificarea asocierii



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1144
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved