Sunteți pe pagina 1din 41

ORACLE - ZIUA 1 partea a II-a

REZOLVAREA RELAIILOR MANY TO MANY


n vederea implementrii fizice a modelului conceptual, este important ca relaiile Many to Many s fie rezolvate. ntr-o relaie M:M exist cel puin un atribut care descrie relaia. Crend a treia entitate, numit entitate de intersecie, se creaz un loc pentru acel atribut.

Pai

Se creaz entitatea de legatur; Se creaz noile relaii; Se dau nume acestor relaii; Daca e cazul, se adaug atribute n entitatea de legtur; Se creaz un UID pentru entitatea de intersecie.

Exemple:

ANALIZA C.R.U.D. (Create, Retrieve, Update, Delete)


Prin analiza CRUD identificm cerinele de creare, regsire, actualizare i tergere a datelor. Analiza CRUD ne ajut s observm dac: am omis ceva din model; am inclus n model ceva ce nu trebuie.

Cum se realizeaz analiza CRUD ?


Urmrim n interviurile cu clientul sau n descrierile activitilor, cuvintele care exprim cele 4 operaii: creare, regsire, actualizare, tergere. Dac exist cerine pentru care nu exist date, s-ar putea ca modelul s fie incomplet. Dac exist date asupra crora nu se efectueaz nici una dintre operaiile CRUD, atunci acestea nu sunt necesare pentru afacere.

IDENTIFICATOR UNIC
Identificatorul unic poate fi format din: o valoare, sau o combinaie de valori i permite utilizatorului s identifice n mod unic o anumit instan. Atunci cnd un UID este alctuit dintr-un singur atribut, se numete simplu. Dac un UID este alctuit dintr-o combinaie de atribute, se numete compus. Un UID creat special pentru a numerota unic fiecare instan se numete artificial.

Exemple

UID rezultat dintr-o relaie barat


Uneori UID este o combinaie dintre un atribut i o relaie. Care este UID-ul entitii ACCOUNT?

n transferurile bancare se transmit ntotdeauna att contul clientului ct i cel al bncii. Atunci cnd un UID este o combinaie ntre un atribut i o relaie barat putem considera c UID-ul este alctuit dintr-un atribut i UID-ul celeilalte entiti din relaie.

n cazul unei entiti de intersecie UID poate fi o combinaie a UID ale entitilor care se aflau iniial n relaia M:M. Aceasta se reprezint n diagram prin bararea relaiilor.

Pot exista mai muli UID. unul este ales ca UID primar (ex. student ID); ceilali UID sunt numii secundari. n exemplul alturat 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.

NORMALIZARE
Normalizarea se refer la procesul de creare a unei structuri relaionale eficiente, flexibile care aeaz fiecare dat ntr-un singur loc, care este i cel mai potrivit loc, astfel nct operaiile de adugare, modificare, tergere s se fac ntr-un singur tabel.

Un astfel de model va respecta:


FLEXIBILITATEA DATELOR Datele vor fi pastrate n locul cel mai bun i vor putea fi vizualizate n diverse feluri. INTEGRITATEA DATELOR Normalizarea asigur integritatea datelor n operaii de tergere, adugare, actualizare. EFICIENA Nu vor exista date redundante. Se va face economie de spaiu.

PRIMA FORMA DE NORMALIZARE

UN ATRIBUT NU POATE AVEA VALORI CARE SE REPET

Exerciiu
Analizai entitile de mai jos i decidei dac respect prima form de normalizare.

FORMA A II-a DE NORMALIZARE

ORICE ATRIBUT CE NU E UID S DEPIND DE NTREGUL UID Se aplic n mod special entitilor care au un UID compus din mai multe atribute sau dintrun attribut i o relaie.

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

Exemplu
Durata depinde numai de SONG. Event_date depinde numai de eveniment.

FORMA A III-a DE NORMALIZARE

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

Exemplu
n acest exemplu, store adress depinde de store name. Soluia acestei probleme este s crem o nou entitate, STORE, care va conine cele dou atribute.

Exemplu
state flower depinde de state i nu de ora.

Soluia este s crem o nou entitate STATE

ARCE
Orice afacere are restricii ce pot fi aplicate valorilor unor atribute sau asupra relaiilor dintre entiti. Acestea se numesc CONSTRNGERI. ARCele sunt un mod de a reprezenta relaiile mutual exclusive: pentru fiecare instan numai una dintre relaii este valid.

Exemplu

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

Exemplu

Fiecare eveniment se poate desfura fie ntrun mediu privat fie ntr-un mediu public.

Arcele pot fi modelate i cu Subtipuri i supertipuri. Cnd se dorete s se reprezinte o clasificare se folosesc subtipurile. Folsim arce atunci cnd dorim s reprezentm relaiile mutual exclusive dintre entiti.

IERARHII, RELATII
n viaa de zi cu zi ntlnim adesea modele organizate n ierarhii cum ar fi: scheme organizaionale; reprezentarea unor structuri fizice; arbori genealogici.

MODELE IERARHICE

Model organizaional

MODEL IERARHIC DE DATE

MODEL IERARHIC DE DATE


UID al camerei este id-ul camerei. Camera este situat n apartament (SUITE) care se afl la un anumit etaj (FLOOR) care se afl n cldire (BUILDING). UID-ul apartamentului dintr-un hotel este format din ID-ul etajului i ID-ul apartamentului din cadrul etajului.

UID-ul unui sir de entiti ierarhice se poate propaga prin relaii multiple !

RELAII RECURSIVE
O relaie recursiv este o relaie ntre o entitate i ea nsi.
Exemplu: Fiecare angajat (EMPLOYEE) poate fi condus de unul i numai unul dintre angajai (EMPLOYEE). Fiecare angajat (EMPLOYEE) poate fi eful (managerul) unuia sau mai muli angajai (EMPLOYEE).

Relaie recursiv Many to Many


Pentru o fabric de automobile putem considera: prti elementare, componente i produse. O astfel de situaie poate fi modelat astfel:

Fiecare component poate fi o parte a uneia sau mai multor componente. Fiecare component poate fi fcut din una sau mai multe componente.

SFARSITUL PRIMEI ZILE DE CURS

S-ar putea să vă placă și