universitatea constantin br ncuşi” din târgu-jiu ... · if you spot a violation, correct it....

72
Proiectarea bazelor de date Universitatea Constantin Brâncuşi” din Târgu-Jiu Facultatea de Inginerie şi Dezvoltare Durabilă Departamentul de Automatică, Energie, Mediu şi Dezvoltare Durabilă Lect.dr . Adrian Runceanu

Upload: others

Post on 29-Dec-2019

9 views

Category:

Documents


0 download

TRANSCRIPT

Proiectarea bazelor de date

Universitatea “Constantin Brâncuşi” din Târgu-JiuFacultatea de Inginerie şi Dezvoltare DurabilăDepartamentul de Automatică, Energie, Mediu şi Dezvoltare Durabilă

Lect.dr. Adrian Runceanu

Model fizic şi model conceptual

Entităţi si instanţe (partea II)

30.12.2015 2

Curs 17

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

30.12.2015 3

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.

30.12.2015 4

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

30.12.2015 5

30.12.2015 6

30.12.2015 7

30.12.2015 8

30.12.2015 9

Exercitiu

Desenati ERD-ul

30.12.2015 10

rezolvare

30.12.2015 11

30.12.2015 12

SOLUTIE

30.12.2015 13

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

30.12.2015 14

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

30.12.2015 15

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.

30.12.2015 16

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

30.12.2015 17

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.

30.12.2015 18

Exemple de UID

30.12.2015 19

30.12.2015 20

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.

30.12.2015 21

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

30.12.2015 22

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.

30.12.2015 23

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

30.12.2015 24

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.

30.12.2015 25

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.

30.12.2015 26

PRIMA FORMA DE NORMALIZARE

30.12.2015 27

UN ATRIBUT NU POATE AVEA VALORI CARE SE REPETĂ

30.12.2015 28

Exerciţiu

Analizaţi entităţile de mai jos şi decideţi dacă respectă prima formă de normalizare.

30.12.2015 29

Exercitiu

Examinati urmatoarele entitati.

Identificati atributele cu valori

multiple.

30.12.2015 30

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.

30.12.2015 31

ORICE ATRIBUT CE NU E UID SĂ DEPINDĂ DE ÎNTREGUL UID

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

30.12.2015 32

Exemplu

Durata depinde numai de SONG.

Event_date depinde numai de eveniment.

30.12.2015 33

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.

30.12.2015 34

FORMA A II-a DE NORMALIZARE

SOLUTIE:

30.12.2015 35

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.

30.12.2015 36

FORMA A II-a DE NORMALIZARE

30.12.2015 37

FORMA A II-a DE NORMALIZARE

SOLUTIE:

30.12.2015 38

FORMA A III-a DE NORMALIZARE

UN ATRIBUT CE NU E UID NU TREBUIE SĂ DEPINDĂ DE ALT ATRIBUT NON-UID.

30.12.2015 39

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.

30.12.2015 40

state flower depinde de state şi nu de oraş.

Soluţia este să creăm o nouă entitate STATE

Exemplu

30.12.2015 41

FORMA A III-a DE NORMALIZARE

EXERCITIU

1. Identify the transitive dependency in the model below.

State which attributes violate Third Normal Form

30.12.2015 42

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.

30.12.2015 43

FORMA A III-a DE NORMALIZARE

SOLUTIE

30.12.2015 44

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

30.12.2015 45

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

30.12.2015 46

Exemplu

Fiecare eveniment se poate desfăşura fie într-un mediu privat fie într-un mediu public.

30.12.2015 47

Explicati ERD-ul

30.12.2015 48

Rezolvare

Pe un panou publicitar pot aparea la un moment dat ori un film, ori o reclama, ori un anunţ public.

30.12.2015 49

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

30.12.2015 50

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.

30.12.2015 51

ARCE

SOLUTIE

30.12.2015 52

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

30.12.2015 53

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

30.12.2015 54

MODELE IERARHICE

30.12.2015 55

Model organizaţional

30.12.2015 56

Exercitiuexplicati ERD-ul aratand care este UID-ul

fiecarei entitati

30.12.2015 57

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 !

30.12.2015 58

Rezolvare

30.12.2015 59

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

30.12.2015 60

30.12.2015 61

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?30.12.2015 62

30.12.2015 63

30.12.2015 64

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

30.12.2015 65

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

30.12.2015 66

SOLUTIE

30.12.2015 67

SOLUTIE

30.12.2015 68

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 A30.12.2015 69

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

30.12.2015 70

Materialul utilizat in acest curs face parte din curriculum Oracle Academy

30.12.2015 71

Întrebări?

30.12.2015 72