Just another WordPress.com site

ACCESS

DATI CLIC PE URMATOARELE TEME:

access_cap_1
access_cap_2   access_cap_3      access_cap_4        access_cap_5

ACCESS MUZICA


I.1 Limbajul de programare Access
SQL………………………………………….2I.1.1 Instruciuni (fraze)
SQL……………………………………………………………………….2I.1.2 Descrierea prin instruciuni SQL a
cererilor………………………………………….2I.1.2.1 Cererea Select
…………………………………………………………………………………….2

I.1.2.2 Cererea
Crosstab………………………………………………………………………………..3

I.1.2.3 Cererea Union
……………………………………………………………………………………4

I.1.2.4 Cererea
Update…………………………………………………………………………………..4

I.1.2.5 Cererea
Delete……………………………………………………………………………………4

I.1.2.6 Cererea
Append………………………………………………………………………………….4

I.1.2.7 Cererea
Make-Table…………………………………………………………………………..5

I.1.2.8 Cererea
Date-Definition……………………………………………………………………..5

2

I.1 Limbajul de programare Access SQL1

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

limbajul folosit în aplicaiile 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 aciune (program) nu este

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

SQL este de asemenea un limbaj de programare relaional. În SQL
aciunile sunt descrise prin

intermediul unor operaii de algebra relaionala efectuate pe mulimi,
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 coleciei

de obiecte Recordsets din modelul DAO).

I.1.1 Instruciuni (fraze) SQL2

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

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

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

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

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

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

aciune efectuata printr-o cerere.

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

execuie 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;

−  opiuni de execuie (predicate);

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

I.1.2 Descrierea prin instruciuni SQL a cererilor3

I.1.2.1 Cererea Select

O cerere Select este definita printr-o instruciune care conine
comanda SELECT. Forma

acestei instruciuni este:

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

[{ DISTINCT | DISTINCTROW}]

lista_câmpuri

FROM lista_tabele

[WHERE condiie]

[GROUP BY lista_câmpuri]

[HAVING condiie]

[ORDER BY lista_ câmpuri];

1 De obicei, realizarea aplicaiilor 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 Convenii de scriere utilizate:

−  parantezele drepte: specifica opional;

−  acoladele: specifica alegerea unei opiuni din mai multe;

−  caracterul | – se foloseste pentru a separa opiunile;

−  sublinierea – se foloseste pentru a specifica: implicit;

3

 Comanda SELECT – defineste o cerere de selecie. 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 opiunea Show (proiecia subschemei unei cereri,
adica câmpurile

selecionate 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

•  Opiunea: {ALL | TOP nr. [PERCENT]}

Reprezinta proprietatea Top Value a cererii.

•  Opiunea: {DISTINCT | DISTINCTROW}

Reprezinta setarea uneia dintre cele doua proprietai 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

relaiile 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
operaia {Inner Join | Left Outer Join |

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

ON) acestora.

Exemplu: FROM tab1 INNER JOIN tab2

ON tab1.câmp operator_relaional tab2.câmp

−  Clauza: IN ‘nume_complet_fisier'[tip_baza_date;]

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

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

aparinând unor baze de date externe.

Exemplu: FROM tab IN ‘C:\Folder1\Aplicatie.mdb’

 Clauza WHERE condiie – specifica criteriul de selecie 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 condiie – specifica criteriile de selecie 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).

