+ All Categories
Home > Documents > Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor...

Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor...

Date post: 19-Feb-2020
Category:
Upload: others
View: 30 times
Download: 0 times
Share this document with a friend
47
Database Management Systems Cap 6. UML April 3, 2016 Database Management Systems April 3, 2016 1 / 36
Transcript
Page 1: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Database Management SystemsCap 6. UML

April 3, 2016

Database Management Systems April 3, 2016 1 / 36

Page 2: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

1 UML

2 Exercitii

Database Management Systems April 3, 2016 2 / 36

Page 3: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

1 UML

2 Exercitii

Database Management Systems April 3, 2016 3 / 36

Page 4: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Modelarea datelor

realizeaza reprezentarea datelor necesare aplicatiei

model de nivel ınalt, translatat automat ın relatii

high-level models:

entity-relationship model (E/R)Unified Modelling Language (UML)model destinat proiectarii aplicatiilor

ambele sunt modele grafice

ne va interesa un subset al UML-ului

Database Management Systems April 3, 2016 4 / 36

Page 5: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Concepte ale modelarii UML

Clase

Asocieri

Clase pentru asocieri

Subclase

Composition si Aggregation

Database Management Systems April 3, 2016 5 / 36

Page 6: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Clase

Name, attributes, methods

* adaugarea PK

* renuntarea la metode

Database Management Systems April 3, 2016 6 / 36

Page 7: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Asocieri

Relatiile dintre obiectele a doua clase

Database Management Systems April 3, 2016 7 / 36

Page 8: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Multiplicitatea asocierilor

Relatiile dintre obiectele a doua clase

* fiecare obiect de tipul C1 este asociat cu cel putin m si cel mult nobiecte de tip C2

m .. *

0 .. n

0 .. * (abreviat cu *)

1 .. 1 (default, abreviat cu 1)

Database Management Systems April 3, 2016 8 / 36

Page 9: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Multiplicitatea asocierilor (exemplu)

Un student aplica la cel putin un colegiu si la cel mult 5

Un colegiu nu poate sa aiba mai mult de 5000 de ınscrieri, dar poatesa nu aiba nici un student ınscris

Database Management Systems April 3, 2016 9 / 36

Page 10: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Tipuri de asocieri

Multiplicitatea asocierilor

one-to-one: 0..1 - 0..1 (A)

many-to-one: * - 0..1 (B)

many-to-many * - * (C)

completa: elementele din ambele relatii trebuie sa fie asociate (nuexista element neasociat)

oricare din cele anterioare, cu cel putin un element: 1 - 1, 1..* - 1,1..* - 1..*

Database Management Systems April 3, 2016 10 / 36

Page 11: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Clase de asocieri

Legatura dintre obiectele a doua clase, cu atributele legaturii

Database Management Systems April 3, 2016 11 / 36

Page 12: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Migrarea atributelor asocierii

pentru cazul many-to-one, de exemplu, atributele asocierii pot migraın relatia Student

chiar si pentru * - 0..1, daca studentul nu se ınscrie nicaieri, cele douaatribute A1 si A2 vor fi NULL

Database Management Systems April 3, 2016 12 / 36

Page 13: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Auto-asocieri

asocierea unei clase cu ea ınsasi

un student poate fi ınrudit cu 0 sau mai multi alti studenti

Database Management Systems April 3, 2016 13 / 36

Page 14: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Subclase

subclasele mostenesc atributele din clasa de baza

un student urmeaza cel putin 10 cursuri iar un curs e luat de min. 1student

Database Management Systems April 3, 2016 14 / 36

Page 15: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Subclase - terminologie

superclasa: generalizare

subclasa: specializare

mostenire completa: orice obiect din superclasa este ın cel putin osubclasa / incompleta (sau partiala)

mostenire disjuncta (sau exclusiva): orice obiect din superclasa esteın cel mult o subclasa / overlapping

* exemplu1: orice Student este fie un ForeignStudent ori unDomesticStudent (complete) si vom avea studenti care sunt atatDomesticStudent cat si AppStudent (overlapping)

* exemplu2: daca nu am fi avut relatia AppStudent, relatia ar fi fostdisjuncta (doar ForeignStudent sau DomesticStudent)

* exemplu3: daca nu am fi avut decat AppStudent, ar fi fostincompleta, deoarece unii studenti n-ar fi fost AppStudent

Database Management Systems April 3, 2016 15 / 36

Page 16: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

UML: Composition si Aggregation

obiectele unei clase apartin obiectelor altei clase

caz special al asocierii

Database Management Systems April 3, 2016 16 / 36

Page 17: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Generarea relatiei pentru asociere

relatiile se realizeaza direct; pentru asociere, relatia ia cheile dinambele parti

Student(sID, sName, GPA)

College(cName, state)

AppInfo(sId, cName, date, decision)

Database Management Systems April 3, 2016 17 / 36

Page 18: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Generarea relatiei - exemplu

un student se poate ınscrie la un singur colegiu

regula: cheia relatiei ’many’ devine cheie ın relatia AppInfo

Student(sID, sName, GPA)

College(cName, state)

AppInfo(sId, cName, date, decision)

Database Management Systems April 3, 2016 18 / 36

Page 19: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Generarea relatiei si multiplicitatea

un student se poate ınscrie la un singur colegiu

ın functie de multiplicitate; sID determina direct cName, relatiile sepot scrie mai compact

Student(sID, sName, GPA, cName, date, decision)

College(cName, state)

ce facem daca un student nu se ınscrie nicaieri?

NULL

Database Management Systems April 3, 2016 19 / 36

Page 20: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Generarea relatiei si multiplicitatea

un student se poate ınscrie la un singur colegiu

ın functie de multiplicitate; sID determina direct cName, relatiile sepot scrie mai compact

Student(sID, sName, GPA, cName, date, decision)

College(cName, state)

ce facem daca un student nu se ınscrie nicaieri?

NULL

Database Management Systems April 3, 2016 19 / 36

Page 21: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Generarea relatiei si multiplicitatea

un student se poate ınscrie la un singur colegiu

ın functie de multiplicitate; sID determina direct cName, relatiile sepot scrie mai compact

Student(sID, sName, GPA, cName, date, decision)

College(cName, state)

ce facem daca un student nu se ınscrie nicaieri?

NULL

Database Management Systems April 3, 2016 19 / 36

Page 22: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Generarea asocierii

generarea relatiei pentru asociere presupune ca fiecare din cele douaclase asociate sa aiba cheie

Database Management Systems April 3, 2016 20 / 36

Page 23: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Generarea auto-asocierii

Student(sID, sName, GPA)

Sibling(sID1, sID2)

cheia este {sID1, sID2}

Database Management Systems April 3, 2016 21 / 36

Page 24: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Generarea auto-asocierii (2)

un colegiu poate fi filiala altui colegiu; cel mult 10 colegii filiale

College(cName, state, enroll)

Branch(home, satellite)

home, satellite sunt atribute sinonime pentru cName

cheia este {satellite} (vezi regula anterioara)

Database Management Systems April 3, 2016 22 / 36

Page 25: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Subclase: modalitati de generare

1 se genereaza o relatie pentru fiecare clasa, relatia subclasa continecheia superclasei + atributele specializate

2 se genereaza o relatie pentru fiecare clasa, dar relatia subclasa continetoate atributele

3 se genereaza o singura relatie continınd toate atributele, atat dinsubclase cat si din superclasa

Database Management Systems April 3, 2016 23 / 36

Page 26: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Subclase: modalitati de generare (2)

1 S(K, A), S1(K, B), S2(K, C)

necesita join, obiectele stocate partial ın S, partial ın S1

2 S(K, A), S1(K, A, B), S2(K, A, C)

obiectele subclase sunt stocate complet ın S1 (respectiv S2)

preferat pentru clase disjuncte si complete

3 S(K, A, B, C)

vom avea niste valori NULL

preferat pentru overlapping majorDatabase Management Systems April 3, 2016 24 / 36

Page 27: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Exercitiu

