Limbajul SQL

Previzualizare curs:

Extras din curs:

I.1 Limbajul de programare Access SQL1

Limbajul de programare Access SQL sau mai precis Microsoft Jet SQL (prescurtat SQL) este

limbajul folosit în aplicatiile Access pentru descrierea cererilor.

El este derivat din standardul ANSI SQL-1989 (nivelul 1).

SQL este un limbaj de programare formal, neprocedural. În acesta o actiune (program) nu este

exprimata procedural printr-un algoritm ci printr-o descriere a acesteia (prin fraze).

SQL este de asemenea un limbaj de programare relational. În SQL actiunile sunt descrise prin

intermediul unor operatii de algebra relationala efectuate pe multimi, reprezentate de tabele. În felul

acesta, în SQL, accesarea si prelucrarea tabelelor se face la nivel global si nu prin intermediul

parcurgerii pas cu pas a înregistrarilor acestora (acest lucru se poate însa face prin intermediul colectiei

de obiecte Recordsets din modelul DAO).

I.1.1 Instructiuni (fraze) SQL2

O cerere este descrisa printr-un program SQL. Acesta este format din una sau mai multe

instructiuni (fraze) SQL (de obicei numai din una).

Din punctul de vedere al sintaxei o instructiune SQL este formata din cuvinte cheie (ca separator

se foloseste caracterul spatiu) si liste (în care separatorul este caracterul virgula). Caracterul care se

pune la sfârsitul unei instructiuni SQL este punct si virgula (;).

O instructiune SQL este formata din una sau mai multe comenzi SQL. O comanda descrie o

actiune efectuata printr-o cerere.

Comenzilor SQL le sunt atasate clauze, prin care se definesc anumite conditii specifice de

executie a acestora.

Atât comenzile cât si clauzele sunt configurate prin definirea unor parametri. Acestia pot fi:

− liste de obiecte Access (de exemplu: câmpuri sau tabele);

− expresii Access;

− optiuni de executie (predicate);

− operatori SQL între termenii listelor (sau chiar între comenzi sau clauze);

I.1.2 Descrierea prin instructiuni SQL a cererilor3

I.1.2.1 Cererea Select

O cerere Select este definita printr-o instructiune care contine comanda SELECT. Forma

acestei instructiuni este:

SELECT [{ALL | TOP nr. [PERCENT]}]

[{ DISTINCT | DISTINCTROW}]

lista_câmpuri

FROM lista_tabele

[WHERE conditie]

[GROUP BY lista_câmpuri]

[HAVING conditie]

[ORDER BY lista_ câmpuri];

1 De obicei, realizarea aplicatiilor Access nu necesita cunoasterea limbajului de programare SQL.

În acest capitol sunt prezentate câteva dintre elementele de baza ale limbajului SQL.

2 Expresiile SQL respecta regulile prezentate în Cap. II-6.

3 Conventii de scriere utilizate:

− parantezele drepte: specifica optional;

− acoladele: specifica alegerea unei optiuni din mai multe;

− caracterul | - se foloseste pentru a separa optiunile;

− sublinierea - se foloseste pentru a specifica: implicit;

Comanda SELECT - defineste o cerere de selectie. Argumentul acesteia este stabilit de o lista de

câmpuri si doua predicate.

- Lista de câmpuri - reprezinta practic câmpurile din rândul Field, din formularul de proiectare

QBE care au bifata optiunea Show (proiectia subschemei unei cereri, adica câmpurile

selectionate pentru iesirea cererii). În aceasta se poate:

− folosi clauza AS, pentru a specifica numele unui câmp;

− introduce printr-o expresie câmpuri calculate;

Exemplu: SELECT Input AS Inp, Pret, [Input]*[Pret] AS Val

- Optiunea: {ALL | TOP nr. [PERCENT]}

Reprezinta proprietatea Top Value a cererii.

- Optiunea: {DISTINCT | DISTINCTROW}

Reprezinta setarea uneia dintre cele doua proprietati ale cererii: Unique Value sau Unique

Records.

În comanda SELECT se pot utiliza urmatoarele clauze:

- Clauza FROM - utilizata obligatoriu, specifica subschema cererii, adica tabele (cereri) si

relatiile cu tipul legaturii lor.

- Lista de tabele - reprezinta practic rândul Table, din formularul de proiectare QBE.

