Sunteți pe pagina 1din 17

Cuprins

Ce este i la ce se folosete programul Microsoft Access?.........................................2


Ce este o Baz de Date?..................................................................................................... 3
Definiie..................................................................................................................... 3
Componentele unei baze de date....................................................................................... 3
Clasificarea Bazelor de Date.................................................................................... 5
Clasificare dup modelul de date................................................................................... 5
Clasificare dup numrul de utilizatori............................................................................6
Clasificare dup numrul de staii pe care este stocat baza de date.........................................6
Limbajul SQL................................................................................................................. 7
Generaliti................................................................................................................. 7
Scrierea comenzilor SQL................................................................................................ 8
Sintaxa construciilor SELECT......................................................................................... 9
Exemplu de Baze de Date........................................................................................ 11
Bibliografie............................................................................................................... 16

Ce este i la ce se folosete programul Microsoft Access?


Microsoft Access este un program pentru crearea i administrarea unei baze de date
relaionale, produs de Microsoft, care face parte din suita de programe Microsoft Office.
Access prezinta si un mod de lucru asistat, cu multe ferestre de dialog ce usureaza mult
munca utilizatorului.
Microsoft Access mbn modelul relational cu cel orientat spre obiecte, adic organizeaz
relational datele i este orientat spre obiecte care au associate evenimente sau proprieti. Accessul delimiteaz baza de date i tabelul. Principalele sale caracteristici sunt:

este relational si lucreaza sub sistemul de operare Windows;


este deschis comunicarii cu alte Sisteme de Gestiune a Bazelor de Date cum ar fi FoxPro
sau Paradox;
este compatibil cu tehnologia ActiveX, care permite realizarea aplicatiilor client/server;
permite realizarea unor aplicatii complexe prin utilizarea limbajului Visual Basic;
permite accesul la baze de date din reteaua Internet, fiind un instrument util pentru
publicarea informatiilor n paginile Web;
este autodocumentat prin help, apelabil contextual sau la cerere;
contine instrumente wizard care permit utilizatorului crearea ntr-o maniera foarte simpla
a obiectelor bazei de date;
permite crearea de comenzi rapide (shortcuts) n vederea accesarii obiectelor Access;
permite crearea de grupuri de obiecte definite de utilizator n cadrul bazei de date;
permite personalizarea bazei de date;
permite utilizarea obiectelor Access din cadrul altor aplicatii rulate sub sistemul de
operare Windows;
pe baza facilitatii de compactare, se minimizeaza dimensiunea bazei de date Ia nchidere;
se permite crearea de aplicatii care sa utilizeze baze de date stocate n SQL Server, n
cadrul unei retele de calculatoare.
Access 2003 accepta o varietate de formate de date, inclusiv Extensible Markup
Language (XML), OLE, Open Database Connectivity (ODBC) si Microsoft Windows
SharePoint Services.
ofera posibilitatea de a lega tabele, astfel nct sa putem accesa concomitent informatii
din mai multe baze de date n cadrul formularelor, rapoartelor si al paginilor de acces la
date din Access 2003. Se pot lega tabele din alte baze de date Access, foi de calcul
Microsoft Excel, si din alte surse de date
ofera posibilitatea de a ncorpora n solutiile Access date bazate pe Microsoft SQL Server.
Se poate utiliza Stored Procedure Designer pentru a crea si a modifica proceduri simple
stocate n SQL Server, fara sa fie necesara cunoasterea Transact-SQL.

Utilizatorii pot crea tabele, interogri, formulare i rapoarte i macrocomenzi Utilizatorii


avansai pot folosi Visual Basic pentru a scrie soluii bogate cu avansate de manipulare a datelor
i de control al utilizatorului.

Ce este o Baz de Date?