Avem o superclasa cu un oarecare numar de subclase. Presupunem camostenirea este incompleta (putem avea obiecte instante alesuperclasei) si overlapping (avem obiecte instante a mai multorsubclase). Fie size1, size2 si size3 numarul de tuple care se genereazafolosind cele trei scheme de translatare anterioare. Care sunt relatiileıntre aceste trei valori?

1 size1 < size2 < size32 size1 ≤ size2 ≤ size33 size3 < size2 < size14 size3 ≤ size2 ≤ size1

raspuns: 4 (nu excludem dataset-ul empty, deci includem relatia deegalitate. Schema 3 asociaza cate o tupla pentru fiecare obiect.Schema 2 are o tupla pentru fiecare obiect, plus ınca una pentru fiecarecaz ın care obiectul este instanta a mai multe subclase. Schema 1 lafel, dar cu si mai multe tuple.)

Database Management Systems April 3, 2016 25 / 36

Page 28: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Exercitiu

Avem o superclasa cu un oarecare numar de subclase. Presupunem camostenirea este incompleta (putem avea obiecte instante alesuperclasei) si overlapping (avem obiecte instante a mai multorsubclase). Fie size1, size2 si size3 numarul de tuple care se genereazafolosind cele trei scheme de translatare anterioare. Care sunt relatiileıntre aceste trei valori?

1 size1 < size2 < size32 size1 ≤ size2 ≤ size33 size3 < size2 < size14 size3 ≤ size2 ≤ size1

raspuns: 4 (nu excludem dataset-ul empty, deci includem relatia deegalitate. Schema 3 asociaza cate o tupla pentru fiecare obiect.Schema 2 are o tupla pentru fiecare obiect, plus ınca una pentru fiecarecaz ın care obiectul este instanta a mai multe subclase. Schema 1 lafel, dar cu si mai multe tuple.)

Database Management Systems April 3, 2016 25 / 36

Page 29: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Subclase: exemplu

* Student(sID, sName)

* ForeignS(sID, country)

* DomestS(sID, state, SSN)

* AppStudent(sID)