−  Opiunea: [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 instruciune care conine
comenzile specifice:

TRANSFORM si PIVOT. Forma ei este:

TRANSFORM funcie agregata SQL

SELECT lista_câmpuri_grupe FROM lista_tabele

[WHERE condiie]

GROUP BY lista_câmpuri_grupe

[ORDER BY lista_câmpuri_grupe];

PIVOT nume_câmp_subgrupa [IN (lista_valori)] ;

 Comanda TRANSFORM – defineste funcia agregata utilizata de cererea
Crosstab (introduce

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

Value).

4

 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, opiunea 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 execuiile 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 instruciune care conine
operatorul specific UNION. Forma

acestei instruciuni este:

Instruciunea SQL Select, nr. 1

UNION [ALL] Instruciunea SQL Select, nr. 2

UNION [ALL] Instruciunea SQL Select, nr. 3…;

•  Operatorul UNION – se introduce între doua
instruciuni SELECT, care au definite aceleasi

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

•  Opiunea 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 instruciune care conine comanda
specifica UPDATE.

Forma acestei instruciuni este:

UPDATE tabel SET lista_noilor_valori

[WHERE condiie];

 Comanda UPDATE – stabileste prin argumentul ei numele tabelei
în care se vor modifica valorile

unor câmpuri (rândul Table din formularul de proiectare QBE
a cererii Update).

 Clauza SET – prin argumentul acestei comenzi, lista_noilor_valori, se
precizeaza pentru

fiecare câmp care este noua valoarea pe care o va avea
(rândurile Field si Update To din formularul de

proiectare QBE a cererii Update) în toate înregistrarile
selectate (prin clauza Where).

Un element din aceasta lista are forma:

nume_câmp = valoare_ noua

I.1.2.5 Cererea Delete

Cererea Delete este definita printr-o instruciune care conine comanda
specifica DELETE.

Forma acestei instruciuni este:

DELETE [tabel.*] FROM lista_tabele

[WHERE condiie];

 Comanda DELETE – stabileste prin argumentul ei (opional în
cazul existenei unei singure tabele

în subschema cererii) numele tabelei din care se vor sterge
înregistrarile selecionate prin clauza

Where (câmpul din rândul Table corespunzator opiunii From
din rândul Delete, din formularul de

proiectare QBE a cererii Delete).

I.1.2.6 Cererea Append

Cererea Append este definita printr-o instruciune care conine comanda
INSERT INTO.

Forma instruciunii este:

INSERT INTO

tabel_destinaie [IN baza_date_externa] (lista_câmpuri)

SELECT lista_câmpuri_sursa FROM lista_tabele_sursa

[WHERE condiie]

5

[GROUP BY lista_câmpuri]

[HAVING condiie]

[ORDER BY lista_ câmpuri];

 Comanda INSERT INTO – stabileste prin argumentele ei:

•  tabel_destinaie – numele tabelei în care se vor
introduce înregistrarile selecionate prin

comanda SELECT. Reprezinta proprietatea Destination Table a cererii
Append.

−  Clauza IN – o baza de date externa (numele complet al
fisierului) în care eventual se

gaseste tabela destinaie. Reprezinta proprietatea Destination DB a
cererii Append.

•  lista_câmpuri – lista câmpurilor din
înregistrarile tabelei destinaie care vor fi completate cu

datele din câmpurile specificate în argumentul
lista_câmpurilor_sursa a comenzii SELECT. Este

evident ca aceste doua liste trebuie sa corespunda atât ca numar
de câmpuri cât si ca tip de date.

Ele reprezinta rândurile Append To respectiv Field din formularul
de proiectare QBE a cererii

Append.

I.1.2.7 Cererea Make-Table

Cererea Make-Table este definita printr-o instruciune care conine
clauza specifica, INTO.

Forma instruciunii este:

SELECT lista_câmpuri

INTO tabel_destinaie [IN baza date externa]

FROM lista_tabele_sursa

[WHERE condiie]

[GROUP BY lista_câmpuri]

[HAVING condiie]

[ORDER BY lista_ câmpuri];

 Clauza INTO – argumentul tabel_destinaie este numele tabelei
în care se vor introduce

înregistrarile selecionate prin comanda SELECT. Reprezinta
proprietatea Destination Table a cererii

Make-Table.

 Clauza IN – o baza de date externa (numele complet al fisierului)
în care eventual se gaseste

tabela destinaie. Reprezinta proprietatea Destination DB a cererii
Make-Table.

I.1.2.8 Cererea Date-Definition

Prin aceste cereri se pot crea, modifica sau sterge tabele si indecsi.

 Comanda CREATE TABLE – prin care sunt definite elementele necesare
crearii unei tabele.

Forma ei este:

CREATE TABLE nume_tabela (lista_câmpuri);

Un element din lista_câmpuri are urmatoarea forma:

Nume_câmp Tip_data4 [(Size)] [NOT NULL]

•  Opiunea Size se foloseste la tipul de date Text.

•  Opiunea NOT NULL – reprezinta proprietatea Required a
unui câmp.

 Comanda CREATE INDEX – prin care sunt definite elementele pentru
crearea unui index unui

câmp5 al tabelei. Forma ei este:

CREATE [UNIQUE] INDEX nume_index

ON nume_tabela (lista_câmpuri)

[WITH {PRIMARY| DISALLOW NULL | IGNORE NULL}];

•  Opiunea UNIQUE specifica ca sa nu fie acceptate în
câmpul indexat date duplicate.

4 Numele tipurilor de date utilizate în SQL sunt puin diferite
de cele utilizate în Access. Folosii

tabela de corespondena între cele doua tipuri de date pentru a
completa câmpul Tip_data.

5 Un index se poate crea si pe mai multe câmpuri ale tabelei.

MAI MULTE PE ….CLIK PE URMATOARELE TEME.. .

Lasă un comentariu