CATEGORII DOCUMENTE |
Standardul
SQL3 (SQL ’98) defineste modelul obiect-relational de baze de date.
Structura sintactica: limbajul este compus din instructiuni (comenzi). O
comanda SQL este o secventa de elemente componente (token). Elementele
componente pot fi: cuvinte cheie, identificatori, caractere speciale si
constante (literali).
Acestia au o structura lexicala
identica. Lexical, un cuvant cheie sau un identificator inseamna o secventa de
litere si caracterul ‘_’.
Din punct de vedere semantic, cuvintele cheie sunt elemente cu semnificatie
fixa in limbaj:
nume de comenzi (clauze): SELECT, INSERT, etc;
tipuri de date: integer, numeric, char,
varchar, etc.
Limbajul SQL nu diferentiaza caracterele mari de cele mici: este case
insensitive.
Identificatorii au aceeasi structura lexicala; din punct de vedere semantic
reprezinta nume intr-o comanda si pot fi: nume de tabele, de coloane, etc. SQL
foloseste termenii de tabel, coloana si linie pentru relatie, atribut si tuplu
(cei subliniati sunt cei folositi in definirea matematica a modelului relational).
Identificatorii sunt:
obisnuiti (simpli): Sectie, ANGAJAT, etc;
delimitati: reprezinta un nume pus intre
ghilimele, care poate sa contina orice fel de caractere. Un identificator
delimitat este folosit, in general, un nume mai mare de tabel.
Cuvintele cheie si identificatorii nu pot fi deosebiti intre ei decat daca
cunoastem limbajul.
Constantele pot fi:
de tip numar intreg: ex 1234 (reprezentate pe 4 octeti);
de tip numar real: ex 12.5, 12e5 (reprezentate de 8 octeti, in formatul double);
de tip sir de caractere: ex “Acesta este un sir”;
de tip NULL: constanta speciala, reprezinta
lipsa de informatie.
operatori (+,-,…);
“;” termina o comanda;
punctul zecimal (constante reale, codificari ale coloanelor);
separatorii: blank, TAB, CR ; sunt ceruti
uneori intre elemente.
Operatorii SQL: pot fi reprezentati
prin unul sau mai multe caractere speciale (+, <,…) sau prin cuvinte cheie
(AND, OR, NOT, UNION).
Operatorii pot fi clasificati:
operatori binari: au nevoie de doi operanzi;
operatori unari: se aplica unui singur
operand si pot fi postfixe sau prefixe.
Operatori:
aritmetici: +, -, <, <=, <> (!=);
logici: AND, OR, NOT.
Operatorii logici se aplica asupra unor valori ternare (o valoare ce reprezinta
un operand ce poate avea valoare TRUE (1), FALSE (0) si NULL (lipsa de
informatie)).
Nu exista tipul de date boolean asupra caruia sa se aplice operatorii
logici dar operatorii de comparatie returneaza o valoare booleana.
Operatorii de comparatie evalueaza orice expresie la o valoare logica (bool):
TRUE, FALSE. Tipul boolean exista insa incepand din SQL3. Operatorii de
comparatie pot fi:
O expresie SQL este o expresie formata din operanzi, operatori si paranteze.
Operatorii, in general, sunt nume de coloane (se va folosi valoare atributului
definit de acea coloana) sau o constanta.
Orice expresie se evalueaza la o valoare care poate fi apoi folosita in alte
operatii.
Functiile SQL:
functii totalizatoare (de grupare): calculeaza anumite valori pentru coloane din tabele: SUM, AVE, MIN, MAX, …;
functii matematice: calcule trigonometrice, puteri, logaritmi, rotunjiri;
functii pentru siruri;
functii pentru date calendaristice;
functii pentru conversii.
Tipurile de date(SQL2): sunt destul de putine:
NUMERIC reprezinta cu o
precizie si scala stabilita de implementarea limbajului: Numeric(3)=precizie 3;
Numeric(7,3)=precizie 7; scala 3;
Numerele in acest format sunt memorate ca secventa de cifre, iar atunci cand se
opereaza cu ele, precizia de calcul este mult mai mare decat la cele in virgula
flotanta;
Domenii de definitie: SQL nu asigura exact notiunea matematica. In SQL2 se folosesc ca domenii ale atributelor tipurile fundamentale ale limbajului. Ceea ce lipseste la o astfel de definitie este semantica (intelesul).
SQL este foarte sarac in precizarea semanticii domeniilor folosite pentru atribute.
Exista doua tipuri de comenzi:
SQL asigura toate operatiile care se considera necesare intr-o baza de date.
Vederile permit restrictionari diferentiate ale drepturilor utilizatorilor. Vederile sunt intotdeauna la zi, o modificare in tabelul de baza se vede si in vedere.
Definirea vederilor reprezinta o imixtiune a nivelului utilizator in nivelul conceptual.
3. CREATE TABLE nume_tabel(
nume_col1 tip_date [constrangeri_coloana],
nume_col2 tip_date [constrangeri_coloana],
…
nume_coln tip_date [constrangeri_coloana]);
Obs:
Ex:
Sectie (Numar, Nume, Buget);
Angajat(Nume, Prenume, Data Nasterii, Adresa, Functia, Salariul)
CREATE TABLE sectie(
Numar integer,
Nume varchar(20),
Buget numeric(12,2));
CREATE TABLE angajat(
Nume varchar(20),
Prenume varchar(20),
DataNasterii DATE,
Adresa varchar(20),
Salariul numeric(6,2));
4. DROP TABLE nume_tabel;
Sterge complet tabelul
5. ALTER TABLE nume_tabel……
Se pot sterge coloane, se pot adauga coloane, etc.
6. CREATE VIEW nume_vedere AS SELECT….
Rezultatul selectiei reprezinta vederea respectiva.
7. DROP VIEW nume_vedere;
Sterge complet vederea.
0. SELECT
, cea mai importanta comanda de manipulare a datelor. Reprezinta comanda de interogare de baza de date. Este o instructiune foarte puternica, folosita si in alte scopuri nu numai pentru interogare.
SELECT [DISTINCT] lista_coloane FROM lista_tabele WHERE conditie [clauze_secundare];
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1422
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved