Documente Academic
Documente Profesional
Documente Cultură
Gestiunea Bazelor de Date
Gestiunea Bazelor de Date
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).
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.
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);
cnp
nume prenume
data_n
loc_n
tata
ion
mama
45 2090289575555 sandu
andreea
02.09.1989 iasi
mihaela
42 2040389577577 scurtu
mirela
raluca
ana
cnp
nume prenume
data_n
02.09.1989 iasi
cnp
nume prenume
data_n
loc_n
tata
mama
adresa
cnp
nume
prenu
data_n loc_n
me
tata mama
adres
a
41
1 1
42
2 1
43
3 2
sucea
va
cnp
prenum
nume
e
data_n
loc_n
tata
19
42 204038957757 mirela
7
scurtu
raluca
suceav
a
19
43 109068858657 costel
5
soescu
ana
suceav
a
20
maria
suceav
a
20
02.09.198 iasi
9
mihaela iasi
ion
19
cnp
nume prenume
1 SEAP
iasi
popescu ioan
5 SEAP
iasi
ionescu ion
1 SEAP
iasi
popescu ioan
42 2040389577577 scurtu
mirela
5 SEAP
iasi
ionescu ion
42 2040389577577 scurtu
mirela
1 SEAP
iasi
popescu ioan
5 SEAP
iasi
ionescu ion
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
cnp
32
22
data
9 03.07.2008
41
21
41 stanciuc
stanciuc mihaela
Query10
codstu
d
cnp
num prenum
data_n
e
e
loc_ tat
adres codfa
grup medi
mama
an
n
a
a
c
a
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
42 2040389577577 scurtu
mirela
03.04.1989 suceava d
dragos
raluca
suceava
06.09.1988 botosani n
nicolae
ana
suceava
suceava
44 2080488374855 onu
vasile
maria
45 2090289575555 sandu
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
42 2040389577577 scurtu
mirela
03.04.1989 suceava d
dragos
raluca
suceava
06.09.1988 botosani n
nicolae
ana
suceava
suceava
44 2080488374855 onu
vasile
maria
45 2090289575555 sandu
ion
mihaela iasi
marinela
mirela
Mecanica
soescu costel
SEAP
sandu
andreea
SEAP
stanciuc mihaela
Electrotehnica scurtu
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
-numedecan
Studenti-codfac
-an
Studpersonal-cnp
-mama
-tata
-data_n
-prenume
-nume
Note-nota
-data
Materii-denumire
-an
-profesor
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
.
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 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.
Bibliografie