Sunteți pe pagina 1din 22

Baze de date

1.Conceptul de sistem de gestiune a bazelor de date

Sistemele de gestiune a bazalor de date (SGBD) sunt sisteme informatice


specializate n stocarea i prelucrarea unui volum mare de date, numrul prelucrrilor
fiind relativ mic.
Termenul de baz de date se va referi la datele de prelucrat, la modul de organizare a
acestora pe suportul fizic de memorare, iar termenul de gestiune va semnifica totalitatea
operaiilor ce se aplic asupra datelor din baza de date.
Un SGBD trebuie s asigure urmtoarele funcii:
1 definirea crearea bazei de date;
2 introducerea (adugarea) datelor n baza de date;
3 modificarea unor date deja existente n baza de date;
4 tergerea datelor din baza de date;
5 consultarea bazei de date interogare/extragerea datelor.
n plus un SGBD mai asigur i alte servicii:
1 suport pentru limbaj de programare;
2 interfa ct mai atractiv pentru comunicare cu utilizatorul;
3 tehnici avansate de memorare, organizare, accesare a datelor din baza de date;
4 utilitare ncorporate: sistem de gestiune a fiierelor, liste, tabele etc.;
5 help pentru ajutarea utilizatorului n lucrul cu baza de date.
Apariia i rspndirea reelelor de calculatoare a dus la dezvoltarea SGBD-urilor n
direcia multiuser: mai muli utilizatori folosesc simultan aceeai baz de date.
Principalul avantaj al reelelor a fost eficiena mult sporit de utilizare a resurselor
sistemelor de calcul: la o baz de date aflat pe un server central au acces simultan mai
muli utilizatori, situai la distan de server, de unde rezult o bun utilizare a resurselor
server-ului i o economie de memorie datorat memorrii unice a bazei de date.
Un SGBD este dotat cu un limbaj neprocedural de interogare a bazei de date SQL
care permite accesul rapid i comod la datele stocate n baza de date.
n arhitectura unui sistem de baze de date SGBD ocup locul central.
Un SGBD este un ansamblu complex de programe care asigur interfaa ntre o baz de
date i utilizatorii acesteia. SGBD este componenta software a unui sistem de baze de
date care interacioneaz cu toate celelalte componente ale acestuia asigurnd legtura
i interdependena ntre ele.

Activitile asigurate de SGBD

Un SGBD trebuie s asigure urmtoarele activiti:


1 definirea i descrierea structurii bazei de date se realizeaz printr-un limbaj
propriu, limbaj de definire a datelor (LDD), conform unui anumit model de date;
2 ncrcarea datelor n baza de date se realizeaz prin comenzi n limbaj propriu,
limbaj de manipulare a datelor (LMD);
3 accesul la date se realizeaz prin comenzi specifice din limbajul de manipulare
a datelor. Accesul la date se refer la operaiile de interogare i actualizare.
Interogarea este complex i presupune vizualizarea, consultarea, editarea de
situaii de ieire (rapoarte, liste, regsiri punctuale).
Actualizarea presupune 3 operaiuni: adugare, modificare efectuate prin
respectarea restriciilor de integritate ale BD i tergere;
ntreinerea bazei de date se realizeaz prin utilitare proprii ale SGBD;
reorganizarea bazei de date se face prin faciliti privind actualizarea structurii de
date i modificarea strategiei de acces. Se execut de ctre administratorul bazei de
date;
securitatea datelor se refer la asigurarea confidenialitii datelor prin autorizarea
i controlul accesului la date, criptarea datelor.

Obiectivele unui SGBD


Un SGBD are rolul de a furniza suportul software complet pentru dezvoltarea de
aplicaii informatice cu baze de date.
El trebuie s asigure:
1 minimizarea costului de prelucrare a datelor,
2 reducerea timpului de rspuns,
3 flexibilitatea aplicaiilor i
4 protecia datelor.
Pentru satisfacerea performanelor enumerate, SGBD trebuie s asigure un minim de
obiective.
1 1. Asigurarea independenei datelor trebuie privit din dou puncte de
vedere:
0 independena logic se refer la posibilitatea adgrii de noi tipuri de
nregistrri de date sau extinderea structurii conceptuale, fr a determina
rescrierea programelor de aplicaie;
1 independena fizic modificarea tehnicilor fizice de memorare fr a
determina rescrierea programelor de aplicaie.
2 2. Asigurarea redundanei minime i controlate a datelor stocarea
informaiilor n bazele de date se face astfel nct datele s nu fie multiplicate.
Totui, pentru a mbunti performanele legate de timpul de rspuns, se
accept o anumit redundan a datelor, controlat, pentru a asigura coerena
bazei de date i eficiena utilizrii resurselor hardware.

3. Asigurarea facilitilor de utilizare a datelor presupune ca SGBD-ul s aib


anumite componente specializate pentru:

folosirea datelor de ctre mai muli utilizatori n diferite aplicaii datele de la o


aplicaie trebuie s poat fi utilizate i n alte aplicaii.
2 accesul ct mai simplu al utilizatorilor la date fr ca ei s fie nevoii s
cunoasc structura ntregii baze de date; aceast sarcin cade n seama
administratorului bazei de date.
3 existena unor limbaje performante de regsire a datelor care permit
exprimarea interactiv a unor cereri de regsire a datelor.
4 sistemul de gestiune trebuie s ofere posibilitatea unui acces multicriterial la
informaiile din baza de date spre deosebire de sistemul clasic de prelucrare pe
fiiere unde exist un singur criteriu de adresare, cel care a stat la baza organizrii
fiierului.
1
4. Asigurarea securitii datelor mpotriva accesului neautorizat.
2 5. Asigurarea coerenei i integritii datelor mpotriva unor tergeri intenionate
sau neintenionate se realizeaz prin intermediul unor proceduri de validare, a
unor protocoale de control concurent i a unor proceduri de refacere a bazei de
date.
3 6. Asigurarea partajabilitii datelor se refer pe de o parte la asigurarea
accesului mai multor utilizatori la aceleai date i de asemenea la posibilitatea
dezvoltrii unor aplicaii fr a se modifica structura bazei de date.
4 7. Asigurarea legturilor ntre date corespund asocierilor care se pot realiza ntre
obiectele unei aplicaii informatice. Orice SGBD trebuie s permit definirea i
descrierea structurii de date, precum i a legturilor dintre acestea, conform unui
model de date (de exemplu modelul relaional).
8. Administrarea i controlul datelor sunt asigurate de SGBD, n sensul c datele
pot fi folosite de mai muli utilizatori n acelai timp, iar utilizatorii pot avea
cerine diferite i care pot fi incompatibile. SGBD trebuie s rezolve probleme
legate de concuren la date, problem care apare mai ales n lucrul n mediu de
reea de calculatoare.

Funciile unui SGBD

Evideniem urmtoarele funcii ale unui SGBD.


1 funcia de descriere a datelor se face cu ajutorul LDD, realizndu-se
descrierea atributelor din cadrul structurii BD, legturile dintre entitile BD, se
definesc eventualele criterii de validare a datelor, metode de acces la date,
integritatea datelor. Concretizarea acestei funcii este schema BD.
2 funcia de manipulare este cea mai complex i realizeaz actualizarea i
regsirea datelor.
3 funcia de utilizare asigur mulimea interfeelor necesare pentru comunicare
a tuturor utilizatorilor cu BD.

Categorii de utilizatori:
neinformaticieni beneficiarii informaiei, nu trebuie s cunoasc structura BD, nu
trebuie s programeze aplicaii ci doar s le foloseasc prin intermediul unei interfee
suficient de prietenoase.
informaticieni creaz structura BD i realizeaz procedurile complexe de exploatare a
BD;
administratorul bazei de date utilizator special, cu rol hotrtor n funcionarea optim a
ntregului sistem.
1 funcia de administrare administratorul este cel care realizeaz schema
conceptual a bazei de date, iar n perioada de exploatare a BD autorizeaz
accesul la date, reface baza n caz de incident.
2 funcia de protecie a bazei de date ansamblul de msuri necesare pentru
asigurarea integritii (semantic, acces concurent, salvare/restaurare) i
securitii datelor (autorizare acces, utilizare viziuni, criptare).

2.Ce este o Baz de Date?


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, creat 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. Fa de vechile metode de
nregistrare a datelor privind diferite activiti pe fie (documente scrise) sau chiar n
fiiere pe disc, sistemele de baze de date ofer avantaje considerabile, ceea ce explic
extinsa utilizare a acestora. Cteva dintre avantajele oferite sunt:
Controlul centralizat al datelor, putnd fi desemnat o
persoan ca responsabil cu administrarea bazei de date
Vitez mare de regsire i actualizare a informaiilor
Sunt compacte: volumul ocupat de sistemele de baze de date este mult mai redus dect
documetele scrise
Flexibilitatea ce const n posibilitatea modificrii structurii bazei de date fr a fi
necesar modificarea programelor de aplicaie
Redundan sczut a datelor memorate, care se obine prin partajarea datelor ntre mai
muli utilizatori i aplicaii.
n sistemele de baze de date, mai multe aplicaii pot folosi date comune,
memorate o singur dat. De exemplu, o aplicaie pentru gestionarea personalului dintr-o
universitate i o aplicaie pentru gestionarea rezultatelor la examene din aceeai
universitate care folosete o singur baz de date, pot folosi aceleai informaii referitoare
la structurarea facultilor.
Posibilitatea introducerii standardelor privind modul de stocare a datelor, ceea ce
permite interschimbarea datelor ntre organizaii

Meninerea integritii datelor prin politica de securitate (drepturi de acces difereniate


n funcie de rolul utilizatorilor), prin gestionarea tranzaciilor i prin refacerea datelor n
caz de funcionare defectuoas a diferitelor componente hardware sau software.
Independena datelor fa de suportul hardware utilizat. Sistemul de gestiunea a bazelor
de date ofer o vizualizare a datelor, care nu se modific atunci cnd se schimb
suportul de memorare fizic, ceea ce asigur imunitatea structurii bazei de date i a
aplicaiilor la modificri ale sistemului hardware utilizat.
Clasificarea sistemelor de baze de date
Se pot lua n considerare mai multe criterii de clasificare ale
sistemelor de baze de date.
2.1. 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 condos
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 relaional a fost propus de cercettorul E.F.Codd de la
compania IBM, care a publicat n 1970 lucrarea Un model relaional de date pentru
bnci mari de date partajate. Alte lucrri ale lui Codd, ca i ale altor cercettori ca R.
Boyce,J.D. Ullman etc au perfecionat modelul de date relaional i au permis dezvoltarea
sistemelor de baze de date. Chiar dac noiunile de relaie i tabel difer n esena lor,
relaia reprezentnd o mulime de entiti i tabelul o reprezentare vizual a acesteia, cele
dou denumiri se pot folosi, n general pentru acelai scop. Pe baza acestor noiuni, se
poate sintetiza esena modelului relaional prin urmtoarele caracteristici:
Datele sunt percepute de utilizatori ca tabele
Operatorii relaionali care pot fi folosii pentru prelucrarea datelor genereaz un tabel
rezultat din tabelele operanzi
Asocierea dintre tabele se realizeaz prin intermediul egalitii valorilor unor atribute
comune, ceea ce permite rezolvarea oricrei interogri. Pe lng avantajul unui model de
date precis i simplu, sistemele de baze de date relaionale mai beneficiaz i de un
limbaj de programare recunoscut i acceptat, limbajul SQL (Structured Query Language),
pentru care au fost emise mai multe standarde de ctre Organizaia Internaional de
Standardizare (International Standardization Office-ISO). Majoritatea sistemelor
de gestiune a bazelor de date relaionale actuale implementeaz versiunea din anul 1992 a
standardului pentru limbajul SQL, denumit SQL 92 sau SQL2.
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). Exist i unele domenii, n special cele care
manipuleaz tipuri de date complexe, cum ar fi proiectarea asistat de calculator, sisteme
de informaii geografice, medicin etc, n care modelul relaional s-a dovedit a fi
insuficient de expresiv i cu performane de execuie reduse. Caracteristicile importante
ale modelului orientat obiect sunt: abstractizarea, motenirea, ncapsularea,
modularizarea. n programarea orientat obiect, programele sunt organizate ca i colecii
de obiecte cooperante, fiecare obiect fiind o instan a unei clase. Fiecare clas reprezint
abstractizarea unui tip de entitate din realitatea modelat, iar clasele sunt membre ale unei
ierarhii de clase, corelate ntre ele prin relaii de motenire. Orice obiect este ncapsulat,
ceea ce nseamn c reprezentarea lui (adic structura intern a acelui obiect) nu este
vizibil utilizatorilor, care au acces doar la funciile (metodele) pe care acel obiect este
capabil s le execute. Clasele i obiectele unui program orientat obiect sunt grupate n
module, care pot fi compilate separat i ntre care exist granie bine definite i
documentate, ceea ce reduce complexitatea de manevrare a datelor. Din perspectiva
realizrii bazelor de date, o alt proprietate a modelului obiect, persistena, este aceea
care asigur memorarea transparent pe suport magnetic a obiectelor care alctuiesc o
baz de date orientat obiect.
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.
La fel ca i modelul ierarhic, dezavantajul principal al 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, complexitatea reprezentrii datelor
n modelul reea este deosebit de ridicat, iar programatorii trebuie s o cunosasc pentru
a putea realize aplicaiile necesare.

