Documente Academic
Documente Profesional
Documente Cultură
Orice aplicaie a calculatoarelor n economie are la baz o colecie de date intercorelate numit,
evident, baz de date.
Un sistem client-server are o parte a softului, necesar pentru lucrul cu baza de date, pe server i
alt parte pe fiecare client.
Oracle introduce cu APPEX un alt mod de lucru: Avem pe server tot softul necesar i la orice
client un browser cu care accesm prin intermediul internetului aplicaia server. Marele avantaj este c
clientul este orice calculator care nu mai trebuie pregtit dinainte.
Pentru a nva s lucrezi cu Application Express (APPEX), Oracle pune la dispoziie spaiu de
lucru gratuit pe serverele pentru dezvoltatorul aplicaiei.
Lucrarea de fa conine 5 capitole.
n primul capitol am prezentat cteva concepte importante din teoria bazelor de date relaionale.
Capitolul al doilea prezint, pe scurt, sistemul Oracle i cteva caracteristici ale sistemului APPEX.
Proiectul logic al aplicaiei pentru activitatea de schimb valutar dintr-o banc se afl n capitolul al treilea.
Conform cu acest proiect logic, capitolul patru prezint, pas cu pas, modul de realizare a proiectului fizic.
n ultimul capitol, n cadrul manualului de utilizare, este desccris modul n care poate fi folosit aceast
aplicaie n practica schimbului valutar dintr-o banc.
Contribuia autorului const din
selectarea i organizarea materialului bibliografic,
analiza activitii de schimb valutar, cuprins n proiectul logic,
proiectul fizic realizat cu APPEX
manualul de utilizare
.
CUPRINS
Introducere........................................................................................................................................................................................I
Capitolul 1. Baze de date relaionale...............................................................................................................................................3
1.1. Abstractizarea datelor............................................................................................................................................................3
1.2 Independena datelor..............................................................................................................................................................3
1.3. Principalele componente ale unui SGBD..............................................................................................................................4
1.4. Modelul relaional.................................................................................................................................................................5
1.5.. Definirea sistemelor de gestiune a bazelor de date relaionale............................................................................................5
1.6. Regulile lui Codd..................................................................................................................................................................6
Capitolul 2. Despre ORACLE i Oracle Application Express(APPEX).........................................................................................8
2.1. Oracle....................................................................................................................................................................................8
2.2. APPEX..................................................................................................................................................................................8
Capitolul 3. Proiectul logic al aplicaiei activitatea de schimb valutar ntr-o banc......................................................................11
3.l. Descrierea unitii economice la care se afl activitatea de schimb valutar........................................................................11
3.2. Cerinele utilizatorului.........................................................................................................................................................11
3.3 CREAREA MODELULUI CONCEPTUAL LOCAL, PENTRU VEDERILE UTILIZATORILOR..........................................12
3.3.1. Identificarea tipurilor de entiti..................................................................................................................................12
3.3.2 Identificarea tipurilor de relaii........................................................................................................................................12
3.3.3 Identificarea i asocierea atributelor la tipurile de entiti i tipurile de relaii.............................................................12
3.3.4. Determinarea domeniilor de definiie a atributelor......................................................................................................13
3.3.5. Determinarea atributelor care compun cheile candidate i primare.............................................................................13
3.3.6. Desenarea diagramei entity-relationship.....................................................................................................................15
3.4. CREAREA I VALIDAREA MODELULUI LOGIC LOCAL...........................................................................................15
3.4.1. Proiectarea modelului conceptual local pe un model logic local.................................................................................15
3.4.2. Crearea relaiilor pentru modelul logic local................................................................................................................16
3.4.3. Validarea modelului, utiliznd normalizarea................................................................................................................16
3.4.4. Validarea modelului utiliznd tranzaciile....................................................................................................................17
3.4.5. Definirea regulilor de integritate a bazei de date.........................................................................................................18
3.4.6. Verificarea modelului logic local cu ajutorul utilizatorului.........................................................................................19
Capitolul 4. Proiectarea fizic........................................................................................................................................................20
4.1. Cerere de spaiu de lucru ( Work space).............................................................................................................................20
4.2. Tabele APPEX.....................................................................................................................................................................23
4.3. Formulare APPEX...............................................................................................................................................................28
4.4 Liste de valori.......................................................................................................................................................................31
4.5 Formular cu subformular........................................................................................................................................................35
4.5. Rapoarte APPEX.................................................................................................................................................................39
4.5.
II
-administratorul bazei de date trebuie s aib libertatea de a schimba structura de memorare sau strategia
de acces, ca rspuns la cerine (schimbi de standarde, prioritile aplicaiilor, unitile de memorare etc.),
fr a modifica aplicaiile existente, baza de date existent, precum i programele de exploatare a ei, care
au fost folosite o perioad de timp i care reprezint o investiie major la care nu trebuie s se renune
prea uor.
- sistemul de gestiune al bazei de date, care este un ansamblu de programe (soft) care realizeaz
gestiunea i prelucrarea complex a datelor;
- un set de proceduri manuale i automate, precum i reglementrile administrative, destinate bunei
funcionari a ntregului sistem;
- un dicionar al bazei de date (metabaza de date), ce conine informaii despre date, structura
acestora, elemente de descriere a semanticii, statistici, documentaie etc.
- mijloacele hard utilizate (comune, specializate etc.);
- personalul implicat: (categorii de utilizatori: finali - (neinformaicieni); de specialitate
(administrator), analiti - programatori, gestionari, operatori).
Arhitectura bazei de date d o imagine despre modul general de organizare i funcionare a ei.
Limbajele untilizate ntr-un SGBD sunt de dou tipuri: Limbajul de definire a datelor (Data
Definition Language - DDL) i Limbajul de manipulare a datelor (Data Manipulation Language DML). Aceste limbaje mai sunt cunoscute ca sublimbaje de date deoarece ele nu includ construcii
adecvate oricror necesiti de calcul, asemntoare cu structurile puse la dispoziie de limbajele de nivel
nalt.
Multe SGBD au facilitatea de a incorpora sublimbajul ntr-un limbaj de nivel nalt (numit limbaj
gazd) cum ar fi COBOL, Fortran, Pascal, Ada, C, Jawa, C#. Pentru compilare, comenzile sublimbajului
sunt nlocuite n limbajul gazd cu apeluri de funcii. Fiierul preprocesat este compilat, plasat ntr-un
modul obiect, link-editat cu o bibliotec n care se afl funciile nlocuite, furnizate o dat cu SGBD, i
este executat cnd este necesar.
1.4. Modelul relaional
n 1978 E.F.Codd, de la IBM Research Laboratory, a elaborat o lucrare care a avut o influen
covritoare n dezvoltarea bazelor de date. Lucrarea trata despre modelul de date relaional.
De aici ncolo s-au proiectat multe sisteme dintre care menionm System R dezvoltat la IBM's San
Jose Research Laboratory din California, la sfritul anilor '70. Acest proiect a dus la:
dezvoltarea unui limbaj structurat de interogare (numit SQL) care de atunci a devenit un standard
pentru sistemele relaionale;
producerea n anii '80 de sisteme comerciale arhicunoscute dintre care menionm: DB2, SQL Server,
SQL/DS de la IBM i ORACLE de la ORACLE Corporation.
Alte exemple de sisteme relaionale: INGRES de la Relaional Technology Inc., Informix de la
Informix Sofware Inc., Sybase de la Sybase Inc.. Dintre sitemele relaionale pentru microcalculatoare
enumerm aici: Paradox i dBase IV de la Borland, Access de la Microsoft, FoxPro i R:base de la
Microrim. Toate acestea constituie generatia a doua de SGBD.
1.5.. Definirea sistemelor de gestiune a bazelor de date relaionale
ntr-o prim ncercare de definire, se poate considera un sistem de gestiune a bazelor de date
relaionale (SGBDR) ca reprezentnd un SGBD care utilizeaz drept concepie de organizare a datelor
modelul relaional. Astfel spus, un SGDBR reprezint un sistem care suport modelul relaional.
Definiia de mai sus este prea general pentru a putea fi operaional, deoareca modul de implemantare a
modelului relaional difer, de regul att ntre diferitele SGBDR, ct i n raport cu modelul teoretic,
cel definit n cadrul teoriei relaionale, datorit eforturilor productorilor de a realiza sisteme ct mai
perfomante care s satisfac cerinele i exagerrile utilizatorilor. Ct de aproape (sau de departe) de
modelul relaional teoretic trebuie s fie modelul datelor efectiv utilizat de SGBD pentru a putea afirma c
SGBD-ul respectiv utilizeaz sau nu modelul relaional, deci este sau nu SGBDR?
Diversitatea modelelor relaionale operaionale au determinat, n mod natural existana unei mari
5
diversitii de SGBDR, pentru a cror prezentare a fost necesar nuanarea terminologiei. Au aprut o
serie de sintagme precum: sisteme cu interfa relaional, sisteme pseudorelaionale, sisteme complet
relaionale.
Conceptele specifice organizriidatelor n fiiere, SGBDR i teoriei relaionale ntre care se pot
stabili analogii
Organizarea datelor n fiiere SGBDR
Teoria relaional
Fiier
Tabel
Relaie
Record(nregistrare)
Linie
Tuplu
Cmp
Coloan
Atribut
n general, conceptele utilizate la prezentarea SGBDR i a modelelor relaionale operaionale
difer de cele din cadrul teoriei relaionale. Figura de mai sus prezint comparativ conceptele organizrii
datelor n fiiere, concepte SGBDR i ale teoriei relaionale.
Faptul c se pot stabili analogii ntre conceptele organizrii datelor n fiiere i conceptele
relaionale, i-au determinat pe unii productori s prezinte sisteme fr nici o legtur cu modelul
relaional drept SGBDR, n scopul asigurrii succesului comercial al acestor sisteme.
1.6. Regulile lui Codd
Definirea unui SGBDR impune o detaliere a caracteristicilor pe care trebuie s le prezinte un SGBD
pentru a putea fi considerat relaional.n acest sens, Codd a formulat 13 reguli care exprim cerinele pe
care trebuie s le prezinte un SGBD ca s fie relaional. Dei reguli au strnit o serie de controverse, eu le
voi prezenta n continuare, ele fiind deosebit de utile n evaluarea unui SGBDR.
R0: Regula privind gestionarea datelor la nivel de relaie
Sistemul trebuie s gestioneze baza de date numai prin mecanisme relaionale.Acest lucru
nseamn c sistemul trebuie s-i ndeplineasc toate funciile prin manipulri n care unitatea de
informaie s fie mulimea (relaia), adic s utilizeze limbaje, precum SQL, care s opereze la un moment
dat pe o ntreag relaie.Deci SGBD nu trebuie s accepte operaii non-relaionale care s ndeplineasc
operaiile de definire i manipulare a datelor.
Unele sisteme utilizeaz mecanisme releionale numai pentru o parte din funcii, n special pentru
interogare. Aceste sisteme se numesc sisteme cu interfa relaional i nu SGBDR.
R1: Regula privind reprezenterea logic a datelor
Toate datele din daza de date relaional trebuie s fie reprezentate explicit la nivel logic, ntr-un
singur mod, i anume ca valori n tabele de date. Acest lucru nseamn c toate datele trebuie s fie
memorate i prelucrate n acelai mod. Informaiile privind numele de tabele,coloane, domenii, definiiile
tabelelor virtuale, restricii de integritate trebuie s fie memotare tot n tabele de date (cataloage).
Referina la 'nivelul logic' nseamn c construcia fizic nu este reprezentat i nu necesit explicaie.
R2: Regula privind garantarea accesului la date.
Orice dat din baza de date relaional trebuie s poat fi accesat prin specificarea numelui da
tabel, valorii cheii primare i numelui de coloan.Aceast regul exprim cerina ca linbajul de cereri al
SGBDR s permit accesul la fiecare valoare atomic din baza de date.
R3: Regula privind valorile null
Sistemele trebuie s permit declararea s manipularea sistematic a valorilor null, cu
semnificaia unor date lips sau inaplicabile. Valorile null, care difer de irurile de caractere ' spaiu' sau
de irurile vide da caractere sunt deosebit de importante n implementarea restriciilor de integritate
(integritatea entitii i integritatea refereanial).
R4: Regula privind metadatele
Descrierea bazei de date trebuie s se prezinte la nivel logic n acalai mod cu descrierea datelor
propiu-zise, astfel nct utilizatorii autorizai s poat descrierii bazei de date aceleai operaii ca i asupra
datelor obijnuite. Acest regul specific c trebuie s existe un unic limbaj de manipulare a metedatelor
i a datelor propui-zise, mai mult, exist o unic structur logic folosit pentru a depozita informaiile de
sistem.
adecvate
utilizatori
mecanisme de cutare
10
Tip de relaie
Tip de entitate
Cardinalitate
CursVal
este referit n
Vnzri
1:N
CursVal
este referit n
Cumprri
1:N
Valut
este referit n
Curs
1:N
Clienti
efectueaz
Vnzri
1:N
Clienti
efectueaz
Cumprri
1:N
Atribute
Descriere atribute
CLIENI
idClient
nume
numele clientului
tara
ara clientului
tip_ai
serie_ai
numar_ai
org_em_ai
data_em_ai
12
CURSVAL
idCurs
nr_schimb
idValuta
dataCurs
curs_cump
cursul de cumprare
curs_vnz
cursul de vnzare
curs_bnr
idValuta
idTranz
idCurs
suma
idVanzare
VALUTE
VNZRI
idClient
idCurs
suma
idCumpar
CUMPRRI
idClient
idCurs
suma
suma n valut,
cheie primar. Cheile candidat care nu sunt primare, se vor numii chei alternante. Pentru alegerea unei
chei ca fiind cheie primar, vom ine cont de urmtoarele:
cheia candidat, care are un numr minimal de atribute
cheia candidat, care i va schimba cel mai rar valoarea
cheia candidat, care este cel mai puin probabil s sufere modificri n viitor
cheia candidat, care este compus din cele mai puine caractere (n cazul atributelor
de tip caracter)
cheia candidat, care este cel mai uor de folosit din punctul de vedere al
utilizatorului.
Clieni
Nume atribut
Tipul
Dimensiunea Reguii
idClient
secventa
Cheie primar
nume
varehar
40
tara
varchar
20
tip_ai
char
seria_ai
char
numar_ai
char
org_em_ai
varchar
40
data_em_ai
smalldatetime
CursVal
Nume atribut
Tipul
Dimensiunea
Reguli
idCurs
smallint
Cheie primar
nr_schimb
smallint
idValuta
smallint
dataCurs
smalldatetime
curs_cump
int
curs_vnz
int
curs_bnr
int
Valut
Nume atribut
Tipul
Dimensiunea
Reguli
idValuta
smallint
Cheie primar
CodValuta
varchar
denValuta
varchar
20
Vnzri
Nume atribut
Tipul
Dimensiunea
Reguli
idVanzare
int
Cheie primar
idClient
int
10
idCurs
suma
smallint
int
14
Cumprri
Nume atribut
Tipul
Dimensiunea
Reguli
idCumpar
int
Cheie primar
idClient
int
10
idCurs
suma
smallint
int
16
17
n baza de date, observndu-se la fiecare codul scurt, format din trei litere precum i ntreaga denumire
pentru a putea fi recunoscute mai uor;
T6 Adugare valute
Dac este nevoie de o valut nou, care nu a fost introdus pn n acest moment, se poate
nregistra prin codul scurt urmat de ntreaga denumire; prima dat verific dac valuta de introdus nu
exist deja; dup care n caz c nu exist, inserez detaliile necesare. Dac exist deja valuta, nu admit
inserarea.
T7 - Modificare valute
Pentru a modifica datele despre o valut, se caut mai nti IdValuta. Dac acesta exist, se
modific datele despre ea, altfel nu se poate.
T8 - tergere valut
Se caut cheia valutei de ters. Dac exist, se terge valuta, altfel apare un mesaj de eroare.
III.
Curs valutar
T9 - Vizualizare curs
Cheia primar a entitii este IDcurs. Din forma Curs se poate vizualiza cursul pentru toate
valutele care se afl n baza de date; acest curs este alctuit din cursul BNR, cursul de cumprare (cu
care casa de schimb valutar cumpr valuta de la clieni) i din cursul de vnzare (cu care casa de
schimb valutar vinde valuta clienilor).
TIO - Adugare curs
Acesta trebuie introdus n parte pentru fiecare valut, n cele trei cmpuri: curs BNR, curs
cumprare i curs vnzare.
TI l - Modificare curs
In cazul n care cursul este introdus greit, se va suprascrie noul curs.
T12 - tergere curs
Se caut cheia cursului pe care dorim s-l tergem. Dac exist se terge.
IV.
Cumprri
TI6 - Adugare cumprare
Cheia primar a entitii este IDCumpar. Se selecteaz codul valutei dorite, din cele existente n
baza de date, lng acesta fiind automat copiat cursul de cumprare.
TI7 - terge tranzacie de cumprare.
Se caut cheia tranzaciei de ters. Cnd aceasta este gsita se terge tranzacia.
V.
Vnzri
TI8 - Adugare vnzare
Cheia primar a entitii este IDVanzare. Se selecteaz codul valutei dorite, din cele existente n
baza de date, lng acesta fiind automat copiat cursul de vnzare.
TI9 - terge tranzacie de vnzare.
Se caut cheia tranzaciei de ters. Cnd aceasta este gsit se terge tranzacia.
3.4.5. Definirea regulilor de integritate a bazei de date
Regulile de integritate sunt importante pentru a proteja baza de date mpotriva posibilelor
inconsistene. Dac este necesar, putem produce un proiect fizic de baz de date, pentru a putea vedea mai
uor ce reguli sunt necesare.
Vom considera cinci tipuri de reguli de integritate:
necesitatea datelor,
reguli asupra domeniului atributelor,
integritatea entitilor,
integritatea referinelor,
regulile ntreprinderii.
1. Necesitatea datelor
Exist atribute care nu pot conine valoarea nul, ci trebuie s aib totdeauna o valoare. Aceste reguli
18
19
Dup accesarea link-ului de mai sus se urmeaz paii pentru a crea un nou workspace.
20
De ce ai cerut crearea acestui workspace(Exemplu: University Project, To learn Oracle) Apsai butonul
NEXT.
21
Dup definirea workspace-ului se primete de la oracle un email cu un link, dnd CLICK pe acel link,
workspace-ul va fi creat n apex i se primete nc un email cu datele de login(Workspace, Email i
parola).
Se introduc datele de logare pentru a putea accesa Application Express. (Numele Workspace-ului,
Emailul, Parola)
22
n partea dreapta a browserului exist un buton CREATE, CLICK pe CREATE dup care se alege TABLE.
Se vor proiecta pe rnd tabelele n ordinea: clienti, valuta, cursVal, cumparari, vanzari. Pentru clienti obinem:
23
24
Aici artm cum se stabilete cheia principal ca fiind cu valori date automat prin secven.
Atenie!
Aciunea devine efectiv numai dup CLIK pe ADD.
La fel se introduce tabela cumparari cu dou chei strine: idcurs spre cursval i idclient spre clienti.
25
La fel se introduce tabela vanzari cu dou chei strine: idcurs spre cursval i idclient spre clienti.
26
Dac vrem s vedem cum arat legturile ntre tabele, de exemplu, de la tabela cursval, cu CLIK pe model
obinem:
27
Tot de aici se pot modifica datele (mai puin cheia) sau introduce linii noi n tabel.
Pentru a ncepe crearea aplicaiei CLICK pe Application Builder i se selecteaz Database Applications
28
29
30
31
Cu CLIK pe aplicaia schimb valutar se poate vedea ce conine, pentru moment, aceast aplicaie:
Pentru formulare avem nevoie s lum date din alte tabele. De exemplu cnd vrem s introducem o
nregistrare n cursval s putem alege denumirea valutei din valuta.
4.4 Liste de valori
POP LOV (Popup List Of Values) n aplicaia creat apare:
32
33
Apare:
34
Dup NEXT va trebui s alegem la Display Column Den valuta i la Return Value idvaluta.
Dup NEXT:
35
Apoi:
36
37
Dup NEXT:
Selectm NO la Show Only Related Tables i apoi view-ul creat anterior Det_vanz:
38
i la detail. Apoi:
39
40
Avem de ales ntre mai multe tipuri de rapoarte. Alegem Interactive report i NEXT.
41
Trebuie s scriem acum fraza select pentru tabela care va fi originea raportului. Putem s scriem direct,
dar mai sigur c nu are greeli este s o crem prin Query Builder. Dup CLIK obinem:
Aici selectm tabela clienti i de acolo coloanele pe care vrem s le avem n raport.
Selectnd SQL vedem fraza SQL care trebuie scris n ecranul precedent. Selectm fraza i dup CLIK
dreapta:
42
Acum apare un ecran din are putem copia fraza select. Dup copy prsim acest ecran cu Ctrl+V ducem
fraza la locul ei.
Dup NEXT:
43
Suntem anunai c avem creat raportul. putem s-l rulm sau s-l editm. Dup Run Page:
Un alt exemplu interesant de raport este cel n care vrem s aflm cursul valutar al zilei curente.
Pentru asta crem mai nti un view din object Browser ca s putem lua i denumirea valutei din valuta.
Atenie!
Comparaia direct a datei cu data din server nu merge!
Am fcut, dup cum se vede, transformarea n caracter i apoi n data la ambele. Ca i mai nainte din:
44
45
46
47
Completm Chart Title, denumirile care vor fi n query datacurs i curs_bnr i dup NEXT:
48
Dac vrem s crem un raport legat de o anumit pagin (de exemplu buletinul de vnzare pentru o
anumit tranzacie) atunci dup Create PageReportInteractive ReportNEXTNEXT..ajungem la:
49
50
51
Facem aici modificri ca s calculeze suma n RON i se ia Idvanzare din pagina 33.
52
i dup NEXT:
53
i NEXT:
54
55
De aici numai avem dect s facem CLIK pe Create Button i se creeaz butonul.
4.6. Completare pagina de start
Pn acum am avut n pagina de start a aplicaiei (cea declanat cu run applicationn) doar
formularele. Vrem s apar acolo i rapoartele. Pentru aceasta din meniul aplicaiei:
56
57
58
se
59
60
Se selecteaz data din calendar i dup clic i Create putem alege din meniu alt opiune.
5.3. Introducerea cursului valutar
De exemplu Curs val form:
Dup CLIK:
61
i putem alege tipul de valut. Dac nu avem n list valuta respectiv o putem introduce cu butonul
Valut nou. De exemplu:
Dup Create vom avea posibilitatea de a introduce cursul pentru aceast valut.
Dup cum am scris n analiza activitii, ntr-o zi putem avea mai multe modificri ale cursului,
deci la Nr Schimb vom trece a cta modificare este.
5.4. Introducerea cumprrii de valut.
Din meniul aplicaiei se alege Cumparari form:
62
63
64
Dup scrierea sumei CLIK pe Create i nregistrarea este nscris n baza de date i apare raportul:
Aici putem s facem eventuale modificri sau, dac totul este n regul, putem edita buletinul de
65
Aici, ca i la cumprri, alegem cursul zilnic, clientul existent sau introducem un client nou.
66
Cu CLIK dreapta putem s ne ntoarcem, s alegem sau s introducem un nou client i introducem suma.
67
Aici se vede cum acioneaz un fomular cu raport i un raport legat de acea pagin.
68
5.6 Rapoarte
5.6.1 Cursul zilnic.
Din meniul HOME se selecteaz Curs zilnic rap i apare:
5.6.2 Clienii.
Din meniul HOME selectm Clienti rap inter i apare:
69
70
Dup CLICK:
71
72
73
Se vd vnzrile.
5.6.4 Clieni cu cumprri.
Analog se pot vedea cumprrile fcute de un client. Din meniul HOME KLICK pe Clienti cu
cumprri :
74
Aici se vd cumprrile.
75
Bibliografie
[1] Connoly T., Begg C., Strachan A., Data base systems, ADDison Wesley, 1997
[2] Harrington J.L., Relational database design, AP Professional, 1998.
[3] Iacob P., Baze de date, Curs Univ. Transilvania Braov, 2003
[4] Iacob P., Access la purttor, Editura Lux Libris, 2007
76