Sunteți pe pagina 1din 18

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

Pentru administrator de baze de date


SQL Develeper nu este doar pentru dezvoltatori. Dela versiunea 3.0, Panoul DBa a furnizat
administratorilot de baze de date un set de interfete pentru sarcinile cele mai importante. SQL
Developer continua sa adauge si sa imbunatateasca caracteristicile pentr administratori. Astazi, panoul
DBA ofera suport pentru:

 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)

Monitorul automat de diagnosticare a bazelor de date analizeaza datele din repositoriul de


incarcare automata a incarcaturii (AWR) pentru a identifica potentialele blocaje de performanta. Pentru
fiecare problema identificata acesta localizeaza radacina problemei si ofera recomandari pentru
rezolvarea acesteia. Se efectueaza un task de analiza ADDM si constatarile si recomandarile se stocheaza
in baza de date de fiecare data cand se realizeaza un snapshopt AWR se realizeaza cu conditia ca
parametrul STATISTICS_LEVEL sa fie setat TYPICAL sau ALL. Analiza ADDM include urmatoarele:
 incarcarea CPU
 folosirea memoriei
 utilizare I/O
 resurse de SQL folosite intens
 resurse de PL\SQL si Java folosite intens
 probleme RAC
 problem legate de aplicatii
 probleme de configurare a bazei de date
 probleme de configurare a bazei de date
 probleme legate de executie

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 arhitectul de aplicatie si modelatorul de date


SQL Developer include o solutie completa de modelare a datelor cu Oracle SQL Developer Data
Modeler (SDDM) care ruleaza in interiorul aplicatiei (disponibila ca instalare independenta si gratuita).
Aceasta suporta:
 modelare dimensionala fizica, relationala si logica
 diagrame de fluxuri de date
 scripting DDL
 importarea din dictionare de date, scripturi DDL, repositoare Oracle Designer si ERwin
 repositorii de raportare
 versionarea designului prin Subversion
 compararea modelelor cu generarea de scripturi ALTER
 un utilitar puternic de cautare si raportare

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.

Migrarea bazei de date a tertilor


Puse la dispozitie anterior in Migration Workbench, Oracle SQL Developer este acum principala
platforma utilizata pentru migrarea bazelor de date ale tertilor la baza de date Oracle. Utilizatorii se pot
conecta la Access, SQL Server, Sybase ASE, DB2 sau Teradata si pot parcurge un proces profesional de
mutare a obiectelor din baza de date si a aplicatiilor catre Oracle.

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.

Aceasta va contine doua tabele Studenti si Specializari si cu ajutorul ei vom demonstra


capabilitatile toolului SQL Developer.

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.

Intrucat functia noastra Extract_students returneaza un set de inregistrari, parametrul de iesire


my_cursor a fost declarant de tip SYS_REFCURSOR. Pentru a extrage studentii de la o anumita
specializare am definit un select, iar datele returnate de acesta sunt salvate intr-un cursor.

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

Avantajele utilizarii vederilor

 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.

Pe langa capabilitatile de vizualizare a datelor toolul SQL Developer ofera posibilitatea


utilizatorului de a exporta intr-un fisier cu un format la alegere setul de date returnat de unul sau mai
multe selecturi. In urma selectului de mai jos se obtin numele tuturor angajatilor al caror salariu este
mai mare decat salariul mediu din fiecare department.
Dorim sa exportam datele obtinute intr-un fisier de tip pdf. Se observa ca formatul fisierului
exporta poate fi de mai multe tipuri: html, json, txt, xml, pdf.

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

S-ar putea să vă placă și