2.2. 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. Exist i un
numr redus de sisteme monoutilizator, adic suport accesul doar al
unui utilizator (la un moment dat).
2.3. 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 multe calculatoare interconectate
printr-o reea de comunicaie.

3.Descrierea aplicatiei
In aceasta aplicatie am incercat sa descriu situatia unor studenti de la diferite
specializari.Aplicatia cuprinde 4 tabele cu urmatoarea structura:
1.tablul Facultate(CodFac integer primary key,Denumire text(50),Adresa
text(50),NumeDecan text(20));
2. tablul StudPersonal(CodStud integer primary key,CNP integer,NumeText(25),Prenume
text(20),DataNasterii date,LocNast text(50),Tata text(30),Mama text(30),Adresa
text(50));
3. tablul Studenti(CodStud integer primary key,CodFac integer,An byte,Grupa text(6),
Media double,Bursa integer);
4. tablul Materii(CodMaterie integer primary key,Denumire text(30),An byte,
NumeProfesor text(50));
5. tablul Note (CodNota integer autonumber primary key,CodStud integer,CodMaterie
integer,Nota byte,Data date);

4.Interogari, formulare si rapoarte


INTEROGARI
1.Studentii a caror nume incep cu litera S.
Query1
codstud

cnp

nume prenume

data_n

loc_n

tata
ion

mama

45 2090289575555 sandu

andreea

02.09.1989 iasi

mihaela

42 2040389577577 scurtu

mirela

03.04.1989 suceava dragos

raluca

43 1090688586575 soescu costel

06.09.1988 botosani nicolae

ana

41 2011889330195 stanciuc mihaela

18.01.1989 suceava gheorghe veronica

2.Afisati datele studentului Soescu (interogare parametrica,parametrul nume).


Query2
codstud

cnp

nume prenume

45 2090289575555 sandu andreea

data_n

loc_n tata mama adresa

02.09.1989 iasi

ion mihaela iasi

3.Studentii nascuti in luna 01(interogare parametrica).


Query3
codstud

cnp

nume prenume

41 2011889330195 stanciuc mihaela

data_n

loc_n

tata

mama

adresa

18.01.1989 suceava gheorghe veronica suceava

4.Studentii din Suceava care au bursa peste 1000000 lei.


Query4
codst codf a gru med
bursa
ud
ac n pa ia

cnp

nume

prenu
data_n loc_n
me

tata mama

adres
a

41

1 1

8 14000 201188933 stanci mihael 18.01.1 sucea gheorg veroni sucea


00
0195
uc
a
989 va
he
ca
va

42

2 1

9 18000 204038957 scurtu mirela


00
7577

03.04.1 sucea dragos raluca sucea


989 va
va

43

3 2

8 14000 109068858 soesc costel


00
6575
u

06.09.1 botos nicolae ana


988 ani

sucea
va

5 Studentii cu varsta peste 18 ani.


Query5
codstu
d

cnp

prenum
nume
e

data_n

loc_n

tata

mama adresa varsta

41 201188933019 mihaela stanciu


5
c

18.01.198 suceava gheorgh veronic suceav


9
e
a
a

19

42 204038957757 mirela
7

scurtu

03.04.198 suceava dragos


9

raluca

suceav
a

19

43 109068858657 costel
5

soescu

06.09.198 botosan nicolae


8i

ana

suceav
a

20

44 208048837485 marinela onu


5

04.08.198 suceava vasile


8

maria

suceav
a

20

45 209028957555 andreea sandu


5

02.09.198 iasi
9

mihaela iasi

ion

19

6.Studentii de la facultatea SEAP.


Query6
codfac denumire adresa nume decan codstud

cnp

nume prenume

1 SEAP

iasi

popescu ioan