− Între doua tabelele din lista se poate introduce operatia {Inner Join | Left Outer Join |

Right Outer Join} - prin care se specifica tipul de legatura a relatiei dintre câmpurile (clauza

ON) acestora.

Exemplu: FROM tab1 INNER JOIN tab2

ON tab1.câmp operator_relational tab2.câmp

− Clauza: IN 'nume_complet_fisier'[tip_baza_date;]

Atasata unei tabele reprezinta proprietatile cererii: Source Database si Source Connect Str

(utilizata numai pentru alte baze de date decât Access) prin care se pot utiliza tabele

apartinând unor baze de date externe.

Exemplu: FROM tab IN 'C:Folder1Aplicatie.mdb'

- Clauza WHERE conditie - specifica criteriul de selectie al cererii, adica rândurile Criteria si

Or, din formularul de proiectare QBE.

- Clauza GROUP BY lista_câmpuri - specifica pentru o cerere cu rând de Total, câmpurile de

grupare.

- Clauza HAVING conditie - specifica criteriile de selectie ale câmpurilor de iesire ale unei

cereri cu rând de Total. Este similara cu clauza Where.

- Clauza ORDER BY lista_câmpuri - specifica câmpurile dupa care se face sortarea (rândul

Sort din formularul de proiectare).

− Optiunea: [ASC | DESC] - utilizata dupa un câmp specifica ordinea de sortare pentru

acesta.

I.1.2.2 Cererea Crosstab

Cererea Crosstab este definita prin o instructiune care contine comenzile specifice:

TRANSFORM si PIVOT. Forma ei este:

TRANSFORM functie agregata SQL

SELECT lista_câmpuri_grupe FROM lista_tabele

[WHERE conditie]

GROUP BY lista_câmpuri_grupe

[ORDER BY lista_câmpuri_grupe];

PIVOT nume_câmp_subgrupa [IN (lista_valori)] ;

t Comanda TRANSFORM - defineste functia agregata utilizata de cererea Crosstab (introduce

informatiile din câmpul care are în rândul Crosstab din formularul de proiectare QBE, optiunea

t Comanda PIVOT - stabileste numele câmpului care va fi subgrupa cererii Crosstab. Acesta este

câmpul care are în rândul Crosstab din formularul de proiectare QBE, optiunea Column Heading).

− Clauza IN (lista_valori) a comenzii Pivot - reprezinta proprietatea Column Headings a cererii.

Prin datele din argumentul acestei clauzei (lista de valori) se definesc implicit atât numarul cât si

denumirea coloanelor cererii (valorile comune pe care le ia câmpul pentru subgrupa), indiferent

de valorile comune ale subgrupei care rezulta din executiile cererii Crosstab.

 În SELECT si GROUP BY se introduc câmpurile (maxim 3) care vor forma grupele cererii

Crosstab (rândurile Row Headings din formularul de proiectare QBE a cererii Crosstab).

I.1.2.3 Cererea Union

Cererea Union este definita printr-o instructiune care contine operatorul specific UNION. Forma

acestei instructiuni este:

Instructiunea SQL Select, nr. 1

UNION [ALL] Instructiunea SQL Select, nr. 2

UNION [ALL] Instructiunea SQL Select, nr. 3 ;

- Operatorul UNION - se introduce între doua instructiuni SELECT, care au definite aceleasi

câmpuri la iesire. El realizeaza asa cum s-a mai aratat, reuniunea iesirii acestor cereri de selectie.

- Optiunea ALL - este utilizata cu scopul de a se pastra toate înregistrarile la iesirea cererii,

chiar daca ele sunt duplicate.

I.1.2.4 Cererea Update

Cererea Update este definita printr-o instruc

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Limbajul SQL
    • 1[1]. Limbajul SQL_Access.pdf
    • 2[1]. Facilitatile si arhitectura sistemului ORACLE.pdf
    • 3[1]. Elemente de baza ale Limbajului SQLPLUS.pdf
Alte informații:
Tipuri fișiere:
pdf
Nota:
8.5/10 (2 voturi)
Nr fișiere:
3 fisiere
Pagini (total):
65 pagini
Imagini extrase:
65 imagini
Nr cuvinte:
18 641 cuvinte
Nr caractere:
102 313 caractere
Marime:
557.88KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Contabilitate
Predat:
la facultate
Materie:
Contabilitate
Sus!