Oracle Ziua 1

download Oracle Ziua 1

of 51

Transcript of Oracle Ziua 1

ORACLE - ZIUA 1Data versus informatie Model fizic si model conceptual Entitati si instante Relatii ERD-uri Subtipuri si supertipuri Documentarea unui ERD

Rezolvarea relatiilor Many to Many Analiza CRUD UID

INTRODUCERE

S-a constatat statistic o crestere a oportunitatilor de angajare pentru persoanele cu pregatire in utilizarea bazelor de date si a internetului; Din ce in ce mai multe organizatii apar prezente pe World Wide Web si ca urmare creste cererea de personal calificat ce poate dezvolta aplicatii www; Sunt necesare atat persoane cu pregatire inalta, cat si medie; Se cer certificate recunoscute.

Academia Oracle ofera:

Profesori coordonatori si o aplicatie la cheie; Certificare tehnica IT recunoscuta international; Optiuni pentru fiecare nivel educational (Think.com, ThinkQuest, Initiativa Academica Oracle OAI si Workforce Development Program);

Cursul de fata cuprinde doua module:

Database Design - proiectare baze de date Database Programming with SQL programarea bazelor de date folosind limbajul SQL

Database Design cuprinde:

Modelarea entitatilor si a relatiilor dintre acestea, proiectarea bazei de date, dezvoltarea si normalizarea bazei de date; Evolutia bazelor de date si a tehnicii de calcul utilizate; Abilitati necesare in afaceri: prezentare si studii de caz.

Programarea BD in limbajul SQL, cuprinde:

Limbajul SQL (Structured Query Language); Accesarea datelor cu SQL; Definirea, manipularea si controlul datelor; Tranzactii; Creare de aplicatii; Abilitati necesare in afaceri: interviul si crearea unui portofoliu.

Date versus informatie

Interactionam zilnic cu baze de date, fie ca suntem sau nu constienti:

Istoricul creditului la banca Codurile si numele produselor din magazin Fisa de inscriere a copilului la admitere,

Important este sa intelegem cum sunt modelate datele, cum se pastreaza si cum putem regasi informatii pe baza acestor date.

DateFapte, elemente ce servesc ca punct de plecare in cercetarea unei probleme sau pentru a trage o concluzie sau hotarare

InformatiiComunicare, veste, stire Fiecare dintre elementele noi in raport cu cunostintele prealabile

(Dictionar general al limbii romane Vasile Breban Ed.Enciclopedica 1991) Informatia rezulta adesea din combinarea, compararea si efectuarea unor calcule asupra datelor.

DateNotele elevilor la bacalaureat Bugetul scolii in 2005 a fost 20000 RON Bugetul scolii in 2006 a fost 25000 RON

InformatiiMedia pe clasa la matematica Ultima medie de admitere la un liceu Numarul de elevi cu media sub 5 din scoala Ce buget este necesar in anul viitor?

Cum ati folosi o baza de date daca ati avea una dintre meseriile de mai jos?

Mecanic auto Sofer Cultivatoare de flori

Istoria Bazelor de date

Istoria Bazelor de date

MODEL FIZIC SI MODEL CONCEPTUALModelarea datelor este doar prima parte a procesului de construire al bazei de date.Modelul conceptual Modeleaza nevoile informationale ale afacerii Se numeste Entity Relationship Model Este prezentat printr-o diagrama numita Entity Relationship Diagram

-

Etape in procesul de dezvoltare a bazelor de date

Incepe prin formularea cerintelor informationale ale afacerii; Se deseneaza apoi modelul conceptual; Se proiecteaza baza de date pornind de la modelul conceptual (entitatile devin tabele, atributele devin nume de coloane care corespund unor tipuri de date, se stabilesc proprietatile speciale ale unor coloane); Se construieste baza de date (modelul fizic) prin executarea unor instructiuni SQL.

PRINCIPII DE BAZA ALE MODELARII

Sa cuprinda toate datele necesare; Datele sa fie pastrate o singura data; Sa nu cuprinda informatii ce se obtin din date deja cuprinse in model; Orice data sa fie asezata in locul cel mai logic si mai potrivit.

ENTITATI SI INSTANTEEntitate = notiune semnificativa pentru afacere, referitor la care trebuie sa cunoastem date. Este un substantiv singular. Entitatile au instante. Entitatile au atribute. O instanta este o valoare data entitatii. Exemplu: Entitatea FRUCT are instante: cireasa, nuca, pepene, mar, portocala

Atributul

Este o proprietate a unei entitati sau un detaliu referitor la acesta; Descrie, cuantifica, califica, clasifica sau specifica o entitate; Are un tip care poate fi un numar, un sir de caractere, o data calendaristica, o imagine, etc.

Exemplu: Entitatea FRUCT poate avea atributele: nume, tip, regiune, data_culesului. In acest caz o instanta poate fi: portocala, citrice, Grecia, 10-July-2007.

Atribute obligatorii sau optionaleUnele atribute trebuie neaparat sa aiba valoare. Acestea se numesc OBLIGATORII (MANDATORII). Exemplu: In afaceri, numele firmei este o informatie absolut necesara. Alte atribute pot avea informatie necompletata, nula. Acestea se numesc OPTIONALE. Exemplu: In multe cazuri numarul de telefon fix este o informatie ce poate lipsi daca apare numarul de telefon mobil.

THE MISSING LINKCateodata, clientul da informatii trunchiate irelevante sau poate nu stie nici el exact ce vrea. si

Informatiile pe care le primim in astfel de cazuri sunt asemeni unor piese incomplete de puzzle. Punand intrebarile potrivite si lucrand in echipa, putem descoperi ceea ce ne lipseste.

ExercitiuFiecare cursant primeste o piesa de puzzle.Piesele componentilor unui grup formeaza imaginea, mai putin piesa cea mai importanta, care lipseste. Fara a-si arata unul altuia bucatica de imagine, doar prin comunicare, sa se completeze imaginea grupei si apoi sa se identifice ce contine piesa ce lipseste.

RELATIA

Reprezinta ceva semnificativ pentru afacere; Exprima care sunt relatiile intre doua entitati (sau intre una si aceeasi entitate); Se citeste in ambele sensuri; Are optionalitate; Are un grad de cardinalitate.

Optionalitatea unei relatiiRelatiile pot fi: - mandatorii - optionale - - - - - - - - Exemplu: Pentru a stabili optionalitatea relatiei dintre entitatile ANGAJAT si JOB se pun urmatoarele intrebari: 1. Trebuie ca fiecare angajat sa aiba un job? 2. Trebuie ca fiecare job sa fie acordat unui angajat?

Cardinalitatea unei relatiiDetermina gradul relatiei Se determina prin raspunsul la intrebarea: Cate? Cati? Exemplu: Cate calificari poate avea un angajat? Una, sau mai multe? Cati angajati pot lucra la un proiect? Doar unul? Sau mai multi?

TIPURI DE RELATIIRelatia (1:M) One to Many Este relatia cea mai frecvent intalnita.

TIPURI DE RELATIIRelatia (1:1) One to One In practica se intalnesc doar cateva tipuri de relatie 1:1

TIPURI DE RELATIIRelatia (M:M) Many to Many Este o relatie foarte intalnita in prima faza a modelarii, in final ar trebui sa dispara toate aceste relatii.

CONVENTII ALE ERD-uluiEntitatile sunt reprezentate prin dreptunghiuri cu colturile rotunjite, in care este inscris numele entitatii la singular, cu litere mari. Atributele sunt afisate sub numele entitatii, cu litere mici. Se pun in fata semnele: * pentru atribut mandatoriu o pentru atribut optional # pentru 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.

CONVENTII ALE ERD-ului

Relatiile sunt trasate cu linie: - continua, pentru relatie mandatorie; - intrerupta, pentru relatie optionala. Relatiile se termina: - intr-o linie, pentru cardinalitate 1; - in trei liniute (picior de cioara), pentru mai multe.

DESENAREA RELATIILOR SI CITIREA LOR IN LIMBAJ ERD-ish

Exemple de relatiiEach EMPLOYEE must hold one and only one JOB Each JOB may be held by one or more EMPLOYEEs

Each PRODUCT must be classified by one and only one PRODUCT TYPE Each PRODUCT TYPE may classify one or more PRODUCTs

DOCUMENTAREA UNUI ERDCheia ce permite verificarea acuratetii si completitudinii modelului este identificarea si documentarea regulilor afacerii. Unele pot fi reprezentate in ERD, numinduse reguli structurale. Cele ce necesita programare se numesc reguli procedurale.

DIAGRAME MATRICIALESunt o alternativa la reprezentarea prin ERD. Sunt folosite atunci cand avem foarte multe relatii, pentru a ne asigura ca nu am uitat vreuna. Diagramele matriciale nu arata optionalitatea si cardinalitatea

SUBTIPURI SI SUPERTIPURIAdesea unele instante au atribute sau relatii pe care alte instante ale aceleiasi entitati nu le au. Exemplu:

Un subtip

Mosteneste toate atributele supertipului; Mosteneste toate relatiile supertipului; De obicei are propriile atribute / relatii; Este desenata in interiorul supertipului; Nu este niciodata singurul subtip; Poate avea la randul sau subtipuri; Se mai numeste subentitate.

Exercitiu

TRANSFERABILITATEA RELATIILORO relatie este netransferabila daca nu poate fi mutata la alta instanta.

Exemplu de relatie transferabila:

Un student poate fi mutat in alta grupa

Exemplu de relatie netransferabila: O poezie este scrisa de un autor si nu poate fi transferata altui autor.

REZOLVAREA RELAIILOR MANY TO MANYn 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 - REZOLVAREA RELAIILOR MANY TO MANY

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 UNICIdentificatorul 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

IDENTIFICATOR UNIC ARTIFICIALA

UID rezultat dintr-o relaie baratUneori 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.

IDENTIFICATOR UNIC DIN RELATII BARATE

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.

IDENTIFICATOR UNIC - PRIMAR/ SECUNDARPot 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.