Definiie
n sensul larg, o baz de date (database) este o colecie de date corelate din punct de
vedere logic, care reflect un anumit aspect al lumii reale i este destinat unui anumit grup de
utilizatori.
n acest sens, bazele de date pot fi create i meninute manual (un exemplu ar fi fiele de
eviden a crilor dintr-o bibliotec, aa cum erau folosite cu ani n urm) sau computerizat aa
cum sunt majoritatea bazelor de date n momentul de fa. O definiie ntr-un sens mai restrns a
unei baze de date este urmtoarea:
O baz de date este o colecie de date centralizate, create i meninut computerizat, n
scopul prelucrrii datelor n contextual unui set de aplicaii. Prelucrarea datelor se refer la
operaiile de introducere, tergere, actualizare i interogare a datelor. Simple colecii de fie
(documente pe hrtie) sau fiiere de date care conin date, dar nu permit operaii de interogare nu
sunt considerate baze de date. De exemplu, datele memorate n fiiere pe disc ntr-o aplicaie de
calcul tabelar (Microsoft Excel) sau documentele memorate de un editor de texte (ca Microsoft
Word) nu sunt considerate baze de date.
Orice baz de date are urmtoarele proprieti implicite:
Baza de date este o colecie logic coerent de date ce are cel puin un neles
Baza de date este destinat, construit i populat de date despre un domeniu bine precizat. Ea
are un grup de utilizatori i se adreseaz unui anumit grup de aplicaii
O baz de date reprezint cteva aspecte ale lumii reale crend orizontul propriu. Schimbrile
orizontului sunt reflectate n baza de date.
Componentele unei baze de date
Tabele
Tipuri de date
Datele din tabele sunt de urmtoarele tipuri:
3

TEXT secven simpl de caractere care poate include cifre, litere i simboluri. Un
cmp text poate conine pn la 255 de caractere.

MEMO text simplu, obinuit, exceptnd faptul c nu stabileti o lungime maxim de


cmp, aa c poi tasta aproape orice cantitate de text (64.000 de caractere).

NUMBER destinat pentru valori ntregi sau fracionare.

DATE/TIME o dat calendaristic sau o or.

CURRENCY un numr formatat ca o valoare monetar.

AUTONUMBER Access l completeaz automat cu numere consecutive, pentru fiecare


nregistrare.
YES/NO poate primi valori logice de tipul YES/NO, TRUE/FALSE sau ON/OFF.
OLE OBJECT cmp capabil a primi ca valoare un obiect (ex. imagine); obiectul poate
fi legat sau inserat.
HYPERLINK o legtur la o locaie Web.
LOOKUP WIZARD i permite s creezi o list selectnd o valoare din alt tabel sau
lista de valori ntr-o caset combinat, pentru fiecare nregistrare. Este o caracteristic
avansat.

Stabilirea cheii principale


Fiecare tabel ar trebui s aib cel puin un cmp a crui valoare este unic pentru fiecare
nregistrare (cmp cheie principal). Acest cmp este util pentru a identifica n mod unic fiecare
nregistrare. Pentru a stabili o cheie principal trebuie s parcurgi urmtorii pai:

Deschide tabelul afind structura acestuia.

Selecteaz cmpul care vrei s fie cheie principal.

Alege din meniul EDIT opiunea PRIMARY KEY.

Relaiile dintre tabele


Relaia ntre dou tabele nu este obligatorie, dar este necesar, n general, pentru construirea
interogrilor care acioneaz asupra acestor table (dei relaia s-ar putea construi i cnd se
construiete interogarea). Tipuri de relaii:
4

Relaia One-To-Many Este cea mai frecvent n proiectarea bazelor de date ACCESS
i are urmtoarele caracteristici:

Dac T1 (Tabela CLIENTI) i T2 (Tabela Operatii) sunt dou tabele n care exist o rela ie
One-To-Many atunci: Tabela T1 este tabela primar iar T2 este tabela legat. Cheia de legtur
din tabela primar trebuie s fie declarat cheie primar. Tabela legtur poate avea cheie
primar dar diferit de cea de legtur. Fiecrei nregistrri din tabela One i corespunde 0, 1 sau
mai multe nregistrri din tabela Many; Fiecrei nregistrri din tabela Many i corespunde cel
mult o nregistrare din tabela One.

Relaia One-To-One Este utilizat mai rar n proiectarea bazelor de date ACCESS i
are urmtoarele caracteristici:

