Oracle Ziua 1
-
Upload
andreeansd -
Category
Documents
-
view
76 -
download
0
description
Transcript of Oracle Ziua 1
ORACLE - ZIUA 1
Data versus informatieModel fizic si model conceptualEntitati si instanteRelatiiERD-uriSubtipuri si supertipuriDocumentarea unui ERD
Rezolvarea relatiilor Many to ManyAnaliza CRUDUID
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.
Date Informatii
“Fapte, elemente ce servesc ca punct de plecare in cercetarea unei probleme sau pentru a trage o concluzie sau hotarare”
“Comunicare, veste, stire”“Fiecare dintre elementelenoi in raport cucunostintele prealabile”
(Dictionar general al limbii romane – Vasile Breban Ed.Enciclopedica 1991)
Informatia rezulta adesea din combinarea, compararea si efectuarea unor calcule asupra datelor.
Date Informatii
Media 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?
Notele elevilor la bacalaureat
Bugetul scolii in 2005 a fost 20000 RON
Bugetul scolii in 2006 a fost 25000 RON
Cum ati folosi o baza de date daca ati avea una dintre meseriile de mai jos?
Mecanic auto
Sofer
Cultivatoare de flori
MODEL FIZIC SI MODEL CONCEPTUAL
Modelarea 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 INSTANTE
Entitate = 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 optionale
Unele 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 LINK
Cateodata, clientul da informatii trunchiate si irelevante sau poate nu stie nici el exact ce vrea.
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.
Exercitiu
Fiecare 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 relatii
Relatiile 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 relatii
Determina gradul relatieiSe 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 RELATII
Relatia (1:1) One to One
In practica se intalnesc doar cateva tipuri de relatie 1:1
TIPURI DE RELATII
Relatia (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-ului
Entitatile 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 mandatoriuo pentru atribut optional# pentru identificator unic
Identificatorul unic poate fi format din: o valoare, sau 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.
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”.
Exemple de relatii
Each EMPLOYEE must hold one and only one JOBEach 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 ERD
Cheia ce permite verificarea acuratetii si completitudinii modelului este identificarea si documentarea regulilor afacerii.
Unele pot fi reprezentate in ERD, numindu-se reguli structurale.
Cele ce necesita programare se numesc reguli procedurale.
DIAGRAME MATRICIALE
Sunt 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 SUPERTIPURI
Adesea 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”.
TRANSFERABILITATEA RELATIILOR O 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.
În vederea implementării fizice a modelului conceptual, este important ca relaţiile Many to Many să fie rezolvate.
Într-o relaţie M:M există cel puţin un atribut care descrie relaţia.
Creând a treia entitate, numită entitate de intersecţie, se crează un loc pentru acel atribut.
REZOLVAREA RELAŢIILOR MANY TO MANY
Paşi - REZOLVAREA RELAŢIILOR MANY TO MANY
Se crează entitatea de legatură; Se crează noile relaţii; Se dau nume acestor relaţii; Daca e cazul, se adaugă atribute în entitatea
de legătură; Se crează un UID pentru entitatea de
intersecţie.
Exemple:
Resolving ManyResolving Many--toto--Many RelationshipsMany Relationships
Example:
Solution:
COURSESTUDENTenrolled in
taken by
ENROLLMENT
STUDENT COURSE
# ID
*last name
*first name
*phone
#code
*name
o fee
o duration
# date enrolled
o date completed
o grade
# id
*last name
*first name
*phone
#code
#name
o fee
o duration
for
enrolled in
for
taken by
ANALIZA C.R.U.D. (Create, Retrieve, Update, Delete)
Prin analiza CRUD identificăm cerinţele de
creare, regăsire, actualizare şi ştergere a datelor.
Analiza CRUD ne ajută să observăm dacă: am omis ceva din model; am inclus în model ceva ce nu trebuie.
Cum se realizează analiza CRUD ?
Urmărim în interviurile cu clientul sau în descrierile activităţilor, cuvintele care exprimă cele 4 operaţii: creare, regăsire, actualizare, ş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.
IDENTIFICATOR UNIC
Identificatorul unic poate fi format din: o valoare, sau 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.
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.
IDENTIFICATOR UNIC – DIN RELATII BARATE
Î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.
IDENTIFICATOR UNIC- PRIMAR/ SECUNDAR
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.