Oracle SQL Developer
Oracle SQL Developer
SQL Developer este IDE-ul bazei de date Oracle. Fiind o interfata grafica destinata utilizatorilor,
Oracle SQL Developer permite acestora si administratorilor sa isi indeplineasca sarcinile legate de
bazade date doar cu cateva clickuri si taste. Obiectivul pricipal al acestui program este de a ajuta
utilizatorilor sa econoiseasca timp si sa maximizeze rentabilitatea investitiei in stivele de tehnologie ale
bazei de date Oracle.
SQL Developer suporta bazele de date ORacle 10g,11g si 12c si functioneaza pe orice sistem de
operare care suporta Java.
Pentru dezvoltatori
SQL Developer ofera editori pentru lucrul cu SQL, PL/SQL, proceduri stocate Java si XML. Se pot
rula queriuri, genera planuri de executie, exporta date in diferite formate (XML, Excel, HTML, PDF etc),
executa, depana, testa si documenta
Data Pump
Managerul de recuperare (RMAN)
Audit Oracle
Managementul userilor si rolurilor
Gestionarea depozitului, inclusiv capacitatea de a adauga spatiu in tabele
Manager de resurse
Caracteriscile pachetului de diagnosticare:
- snapshot
- linii de referinta
- ADDM (Automatic Database Diagnostic Monitor)
- ASH (Active Session History)
- AWR (Automatic Workload Repository)
Caracteristici AWR
AWR (Automatic Workload Repository) este folosit pentru a colecta statistici de performanta
care includ:
evenimente de asteptare folosite pentru a identifica problem de performanta
statistici realizate in timp care indica cantitatea de timp asociata unui proces din view-urile
V$SESS_TIME_MODEL si V$SYS_TIME_MODEL
statistici ale istoricului sesiunii active (ASH) din view-ul V$ACTIVE_SESSION_HISTORY
statistici de sistem si sesiune din view-urile V$SYSSTAT si V$SESSTAT
statistici ale utilizarii obiectelor
instructiuni sql cu utilizare intensiva
Pentru devoltatorii de aplicatii web si administratorii de baze de date, SQL Developer permite
administrarea Oracle Rest Data Services si pentru crearea si modificarea serviciilor RESTful.
Oracle SQL Developer se integreaza cu Oracle APEX, permitant rasfoirea prin aplicatii si
efectuarea altor activitari Application Express. Cu acest program poti rasfoi, exporta, importa, arunca
sau implementa aplicatii. Exista o selectie de rapoarte Application Express si se pot crea si rapoarte
personalizate.
Principalele caracteristici
Mai jos sunt enumerate principalele caracterstici ale programului SQL Developer
creare de conexiuni
rasfoire obiecte
creare de obiecte
modificare obiecte
interogare si actualizare date
export de date si DDL si import de date
copiere si comparare
comenzi de proces
editare PL\SQL
rulare si depanare PL\SQL
rulare si creare rapoarte
testarera unitara pentru PL\SQ
mod de vizualiare al datelor
migrarea din baze de date terte
versionare visiere
Aplicatie practica
Pentru acest proiect am creat o noua baza de date (prioiect_ici) cu ajutorul programului
Database Configuration Assistant.
Pentru a ne conecta la baza de date am creat userul “proiect” si i-am acordat drepturi pentru a
executa orice fel de operatiune pe baza de date (select, creare de functii si proceduri, insert, update).
Urmatorul pas a fost crearea unei conexiuni la baza de date cu ajutorul programului SQL
Developer. Pentru a realiza conexiunea trebuie sa se completeze urmatoarele campuri: numele
conexiunii(ICI-PROIECT), username(proiect), parola(123456), hostname(localhost), SID(identificator unic
pentru o baza de date dintr-un sistem) si port. SID-ul si portul se gasesc in fisierul TSNAMES.ORA. In plus,
cu ajutorul butonului Test putem vedea daca o conexiune este valida sau nu.
Dupa crearea bazei de date urmeaza sa cream cele doua tabele: Studenti si Specalizari. Acest tool ne
permite adaugarea de coloane folosind un singur buton (fara folosirea unei sintaxe sql). Pentru fiecare
coloana putem define carateristicile (nume, tip de date, dimensiune, posibilitatea de a restrictionare a
utilizatorului sa nu introduca campuri vide sau adaugarea unei valori default).
Cheia primara este un câmp care identifică în mod unic înregistrările unei tabele. De exemplu,
putem avea două persoane cu acelaşi nume, dar ele se identifică în mod unic prin ID.
Cheia secundară este formată dintr-unul sau mai multe cîmpuri dintr-un tabel, care sunt folosite
ca o cheie primară în alt tabel, valorile cîmpurilor din cheie fiind identice în ambele tabele. Se mai
numeşte şi cheie străină. Într-un tabel pot exista mai multe chei secundare. O cheie externă conţine
valorile care corespund valorilor din cheia primară a altui tabel. In cazul nostru, cheia straina
(Studenti_FK1) definite pe coloana Specializare_ID din tabela Studenti face legatura cu tabela
Specializari (coloana de referinta fiind Specializare_ID).
Pentru fiecare tabela am abordat cate o modalitate diferita de a le popula cu date. Prima
varianta consta in incarcarea unui script sql care contine date pe care le dorim in tabela Studenti.
Pentru a incarca scriptul inserare_studenti.sql se apasa pe tabul File->Open->Selectare fisier. In acest
moment pe ecran va aparea codul din figura de mai jos. Codul are rolul de a introduce pentru fiecare
student ID-ul, Numele si Prenumele si ID_Specializare la acare este inscris. Atunci cand introducem valori
in tabela trebuie sa se respecte ordinea coloanele tabelei create.
Pentru ca datele sa ramana in tabela trebuia ca la sfarstitul scriptului sa exista instructiunea
COMMIT si dupa aceea trebuie apasat butonul Run Script.
Cealalta varianta de introducere a datelor in tabela consta in folosirea butonului Row si tastarea
in interfata grafica a datelor coloana cu coloana.
Functiile sint folosite pentru manipularea datelor.Ele accepta unul sau mai multe argumente si
intorc o valoare.Un argument este o constanta , variabila sau o referire de coloana.Formatul pentru
functie este urmatorul: function_name(arg1,arg2,...).
Am creat o functie care are un singur parametru de intrare, Specializare, care e de tip number.
Utilizatorul trebuie sa introduca un numar de la 1 la 5, in functie de specializarea dorita. Daca se doreste
sa se extraga studentii de la TST se va tasta 1. Pentru crearea unei functii se da click dreapta pe
Function->New. Se deschide o fereastra in care putem defini numele functiei, tipul returnat si mai
putem define si parametrii (in functie de optiunea aleasa in tabul mod putem declara parametrii de
intrare/iesire).
In urma completarii acestor campuri se genereaza un cod sql care reprezinta scheletul functiei
pe care urmeaza sa o construim.
Cursoarele sunt structuri care permit utilizatorului sa denumeasca o zona privata de memorie
care urmeaza sa pastreze o anumita instructiune, în vederea utilizarii ei ulterioare. Functia noastra
returneaza chiar datele care sunt stocate in my_cursor.
Pentru a rula functia extract_students apasam butonul Run. In urma acestei actiuni va aparea pe
ecran o fereastra in care trebuie sa introducem parametrul de intrare, un numar de la 1 la 5, care
reprezinta specializarea dorita.
1-TST
2-RST
3-ELA
4-MON
5-CTI
In figura de mai jos am rulat functia pentru a extrage studentii de la specializarea MON. Valorile
returnate se gasesc in tabul Output Variables.
Indecsii sunt niste obiecte de tip schema care imbunatatesc timpul de cautare si access la
inregistrarile din baza de date. Indecsii sunt creati in mod explicit sau automat in anumite conditii. In
cazul in care se fac cautari frecvente in tabela pe baza numelor studentilor este utila declararea unui
index (index_alfabetic) pe aceasta coloana, care sa sorteze numele in ordine ascendenta. Astfel se
scurteaza timpul de cautare printer inregistrarile bazei de date.
In poza de mai jos sunt afisati toti indecsii prezenti pe aceasta baza de date. Indecsii
SPECIALIARIi_PK si STUDENTI_PK sunt indecsi impliciti. Primul este definit pe coloana Specializare_ID si
ordoneaza datele ascendant, iar cel de-al doiea este definit pe coloana ID.
O vedere este o tabela logica care extrage date dintr-o tabela propriu-zisa sau dintr-o alta
vedere. O vedere nu are date proprii, ci este ca o fereastra prin care datele din tabele pot fi actualizate
sau vizualizate. O vedere poate sa contina toate datele dintr-o tabela (sau mai multe) sau anumite
coloane.
Vederile se folosesc pentru ca ofera :
Acces restrictionat la date (vederile pot selectiona anumite coloane dintr-o tabela)
Posibilitatea lucrarii cu interogari complexe
Independenta datelor
Posibilitatea prezentarii de date identice in diferite vederi
Vederile pot fi folosite in cereri SQL simple cand de fapt ele intorc rezultatul unor cereri SQL
complexe. Deci putem utiliza vederile in interogarea mai multor tabele fara a stii ce este un join
de tabele.
O vedere poate fi folosita pentru a obtine date din mai multe tabele
Vederile ofere drepturi de acces pentru grupuri de utilizatori
In figurile de mai jos este prezentata crearea unui view care extrage numele si prenumele
studentilor de la specializarile RST si TST. In interiorul acestui view s-a folosit un select in select
(subquery). Selectul din interior extrage din tabela Specializari ID-urile 1 si 2 corespunzatoare
specializarilor RST si TST. Aceste ID-uri sunt folosite in conditia WHERE si se extrag din tabela Studenti
numele complete ale celor care au Specializare_ID egal cu 1 sau 2.
Mai jost este prezentat continului view-ului definit.
Acest tool ofera o alternative pentru care in care avem dificultati in a scfie cod sql. Utilizatorul
are la dispozitie o interfata grafica in care poate selecta coloanele pe care le doreste, poae impune ca
datele returnate sa fie sortate dupa anumite coloane si intr-o anumita ordine si tina cont de anumite
criterii (salariul sa fie mai mare decat salariul mediu)
Mai jos se observa codul generat in urma acestor actiuni realizate in interfata grafica.
De asemenea SQL Developer ofera si posibilitatea vizualizarii diagramei relationale a tabelelor
bazei de date. Legaturile dintre tabele sunt simbolizate cu ajutorul unor sageti care reprezinta relatia
cheie straina-cheie primara.
Pentru o mai buna interpretare a datelor din tabele putem realiza de asemenea si grafice. La
crearea unui nou raport se deschide o fereasta in care trebuie completat numele raportului, tipul (chart,
table, gauge, code, script), selectata conexiunea cu baza de date si adaugat codul sql care genereaza
datele reprezentate in grafic. Exemplu de mai jos extrage numarul de tari din fiecare regiune: Europa,
Asia, America, Estul Mijlociu si Africa.
Pentru setari mai amanuntite selectam Property. Aici putem defini modul in care sunt utilizate
datele, titlul graficului, numele axelor de coordinate si putem vizualiza un preview al rezultatului.
Rezultatul final