baze de date distribuite și mobile - runceanu.ro · model fizic şi model conceptual entităţi si...
TRANSCRIPT
![Page 1: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/1.jpg)
Baze de date distribuite și mobile
Universitatea “Constantin Brâncuşi” din Târgu-JiuFacultatea de Inginerie
Departamentul de Automatică, Energie şi Mediu
Lect.dr. Adrian Runceanu
![Page 2: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/2.jpg)
Curs 3Model fizic şi model conceptual
Entităţi si instanţe (partea II)
24.10.2014 Baze de date distribuite si mobile 2
![Page 3: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/3.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea II)
1. Rezolvarea relaţiilor Many to Many
2. Analiza CRUD
3. UID
4. Normalizare
5. Arce
6. Ierarhii
24.10.2014 Baze de date distribuite si mobile 3
![Page 4: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/4.jpg)
REZOLVAREA RELAŢIILOR MANY TO MANY
În vederea implementării fizice a modeluluiconceptual, este important ca relaţiile Many to Many să fie rezolvate.
Într-o relaţie M:M există cel puţin un atributcare descrie relaţia.
Se creeaza a treia entitate, numită entitate de intersecţie, gasind astfel un loc pentru acelatribut.
24.10.2014 Baze de date distribuite si mobile 4
![Page 5: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/5.jpg)
Paşi
1. Se creează entitatea de legatură2. Se creează noile relaţii3. Se dau nume acestor relaţii4. Daca e cazul, se adaugă atribute în entitatea
de legătură5. Se crează un UID pentru entitatea de
intersecţie
24.10.2014 Baze de date distribuite si mobile 5
![Page 6: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/6.jpg)
24.10.2014 Baze de date distribuite si mobile 6
![Page 7: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/7.jpg)
24.10.2014 Baze de date distribuite si mobile 7
![Page 8: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/8.jpg)
24.10.2014 Baze de date distribuite si mobile 8
![Page 9: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/9.jpg)
24.10.2014 Baze de date distribuite si mobile 9
![Page 10: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/10.jpg)
Exercitiu
Desenati ERD-ul
24.10.2014 Baze de date distribuite si mobile 10
![Page 11: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/11.jpg)
rezolvare
24.10.2014 Baze de date distribuite si mobile 11
![Page 12: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/12.jpg)
24.10.2014 Baze de date distribuite si mobile 12
![Page 13: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/13.jpg)
SOLUTIE
24.10.2014 Baze de date distribuite si mobile 13
![Page 14: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/14.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea II)
1. Rezolvarea relaţiilor Many to Many
2. Analiza CRUD
3. UID
4. Normalizare
5. Arce
6. Ierarhii
24.10.2014 Baze de date distribuite si mobile 14
![Page 15: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/15.jpg)
ANALIZA C.R.U.D.(Create, Retrieve, Update, Delete)
Prin analiza CRUD identificăm cerinţele decreare, regăsire, actualizare şi ştergere a datelor.
Analiza CRUD ne ajută să observăm dacă:am omis ceva din modelam inclus în model ceva ce nu trebuie
24.10.2014 Baze de date distribuite si mobile 15
![Page 16: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/16.jpg)
Cum se realizează analiza CRUD ?
Urmărim în interviurile cu clientul sau în descrierile activităţilor, cuvintele care exprimă cele 4 operaţii: 1. creare2. regăsire3. actualizare4. ştergere
Dacă există cerinţe pentru care nu există date, s-ar putea ca modelul să fie incomplet.
Dacă există date asupra cărora nu se efectuează nici una dintre operaţiile CRUD, atunci acestea nu sunt necesare pentru afacere.
24.10.2014 Baze de date distribuite si mobile 16
![Page 17: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/17.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea II)
1. Rezolvarea relaţiilor Many to Many
2. Analiza CRUD
3. UID
4. Normalizare
5. Arce
6. Ierarhii
24.10.2014 Baze de date distribuite si mobile 17
![Page 18: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/18.jpg)
IDENTIFICATOR UNIC
Identificatorul unic (UID) poate fi format din:1. o valoare, sau2. o combinaţie de valorişi permite utilizatorului să identifice în mod unic o anumită
instanţă. Atunci când un UID este alcătuit dintr-un singur atribut,
se numeşte simplu. Dacă un UID este alcătuit dintr-o combinaţie de
atribute, se numeşte compus. Un UID creat special pentru a numerota unic fiecare
instanţă se numeşte artificial.
24.10.2014 Baze de date distribuite si mobile 18
![Page 19: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/19.jpg)
Exemple de UID
24.10.2014 Baze de date distribuite si mobile 19
![Page 20: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/20.jpg)
24.10.2014 Baze de date distribuite si mobile 20
![Page 21: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/21.jpg)
UID rezultat dintr-o relaţie barată
Uneori UID este o combinaţie dintre un atribut şi o relaţie.
Care este UID-ul entităţii ACCOUNT?
În transferurile bancare se transmit întotdeauna atât contul clientului cât şi cel al băncii.
Atunci când un UID este o combinaţie între un atribut şi o relaţie barată putem considera că UID-ul este alcătuit dintr-un atribut şi UID-ul celeilalte entităţi din relaţie.
24.10.2014 Baze de date distribuite si mobile 21
![Page 22: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/22.jpg)
În cazul unei entităţi de intersecţie UID poate fi o combinaţie a UID ale entităţilor care se aflau iniţial în relaţia M:M.
Aceasta se reprezintă în diagramă prin bararea relaţiilor.
24.10.2014 Baze de date distribuite si mobile 22
![Page 23: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/23.jpg)
Pot exista mai mulţi UID. unul este ales ca UID primar
(ex. student ID); ceilalţi UID sunt numiţi
secundari.
În exemplul alăturat prima entitate are un UID secundar,
a doua entitate are doi: badge number, identificator unic secundar simplu si first name, last name, identificator unic secundar compus.
24.10.2014 Baze de date distribuite si mobile 23
![Page 24: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/24.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea II)
1. Rezolvarea relaţiilor Many to Many
2. Analiza CRUD
3. UID
4. Normalizare
5. Arce
6. Ierarhii
24.10.2014 Baze de date distribuite si mobile 24
![Page 25: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/25.jpg)
NORMALIZARE
Normalizarea se referă la procesul de creare a unei structuri relaţionale eficiente, flexibile care aşează fiecare dată într-un singur loc, care este şi cel mai potrivit loc, astfel încât operaţiile de adăugare, modificare, ştergere să se facă într-un singur tabel.
24.10.2014 Baze de date distribuite si mobile 25
![Page 26: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/26.jpg)
Un astfel de model va respecta:
FLEXIBILITATEA DATELORDatele vor fi pastrate în locul cel mai bun şi vor putea fi vizualizate în diverse feluri.
INTEGRITATEA DATELORNormalizarea asigură integritatea datelor în operaţii de ştergere, adăugare, actualizare.
EFICIENŢANu vor exista date redundante. Se va face economie de spaţiu.
24.10.2014 Baze de date distribuite si mobile 26
![Page 27: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/27.jpg)
PRIMA FORMA DE NORMALIZARE
24.10.2014 Baze de date distribuite si mobile 27
UN ATRIBUT NU POATE AVEA VALORI CARE SE REPETĂ
![Page 28: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/28.jpg)
24.10.2014 Baze de date distribuite si mobile 28
![Page 29: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/29.jpg)
Exerciţiu
Analizaţi entităţile de mai jos şi decideţi dacă respectă prima formă de normalizare.
24.10.2014 Baze de date distribuite si mobile 29
![Page 30: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/30.jpg)
Exercitiu
Examinati urmatoarele entitati.
Identificati atributele cu valori
multiple.
24.10.2014 Baze de date distribuite si mobile 30
![Page 31: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/31.jpg)
FORMA A II-a DE NORMALIZARE
Se aplică în mod special entităţilor care au un UID compus din mai multe atribute sau dintr-un atribut şi o relaţie.
24.10.2014 Baze de date distribuite si mobile 31
ORICE ATRIBUT CE NU E UID SĂ DEPINDĂ DE ÎNTREGUL UID
![Page 32: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/32.jpg)
FORMA A II-a DE NORMALIZARE
Acest exemplu respecta forma 2 de normalizare.
În acest ERD, bank_location depinde numai de bancă, nu şi de contul persoanei şi astfel încalcă Forma de Normalizare 2
24.10.2014 Baze de date distribuite si mobile 32
![Page 33: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/33.jpg)
Exemplu
Durata depinde numai de SONG.
Event_date depinde numai de eveniment.
24.10.2014 Baze de date distribuite si mobile 33
![Page 34: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/34.jpg)
FORMA A II-a DE NORMALIZARE
EXERCITIU
1. The identifier of a library book includes its shelf location.
Does this ERD follow the rules of Second Normal Form?
If you spot a violation, correct it.
24.10.2014 Baze de date distribuite si mobile 34
![Page 35: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/35.jpg)
FORMA A II-a DE NORMALIZARE
SOLUTIE:
24.10.2014 Baze de date distribuite si mobile 35
![Page 36: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/36.jpg)
FORMA A II-a DE NORMALIZARE
EXERCITIU
2. A store can be located in several shopping malls, and a shopping mall may house several stores.
To locate a particular store in a specific neighborhood, you will need to know the name and address of the nearby shopping mall, plus the name of the store.
Does the ERD follow the rules of Second Normal Form? If you spot a violation, correct it.
24.10.2014 Baze de date distribuite si mobile 36
![Page 37: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/37.jpg)
FORMA A II-a DE NORMALIZARE
24.10.2014 Baze de date distribuite si mobile 37
![Page 38: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/38.jpg)
FORMA A II-a DE NORMALIZARE
SOLUTIE:
24.10.2014 Baze de date distribuite si mobile 38
![Page 39: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/39.jpg)
FORMA A III-a DE NORMALIZARE
UN ATRIBUT CE NU E UID NU TREBUIE SĂ DEPINDĂ DE ALT ATRIBUT NON-UID.
24.10.2014 Baze de date distribuite si mobile 39
![Page 40: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/40.jpg)
Exemplu
În acest exemplu, store adress depinde de store name.
Soluţia acestei probleme este să creăm o nouă entitate, STORE, care va conţine cele două atribute.
24.10.2014 Baze de date distribuite si mobile 40
![Page 41: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/41.jpg)
state flower depinde de state şi nu de oraş.
Soluţia este să creăm o nouă entitate STATE
Exemplu
24.10.2014 Baze de date distribuite si mobile 41
![Page 42: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/42.jpg)
FORMA A III-a DE NORMALIZARE
EXERCITIU
1. Identify the transitive dependency in the model below.
State which attributes violate Third Normal Form
24.10.2014 Baze de date distribuite si mobile 42
![Page 43: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/43.jpg)
FORMA A III-a DE NORMALIZARE
EXERCITIU
2. A color scheme for a car includes specifications for paint color for the body and the interior colors and materials.
For example: The “Desert” color scheme includes silver paint and gray leather interior; the “Sunburst” color scheme includes gold paint and cream leather interior.
Does the model below follow the rules of Third Normal Form? If you spot a violation, correct it.
24.10.2014 Baze de date distribuite si mobile 43
![Page 44: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/44.jpg)
FORMA A III-a DE NORMALIZARE
SOLUTIE
24.10.2014 Baze de date distribuite si mobile 44
![Page 45: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/45.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea II)
1. Rezolvarea relaţiilor Many to Many
2. Analiza CRUD
3. UID
4. Normalizare
5. Arce
6. Ierarhii
24.10.2014 Baze de date distribuite si mobile 45
![Page 46: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/46.jpg)
ARCE
Orice afacere are restricţii ce pot fi aplicate valorilor unor atribute sau asupra relaţiilor dintre entităţi.
Acestea se numesc CONSTRÂNGERI.
ARCele sunt un mod de a reprezenta relaţiile mutual exclusive: pentru fiecare instanţă numai una dintre relaţii este validă.
24.10.2014 Baze de date distribuite si mobile 46
![Page 47: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/47.jpg)
Exemplu
Fiecare eveniment se poate desfăşura fie într-un mediu privat fie într-un mediu public.
24.10.2014 Baze de date distribuite si mobile 47
![Page 48: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/48.jpg)
Explicati ERD-ul
24.10.2014 Baze de date distribuite si mobile 48
![Page 49: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/49.jpg)
Rezolvare
Pe un panou publicitar pot aparea la un moment dat ori un film, ori o reclama, ori un anunţ public.
24.10.2014 Baze de date distribuite si mobile 49
![Page 50: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/50.jpg)
Arcele pot fi modelate şi cu Subtipuri şi Supertipuri.
Când se doreşte să se reprezinte o clasificare se folosesc subtipurile.
Folsim arce atunci când dorim
să reprezentăm relaţiile mutual
exclusive dintre entităţi.
ARCE
24.10.2014 Baze de date distribuite si mobile 50
![Page 51: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/51.jpg)
ARCE
EXERCITIU
1. A show ticket is purchased from an agent, the box office, or the Internet.
A ticket has a description, an event, a date and a price. An agent has a name and a phone number. The box office has an address and a phone number. The Internet has a URL address. Draw the entities and represent the exclusive relationship.
24.10.2014 Baze de date distribuite si mobile 51
![Page 52: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/52.jpg)
ARCE
SOLUTIE
24.10.2014 Baze de date distribuite si mobile 52
![Page 53: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/53.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea II)
1. Rezolvarea relaţiilor Many to Many
2. Analiza CRUD
3. UID
4. Normalizare
5. Arce
6. Ierarhii
24.10.2014 Baze de date distribuite si mobile 53
![Page 54: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/54.jpg)
IERARHII, RELATII
În viaţa de zi cu zi întâlnim adesea modele organizate în ierarhii cum ar fi:
1. scheme organizaţionale
2. reprezentarea unor structuri fizice
3. arbori genealogici
24.10.2014 Baze de date distribuite si mobile 54
![Page 55: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/55.jpg)
MODELE IERARHICE
24.10.2014 Baze de date distribuite si mobile 55
![Page 56: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/56.jpg)
Model organizaţional
24.10.2014 Baze de date distribuite si mobile 56
![Page 57: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/57.jpg)
Exercitiuexplicati ERD-ul aratand care este UID-ul
fiecarei entitati
24.10.2014 Baze de date distribuite si mobile 57
![Page 58: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/58.jpg)
Exercitiu
Fie o baza de date despre hotelurile unei statiuni. Fiecare camera (ROOM) trebuie sa fie identificata
printr-un numar sau cod. Camera este situată în apartament (SUITE) care se află la un anumit etaj (FLOOR) care se află în clădire (BUILDING).
Desenati ERD-ul. UID-ul unui sir de entităţi ierarhice se poate propaga
prin relaţii multiple !
24.10.2014 Baze de date distribuite si mobile 58
![Page 59: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/59.jpg)
Rezolvare
24.10.2014 Baze de date distribuite si mobile 59
![Page 60: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/60.jpg)
RELAŢII RECURSIVE
O relaţie recursivă este o relaţie între o entitate şi ea însăşi.Exemplu:
Fiecare angajat (EMPLOYEE) poate fi condus de unul şi numai unul dintre angajaţi (EMPLOYEE).
Fiecare angajat (EMPLOYEE) poate fi şeful (managerul) unuia sau mai mulţi angajaţi (EMPLOYEE).
24.10.2014 Baze de date distribuite si mobile 60
![Page 61: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/61.jpg)
24.10.2014 Baze de date distribuite si mobile 61
![Page 62: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/62.jpg)
Relaţie recursivă Many to Many
Pentru o fabrică de automobile putem considera: părti elementare, componente şi produse.
O astfel de situaţie poate fi modelată astfel:
Fiecare componentă poate fi o parte a uneia sau mai multor componente.
Fiecare componentă poate fi făcută din una sau mai multe componente.
Exercitiu. Cum rezolvati M_M?24.10.2014 Baze de date distribuite si mobile 62
![Page 63: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/63.jpg)
24.10.2014 Baze de date distribuite si mobile 63
![Page 64: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/64.jpg)
24.10.2014 Baze de date distribuite si mobile 64
![Page 65: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/65.jpg)
Our company sells products throughout the United States. So we’ve divided the U.S. into four major sales regions: the Northern,
Eastern, Southern, and Western regions. Each sales region has a unique region code. Each sales region is then divided into sales districts. For example, the Western region is divided into the Rocky Mountain,
Northwest, Pacific Coast, and Pacific districts. Each district has a unique district code. Each district is made up of sales territories. The Rocky Mountain district is composed of three territories: Wyoming-
Montana, Colorado, and Utah-New Mexico. The Northwest district is made up of two territories: the Washington and
Oregon-Idaho territories. The Pacific Coast district is composed of two territories: the California
and Nevada territories.
Exercitiu:
Develop two ER diagrams to represent the following situation. Develop one using a hierarchical structure and one using a recursive structure
24.10.2014 Baze de date distribuite si mobile 65
![Page 66: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/66.jpg)
The Pacific District includes the Hawaii territory and the Alaska territory. Each territory has a unique territory code. Then each sales territory is broken down into sales areas. For example, Colorado is made up of two sales areas: the Front Range and the
Western Slope sales areas. Each sales area has a unique sales-area code. Each salesperson is responsible for one or more sales areas and has a specific sales
quota. We also have sales managers who are responsible for one or more sales districts,
and sales directors who are responsible for one or more sales regions. Each sales manager is responsible for the territories with his/her districts. We don’t overlap our employees’ responsibilities. Each sales area is always the responsibility of a single salesperson, and our
managers' and directors' responsibilities don’t overlap. Sometimes our salespersons, managers, and directors will have special assignments
and will not be responsible for sales. We identify all our sales personnel by their employee IDs.”
Exercitiu:
Develop two ER diagrams to represent the following situation. Develop one using a hierarchical structure and one using a recursive structure
24.10.2014 Baze de date distribuite si mobile 66
![Page 67: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/67.jpg)
SOLUTIE
24.10.2014 Baze de date distribuite si mobile 67
![Page 68: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/68.jpg)
SOLUTIE
24.10.2014 Baze de date distribuite si mobile 68
![Page 69: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/69.jpg)
Subtypes Hide Relationships in Arc
Every A is either a B or a C
Every B is an A
Every C is an A
A
C
B
C
BA
is
is
is
is
Every A mustbe a B or be a C
Every B must be an A
Every C must be an A24.10.2014 Baze de date distribuite si mobile 69
![Page 70: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/70.jpg)
Arc and Subtypes
A
QP
2
A
QP
R
1
A
P
CB
Q
3
A CB
QP
R
4 5
A CB
QP
R
24.10.2014 Baze de date distribuite si mobile 70
![Page 71: Baze de date distribuite și mobile - runceanu.ro · Model fizic şi model conceptual Entităţi si instanţe (partea II) 1. Rezolvarea relaţiilor Many to Many 2. Analiza CRUD 3](https://reader030.vdocuments.pub/reader030/viewer/2022040218/5e099059b3b19f257209f3ad/html5/thumbnails/71.jpg)
Întrebări?
24.10.2014 Baze de date distribuite si mobile 71