Extras din curs
Structured Query Language (SQL) este un limbaj universal care poate fi utilizat pentru a defini, interoga, reactualiza si gestiona baze de date relationale. SQL este accesibil utilizatorilor începatori, dar în acelasi timp poate oferi programatorilor experimentati facilitati deosebite. SQL este un limbaj non-procedural, adica se specifica ce informatie este solicitata, dar nu modul cum se obtine aceasta informatie. SQL poate fi utilizat autonom sau prin inserarea comenzilor sale într-un limbaj de programare. SQL a sistemului Oracle este o extensie a normei SQL89 si o implementare a normei SQL92.
În SQL se disting trei familii de comenzi:
• Comenzi pentru definirea datelor, care permit descrierea (definirea) obiectelor ce modeleaza sistemul studiat. Aceste comenzi definesc limbajul de definire a datelor (LDD).
• Comenzi pentru manipularea datelor, care permit consultarea, reactualizarea, suprimarea sau inserarea datelor. Aceste comenzi definesc limbajul de manipulare a datelor (LMD).
• Comenzi pentru controlul datelor, care permit asigurarea confidentialitatii si integritatii datelor, salvarea informatiei, realizarea fizica a modificarilor în baza de date, rezolvarea unor probleme de concurenta. Aceste comenzi definesc limbajul de control al datelor (LCD).
Sistemul impune anumite restrictii asupra identificatorilor.
• Numele unui obiect nu poate depasi 30 de caractere, cu exceptia numelui bazei de date care este limitat la 8 caractere si a numelui legaturii unei baze care poate ajunge la 128 caractere.
• Nu se face distinctie între litere mici si litere mari.
• Numele trebuie sa înceapa printr-un caracter alfabetic si nu poate fi un cuvânt cheie rezervat; poate sa contina literele mari si mici ale alfabetului englez, cifrele 0 - 9 si caracterele $, _, #.
• Un utilizator nu trebuie sa defineasca doua obiecte cu acelasi nume.
• În general este bine ca numele unui obiect sa fie descriptiv si fara prescurtari excesive.
Limbajul de definire a datelor
Limbajul de definire a datelor consta din acele instructiuni SQL (CREATE, ALTER, DROP) care permit crearea, modificarea si distrugerea obiectelor BD.
Principalele obiecte ce pot fi definite si manipulate în sistemul Oracle sunt urmatoarele: tabele (table), indecsi (index), secvente (sequence), vizualizari (view), proceduri (procedure), functii (function), pachete (package), declansatori (trigger), clisee (snapshot) etc.
Tipuri de date
Pentru memorarea datelor numerice, tipurile cele mai frecvent folosite sunt: NUMBER, INTEGER, FLOAT, DECIMAL.
Pentru memorarea sirurilor de caractere, cele mai frecvent tipuri de date utilizate sunt: CHAR, VARCHAR2 si LONG.
Exista restrictii referitoare la folosirea tipului de date LONG.
• Într-un tabel poate sa fie o singura coloana de tip LONG.
• Nu pot fi comparate doua siruri de caractere de tip LONG.
• O coloana de tip LONG nu poate fi parametru într-o procedura.
• O functie nu poate întoarce ca rezultat o valoare de tip LONG.
• O coloana de tip LONG nu poate fi folosita în clauzele WHERE, ORDER BY, GROUP BY, CONNECT.
• Operatorii sau functiile Oracle nu pot fi folositi în SQL pentru a modifica coloane de tip LONG.
• O coloana de tip LONG nu poate fi indexata.
Alte tipuri de date scalare furnizate de SQL sunt NCHAR si NVARCHAR2, folosite pentru reprezentarea caracterelor limbilor nationale.
Informatii relative la timp sau data calendaristica se obtin utilizând tipul DATE. Pentru fiecare data de tip DATE sunt depuse: secolul, anul, luna, ziua, ora, minutul, secunda. Pentru o coloana de tip DATE sistemul rezerva 7 bytes, indiferent daca se memoreaza doar timpul, sau doar data calendaristica.
Formatul implicit al datei se defineste cu ajutorul parametrului de initializare NLS_DATE_FORMAT. În general, acest parametru este setat la forma DD-MON-YY. Daca nu este specificat timpul, timpul implicit este 12:00:00.
În Oracle8, alaturi de aceste tipuri scalare, exista si tipuri de date LOB (Large Objects), care specifica locatia unor obiecte de dimensiuni mari.
Preview document
Conținut arhivă zip
- Baze de Date SQL.doc