|
Un sistem de management al bazei de date necesita un limbaj de interogare pentru a permite utilizatorului sa acceseze datele. SQL (limbaj de interogare structurata) este limbajul utilizat de majoritatea sistemelor de baza de date relational.
Limbajul SQL a fost dezvoltat intr-un prototip de sistem de management a bazelor de date relationale - System R -de IBM la mijlocul anilor 1970.In 1979, Corporatia Oracle introduce prima implementare a SQL in varianta comerciala.
SQL este prezentat in limba engleza. Foloseste cuvintele select, insert,delete ca parti ale setului de comenzi.
SQL este un limbaj neprocedural :specifica ce informatii doresti,nu cum sa le obtii.Cu alte cuvinte SQL nu iti cere sa specifici metoda de acces la date.Toate cererile SQL folosesc optimizarea cererilor- o parte a RDBMS- pentru a determina rapid remedierea datelor specifi- cate.Aceste trasaturi usureaza obtinerea rezultatelor dorite.
Procesarea SQL asupra inregistrarilor nu se poate face decit asupra unei singure inregistrari la un moment dat.Cea mai comuna forma a unui set de inregistrari este un tabel.
SQL poate fi folosit de un sir de utilizatori incluzand DBA, programatori de aplicatii ,personal de management si multe alte tipuri de utilizatori.
SQL pune la dispozitie comenzi pentru o varietate de tascuri incluzand:
o date interogate
o inserarea,extragerea si stergerea rindurilor intr-un tabel.
o crearea,modificarea si stergerea obiectelor de tip baza de date
o controlul accesului la baza de date si la obiectele de tip baza de date.
o garantarea consistentei bazei de date
La inceput sistemele de management a bazei de date a utilizat un limbaj separat pentru fiecare categorie in parte.SQL le-a unificat pe toate acestea intr-un singur limbaj.
SQL a devenit un limbaj standard industrial pentru bazele de date relatio- nale . Institutul National American de Standarde(ANSI) a adoptat SQL ca limbaj standard pentru RDBMS in anul 1986.Organizatia Internationala de Standarde (ISO) a adoptat deasemenea SQL ca limbaj standard pentru RDBMS.Toate RDBMS-urile suporta unele forme de SQL si toti vinzatorii de RDBMS intentioneaza sa se alinieze la standardele ANSI.
SELECT - este comanda cea mai utilizata ; este folosita pentru obtinerea datelor din bazele de date
INSERT - aceste trei comenzi sunt utilizate pentru a introduce noi
UPDATE - rinduri,pentru a schimba rindurile existente si stergerea
DELETE - rindurilor nedorite din tabelele bazelor de date respective. (Ele sunt cunoscute in ansamblu ca DML sau comenzi ale limbajului de manipulare a datelor.)
CREATE - aceste trei comenzi sunt utilizate dinamic pentru a crea ,
ALTER - utiliza si sterge orice structura de date,de exemplu,tabele,
DROP -expuneri ,indecsi.(Ele sunt cunoscute sub numele colectiv DDL sau comenzi ale limbajelor de definire a datelor).
GRANT - aceste doua comenzi sunt utilizate pentru a da sau a lua
REVOKE - drepturile de acces pentru bazele de date si structurile din Oracle.
N.B. Acestea sunt o parte a comenzilor SQL. Pentru o lista mai completa de comenzi se recomanda - Manualul de Referinta a Limbajului SQL- .
Cand scriem comenzi SQL ,este important sa ne reamintim cateva reguli simple pentru construirea unor declaratii valide care sunt si usor de citit si de editat:
Comenzile SQL pot fi pe una sau mai multe linii.
Clauzele sunt uzual plasate pe linii separate.
Tabelarea poate fi folosita.
Cuvintele de comanda nu pot fi separate pe mai multe linii.
Comenzile SQL nu sunt 'case sensitive'.
O comanda SQL este introdusa la promptul SQL si liniile subsecventelor sunt numarate.
O singura declaratie poate fi considerata curenta cat timp ea este in buffer si poate fi rulata intr-un numar de moduri :
o plasand un punct si virgula(;) la sfarsitul ultimei clauze.
o plasand un punct si virgula /slash la ultima linie in buffer.
o plasand un slash(/) la promptul SQL.
o scriind un R[UN] (comanda SQL) la promptul SQL.
Aceasta sectiune explica cum sa ne logam la SQL*Plus si liniile de iesire ale tipurilor de comenzi ce pot rezulta in cadrul sau.
SQL*Plus este un program scris de Corporatia Oracle,ce produce un mediu pentru comenzile SQL ce pot fi tastate direct sau rulate dintr-un fisier de comanda. In plus, comenzile SQL pot fi derivate. Ele sunt folosite pentru:
formatarea rezultatelor
setarea optiunilor
editarea si stocarea declaratiilor SQL
Odata ce v-ati logat la sistemul vostru de operare,sunt 3 moduri pentru a va loga la SQL*Plus:
1. SQLPLUS
o Veti vedea dupa aceasta un mesaj ca acesta:
o SQL*Plus: Version 3.1.1 Production on Mon Oct 4 1993 Copyright (c) 1992,Oracle Corporation,California,USA. All rights reserved. Enter Username:
o Introduceti numele vostru de user si apasati RETURN: SQL*Plus va afisa promptul :'Enter Password:'. Introduceti parola voastra si apasati din nou RETURN.
o Pentru protectia voastra ,parola nu va apare pe ecran. SQL*Plus va afisa promptul sau: SQL>
o Aceasta indica linia de comanda .Acolo sunt doua feluri de comenzi si puteti introduce pe acesta linie de comanda:comenzi SQL sau comenzi SQL*Plus.
2. SQLPLUS username
o Veti fi indemnati sa va dati parola.
3. SQLPLUS username/password
o Veti fi logati la SQL*Plus.In acest caz parolz v a fi afisata.
Alegeti metoda pe care o preferati.
Cand veti introduce o comanda SQL,aceasta este stocata intr-o zona de memorie utilizata de buferul SQL si ramane acolo pana ce veti introduce o noua comanda.
Daca apasati [RETURN] inainte de a completa o comanda,SQL*Plus va afisa un numar de linie.
Terminatorul pentru declaratiile SQL este un ';'.
Cat timp declaratia SQL este in bufer,sunt cateva operatii de editare directe care pot fi executate utilizand comenzi SQL*Plus:
Comanda Abrevierea ROL
-------- ----- ------ -------- ----- ------ ----
APPEND textA text adauga 'text' la sfarsitul liniei curente.
CHANGE C/old/new schimba vechiul text cu noul text in
linia curenta.
CHANGE C/text/ sterge 'text'-ul din linia curenta
CLEAR BUFFERCL BUFFsterge toate liniile din buferul SQL.
DEL sterge linia curenta.
INPUTI insereaza un numar nedefinit de linii.
INPUTI text insereaza o linie constituita din 'text'-ul
respectiv
LIST Llisteaza toate liniile din buferul SQL.
LIST n Ln listeaza o linie (specificata de n)
LIST m, n L m n listeaza un numar de linii(de la m la n).
RUNRafiseaza si executa comanda SQL
curenta din buffer.
/ executa comanda SQL care este
curenta in bufer.
Comenzile SQL (precum SELECT) sunt mijloace de acces la date prin kernelul Oracle.Comenzile SQL sunt utilizate in special pentru controlul mediului, formatarea rezultatelor interogarilor si controlul fisierelor.Comenzile identificate aici sunt amestecate si trebuie sa le folositi in urmatoarele exercitii.
Comenzile SQL sunt introduse la promptul SQL> pe o linie ,ele nu vor deschide un buffer.
SAVE numefis - permite salvarea intr-un fisier a continutului buferului SQL.
GET numefis - incarca continutul unui fisier salvat in prealabil in buffer.
START numefis - ruleaza un fisier de comanda salvat in prealabil. Fisierele de comanda sunt tratate in capitolul 10.
ED numefis - utilizeaza un editor de default pentru a edita continutul unui fisier salvat.
EXIT - paraseste SQL*Plus.