Documente Academic
Documente Profesional
Documente Cultură
Aplicaiile ACCESS conin un ansamblu de colecii de obiecte tip: tabel (Table), interogare
(Query), formular (Form), raport (Report), macro (Macro), modul (Module).
Ofer posibiliti pentru importul de date din Excel, Word, Access, dBase, ODBC Database,
XML, HTML, SharePoint list, precum i efectuarea unor legturi (link) la Data Services.
Permite exportul de date n Excel, Word, Access, dBase, ODBC Database, XML, HTML, PDF,
e-mail, SharePoint list.
Datele gestionate n ACCESS pot fi publicate pe Web, astfel nct i alte persoane s poat
utiliza baza de date folosind un browser Web.
Are posibiliti de a creea tabele pe baza unei liste SharePoint, astfel c datele se pot utiliza de
ctre persoane care nu au instalat pe calulatorul personal SGBD Access.
Interfaa oferit de Access 2013, este o interfa orientat spre rezultate. Ea a fost proiectat
cu scopul de a-i permite utilizatorului s gseasc i s foloseasc mult mai uor toate
caracteristicile avansate oferite de acest sistem de gestiune a bazelor de date.
4
5
Conine informaii despre: numele bazei de date deschise, n stnga are butoane rapide pentru salvare i
corectare,
nchidere.
2. Bara cu meniul principal: File, Home, Create, External Data, Database Tools.
File are comenzi pentru deschiderea, nchiderea, salvarea, tiprirea, sau crearea unei baze de
date, etc.
Home - cuprinde comenzile de baz Clipboard, comenzile de formatare caractere, alegere stiluri,
Create - include comenzi ce permit crearea tuturor obiectelor Access: tabele, formulare, rapoarte,
External Data - conine comenzi ce au ca efect importul/exportul datelor din alte fiiere de tip
Excel, Word, Access, dBase, ODBC Database, XML, HTML, SharePoint list, precum i efectuarea unor
legturi (link) la Data Services.
Database Tools - are comenzi pentru crearea relaiilor dintre tabele (Relationships), programarea
n limbajul Visual Basic, definirea unui meniu cu SwitchBoard Manager, compactarea, repararea bazei
de date, executarea macro-urilor, analiza bazei de date, migrarea datelor spre un SQL Server, splitarea
tabelelor, mutarea tabelelor ntr-un site Share Point .
Observaie:
Dac se deschide un obiect Access, de exemplu un tabel, n modul de proiectare (Design View) bara cu
meniul principal se extinde prin meniul Design cu comenzi specifice: de vizualizare, definirea unei chei
primare, inserarea de noi nregistrri, tergere de nregistrri, vizualizare proprietilor tabelului i
afiarea indexurilor tabelului, crearea/redenumirea sau tergerea de data macro, afiarea relaiilor ntre
tabele i a dependenelor ntre obiecte (Figura 2).
Afieaz informaii despre baza de date curent, se pot afia proprietile ei,
are opiuni de compactare, reparare, precum i de criptare cu parol.
New
Permite crearea unei baze de date noi. Sunt afiate toate modalitile de
creare, dintre care utilizatorul va selecta varianta dorit. De obicei selectm
BLANK DESKTOP DATABASE.
Open
Save
Save As
Close
Account
Options
Observaie:
Celelalte meniuri din bara cu meniul principal sunt explicate pe parcurs, prin intermediul operaiilor
practice pe care le execut acestea.
3. Bara de instrumente i comezi speciale conine un set de comenzi particulare n funcie de opiunea
din meniul principal ce a fost selectat.
De exemplu pentru opiunea HOME apare bara cu instrumentele afiate n figura 4.
Observaie.
Ascunderea sau vizualizarea Panoului de navigare se realizeaz prin selecia tastei F11 sau a butonului
.
5. Rubrica document sau zona de lucru cu documente este utilizat pentru crearea, modificarea i
afiarea coninutului documentelor de tip: tabel, formular, raport, interogare, macro, modul. Este de fapt
zona n care se execut diverse operaii cu documente de diverse tipuri.
Bara cu selectorul de vederi - conine butoanele Design View i Datasheet View, amplasate n
partea dreapt, iar n partea stng apar afiate unele informaii despre obiectul selectat n zona de lucru
aa cum rezult din figura 8.
Selectorul
de vederi
Fiecare opiune din cadrul interfeei Access are un meniu de context de unde utilizatorul poate s
efectueze o personalizare a operaiilor prin inserare de noi comenzi utiliznd opiunea Customize the
Quick Access Toolbar.
In cadrul ferestrei Customize the Quick Access Toolbar, se va alege comanda de adugat din caseta
Choose commands from, de exemplu - Export to Excel spreadsheet, iar cu ajutorul butonului Add se
transfer noua comand n bar, aa cum rezult din figura 9. Dac se dorete eliminarea unor comenzi
din bar se selecteaz comanda respectiv din panoul din dreapta, iar cu butonul Remove se execut
operaia de tergere.
NEW
2. Pe ecran apare fereastra BLANK DESKTOP DATABASE unde n caseta File Name se introduce numele
bazei de date nou create, apoi se va selecta locul de memorare pe disc utiliznd butonul de rsfoire.
3. Se acioneaz butonul CREATE i baza de date este creat.
NEW
2. Se alege de exemplu Desktop Contacts, unde n caseta File Name se introduce numele bazei de date ce
dorim s fie creat dup ablonul ales, apoi se va selecta locul de memorare pe disc utiliznd butonul de
rsfoire.
3. Se acioneaz butonul CREATE i baza de date este creat.
NEW
2. Apare fereastra Custom Web App unde: n App Name se introduce numele bazei de date, iar n Web
Location se introduce adresa web unde va fi memorat baza de date.
3. Se acioneaz butonul CREATE i baza de date este creat.
dependen funcional
dependen multivaloare
forme normale.
Ideea central care st la baza proiectrii unei baze de date relaionale este aceea de dependen
a datelor [Dollinger]. Aceasta se refer la faptul c ntre atributele unei relaii (tabel relaional)
sau ntre atribute din relaii diferite pot exista anumite legturi logice (dependene), iar aceste
legturi influeneaz proprietile relaiilor n raport cu operaiile curente care apar n exploatarea
bazei de date, cum ar fi: adugarea, modificarea i tergerea nregistrrilor.
Exemplu:
Fie relaia Aprovizionare (Cod_Fz, Nume-fz, Adresa_Fz, DenMarfa, PretFact):
Cod_Fz
Nume_Fz
Adresa_Fz
DenMarfa
PretFact
100
SC ALFA SRL
Bucuresti
Portocale
100
SC ALFA SRL
Bucuresti
Banane
101
SC BETA SRL
Brasov
Portocale
4.8
102
SC GAMA SRL
Galati
Kiwi
-----------
----------
---------
--------
Anomalia de tergere dac se terg toate mrfurile livrate de un furnizor, atunci se pierd,
n mod neintenionat, i caracteristicile acelui furnizor (numele furnizorului, adresa
furnizorului).
Anomalia de modificare dac se modific, spre exemplu, adresa unui furnizor, atunci
este necesar parcurgerea ntregii relaii pentru a opera modificarea la nivelul tuturor
nregistrrilor.
Aceste anomalii pot fi eliminate, dac tabelul iniial Aprovizionare este supus unui proces de
normalizare, n urma cruia va fi descompus n urmtoarele tabele:
Furnizori (Cod_Fz, Nume_Fz, Adresa_Fz)
Livrare (Cod_fz, DenMarfa, PretFact)
Furnizori
Cod_Fz
Nume_Fz
Adresa_Fz
100
SC ALFA SRL
Bucureti
101
SC BETA SRL
Brasov
102
SC GAMA SRL
Galai
Livrare
Cod_Fz
Den_Marfa
PretFact
100
Portocale
100
Banane
101
Portocale
4.8
102
Kiwi
Exemplu: CodMarfa, Nrfact Codfz este o dependen parial deoarece exist subsetul
Nrfact care determin funcional CodFz.
Exemplu: CodMarfa, Nrfact Nrfact este o dependen trivial, care nu aduce nici un plus
de informaie.
Dependenele funcionale pot fi deduse folosind un set de reguli, numite axiomele lui Armstrong
[Dollinger]:
1. Reflexivitate: Dac Y X, atunci X Y.
Exemplu: Dac Nrfact (CodMarfa, Nrfact), atunci
(CodMarfa, Nrfact) Nrfact.
Aceast axiom genereaz dependenele funcionale triviale.
2. Augmentare (Amplificare): Dac X Y, atunci X Z Y Z
Exemplu: Dac NrFact CodFz , atunci
(Nrfact, Nrdocplata) (Codfz, Nrdocplata).
DenFz
Adresa
SC Agro SA
SC Muntenia SA
SC Tram SA
----------
--------------
--------------
Tabelul Furnizor nu respect FN1 dac exist cerine privind gruparea furnizorilor dup
localiti, deoarece este mult mai greu s extragi aceast informaie dintr-o adres complet.
Forma normal 2 (FN2). O relaie este n cea de-a doua form normal dac respect FN1 i orice
atribut non-cheie este total dependent fa de cheia primar a relaiei.
Exemplu:
Fie tabelul Marfuri_Facturi (NrFact, CodMarfa, DenMarfa, UM, Calitate, CantFact).
NrFact
CodMarfa
DenMarfa
UM
Calitate
CantFact
10
100
Portocale
kg
70
10
200
Kiwi
kg
90
11
400
Pomelo
buc
50
11
100
Portocale
kg
---------
---------------
---------------- ----
100
-----------
---------------
CodMarfa
DenMarfa, UM, Calitate, deoarece fiecare cod unic de marf determin o
valoare pentru denumirea mrfii, unitate de msur, calitate.
NrFact, CodMarfa
CantFact, atributul compus (Nrfact, CodMarfa) determin funcional
CantFact.n mod practic, unei facturi nu i se poate asocia o cantitate facturat total, altfel
spus ntre NrFact i CantFact nu poate exista o dependen funcional.
Pornind de la aceste dependene se deduce c relaia Marfuri_Facturi are o cheie primar compus,
format din atributele NrFact i CodMarfa.
n mod practic, tabelul Marfuri_Facturi nu respect FN2 deoarece se poate observa dependena
funcional a atributelor DenMarfa, UM, Calitate fa de CodMarfa, ceea ce implic dependena
parial a acestor atribute fa de cheia relaiei format din NrFact i CodMarfa.
Aceast dependen funcional parial are drept consecine o serie de anomalii:
anomalia de adugare nu se pot aduga noi mrfuri atta timp ct acestea nu sunt
aprovizionate, altfel spus nu apar pe o factur;
anomalia de modificare - dac se cere modificarea calitii pentru o marf, trebuie cutate
toate nregistrrile n care se regsete aceasta, ceea ce implic parcurgerea relaiei n
ntregime.
Forma normal 3 (FN3). O relaie este n FN3 dac respect FN2 i toate atributele non-cheie
sunt dependente direct de cheia primar. Altfel spus FN3 interzice dependenele tranzitive.
Exemplu:
Fie tabelul Facturi_Furnizori (NrFact, DataFact, CodFz, DenFz, Localitate)
NrFact
DataFact
CodFz
DenFz
Localitate
10
01/03/2009
SC Agro SA
Bucureti
11
05/03/2009
SC Agro SA
Bucureti
12
12/03/2009
SC Tram SA
Braov
----------
--------------
--------------
NrFact
DataFact, CodFz, deoarece fiecare numr de factur determin o valoare pentru
data facturii i codul furnizorului care a emis acea factur.
CodFz DenFz, Localitate, deoarece fiecare cod unic de furnizor determin o valoare
pentru denumirea furnizorului i Localitatea acestuia.
Se observ ca ntre atributele NrFact i DenFz, Localitate apar dependene tranzitive, fapt ce ne
determin s afirmm c tabelul Facturi_Furnizori nu respect FN3.
Aceste dependene funcional tranzitive au drept consecine o serie de anomalii identificabile la
adugarea, modificarea sau tergerea nregistrrilor din cadrul acestui tabel.
Aceste anomalii pot fi eliminate prin descompunerea relaiei Facturi_Furnizori n relaiile:
Facturi (NrFact, DataFact, CodFz)
Furnizori (CodFz, DenFz, Localitate)
descompunerea tabelului relaional iniial n mai multe tabele, utiliznd formele normale
(FN1, FN2, FN3, FN4, FN5);
descompunerea tabelului relaional iniial n mai multe tabele, utiliznd matricea
dependenelor funcionale sau graful dependenelor.
Nr. Atribut
Crt.
Semnificaie
1.
CodFz
Cod Furnizor
2.
CodBenef
Cod Beneficiar
3.
NumeFz
Nume Furnizor
4.
Localitate
Localitate Furnizor
5.
Telefon
Telefon Furnizor
6.
ContBancar
7.
NrFact
Numr Factur
8.
DataFact
Data Facturii
9.
DataScad
10.
CantitateFact
Cantitate Facturat
11.
PretFact
Pret Facturare
12.
CotaTVA
Cota TVA
13
Valoaremarfa
14.
TVA
Valoare TVA
15.
ValoareFactura
16.
CodMarfa
Cod Marf
17.
DenMarfa
Denumire Marf
18.
UM
Unitate de Msur
19.
Calitate
Calitate Marf
20.
Nrchit
Numr Chitan
21.
DataChit
Data Chitan
22.
SumaPl
Suma Pltit
23.
TotalSumePl
24.
Penalizare
Penalizare Factur
25
Nr_zile-intarz
Dicionarul de date (DD): CodFz, NumeFz, Localitatea, ContBancar, Telefon, NrFact, DataFact,
DataScad, CantitateFact, PretFact, CotaTVA, CodMarfa, DenMarfa, UM, Calitate, NrChit,
DataChit, SumaPl.
4. Stabilirea cheilor primare: CodFz, NrFact, CodMarfa, NrChit.
5. Stabilirea dependenelor funcionale.
a. Graful dependenelor funcionale simple:
CodFz
NrChit
CodMarfa
NrFact
NrFact
CodMarfa
Formularele asigur:
VIZUALIZAREA FORMULARELOR
1.Form View
2. Layout View
3. Design View
Design View
a) CREARE CU FORM
Selectarea unei tabele sau interogari (ca surs a
formularului ) din Panoul de navigare
Create butonul Form din grupul Forms
1. CREATE
2. FORM DESIGN
3. ADD EXISTING FIELDS
4. SELECTAREA TABELULUI, A ATRIBUTELOR DIN
ACESTA SI GLISAREA LOR IN ZONA DIN
FORMULAR
5. CREAREA CONTROALELOR NOI/ SECTIUNI NOI
IN FORMULAR PRIN UTILIZAREA BUTOANELOR DE
CONTROL
6. FORMATAREA TEXTULUI DIN FORMULAR
7. SAVE SI RUN
STRUCTURA FORMULARELOR
STRUCTURA FORMULARELOR
CONTROALE n formulare
Controalele sunt obiecte grafice (elemente vizuale)
ce sunt incluse n formulare sau rapoarte, n scopul
editrii/afirii datelor sau executrii unor aciuni
Exp.: etichete (Label), caset text (Text Box),
butoane(Button), caset combinat ( Combo Box),
caset list (List Box), Subform/Subreport,
Imagine, Linie, etc).
Adugarea controalelor se poate face numai n
etapele de creare sau modificare a formularelor
TIPURI DE CONTROALE
III. Calculate
folosesc expresii de calcul pentru generarea
rezultatelor.
expresiile de calcul se introduc n proprietatea
Control Source a oricrui control.
Ex. Dac n formularul Factura se dorete
afiarea unui cmp Total factura.....
expresia va fi: Total factura = Sum([Valoare])
Aceast expresie poate fi introdus direct n
proprietatea Control Source sau poate fi
construit cu Expression Builder, selectnd
butonul Use Control Wizards ().
BeforeUpdate
Proprietatea
GotFocus
eveniment
BeforeUpdate
Change
On Change
Enter
On Enter
Exit
On Exit
Got Focus
On Got Focus
Lost Focus
On Lost Focus
Enter
Eveniment
Exit
LostFocus
PASI:
1. Afisarea formularului in Design View
2. Selectare List Box sau Combo Box din Design
Controls
3. In fereastra FORM se trage un dreptunghi in locaia
unde vrem s apar controlul
4. Specificarea sursei de date pentru control:
Tabel/Interogare
Date introduse de utilizator in caseta sau lista
si apoi NEXT
9. Se precizeaz dac:
Se vor afia valorile coloanei
Sau se vor stoca ntr-un cmp al unui tabel
10. Dac s-a ales un cmp acesta va fi specificat,
si NEXT
11. Se atribuie un nume listei si FINISH
Formulare si Subformulare
Rolul subformularelor este de a actualiza mai multe tabele prin
intermediul unei singure ferestre (formular). Subformularele sunt
create n general pentru anumite tabele dependente - tabele n care
cmpul comun este cheie primar n relatia de tip 1 i cheie extern n
cadrul relaiei de tip n.
Definirea unui subformular presupune nglobarea (includerea)
unui formular n cadrul altui formular, primul devenind
subformular, iar al doilea formular principal.
Avantaje:
Posibilitatea actualizrii mai multor tabele printr-un singur
formular.
Sincronizarea automat a subformularului cu formularul principal
Actualizarea automat a cmpului cheie extern din subformular,
cu valoarea deinut de cmpul cheie primar din formularul principal;
filtrarea automat a nregistrrilor din subformular, n funcie de
valoarea cheii primare din formularul principal.
Formulare si Subformulare
Formulare cu subformulare
BUTOANE
Tipuri de rapoarte
Paii necesari:
1. Selectarea opiunii CREATE din
meniul principal.
2. Selectarea sursei de date
(tabel/interogare)
3. Alegerea uneia din variantele de
realizare: Report, Labels, Blank Report,
Report Wizard, Report Design.
4. Salvarea obiectului nou creat (cu
ajutorul opiunii SAVE).
Paii de parcurs:
RAPOARTE
3. n caseta Tables/Queries:
a. Se selecteaz tabelul sau interogarea ce va
sta la baza proiectrii raportului.
b. n fereastra Available Fields apar afiate
cmpurile de date din structura tabelului de
date selectat, de unde cu ajutorul butoanelor
> sau >> se vor transfera n fereastra
Selected Fields cmpurile pe care dorim s
le afim n raport,.
c. Apoi se acioneaz butonul NEXT.
8.
Pai de parcurs:
1. Se selecteaz opiunea CREATE din meniul
principal
2. Actionarea butonului REPORT DESIGN i apoi
DESIGN
3. Apare pe ecran fereastra REPORT, unde este
generat un raport gol, n cadrul cruia utilizatorul i
poate defini propriile seciuni i controale.
4. Add Existing Fields permite vizualizarea
cmpurilor sursei de date care vor fi preluate n
interiorul raportului (de obicei n seciunea Detail).
Structura raportului-seciuni
I. Report Header- Antet de raport (titlu,
nume utilizator, adresa,...)
II. Page Header- Antet de pagin
(denumirea coloanelor, data, numar
pagina)
III. Group Header - Antet de grup
(un text ce apare naintea fiecrui grup de
nregistrri, de exp. Numele client: ,
Numar factur:, etc.)
Structura raportului
Structura raportului
EXEMPLU
1. Afiarea raportului creat anterior, n
vederea Layout.
3. Group&Sort.
8. SAVE
9. Lansarea n execuie afieaz raportul din figura...
Subrapoarte
Subrapoartele se pot insera att n seciunea
de detaliu, ct i n celelalte seciuni (inclusiv
n cele de grup).
Ca i la subformulare, se utilizeaz butonul
SUBFORM / SUBREPORT
PASI
1. AFISAREA RAPORTULUI IN LAYOUT
2. DESIGN
3. SELECTARE CMP PENTRU CALCULE
4. ACTIONARE BUTON TOTALS
5. SELECTAREA FUNCTIEI DE TOTAL DORITE
6. SAVE
PROPRIETATILE RAPOARTELOR
a) FORMAT
Caption este utilizat pentru stabilirea unui titlu
afiat pe bara de titlu a ferestrei;
modul Print Preview de vizualizare a raportului;
Page Header i Page Footer sunt utilizate pentru
specificarea paginilor pe care se vor afia antetul,
respectiv subsolul de pagin (variante: toate
paginile; toate, mai puin prima; toate, mai puin
ultima; toate, mai puin prima i ultima);
Picture permite specificarea fiierului afiat pe
fundalul raportului;
Picture Pages precizeaz paginile pe care se va
afia fundalul ales.
b) DATA
SQL ( Structured
Query Language )
Caracteristici
Faciliti orientate obiect ce propun definirea la
nivel de utilizator a tipurilor de date abstracte;
Structuri de control specifice: IF, FOR, WHILE
Comunicare n reea;
Prelucrare distribuit;
Faciliti multi-media, nglobate n modulul
Multi - Media SQL.
Pe lng manipularea i regsirea datelor, SQL
efectueaz i operaii complexe privind actualizarea
i administrarea bazei de date.
2.
3.
4.
5.
6.
1.
2.
3.
4.
CREATE
QUERY DESIGN
CLOSE (SHOW TABLE)
UNION / PASS TROUGTH / DATA
DEFINITION
5. INTRODUCERE INSTRUCTIUNI SQL
Ex. SELECT ALL a1 FROM A;
6. RUN
7. SAVE ( SAVE AS..)
SELECT [domeniu]
<list selecie cmpuri>
FROM <nume tabel(e)>
[WHERE <criteriu de selecie>]
[ORDER BY <list cmpuri criterii de
ordonare> {ASC/DESC}];
[ ]- optional
< > - cuvinte utilizator
{ } la alegere
a2
a3
a4
a5
a6
SELECT DISTINCT a5
FROM A
WHERE a5>1000 AND a3=text;
Selectarea lui a5 pt care a3 are o rdcin precizat
SELECT DISTINCT a5
FROM A
WHERE a3 LIKE *ESCU;
SELECT DISTINCT a5
FROM A
WHERE a5
(NOT) BETWEEN 100 AND 1000
SELECT a2,a4,a5
FROM A
WHERE a2 IN(1500, 13000, 14000)
ORDER BY a2 ASC, a5 DESC;
a1
a2
a3
a4
a5
a6
Tabela A
a1
a2
a3
a4
a5
a6
Count (<>Null);
Sum ;
Min ; Avg;
Max Iif
Exemple:
List selecie se refer la una sau mai multe funcii agregate care au
ca argumente nume de cmpuri ale tabelei(lor) bazei de date. Aceste
cmpuri trebuie s fie n mod obligatoriu numerice.
a2
a3
a4
100
305
25
12500
100
208
10
20000
85
30
10000
101
208
20000
101
74
10
30000
103
90
5000
100
103
74
25
30000
a5=SUM(a3*a4)
100
812500
101
460000
103
775000
Tabelul A
a1
a2
a3
a4
100
305
25
12500
100
100
a5=SUM(a3*a4)
208
10
20000
100
812500
85
30
10000
103
775000
Tabela R1
101
208
200000
101
74
10
300000
103
90
5000
103
74
25
30000
460000
a1
100
a5=SUM(a3*a4)
812500
b2
b3
b4
b5
a1
T1.a2
a2
Tabela B
a3
a4
a5
a6
b1
b2
Tabela C
b3
b4
b5
a1
c1
c2
c3
c4
C5
a1
Exemplu:
Compunerea a 2 tabele (WHERE)
Exemplu:
Compunerea a 3 tabele (WHERE)
SELECT
Facturi.[Numar Factura], Facturi.[Data Facturii],
[Continut Factura].Cantitate, [Continut Factura].[Pret f],
[Cantitate]*[Pret f] AS Valoare,
Clienti.[Cod Fiscal], Clienti.[Denumire Client],
FROM Facturi, [Continut Factura],Clienti
WHERE
Facturi.[Numar Factura]=[Continut Factura].[Numar Factura]
AND
Clienti.[Cod Fiscal] = Facturi.[Cod Fiscal];
b) SGBD
Tabela A
a
1
a2
a3
a4
a5
a
6
Tabela B
b1
b2
Tabela C
b3
b4
b5
a1
c1
c2
c3
c4
c5
b1
A compus cu
rezultatul compunerii
dintre B i C
a2
Tabela B
a3
a4
a5
a6
b1
b2
b3
b4
b5
a1
Exemplu:
Compunerea a 2 tabele (INNER)
Exemplu:
Compunerea a 3 tabele (INNER)
Exemplu:
DISCOUNT LA VALOARE FACTUR
SELECT Facturi.[Numar Factura],
[Continut Factura].Cantitate, [Continut Factura].
[Pret f], [Cantitate]*[Pret f] AS Valoare,
IIf([Valoare]<5000000,0,[Valoare]*0.15) AS Reducere
FROM Facturi
INNER JOIN [Continut Factura]
ON
Facturi.[Numar Factura] = [Continut Factura].[Numar Factura];
a2
a3
a4
a5
a6
executarea
cererii principale,
adic selecia lui
a1din tabela A,
pentru care exist
condiia
1119
1120
1121
a2
06.11.2007
Tabela A
a1
a2
a3
a4
a5
A6
1118
05.11.2007
aaa
bbb
30
50
1119
06.11.2007
ddd
eee
45
74
1120
06.11.2007
rrr
ttt
36
58
1121
06.11.2007
SQL IV.
SubInterogri
Tabela A
a1
a2
SELECT
SELECT
n .....
Tabela B
a3
a4
a5
a6
b1
b2
b3
b4
b5
a1
Legtura dintre
tabele se realizeaz
prin subinterogare
(fr o compunere
explicit)
Legtura dintre
tabele se realizeaz
printr-o compunere
explicit (JOIN)
COMPUNERE CU WHERE
2 tabele.
WHERE 3 tabele
SELECT Facturi.nrfact, Facturi.datafact,
Facturi.codfiscal, [Continut factura].codisbn,
[Continut factura].cantitate, [Continut
factura].pretf, [Continut
factura].cantitate*[Continut factura].pretf AS
valoare, Clienti.codfiscal, Clienti.denumirecl
FROM Facturi, [Continut factura], Clienti
WHERE Facturi.nrfact=[Continut
factura].nrfact And
Clienti.codfiscal=Facturi.codfiscal;
RIGHT JOIN
SELECT Facturi.nrfact,
Facturi.datafact, Facturi.codfiscal,
[Continut factura].codisbn, [Continut
factura].cantitate, [Continut factura].
pretf, [Continut factura].cantitate *
[Continut factura].pretf AS valoare
FROM Facturi RIGHT JOIN [Continut
factura] ON Facturi.nrfact=[Continut
factura].nrfact;
REDUCERE PARAMETRU
SELECT FACTURI.NRFACT,
SUM([CONTINUT
FACTURA].[CANTITATE]*[CONTINUT
FACTURA].[PRETF]) AS VALOARE,
IIF([VALOARE]<=250,[VALOARE]*[TASTATI
PROCENT DE REDUCERE],0) AS
REDUCERE
FROM FACTURI RIGHT JOIN [CONTINUT
FACTURA] ON FACTURI.NRFACT =
[CONTINUT FACTURA].NRFACT
GROUP BY FACTURI.NRFACT;
SQL
Structured Query Language
Interogri de selecie
1.
2.
3.
4.
5.
SELECT [domeniu]
<list selecie cmpuri>
FROM <nume tabel(e)>
[WHERE <criteriu de selecie>]
[ORDER BY <list cmpuri criterii de ordonare> ASC/DESC}];
1.
2.
3.
4.
5.
SELECT ALL
NUME, PRENUME, AN_STUDII, GRUPA, NOTA_TEST
FROM STUDENTI
WHERE NOTA>=5
ORDER BY NUME ASC;
a2
a3
a4
a5
a6
Tabela A
a1
a2
a3
a4
b2
b3
b4
a5
a6
Tabela B
b1
b5
a1
TRANSFORM Sum(ContinutReceptie.Cantitate)
AS SumaCantitate
SELECT ContinutReceptie.CodM
FROM ContinutReceptie
GROUP BY ContinutReceptie.CodM
PIVOT ContinutReceptie.NrReceptie;
Exemplul 3
TRANSFORM Sum([Cantitate]*[Pretf]) AS Valoare
SELECT Carti.TITLU
FROM Facturi INNER JOIN
(Carti INNER JOIN [Continut Factura] ON Carti.[CodISBN] = [Continut
Factura].[CodISBN]) ON Facturi.[NRFACT] = [Continut
Factura].[NRFACT]
WHERE ((([Continut Factura].Cantitate)>5))
GROUP BY Carti.[TITLU]
PIVOT Month([DataFACT]);
S se calculeze
suma valoric a
vnzrilor de carte
pe luni
SQL: CROSSTAB
TRANSFORM funcie agregat AS alias
Instruciune de selecie cu grupare pe linie
PIVOT cmp antet coloan ;
EXEMPLUL 2
SELECT FACTURI.[NR-FACTURA],
FACTURI.[COD-CL], FACTURI.[CODMARFA], FACTURI.CANTITATE,
FACTURI.PRET, FACTURI.DATA INTO
[FACTURI-NOI]
FROM FACTURI;
EXEMPLU 2
APPEND
INSERT INTO FACTURI ( [NR-FACTURA], [COD-CL],
[COD-MARFA], CANTITATE, PRET, DATA )
SELECT [FACTURI-NOI].[NR-FACTURA], [FACTURINOI].[COD-CL], [FACTURI-NOI].[COD-MARFA],
[FACTURI-NOI].CANTITATE, [FACTURI-NOI].PRET,
[FACTURI-NOI].DATA
FROM [FACTURI-NOI]
WHERE ([facturi-noi].[COD-MARFA]=2) AND
([FACTURI-NOI].DATA>#3/3/2012#);
EXEMPLUL 3
DELETE
DELETE FACTURI.[NR-FACTURA]
FROM FACTURI
WHERE (FACTURI.[NR-FACTURA]=212);
UPDATE Carti
SET [Pret baza] = [Pret baza]*1.15
WHERE (([Denumire Carte])="Baze de date")
AND ((Year([Data Aparitiei]))=2009);
UPDATE [facturi-noi]
SET PRET = pret*0.25,CANTITATE=CANTITATE/2
WHERE ([cod-cl]>1);
Exemplul 1.
CREATE TABLE Carti
([Cod ISBN] Text(15) CONSTRAINT [Cod ISBN]
Primary Key,
[Denumire Carte] Text(50),
[Data Apariiei] Date NOT NULL,
[Stocul tiparit] Number, [Pret baza] Currency
NOT NULL);
Exemplul 1.
ALTER TABLE Carti
ADD COLUMN [Nume coordonator lucrare] Text(25)
NOT NULL;
Exemplul 2:
- Adugarea atributului An_studii (tip Numeric) n
tabelul Student:
ALTER TABLE Student ADD COLUMN An_studii
Number NOT NULL;
- tergerea atributului Facultate din tabelul
Student:
ALTER TABLE Student DROP COLUMN Facultate;