* AppCourse(course#, title)

* Takes(sID, course#, year,

grade)

Database Management Systems April 3, 2016 26 / 36

Page 30: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

UML

Composition si aggregation

College(cName, state)

Department(dName, building, cName)

Database Management Systems April 3, 2016 27 / 36

Page 31: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

1 UML

2 Exercitii

Database Management Systems April 3, 2016 28 / 36

Page 32: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 1

Consideram translatarea diagramei UML ınrelatii. Care dintre relatiile urmatoare NUvor fi generate ?

1 Book(ISBN, edition)2 Edits(name, publisher, ISBN,

pub-title, year, start-date, end-date)3 Collection(ISBN, volume)4 Publication(ISBN, pub-title, year)

raspuns: 2 (relatia Edits va include

PK-urile celor doua relatii pe care le

asociaza, ımpreuna cu atributele sale)

Database Management Systems April 3, 2016 29 / 36

Page 33: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 1

Consideram translatarea diagramei UML ınrelatii. Care dintre relatiile urmatoare NUvor fi generate ?

1 Book(ISBN, edition)2 Edits(name, publisher, ISBN,

pub-title, year, start-date, end-date)3 Collection(ISBN, volume)4 Publication(ISBN, pub-title, year)

raspuns: 2 (relatia Edits va include

PK-urile celor doua relatii pe care le

asociaza, ımpreuna cu atributele sale)

Database Management Systems April 3, 2016 29 / 36

Page 34: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 2

Pe baza diagramei UML, care dinurmatoarele afirmatii despre Authors estecorecta ?

1 un articol poate avea oricati autori;2 fiecare autor a contribuit la cel putin

un articol si cel putin o carte;3 fiecare carte are cel mult un autor;4 o carte poate sa nu aiba nici un autor.

raspuns: 4 (multiplicitatea 0..* din Writes

indica acest lucru)

Database Management Systems April 3, 2016 30 / 36

Page 35: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 2

Pe baza diagramei UML, care dinurmatoarele afirmatii despre Authors estecorecta ?

1 un articol poate avea oricati autori;2 fiecare autor a contribuit la cel putin

un articol si cel putin o carte;3 fiecare carte are cel mult un autor;4 o carte poate sa nu aiba nici un autor.

raspuns: 4 (multiplicitatea 0..* din Writes

indica acest lucru)

Database Management Systems April 3, 2016 30 / 36

Page 36: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 3

Pornind de la diagrama UML, care dintreurmatoarele relatii reprezinta cel mai binearticolele ?

1 Article(title, pages, keywords, ISBN,volume)

2 Article(title, pages, keywords,volume)

3 Article(title, pages, keywords,volume, ISBN, pub-title, year)

4 Article(title, pages, keywords, ISBN)

raspuns: 4 (Article este ıntr-o compozitie.

Relatia sa va contine pe langa atributele

din Article si cheia clasei ce o include,

cheie (ISBN) care de fapt vine din

super-clasa Publication)

Database Management Systems April 3, 2016 31 / 36

Page 37: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 3

Pornind de la diagrama UML, care dintreurmatoarele relatii reprezinta cel mai binearticolele ?

1 Article(title, pages, keywords, ISBN,volume)

2 Article(title, pages, keywords,volume)

3 Article(title, pages, keywords,volume, ISBN, pub-title, year)

4 Article(title, pages, keywords, ISBN)

raspuns: 4 (Article este ıntr-o compozitie.

Relatia sa va contine pe langa atributele

din Article si cheia clasei ce o include,

cheie (ISBN) care de fapt vine din

super-clasa Publication)

Database Management Systems April 3, 2016 31 / 36

Page 38: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 4

Pornim de la diagrama UML. In relatiaEdits generata din aceeasi asociere, caredin urmatoarele seturi de atribute bold-uiteeste o cheie minimala ?

1 Edits(name, ISBN, start-date,end-date)

2 Edits(name, ISBN, start-date,end-date)

3 Edits(name, ISBN, start-date,end-date)

4 Edits(name, ISBN, start-date,end-date)

raspuns: 3 (cheia default a relatiei

generate de o asociere este formata din

cele doua chei ale relatiilor pe care le

asociaza. Daca este o relatie one-to-many,

cheia poate fi redusa la cheia din ’many’)

Database Management Systems April 3, 2016 32 / 36

Page 39: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 4

Pornim de la diagrama UML. In relatiaEdits generata din aceeasi asociere, caredin urmatoarele seturi de atribute bold-uiteeste o cheie minimala ?

1 Edits(name, ISBN, start-date,end-date)

2 Edits(name, ISBN, start-date,end-date)

3 Edits(name, ISBN, start-date,end-date)

4 Edits(name, ISBN, start-date,end-date)

raspuns: 3 (cheia default a relatiei

generate de o asociere este formata din

cele doua chei ale relatiilor pe care le

asociaza. Daca este o relatie one-to-many,

cheia poate fi redusa la cheia din ’many’)Database Management Systems April 3, 2016 32 / 36

Page 40: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 5

Pornind de la diagrama UML, care din urmatoarele afirmatii despreCity si State este corecta ?

1 fiecare stat are cel putin un oras;2 fiecare oras poate fi ın 0 sau 1 state;3 nu exista doua state cu acelasi guvernator;4 nu exista doua state care sa aiba acelasi nume.

raspuns: 4 (numele statului este specificat ca PK)

Database Management Systems April 3, 2016 33 / 36

Page 41: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 5

Pornind de la diagrama UML, care din urmatoarele afirmatii despreCity si State este corecta ?

1 fiecare stat are cel putin un oras;2 fiecare oras poate fi ın 0 sau 1 state;3 nu exista doua state cu acelasi guvernator;4 nu exista doua state care sa aiba acelasi nume.

raspuns: 4 (numele statului este specificat ca PK)

Database Management Systems April 3, 2016 33 / 36

Page 42: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 6

Pornind de la diagrama UML, care din urmatoarele afirmatii despreContinent si Country este corecta ?

1 nu pot exista doua tari cu acelasi nume;2 o tara vorbeste doua limbi;3 o tara poate fi pe doua continente;4 nu pot exista doua continente cu aceeasi marime.

raspuns: 1 (numele tarii este specificat ca PK)

Database Management Systems April 3, 2016 34 / 36

Page 43: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 6

Pornind de la diagrama UML, care din urmatoarele afirmatii despreContinent si Country este corecta ?

1 nu pot exista doua tari cu acelasi nume;2 o tara vorbeste doua limbi;3 o tara poate fi pe doua continente;4 nu pot exista doua continente cu aceeasi marime.

raspuns: 1 (numele tarii este specificat ca PK)

Database Management Systems April 3, 2016 34 / 36

Page 44: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 7

Aceasta diagrama UML impune constrangeri asupra cardinalitatiiclaselor A, B, C. Care din urmatoarele combinatii de cardinalitati estepermisa ?

1 ‖A‖ = 0; ‖B‖ = 0; ‖C‖ = 102 ‖A‖ = 0; ‖B‖ = 20; ‖C‖ = 103 ‖A‖ = 10; ‖B‖ = 0; ‖C‖ = 04 ‖A‖ = 0; ‖B‖ = 1; ‖C‖ = 10

raspuns: 1

Database Management Systems April 3, 2016 35 / 36

Page 45: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 7

Aceasta diagrama UML impune constrangeri asupra cardinalitatiiclaselor A, B, C. Care din urmatoarele combinatii de cardinalitati estepermisa ?

1 ‖A‖ = 0; ‖B‖ = 0; ‖C‖ = 102 ‖A‖ = 0; ‖B‖ = 20; ‖C‖ = 103 ‖A‖ = 10; ‖B‖ = 0; ‖C‖ = 04 ‖A‖ = 0; ‖B‖ = 1; ‖C‖ = 10

raspuns: 1

Database Management Systems April 3, 2016 35 / 36

Page 46: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 8

Presupunem ca exista o super-clasa Movies cu mai multe subclase.Consideram urmatoarele perechi de subclase:

1 {B, NB}: B = filme ın care joaca Marlon Brando; NB = filme ın carenu joaca Marlon Brando

2 {B, P}: B = filme cu Marlon Brando; P = filme cu Al Pacino;3 {B, G}: B = filme cu Marlon Brando; filme cu Hugh Griffith;4 {L, S}: L = filme mai lungi de 100 de minute; S = filme mai scurte de

105 minute.

Considerati cazul ın care fiecare pereche de subclase este completasau incompleta (partiala), si cazul ın care perechea esteoverlapping sau disjuncta (exclusiva). Care din urmatoareleafirmatii este corecta?

1 {B, P} este incompleta si disjuncta;2 {B, P} este incompleta si overlapping;3 {L, S} este completa si disjuncta;4 {B, G} este completa si overlapping.

raspuns: 2

Database Management Systems April 3, 2016 36 / 36

Page 47: Database Management Systemsetc.unitbv.ro/~galmeanu/dbms/cap6/cap6.pdf · UML Modelarea datelor realizeaz a reprezentarea datelor necesare aplicat˘iei model de nivel ^ nalt, translatat

Exercitii

Exercitiul 8

Presupunem ca exista o super-clasa Movies cu mai multe subclase.Consideram urmatoarele perechi de subclase:

1 {B, NB}: B = filme ın care joaca Marlon Brando; NB = filme ın carenu joaca Marlon Brando

2 {B, P}: B = filme cu Marlon Brando; P = filme cu Al Pacino;3 {B, G}: B = filme cu Marlon Brando; filme cu Hugh Griffith;4 {L, S}: L = filme mai lungi de 100 de minute; S = filme mai scurte de

105 minute.

Considerati cazul ın care fiecare pereche de subclase este completasau incompleta (partiala), si cazul ın care perechea esteoverlapping sau disjuncta (exclusiva). Care din urmatoareleafirmatii este corecta?

1 {B, P} este incompleta si disjuncta;2 {B, P} este incompleta si overlapping;3 {L, S} este completa si disjuncta;4 {B, G} este completa si overlapping.

raspuns: 2

Database Management Systems April 3, 2016 36 / 36


Recommended