Gestiunea Bazelor de Date - lucraridelicenta - Homelicenta.ucoz.ro/Gestiunea_Bazelor_de_Date.doc ·...

32
Baze de date

Transcript of Gestiunea Bazelor de Date - lucraridelicenta - Homelicenta.ucoz.ro/Gestiunea_Bazelor_de_Date.doc ·...

Gestiunea Bazelor de Date

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:

definirea crearea bazei de date;

introducerea (adugarea) datelor n baza de date;

modificarea unor date deja existente n baza de date;

tergerea datelor din baza de date;

consultarea bazei de date interogare/extragerea datelor.

n plus un SGBD mai asigur i alte servicii:

suport pentru limbaj de programare;

interfa ct mai atractiv pentru comunicare cu utilizatorul;

tehnici avansate de memorare, organizare, accesare a datelor din baza de date;

utilitare ncorporate: sistem de gestiune a fiierelor, liste, tabele etc.;

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 datecare interacioneaz cu toate celelalte componente ale acestuia asigurnd legtura i interdependena ntre ele.

Activitile asigurate de SGBD

Un SGBD trebuie s asigure urmtoarele activiti:

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;

ncrcarea datelor n baza de date se realizeaz prin comenzi n limbaj propriu, limbaj de manipulare a datelor (LMD);

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:

minimizarea costului de prelucrare a datelor,

reducerea timpului de rspuns,

flexibilitatea aplicaiilor i

protecia datelor.

Pentru satisfacerea performanelor enumerate, SGBD trebuie s asigure un minim de obiective.

1. Asigurarea independenei datelor trebuie privit din dou puncte de vedere:

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;

independena fizic modificarea tehnicilor fizice de memorare fr a determina rescrierea programelor de aplicaie.

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.

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.

existena unor limbaje performante de regsire a datelor care permit exprimarea interactiv a unor cereri de regsire a datelor.

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.

4. Asigurarea securitii datelor mpotriva accesului neautorizat.

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.

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.

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.

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.

funcia de manipulare este cea mai complex i realizeaz actualizarea i regsirea datelor.

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.

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.

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

mama

45

2090289575555

sandu

andreea

02.09.1989

iasi

ion

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

data_n

loc_n

tata

mama

adresa

45

2090289575555

sandu

andreea

02.09.1989

iasi

ion

mihaela

iasi

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

Query3

codstud

cnp

nume

prenume

data_n

loc_n

tata

mama

adresa

41

2011889330195

stanciuc

mihaela

18.01.1989

suceava

gheorghe

veronica

suceava

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

Query4

codstud

codfac

an

grupa

media

bursa

cnp

nume

prenume

data_n

loc_n

tata

mama

adresa

41

1

1

1

8

1400000

2011889330195

stanciuc

mihaela

18.01.1989

suceava

gheorghe

veronica

suceava

42

2

1

2

9

1800000

2040389577577

scurtu

mirela

03.04.1989

suceava

dragos

raluca

suceava

43

3

2

3

8

1400000

1090688586575

soescu

costel

06.09.1988

botosani

nicolae

ana

suceava

5 Studentii cu varsta peste 18 ani.

Query5

codstud

cnp

prenume

nume

data_n

loc_n

tata

mama

adresa

varsta

41

2011889330195

mihaela

stanciuc

18.01.1989

suceava

gheorghe

veronica

suceava

19

42

2040389577577

mirela

scurtu

03.04.1989

suceava

dragos

raluca

suceava

19

43

1090688586575

costel

soescu

06.09.1988

botosani

nicolae

ana

suceava

20

44

2080488374855

marinela

onu

04.08.1988

suceava

vasile

maria

suceava

20

45

2090289575555

andreea

sandu

02.09.1989

iasi

ion

mihaela

iasi

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

data

42

2040389577577

scurtu

mirela

32

22

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

8

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

codstud

cnp

nume

prenume

data_n

loc_n

tata

mama

adresa

codfac

an

grupa

media

45

2090289575555

sandu

andreea

02.09.1989

iasi

ion

mihaela

iasi

5

1

1

7

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

44

2080488374855

onu

marinela

04.08.1988

suceava

v

vasile

maria

suceava

45

2090289575555

sandu

andreea

02.09.1989

iasi

i

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

44

2080488374855

onu

marinela

04.08.1988

suceava

v

vasile

maria

suceava

45

2090289575555

sandu

andreea

02.09.1989

iasi

i

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

Nume

Prenume

Grupa

An

Media

Automatica

onu

marinela

4

3

7

Electrotehnica

scurtu

mirela

2

1

9

Mecanica

soescu

costel

3

2

8

SEAP

sandu

andreea

1

1

7

SEAP

stanciuc

mihaela

1

1

8

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

Nume

Prenume

Grupa

An

Media

SEAP

stanciuc

mihaela

1

1

8

Electrotehnica

scurtu

mirela

2

1

9

Mecanica

soescu

costel

3

2

8

Automatica

onu

marinela

4

3

7

SEAP

sandu

andreea

1

1

7

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

1

1

8

scurtu

mirela

2

1

9

soescu

costel

3

2

8

onu

marinela

4

3

7

sandu

andreea

1

1

7

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

1

8

2

1

9

3

1

8

4

1

7

5

1

7

Accses 7

CodFac

NumarStudenti

MediaFacultatii

2

1

9

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

2

0

1400000

2

2800000

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

3

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

8

1

2

9

2

3

8

3

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-denumireIntre facultate si studenti-relatii de tipul 1:N

-adresa

-numedecan

Studenti-codfac

-an

Studpersonal-cnpIntre studenti si studpersonal-relatii de tipul 1:1

-mama

-tata

-data_n

-prenume

-nume

Note-notaIntre studenti si note-relatii de tipul M:N

-data

Materii-denumireIntre note si materii-relatii de tipul M:N

-an

-profesor

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-E23E13-r4-E24E14-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

PAGE