Documente Academic
Documente Profesional
Documente Cultură
CURS 1.
Instanta Oracle
Serverul Oracle este un sistem de gestiune a bazelor de date relaţionale şi
obiectual-relationale. El este produsul principal al firmei Oracle Corporation.
Un server Oracle consta dintr-o instant Oracle si o baza de date Oracle.
Folosirea unei baze de date:
pornirea unei instanţe Oracle,
montarea unei baze de date,
deschiderea unei baze de date.
După parcurgerea acestor etape, în memoria internă:
Structura fizica este formata din mai multe fisiere ale SO. Tipuri de
fisiere:
SQL*PLUS – mediu de executie mod text, aici exista mai multe comenzi
de editare.
iSQL*PLUS – prin folosire de aplicatii web. Se pot vizualiza parametrii
unei sesiuni de lucru
SQLDeveloper – aplicatie create in Java pt gestiunea Oracle,
SQLServer, MySQL, Access
Aplicatii proprii – create in php, java, .NET
DICTIONARUL BD contine:
Toate datele din dicţionarul bazei de date sunt memorate în spaţiul SYSTEM.
Modificarea datelor din dicţionar se poate face numai prin instrucţiuni SQL.
Un utilizator nu poate modifica altfel dicţionarul, deci aceste tabele sunt "read
only". Informaţiile din dicţionar se pot obţine prin anumite view-uri definite de
sistem.
ROLUL dictionarului:
Tipuri de date:
EXPRESII
CONVERSII:
CURSOR IN PL/SQL
Instrucţiunile SQL se execută în PL/SQL folosind anumite zone de lucru,
numite cursoare. Tipuri de cursoare:
Tipuri de colectii:
1. Definirea unui tip de data colectie (vector, tabel indexat sau tabel)
2. Declararea unei variabile de tipul de date ales
3. Pt un vector sau un tabel este necesar utilizarea unui constructor, care
coincide cu numele colectiei
Un scalar
Tipul unei variabile definite anterior
Tipul unei coloane
Tipul liniilor intr-un tabel sau cursor
O inregistrare
Un obiect
Un tip de colectie
Execuţia subprogramelor:
1. In PL/SQL:
o Funcţiile definite de utilizator se pot folosi în acelaşi mod ca
funcţiile sistem, într-o expresie, prin precizarea numelui şi a
eventualilor parametri
o Procedurile se execută prin nume şi prin precizarea valorilor
pentru eventualii parametri
Observaţie. Transferul valorii unui parametru se poate face prin:
o poziţie
o numeparametru=>valoare
o mixtă, unde eventualul transfer prin nume se face numai la sfârşit
2. In SQL*PLUS:
o Execute {apel_procedura | :variabila_legata := apel_functie}
[(parametri)];
o Begin
{apel_procedura | :variabila_legata := apel_functie} [(parametri)];
end;
3. In diverse limbaje de programare
Datele dintr-o BD Oracle trebuie să fie folosite în PHP, deci sunt necesare
corespondenţe între tipurile de date din Oracle (baza de date, PL/SQL) şi
PHP.
Datele de tipul CHAR, VARCHAR2 din Oracle se folosesc ca şiruri în
PHP
Datele de tipul NUMBER din Oracle se memorează ca şiruri în PHP.
Această situaţie are implicaţii în cazul în care trebuie efectuate calcule
la serverul Oracle. Este posibil ca la serverul web marca zecimală să fie
"," şi nu ".".
Datele de tipul DATE, TIMESTAMP, INTERVAL din Oracle se
memorează ca şiruri în PHP
Pentru datele de tipul BLOB, CLOB, BFILE din Oracle se
folosesc descriptori în PHP
Tipul XMLTypes se foloseşte ca şir de caractere sau LOB în PHP
Pentru colecţiile de tip tabel indexat din Oracle se poate
folosi array în PHP
Pentru colecţiile de tip vector sau tabel din Oracle se poate folosi
o resursă specială în PHP
Pentru a putea folosi în PHP valorile furnizate de parametrii de
tip cursor de subprogramele PL/SQL, se defineşte o resursă
corespunzătoare în PHP
Datele de tipul NCHAR, NVARCHAR2, NCLOB nu se pot folosi în PHP
Functii: