Baza de date SQL referat




SQL este acronimul de la Structural Query Language.Este limbajul standard pentru accesarea sistemelor de gestiune a bazelor de date relaţionale (SGBDR).SQL este folosit pentru a stoca şi regăsi datele în şi dintr-o bază de date.Este utilizat în sisteme de baze de date cum sunt MySQL , Oracle, Microsoft SQL Server şi altele.
SQL conţine atât facilităţi de descriere a datelor (DDL) cât şi facilităţi de manipulare a datelor (DML) .


Inserarea datelor în baza de date

Instrucţiunea INSERT se poate folosi pentru a introduce linii în baza de date.
Operatorul SQL pentru inserare este INSERT INTO şi prezintă două variante :
- inserare simplă : pentru inserarea unei tuple individuale
- inserare multiplă : pentru inserarea mai multor tuple

Comanda pentru inserare simplă are sintaxa :

INSERT INTO nume_relaţie (nume_atribut.)
VALUES (valoare.)
Între valori şi numele de atribute trebuie şa existe o corespondenţă unu la unu.Pentru atributele care acceptă valoarea NULL specificarea unei valori în comanda de inserare este opţională.Acestea vor fi omise din lista de atribute şi vor lua implicit valoarea NULL, eventual, urmând a fi modificate ulterior când valorile lor vor fi cunoscute.Valorile din lista de valori pot fi ori literale , ori expresii aritmetice.




Comanda pentru inserare multiplă are sintaxa :

INSERT INTO nume_relaţie(nume_atribut.)
construcţie_SELECT
şi permite adăugarea la relaţia specificată a unei mulţimi de tuple (relaţie) care se obţine ca rezultat al unei construcţii SELECT.

Actualizarea înregistrărilor din baza de date

Update este instrucţiunea care permite actualizarea înregistrărilor unei baze de date .
Forma obişnuită a unei instrucţiuni UPDATE este :

UPDATE nume_tabela
SET colona1 = expresie1 , coloana2 = expresie2, .
[WHERE condiţie]
[LIMIT număr]

Operatorul SQL de actualizare îndeplineşte două funcţii :

 selectează prin condiţia de căutare din clauza WHERE tuplele care urmează a fi actualizate (în lipsa clauzei WHERE se actualizează implicit toate tuplele relaţiei specificate).
 În tuplele selectate modifică valorile atributelor specificate.Expresiile de actualizare pot conţine : constante , nume de atribute , valoarea NULL sau expresii aritmetice construite cu acestea.


Ştergerea de înregistrări din baza de date

Operatorul SQL pentru efectuarea operaţiilor de ştergere este DELETE FROM a cărui sintaxă completă este :

DELETE FROM nume_relaţie
[WHERE calificator ]


Formularea interogărilor în limbajul SQL

Instrumentul de bază al SQL este instrucţiunea SELECT.Este folosită pentru a regăsi datele dintr-o bază de date prin selectarea acelor linii din tabelă care corespund criteriului specificat.Forma de bază a instrucţiunii SELECT este :

SELECT [DISTINCT] nume_atribut1 nume_atribut2 .
FROM nume_relaţie ..
[WHERE calificator1] ..
[GROUP BY nume_atribut2...
[HAVING calificator2]]
[ORDER BY nume_atribut3 [ASC|DESC].]

Se pot specifica oricâte coloane din tabelă prin trecerea lor după cuvântul cheie SELECT.De asemenea se pot specifica şi alte elemente.Un element foarte util este operatorul de înlocuire * , care specifică toate coloanele din tabela sau tabelele specificate.
-valoarea ( valorile) corespunzătoare parametrului ( parametrilor) nume_atribut1 . precizează în mod explicit atributele după care se face selecţia.Dacă există ambiguităţi referitor la relaţiile din care fac parte atributele specificate , atunci acestea vor fi precedate de numele relaţiei corespunzătoare.
Dacă există ambiguităţi referitor la relaţiile din care fac parte atributele specificate , atunci acestea vor fi precedate de numele relaţiei corespunzătoare.
- în lipsa operatorului opţional DISTINCT selecţia se face fără eliminarea duplicatelor , iar dacă acesta apare , atunci se elimină eventualele duplicate rezultate în urma operaţiei de selecţie
- în cazul cel mai general, parametrul nume¬_atribut1 poate fi o expresie aritmetică combinând atribute şi/sau funcţii de agregare având ca operanzi unul sau mai multe atribute
- parametrul calificator1 precizează criteriul de selecţie al tuplelor unei relaţii
- clauza GROUP BY are ca efect gruparea tuplelor unei relaţii pe baza valorilor unui atribut sau grup de atribute.Parametrul nume_atribut2 furnizează criteriul de grupare al tuplelor unei relaţii în submulţimi de tuple , toate avînd aceeaşi valoare pentru atributul (atributele) nume_atribut2.Criteriul de grupare este format din unul sau mai multe atribute.
- clauza HAVING , opţiune a clauzei GROUP BY, este o formă specială a clauzei WHERE caracterizată prin faptul că se aplică nu unor tuple individuale , ci unor submulţimi (grupuri) de tuple , rezultate ca urmare a selecţiei făcute prin clauza GROUP BY.
- clauza ORDER BY specifică ordonarea tuplelor unei relaţii rezultat după valorile parametrului nume¬_atribut3, iar cuvintele ASC şi DESC indică modul în care se face ordonarea .

Definirea datelor în SQL

Teoretic , comenzile pentru definirea datelor fac parte din modulul corespunzător componentei DDL al SGBD-ului.Totuşi , în majoritatea implementărilor SQL comenzile de definire a datelor sunt prelucrate de acelaşi interpretor care rezolvă interogările şi celelalte operaţii de manipulare a datelor prezentate mai sus.Aşadar , componentele DML şi DDL ale SGBD-ului sunt implementate prin acelaşi modul software.

Crearea / ştergerea tabelelor (relaţiilor)

Definirea unei relaţii se poate face prin comanda CREATE TABLE.Relaţiile definite prin această comandă sunt numite relaţii de bază.Definiţia acestor relaţii este automat memorată într-un dicţionar de date numit şi catalogul sistem.
Sintaxa comenzii pentru definirea relaţiilor este :

CREATE TABLE nume_relaţie ( nume_atribut1 tip_dată [NOT NULL]
[, nume_atribut2 tip_dată [NOT NULL]].)
Comanda specifică numele relaţiei care se creează precum şi una sau mai multe descrieri de atribute.Descrierea fiecăru atribut specifică numele atributului şi tipu de dată corespunzător (CHAR, INTEGER etc.) împreună cu dimensiunea asociată.

Comanda simetrică celei de creare a unei relaţii este DROP TABLE care are ca efect eliminarea din catalogul sistem a relaţiei specificate.După executarea acestei comenzi nu se mai pot face nici un fel de referiri la relaţia în cauză , descrierea acesteia împreună cu informaţiile conţinute fiind şterse.Sintaxa comenzii este :

DROP TABLE nume_relaţie

Funcţii de agregare

Funcţiile de agregare efectuează un anumit calcul asupra unui set de valori şi returnează ca rezultat o singură valoare.Funcţiile de agregare sunt adesea folosite împreună cu clauza GROUP BY pentru a calcula valori agregate la nivelul grupurilor de tuple.Principalele funcţii de agregare disponibile în SQL Server sunt :

Sintaxa Semnificaţie
AVG([ALL | DISTINCT] expresie numerică) media valorilor unui grup
COUNT({[ALL | DISTINCT] expresie }|*)) numărul de elemente ale unui grup
MAX([ALL | DISTINCT ] expresie maximul dintr-un grup de valori
MIN([ALL | DISTINCT ] expresie minimul dintr-un grup de valori
SUM([ALL | DISTINCT] expresie_numerică) suma valorilor unui grup
STDEV(expresie_numerică) returnează deviaţia standard pentru valorile expresiei dată ca argument
STDEVP(expresie_numerică) returnează deviaţia standard pentru populaţia tuturor valorilor expresiei dată ca argument
VAR(expresie_numerică) returnează variaţia statistică pentru valorile expresiei dată ca argument
VARP(expresie_numerică) returnează variaţia statistică pentru populaţia tuturor valorilor expresiei dată ca argument