41 2011889330195 stanciuc mihaela

5 SEAP

iasi

ionescu ion

41 2011889330195 stanciuc mihaela

1 SEAP

iasi

popescu ioan

42 2040389577577 scurtu

mirela

5 SEAP

iasi

ionescu ion

42 2040389577577 scurtu

mirela

1 SEAP

iasi

popescu ioan

43 1090688586575 soescu costel

5 SEAP

iasi

ionescu ion

43 1090688586575 soescu costel

1 SEAP

iasi

popescu ioan

44 2080488374855 onu

marinela

5 SEAP

iasi

ionescu ion

44 2080488374855 onu

marinela

1 SEAP

iasi

popescu ioan

45 2090289575555 sandu

andreea

5 SEAP

iasi

ionescu ion

45 2090289575555 sandu

andreea

7.Studentii care au avut peste media 8.


Query7
codstud

cnp

nume prenume codnota codmaterie nota

42 2040389577577 scurtu mirela

32

22

data

9 03.07.2008

8.Ce nota are studentul X(interogare parametrica,prametrul nume)?


Query8
codnota Note.codstud codmaterie nota StudPersonal.codstud Expr1005 nume prenume
31

41

21

41 stanciuc

stanciuc mihaela

9.Profesorul care preda la disciplina matematica(interogare parametrica,parametrul


materie).
Query9
numeprofesor
macovei

10.Care sunt studentii nascuti in Iasi?

Query10
codstu
d

cnp

num prenum
data_n
e
e

loc_ tat
adres codfa
grup medi
mama
an
n
a
a
c
a
a

45 20902895755 sand andreea 02.09.198 iasi


55
u
9

ion mihael iasi


a

5 1

Interogari in ACCSES:
1.Afisarea a toate campurile din tabelul StudPersonal.
Accses 1
codstud

cnp

nume prenume

data_n

loc_n init

tata

mama adresa

41 2011889330195 stanciuc mihaela

18.01.1989 suceava gh gheorghe veronica suceava

42 2040389577577 scurtu

mirela

03.04.1989 suceava d

dragos

raluca

suceava

43 1090688586575 soescu costel

06.09.1988 botosani n

nicolae

ana

suceava
suceava

44 2080488374855 onu

marinela 04.08.1988 suceava v

vasile

maria

45 2090289575555 sandu

andreea 02.09.1989 iasi

ion

mihaela iasi

2. Afisarea a toate campurile din tabelul StudPersonal pentru care adresa este Suceava sau
Iasi.
Accses 2
codstud

cnp

nume prenume

data_n

loc_n init

tata

mama adresa

41 2011889330195 stanciuc mihaela

18.01.1989 suceava gh gheorghe veronica suceava

42 2040389577577 scurtu

mirela

03.04.1989 suceava d

dragos

raluca

suceava

43 1090688586575 soescu costel

06.09.1988 botosani n

nicolae

ana

suceava
suceava

44 2080488374855 onu

marinela 04.08.1988 suceava v

vasile

maria

45 2090289575555 sandu

andreea 02.09.1989 iasi

ion

mihaela iasi

3. Afiarea numelui facultii (din tabela Facultate), numelui i prenumelui studentului


(din tabela StudPers) i a grupei din care face parte, anul i media (informaii aflate n
tabela Studenti) grupate pe faculti.
Accses 3
Denumire
Automatica

Nume Prenume Grupa An Media


onu

marinela

mirela

Mecanica

soescu costel

SEAP

sandu

andreea

SEAP

stanciuc mihaela

Electrotehnica scurtu

4.Afiarea numelui facultii (din tabela Facultate), a numelui i a prenumelui studentului


(din tabela StudPers) i a grupei din care face parte, anul i media (informaii aflate n
tabela Studenti).
Accses 4
Denumire
SEAP

Nume Prenume Grupa An Media


stanciuc mihaela

mirela

Mecanica

soescu costel

Automatica

onu

marinela

SEAP

sandu

andreea

Electrotehnica scurtu

5.Afiarea numelui i prenumelui studentului (din tabela StudPers) i a grupei din care
face parte, anul i media (informaii aflate n tabela Studenti).
Accses 5
Nume Prenume Grupa An Media
stanciuc mihaela

scurtu

mirela

soescu costel

onu

marinela

sandu

andreea

6 si7.O cerere n dou variante: fr i apoi cu o clauz HAVING care elimin o parte din
grupuri.
Accses 6
CodFac NumarStudenti MediaFacultatii
1

Accses 7
CodFac NumarStudenti MediaFacultatii
2

8.Afiarea grupat a nregistrrilor din tabela Studenti dup valoarea coloanei bursa i
obinerea unui rezultat coninnd valoarea bursei, numrul de studeni avnd acea burs i
suma burselor din fiecare grup.
Accses 8
Bursa Expr1001 Expr1002
0

1400000

2 2800000

Accses 8
Bursa Expr1001 Expr1002
1800000

1 1800000

9. Afiarea codului facultii, codul studentului, grupa, bursa pentru studenii care au
codul facultaii 1 sau 3.
Accses 9
CodFac CodStud Grupa Bursa
1

41

1 1400000

43

3 1400000

10.Afiarea codului facultii, media, grupa pentru studenii care au media cuprins ntre
8 i 9 inclusiv.
Accses 10
CodFac Media Grupa
1

FORMULARE
1.Formularul studenti cu subformularul note.
2.Forularul facultate cu subformularul materii
RAPOARTE
1.Raportul care sa contina campurile:codstud,cnp,nume,prenume,data_n,adresa.
2.Raportul care sa contina
campurile:codmaterie,denumire,an,numeprofesor,codstud,cnp,nume si prenume.
3.Raportul care sa contina campurile:codstud,codfac,an grupa,media,bursa si denumire.
5. Diagrama entitate-relaie
Diagrama entitate-relaie este modelul entitate-relaie reprezentat. prin mulimile
de entiti i relaii dintre acestea.
Exist mai multe variante de notaii pentreu redarea acestei diagrame, astfel:
Entitate tip
Entitate tip puternic
Entitate tip
Entitate tip slab
Atribut
Atribut
Tipul relaiilor
Tipul relaiilor

Exemplu:
n continuare, se exemplific dezvoltarea modelului conceptual de nivel nalt al bazei de
date .

Facultate-denumire
-adresa

Intre facultate si studenti-relatii de tipul 1:N

-numedecan
Studenti-codfac
-an
Studpersonal-cnp
-mama
-tata
-data_n
-prenume
-nume

Intre studenti si studpersonal-relatii de tipul 1:1

Note-nota
-data
Materii-denumire
-an
-profesor

Intre studenti si note-relatii de tipul M:N


Intre note si materii-relatii de tipul M:N

Construcia schemelor relaie


n proiectarea bazelor de date se definesc relaii sau asocieri ntre mulimile de
entiti componente, pentru a reprezenta anumite aspecte ale realitii pe care o
modeleaz baza de date.
O relaie este o coresponden ntre entiti din una sau mai multe mulimi de
entiti. Gradul unei relaii este dat de numrul de mulimi de entiti asociate. Relaiile
pot fi binare (ntre 2 mulimi de entiti) sau multiple (ntre mai mult de 2 entiti).
Relaiile binare sunt mprite n trei categorii, dup numrul elementelor din fiecare din
cele dou mulimi puse n coresponden de relaia respectiv.
Se consider 2 mulimi de entiti E1 i E2.
Relaia unul-la-unul (1-1 sau one to one)
Relaia unul-la-unul este cel mai simplu tip de relaie. Ea este relaia prin care
unui element din mulimea E1 i corespunde un singur element din mulimea E2 i
reciproc.
Relaia unul-la-unul
E1
E2
E11 - r1- E21
E12 r2- E22
E13 r3- E23
Aceast relaie unul-la-unul este foarte rar folosit n lumea real. Cel mai des,
ea este folosit pentru a reduce numrul de atribute dintr-o entitate, pentru a nu depi
numrul maxim de cmpuri asociate pentru o tabel, acesta fiind de circa 255. Se mai

poate folosi i n cazul n care dorim desprirea elementelor fixe, a informaiilor care se
modific mai rar fa de cele care se modific destul de des.Un exemplu ar fi la aplicaia
pe care o proiectm noi, mprirea informaiilor despre studeni n dou entiti:
informaiile personale fiind stocate n tabelul StudPersonal i informaiile care se
modific de la an la an n tabela Studenti. Pentru a realiza efectiv aceast relaie trebuie
introdus atributul CodStud i n tabela StudPersonal. Astfel cele dou se
transform astfel:
Studenti cu atributele: CodStud, An, Grupa, Media, Bursa
StudPersonal cu atributele: CodStud, CNP, Nume, Init,
Prenume, Data Nasterii, Loc Naterii, Tata, Mama, Adresa
Informaiile stocate aa sunt i mai uor de manipulat.
Relaia unul-la-multe (1-N sau one to many)
Aceast relaie este o relaie prin care unui element din mulimea E1 i corespund
unul sau mai multe elemente din mulimea E2, dar unui element din mulimea E2 i
corespunde un singur element din mulimea E1.
. Relaia unul-la-multe
O atenie sporit trebuie s avem la specificarea prilor acestui tip de relaie. Un
exemplu al acestui tip de relaie din cadrul aplicaiei pe care o proiectm noi este c ntr-o
facultate sunt mai muli studeni, i se precizeaz c un student aparine unei singure
faculti din cadrul aceleiai universiti.
E1
E2
E1
E2
E1
E2
E11 r1-E21
E12-r2-E23
E13-r7-E26
-E22
-E24
-E27
-E25
Pentru a realiza efectiv aceast relaie trebuie introdus atributul CodFac i n
tabela Studenti. Astfel cele dou se transform astfel:
Facultate cu atributele: CodFac, Denumire, Adresa, Nume Decan
Studenti cu atributele: CodStud, CodFac, An, Grupa, Media, Bursa
Observaie: Dac se aduga atributul CodStud n tabela Facultate, se pstrau date
redundante n aceast tabel, adic pentru fiecare student al facultii trebuiau pstrate
informaii referitoare la facultate: denumirea ei, adresa, numele decanului, etc.
Relaia multe-la-multe (M-N sau many to many)
Aceast relaie este o relaie prin care unui element din mulimea E1 i corespund
unul sau mai multe elemente din mulimea E2, i reciproc.
Relaia multe-la-multe
E1
E2
E1
E2
E1
E2
E1
E2
E11-r1-E21
E12-r3-E23 E13-r4-E24
E14-r5-E25
r2-E22
r5-E25
r6 -E26
r7-E27
Acest tip de relaie este foarte des ntlnit, dar nu poate fi implementat n bazele de date
relaionale. De fapt, pentru modelarea acestei relaii se folosete o relaie suplimentar, de
tip unul-la-multe pentru fiecare din relaiile iniiale.
Un exemplu al acestui tip de relaie din cadrul aplicaia pe care o proiectm noi este c un
student particip la mai multe materii, cursuri, iar o materie este frecventat de mai muli

studeni. Pentru a soluiona aceast problem am introdus o tabel suplimetar numit


Note, care va face legtura ntre tabelele Materii i Studeni. Tabelele iniiale se modific
astfel:
Studenti cu atributele: CodStud, CodFac, An, Grupa,
Media, Bursa
Materii cu atributele: CodMaterie, Denumire, An, NumeProfesor
Note cu atributele: CodStud, CodMaterie, Nota, Data
Prin introducerea atributului Data n tabela Note s-a soluionat problema care apare atunci
cnd un student trebuie s fie examinat de mai multe ori pn la promovarea materiei
respective.
Relaia unar
Toate relaiile prezentate anterior sunt relaii binare, avnd cte dou relaii
implicate. Relaiile unare folosesc doar o singur relaie, aceasta fiind asociat cu ea
nsi.
Relaia unar
E1
E1-E2-E3-E4-r1
Exemplul clasic al acestei relaii unare este cazul
managerului unei companii, care la rndul su este tot un angajat
al acelei companii.Relatiile unare se modeleaza la fel ca si relatiile binare.

6.Limbajul standard SQL


Scurt istoric al limbajului SQL
SQL a fost conceput ca un limbaj standard de descriere a datelor i acces la
informaiile din bazele de date, ulterior dezvoltndu-se ca o adevrat tehnologie dedicat
arhitecturilor client-server. Utilizat iniial de ctre firma IBM pentru produsul DB2,
limbajul de interogare al bazelor de date relaionale SQL a devenit la mijlocul deceniului
trecut un standard n domeniu. De atunci i pn n prezent au fost dezvoltate un numr
de 7 versiuni ale standardului SQL, trei dintre acestea aparinnd Institutului Naional
American de Standarde (ANSI), celelalte fiind concepute de firme de prestigiu ca IBM,
Microsoft, Borland, sau de ctre consoriile industriale SAG (The SQL Access Group) i
X/Open, primul format din sute de firme ce comercializeaz software pentru baze de
date, iar cel din urm orientat spre activiti de promovare a standardelor n domeniul
sistemelor deschise. Din pcate, lipsa unui standard unic SQL are drept consecine
creterea costurilor programelor de gestiune a bazelor de date i ngreuneaz ntreinerea
arhitecturilor client/server. Termenul SQL reprezint o prescurtare a Structured Query
Language. Comenzile principale n cazul limbajului SQL se refer la cele cinci operaii
de baz care se pot efectua ntr-un limbaj relaional:
Crearea/tergerea unei tabele
Inserarea de noi linii intr-o tabel
tergerea unor linii dintr-o tabel
Modificarea unor linii dintr-o tabel

Listarea selectiv a datelor din una sau mai multe tabele


Crearea unei tabele
Comanda de creare de noi tabele n baza de date curent n limbajul SQL standard
este CREATE TABLE. Cea de-a doua metod de creare a tabelelor, mai exact metoda
grafic este i cea mai des folosit de toi utilizatorii. Pentru a crea o tabel n modul
Design se face opiunea:

.
Va aprea o fereastr n care trebuie completat denumirea cmpului, tipul de date
asociat cmpului respective i dac exist observaii. Vom exemplifica dect crearea
tabelei Facultate. Dup completarea denumirii cmpurilor n zona Field Name i a
tipurilor de date n zona Data Type vom seta cheia primar. Acest lucru se face
poziionndu-ne cu cursorul de la mouse pe partea din stnga cmpului corespunztor
cheii primare (n cazul nostrum CodFac), se apas clic dreapta i se face opiunea
Primary Key.

Se salveaz tabela cu un nume dat de utlizator.


Salvarea unei tabele
O tabel se salveaz cu opiunea Save din meniul File, sau printr-un clic pe
simbolul din bara de instrumente. Va aprea un mesaj pentru confirmarea salvrii tabelei.

Aceeai pai trebuie urmai i pentru celelalte tabele.


n final, partea de obiecteTables va arta astfel:

tergerea unei tabele


tergerea unei tabele se face cu comanda DROP TABLE.
Sintaxa acestei comenzi n limbajul SQL standard este:
DROP TABLE nume_tabel
Exemplu:
tergerea tabelei Note se face astfel:
drop table Note;
tergerea unei tabele n modul grafic se face astfel: ne poziionm n obiectul Tables,
unde sunt afiate toate tabelele din baza de date, apsm clic dreapta de la mouse pe
tabelul dorit pentru tergere i facem opiunea Delete.
Va aprea un mesaj de confirmare:

Se va apsa butonul Yes dac se dorete ntr-adevr tergerea tabelei sau se apas butonul
No dac se dorete revenirea asupra operaiei de tergere.
Modificarea unor linii dintr-o tabel
Efectul acestei comenzi este de actualizare a toturor liniilor care ndeplinesc
condiia din clauza WHERE, sau a tuturor liniilor din tabel, n cazul n care lipsete
aceast clauz. Noile valor sunt date de clauza SET.

Limbajul de cereri n SQL


Regsirea datelor din una sau mai multe tabele se face cu comanda SELECT.
Sintaxa simplificat a acesteia este:
SELECT [DISTINCT] lista_rezultat
FROM tabela sau tabele
[WHERE conditie]
[GROUP BY coloana1, coloana2.]
[HAVING conditie_de_grup]
[ORDER BY coloana1 [ASC|DESC],]
Dup cum se observ doar clauzele SELECT i FROM sunt
obligatorii, celelalte reprezentnd opiuni.
Cereri simple
Cea mai simpl cerere este cea prin care se regsesc toate
informaiile dintr-o tabel. n acest caz, simbolul * plasat lng
clauza SELECT ine loc de lista tuturor coloanelor unei tabele.
Clauza FROM conine numele tabelei.

Bibliografie

Crstoiu, Dorin, Baze de date relaionale, Editura Printech,1999


Ionescu, Felicia, Baze de date relaionale i aplicaii,Editura Tehnic, 2004
Browne, Allen, Balter Alison, Bazele Access 95, EdituraTeora, 1999
Pascu, C., Pascu A., Totul despre SQL, Editura Tehnic,1994

S-ar putea să vă placă și