Cheile de legtur din ambele tabele sunt chei primare; fiecrei nregistrri din una din tabele i
corespunde cel mult o nregistrare din cealalt. Una din tabele este primar iar cealalt legat.

Relaia Many-To-Many - Este nerecomandat n baze de date ACCESS dar existent n


realitate.

Doua tabele se afl n relaia Many-to-Many dac fiecrei nregistrri din prima tabel i
corespunde 0,1 sau mai multe nregistrri din a doua i invers. n ACCESS astfel de rela ii pot fi
introduse prin crearea unei a treia tabele, numit de legtura (de jonc iune) cu existen a a dou
relaii de tip One-to-Many.
Indexarea tabelelor

Pentru un tabel, se poate preciza o cheie primar i una sau mai multe chei secundare.
O cheie este format din una sau mai multe coloane.Valorile unei chei se pstreaz ntr-un index.
Rolul unui index este ca al unui catalog ntr-o bibliotec. Orice operaie de actualizare ntr-un
tabel genereaz i actualizarea indecilor. n fereastra Indexes, se pot gestiona informaiile
necesare unui index (ordine Ascending/Descending, Unique, Primary, Ignore Nulls).

Clasificarea Bazelor de Date


Se pot lua n considerare mai multe criterii de clasificare ale sistemelor de baze de date.
Clasificare dup modelul de date
Majoritatea sistemelor de baze de date actuale sunt realizate n modelul de date relaional
sau n modelul de date orientat obiect. Dezvoltarea continu a acestor modele a condus ctre o

nou categorie de baze de date numite obiect-relaionale, care combin caracteristicile modelului
relaional cu caracteristicile modelului orientat obiect.
Modelul de date relaional (Relational Model) se bazeaz pe noiunea de relaie din
matematic, care corespunde unei entiti de acelai tip i are o reprezentare uor de neles i de
manipulat, ce const dintr-un tabel bidimensional, compus din linii i coloane. Fiecare linie din
tabel reprezint o entitate i este compus din mulimea valorilor atributelor entitii respective,
fiecare atribut corespunznd unei coloane a tabelului.
Modelul de date orientat obiect (Object Model) este un concept unificator n tiina
calculatoarelor, fiind aplicabil n programare, n proiectarea hardware, a interfeelor, a bazelor de
date etc. Sistemele de baze de date orientate obiect se bazeaz pe limbaje de programare
orientate obiect cu capaciti de persisten, n care datele sunt independente de timpul de via al
programelor care le creeaz sau acceseaz, prin memorare pe suport magnetic (disc).
Modelul de date obiect-relaional (Object-Relational Model) reprezint extinderea
modelului relaional cu caracteristici ale modelului obiect, extindere necesar pentru realizarea
bazelor de date care definesc i prelucreaz tipuri de date complexe.
n esen, modelul obiect-relaional pstreaz structurarea datelor n relaii (reprezentate
ca tabele), dar adaug posibilitatea definirii unor noi tipuri de date, pentru domeniile de valori ale
atributelor. Tipurile de date definite de utilizator pot fi extinse prin mecanismul de motenire i
pentru fiecare tip sau subtip se pot defini metode pe care le pot executa obiectele de acel tip.
De asemenea mai sunt nc n funciune baze de date modele mai vechi: modelul ierarhic
i modelul reea.
n modelul de date ierarhic (Hierarchical Model) o baz de date se reprezint printr-o
structur ierarhic de nregistrri de date (records) conectate prin legturi (links). Modelul
ierarhic a fost primul model folosit pentru dezvoltatea bazelor de date.
Schema conceptual a unei baze de date n modelul ierarhic se reprezint printr-un numr
oarecare de scheme ierarhice. O schem ierarhic este un arbore direcionat, reprezentat pe mai
multe niveluri, n care nodurile sunt tipurile de nregistri, iar arcele sunt tipurile de legturi.
Fiecare nod (cu excepia nodului rdcin) are o singur legtur ctre un nod de pe un
nivel superior (nodul printe) i fiecare nod (cu excepia nodurilor frunz) are una sau mai multe
legturi ctre noduri de pe nivelul imediat inferior (noduri fii).
Modelul de date reea (Network Model) folosete o structur de graf pentru definirea
schemei conceptuale a bazei de date; nodurile grafului sunt tipuri de entiti (nregistrri,
records), iar muchiile grafului reprezint n mod explicit asocierile (legturile, links) dintre
tipurile de entiti. modelului reea este acela c fiecare interogare trebuie s fie prevazut nc
din faza de proiectare, prin memorarea explicit a legturilor ntre tipurile de entiti. n plus,
6

complexitatea reprezentrii datelor n modelul reea este deosebit de ridicat, iar programatorii
trebuie s o cunosasc pentru a putea realiza aplicaiile necesare.
Clasificare dup numrul de utilizatori.
Majoritatea sistemelor de baze de date sunt sisteme multiutilizator, adic permit accesul
concurent (n acelai timp) a mai multor utilizatori la aceeai baz de date. Problematica
organizrii informaiilor n mediul electronic redus de sisteme monoutilizator, adic suport
accesul doar al unui utilizator (la un moment dat)
Clasificare dup numrul de staii pe care este stocat baza de date
O alt clasificare este cea dup numrul de staii pe care este stocat baza de date Exist
dou categorii de sisteme de baze de date: centralizate i distribuite. Un sistem de baze de date
centralizat (Centralized Database System) este un sistem de baze de date n care datele i
sistemul de gestiune sunt stocate pe un singur calculator. Un sistem de baze de date distribuit
(Distributed Database System) poate avea att datele, ct i sistemul de gestiune, distribuite pe
mai calculatoare interconectate printr-o reea de comunicaie.
Limbajul SQL
Generaliti
SQL (Structured Query Language - Limbaj Structurat de Interogare) este un limbaj de
programare specific pentru manipularea datelor n sistemele de manipulare a bazelor de date
relaionale (RDBMS), iar la origine este un limbaj bazat pe algebra relaional. Acesta are ca
scop inserarea datelor, interogaii, actualizare i tergere, modificarea i crearea schemelor,
precum i controlul accesului la date. A devenit un standard n domeniu (standardizat ANSIISO), fiind cel mai popular limbaj utilizat pentru creearea, modificarea, regsirea i manipularea
datelor de ctre SGBD-urile (Sistemele de Gestiune a Bazelor de Date) rela ionale. Pe lng
versiunile standardizate ale limbajului, exist o mulime de dialecte i variante, unele proprietare,
fiind specifice anumitor SGBD-uri i de asemenea con innd extensii pentru a suporta SBD-urile
(Sistemele de Baze de Date) obiectuale (obiectual-relaionale).
SQL permite att accesul la coninutul bazelor de date, ct i la structura acestora.
Limbajul structurat de interogare SQL(Structured Query Language) este limbajul
standard pentru bazele de date(BD). Peste o sut de sisteme de gestiune a bazelor de date
recunosc limbajul SQL.
Ca orice limbaj de baze de date, SQL permite:

Crearea bazei de date relaionale i structurarea relaiilor prin componenta sa de definire a


datelor
Efectuarea operaiilor elemntare de BD(inserare, tergere, modificare a datelor) i a
interogrilor asupra BD, prin componenta de manipulare a datelor.

Limbajul SQL este divizat n urmtoarele elemente:

Clauze, care sunt componente ale instruciunilor i interogrilor.

Expresii, al cror efect este producerea de valori scalare sau tabele.

Predicates, pot specifica condiii care sunt evaluate de SQL conform logicii
ternare sau logicii booleene, n scopul limitrii efectelor instruciunilor, sau pentru a influena
cursul programului.
Interogrile, au ca scop regsirea datelor dup criterii specifice.
Instruciunile, pot avea un efect persistent asupra datelor sau structurii datelor, sau pot
controla tranzaciile, conexiunile sau cursul programului. n general, instruciunile SQL se
termin cu caracterul punct-virgul (";"), dei acest lucru nu este obligatoriu n toate
platformele SQL. Spaiile albe suplimentare sunt ignorate, dar ele pot fi folosite pentru
lizibilitatea codului SQL.

Scrierea comenzilor SQL


O comand SQL este format din cuvinte rezervate i vuvinte definitede ctre utilizator.
Cuvintele rezervate prezint o parte fix. Ele trebuie scrise exact cum apar n sintax i nu pot fi
mprite pe mai multe rnduri. Cuvintele definite de utilizator reprezint denumirile obiectelor
din baza de date.
Componentele unei instruciuni SQL nu sunt sensibile la tipul de litere, ns datele de tip
caracter literal trebuie s fie scrise exact cum apar n baza de date. De exemplu, dac vom avea
depus n baza de date numele unei persoane sub forma LUPU, dup care l vom cuta cu Lupu,
nregistrarea nu va fi gsit.
Cu toate c limbajul SQL este un limbaj cu format liber, o instruciune sau un set de
instruciuni este mai lizibil dac se utilizeaz indentarea i alinierea. De exemplu:
- fiecare clauz din cadreul unei instruciuni trebuie s nceap de pe o linie nou;
- nceputul fiecrei clauze s fe aliniat cu nceputul celorlalte;

- dac o clauz are mai multe pri, fiecare dintre ele trebuie s apar pe cte o linie separat i
trebuie s fie indentat fa de nceputul clauzei, pentru a indica relaia.
Pentru scrirea corect a instruciunilor SQL trebuie s fie respectate cu strictee regulile
de sintax. Unele dintre aceste reguli sunt:
- orice instruciune SELECT se va termina prin ; ;
- ntr-o interogare unde se folosesc cmpuri din mai multe tabele, numele tabelului se separ de
numele cmpului prin .;
- parantezele drepte ncadreaz numele de cmpuri doar dac acestea conin spaii sau sinboluri
neacceptate de SQL;
- parametrii dintr-o list se separ prin virgul;
- valorile de tip ir de caractere se marchez prin apostrof sau ghilimele;
- inegalitile din cadrul clauzelor se specific prin <>;
- simbolurile ? i * nlocuiesc unul sau mai multe caractere;
- pentru specificarea valorilor de tip dat\timp se utilizeaz #;
- majusculele sunt utilizate pentru a reprezenta cuvinte rezervate i trebuie scrise exact aa cum
se arat;
- literele mici sunt utilizate pentru a reprezenta cuvinte definite de utilizator;
- o bar vertical ( | ) indic posibilitatea unei alegeri dintre mai multe alternative;
- acoladele indic un elememnt necesar;
- parantezele drepte indic un element opional;
- punctele de suspensie ( .....) se utilizeaz pentru a indica o repetare opional a unui articol de
zero sau mai multe ori.
Sintaxa construciilor SELECT
Instruciunea SELECT are ca scop regsirea i afiarea datelor din unul sau mai multe
tabele. Este cea mai utilizat comand SQL. Este o comand foarte puternic,capabil de a
efectua echivalentul operaiilor de selecie, proiecie i uniune din algebra relaional, n cadrul
unei singure instruciuni.
SELECT [DISTINCT|ALL] nume_cmp1,.....
FROM denumire_tabel [alias] [,.]
[WHERE condiie]
[GROUP BY nume_cmp2.....[HAVING condiie]]
[ORDER BY nume_cmp3 [ASC| DESC]......]
unde:
- nume_cmp1,.....precizeaz n mod explicit cmpurile dup care se face proiecia i cuprinde
toate cmpurile care vor aprea n tabela cu rezultatele interogrii. Dac exist ambiguiti
9

referitor la tabelele din care fac parte cmpurile specificate, atunci acestea vor fi precedate de
numele tabelului din care fac parte. Dac n locul acestei liste se folosete caracterul * atunci
proiecia se face dup toate cmpurile tabelelor specificat n clauza FROM. n cazul cel mai
general, parametrul nume_cmp1 poate fi o expresie aritmetic combinnd cmpuri i/sau funcii
de agregare avnd ca operanzi unul sau mai multe cmpuri. De asemenea, se pot utiliza i
informaii din interogri care au fost deja create.
- [DISTINCT|ALL] specific domeniul rndurilor asupra crora se efectueaz interogarea.
Clauza DISTINC elimin rndurile care conin duplicate n cmpurile selectate i are ca efect
afiarea o singur dat n cazul datelor cu apariii multiple. Clauza ALL include n rezultat toate
rndurile care ndeplinesc condiiile specificate i este implicit.
- FROM specific tabelul sau tabelele care vor fi utilizate. Se poate utiliza un alias pentru
tabelul specificat n clauza FROM. Aliasul este separat de numele tabelului prin spaiu. Aliasul se
utilizez oriunde n locul numelui tabelului i se poate utiliza pentru specificarea unei coloane
cnd exist ambiguitate privind sursa acesteia;
- WHERE filtreaz rndurile care vor fi supuse unei anumite condiii. Vor fi afiate numai
rndurile care ndeplinesc condiia specificat;
- GROUP BY are ca efect gruparea rndurilor unui tabel pe baza valorilor unui cmp sau grup
de cmpuri, cu aceei valoare a coloanei. Parametru nume_cmp2 furnizeaz criteriul de grupare
al rndurilor unui tabel n submulimi de rnduri, toate avnd aceeai valoare pentru cmpul
nume_cmp2. criteriul de grupare este fomat din mai multe cmpuri. Aceste submulimi sau
grupuri de rnduri urmeaz a fi tratate ca un tot unitar m anumite operaii cum ar fi aplicarea
funciilor de grup care se calculeaz nu pe ntreaga relaie, ci pe fiecare grup de rnduri n parte;
- HAVING filtreaz grupurile supuse unei anumite condiii;
- ORDER BY specific ordonarea rndurilor unui tabel rezultat dup valorile parametrului
nume_cmp3, iar cuvintele cheie ASC i DESC indic modul n care se face ordonarea, dup
valorile cresctoare, respectiv descresctoare ale atributului specificat. Implicit ordonarea va fi n
funcie de valorile cresctoare. Ordinea clauzelor n instruciunea SELECT nu poate fi
schimbat. Singurele clauze obligatorii sunt SELECT i FROM, restul sunt opionale. Rezultatul
unei interogri este un alt tabel.

Pe lng nume de coloane i operatori, o expresie poate include una sau mai multe
funcii:

COUNT(*) numr liniile ce satisfac condiiile din instruciunea select;


10

SUM(coloana|expresie) sumeaz valorile dintr-o coloan sau o expresie numeric;


AVG (coloana|expresie) gsete media aritmetic a valorilor dintr-o coloan sau a
unei expresii numerice;
MAX[MIN](coloana| expresie)gsete valoarea maxim sau minima pentru o
coloan sau expresie

Exemplu de Baze de Date


Tabele:

11

12

Interogri:
SELECT simplu
Inculpaii care au ca obiect la dosar: furt calificat.

13

SELECT n SELECT
Inculpaii care au ca obiect la dosar vtmare corporal din culpa i numrul
dosarului care au termene ntre 01.12.2011 i 31.03.2012

SELECT cu legturi
Selectarea prilor civile a cror aciune civil este formulat sau din oficiu.
14

GROUP BY
Afiarea grupat instanelor din tabelul termene, unde numrul dosarului din acest
table coincide cu numrul dosarului din tabelul aciunea civil.

15

HAVING

Bibliografie

16

Lungu, C. Bodea, G. Bdescu, C. Ioni - Baze de date - organizare,


proiectare i implementare, Ed. ALL, Bucureti, 1995.
Adriana Olteanu, Magdalena Anghel, Radu Nicolea Pietraru - Baze de
date i utilizarea acestora, Curs, 2005
Constantin Lupsoiu Sisteme de baze de date, Ed. Sitech,2010
http://biblioteca.regielive.ro/cursuri/limbaje-de-programare/programul-microsoftoffice-pentru-baze-de-date-economie-23970.html
http://www2.unitbv.ro/LinkClick.aspx?
fileticket=8Gsfz0SfMt0%3D&tabid=4146&language=en-US
https://support.office.com/ro-ro/article/Clauza-HAVING-64c52dba-5cda-45c5-98b5bd155a89f02f
http://asis.licee.edu.ro/elev/microsoft_access_2007.pdf
http://www.tutorialesql.com/
http://ro.wikipedia.org/wiki/Microsoft_Access

17