Documente Academic
Documente Profesional
Documente Cultură
Proiect cofinanat din Fondul Social European n cadrul POS DRU 2007-2013
Beneficiar Centrul Naional de Dezvoltare a nvmntului Profesional i Tehnic
str. Spiru Haret nr. 10-12, sector 1, Bucureti-010176, tel. 021-3111162, fax. 021-3125498, vet @ tvet.ro
B!E DE D"E
#aterial de predare
Do$eniul% &nfor$atic'
(alificarea% nali)t pro*ra$ator
+i,el 3 a,an)at
200-
1
U"OR%
#R&+ .&O/E" (&OB+U 0 profesor grad didactic
(OORDO+"OR%
S"1+&(1 2&O.++ #R& - Profesor, grad didactic
(O+SU/"+31%
&O+ (4RS"E expert CNDPT
!O&( ./1DU3 expert CNDPT
+2E/ POPES(U expert CNDPT
D+ S"RO&E expert CNDPT
2
Acest material a fost elaborat n cadrul proiectului nvmntul profesional i tehnic
n domeniul TIC, proiect cofinanat din Fondul Social European n cadrul POS DRU
2007-2013
(uprin)
I. Introducere....................................................................................................................................5
Dup parcurgerea acestui modul elevii vor fi capabili s creeze baze de date, s manipuleze
datele folosind limbajul SQ !i s asigure integritatea !i securitatea datelor din baze create.
"cest modul reprezint un modul c#eie al calificrii date fiind ultimele tendin$e privind
dezvoltarea sistemelor informatice, precum !i utilizarea lor la scara din ce %n ce mai mare...........&
........................................................................................................................................................&
II. Documente necesare pentru activitatea de predare.....................................................................'
III. (esurse.......................................................................................................................................)
*ema 1. +aze de date. ,oncepte fundamentale...........................................................................)
-i!a suport 1.1 +aze de date. ,oncepte fundamentale............................................................)
-i!a suport 1.2 .odelul entitate / rela$ie ..............................................................................10
...................................................................................................................................................1&
*ema 2. +aze de date rela$ionale...............................................................................................1'
-i!a suport 2 +aze de date rela$ionale. 1o$iuni de baz........................................................1'
*ema 0. 1ormalizarea bazelor de date......................................................................................22
-i!a suport 0.1 2 Dependen$e func$ionale..............................................................................22
-i!a suport 0.2 2 (edundan a datelor i anomalii de actualizare 3 reactualizare ..................25
"stfel se pot face actualizri de date %ntr/un singur loc, dac se !terge o comand datele despre
client nu se pierd, iar inserarea de date se face independent.........................................................2'
...............................................................................................................................................2'
-i!a suport 0.0 2 -orme normale 411-, 21-, 01-, 51-, 51-6............................................2)
*ema 5 7roiectarea bazelor de date...........................................................................................05
-i!a suport 5.1 2 7roiectarea conceptual a bazelor de date..................................................05
-i!a suport 5.2 2 7roiectarea logic a bazelor de date...........................................................58
...............................................................................................................................................51
-i!a suport 5.0 2 7roiectarea fizic a bazelor de date............................................................52
*ema 5 Sisteme de gestiune a bazelor de date...........................................................................55
-i!a suport 5 Sisteme de gestiune a bazelor de date..............................................................55
*ema & 9lemente de algebr rela$ional....................................................................................51
-i!a suport & :pera$ii rela$ionale...........................................................................................51
*ema ' Interogarea bazelor de date. imbajul SQ..................................................................5&
-i!a suport '.1 ,oncepte generale.........................................................................................5&
-i!a suport '.2 Interogri simple pentru manipularea datelor...............................................&8
,omanda are dou forme, prima permite introducerea de %nregistrri 4r;nduri6 %ntr/un tabel, cea
de/a doua permite copierea mai multor r;nduri dintr/unul sau mai multe tabele %ntr/un alt tabel.
.......................................................................................................................................................&1
Sinta<a pentru prima form este=...................................................................................................&1
I1S9(* I1*: denumire>tabel ?4list>coloane6@..........................................................................&1
A"B9S 4list>valori6 .................................................................................................................&1
unde=...............................................................................................................................................&1
9<emplu= -ie tabelul tab,lase ce re$ine date despre clasele unei !coli. Dac se dore!te
introducerea unei %nregistrri noi se va utiliza comanda= ............................................................&1
I1S9(* I1*: tab,lase 41ume,lasa, 1umespecializare, 1ume-orma, "n*erminal,
Id"nStudiu6...................................................................................................................................&1
A"B9S 4C11"sC,C.ate/infoC, CseralC, C5C,C2'C6.................................................................................&1
0
Sinta<a pentru a doua form este=..................................................................................................&1
I1S9(* I1*: denumire>tabel ?4list>coloane6@..........................................................................&1
S99,* DD................................................................................................................................&1
unde=...............................................................................................................................................&1
denumire>tabel este numele tabelului %n care se va face inserarea de r;nduri..............................&1
Bnde=..............................................................................................................................................&2
denumire>tabel E tabelul din care se va face !tergerea %nregistrrilor..........................................&2
-i!a suport '.0 Interogri comple<e pentru manipularea datelor..........................................&0
:pera$iile corespunztoare sunt cele definite %n fi!a suport & :pera$ii rela$ionale. "stfel= .........&&
reuniunea a dou tabele este un tabel rezultat ce con$ine %ntregistrrile din primul !i al doilea
tabel luate o singur dat, ............................................................................................................&&
Dac ne intereseaz toate localit$ile %n care fie e<ist un furnizor sau un client al ,ompaniei F
vom folosi una dintre variantele=...................................................................................................&'
Dac ne intereseaz toate localit$ile %n care fie e<ist !i un furnizor !i un client al ,ompaniei F
vom folosi una dintre variantele=...................................................................................................&'
Dac ne intereseaz toate localit$ile %n care fie e<ist un furnizor dar niciun client al ,ompaniei
F vom folosi una dintre variantele=...............................................................................................&'
-i!a suport '.5 *ranzac$ii.......................................................................................................&G
.......................................................................................................................................................'1
*ema ) Securitatea bazelor de date...........................................................................................'2
-i!a suport ) Securitatea bazelor de date...............................................................................'2
...................................................................................................................................................'5
*ema G Btilizarea bazelor de date %n cadrul re$elelor de calculatoare.......................................'5
-i!a suport G +aze de date distribuite. ,oncepte generale....................................................'5
SH+DD/ul prezint toate func$iile standard ale unui SH+D centralizat !i are %n plus servicii de
comunica$ie e<tinse, un catalog al sistemului e<tins, prelucrarea distribuit a interogrilor !i
servicii de concuren$ !i refacere e<tinse. "cest fapt se datoareaz transparen$elor ce
carecterizeaz SH+DD=.............................................................................................................''
"vantajele bazelor de date distribuite........................................................................................''
Dezavantaje ale bazelor de date distribuite................................................................................''
A. +ibliografie...............................................................................................................................)1
5
&5 &ntroducere
Materialele de predare reprezint o resurs suport pentru activitatea de predare,
instrumente auxiliare care includ un mesaj sau o informaie didactic.
Prezentul material de predare, se adreseaz cadrelor didactice care predau n cadrul
colilor postliceale, domeniul &nfor$atic', calificarea nali)t pro*ra$ator
El a fost elaborat pentru modulul Ba6e de date, ce se desfoar n 102 ore, din care:
- Laborator tehnologic 36 ore
- nstruire practic 30, aceste ore se desfoar n cadrul celor 4 sptmni
alocate stagiilor de pregtire practic de la sfritul anului.
(o$petene "e$e Fi7e )uport
Proiecteaz structura
unei baze de date
Tema 1 Baze de date. Concepte
fundamentale
Fia suport 1.1 Baze de
date. Concepte
fundamentale
Fia suport 1.2 Modelul
entitate relaie
Tema 2 Baze de date relaionale Fia suport 2 Baze de date
relaionale. Noiuni
fundamentale
Tema 3 Normalizarea bazelor
de date
Fia suport 3.1
Dependene funcionale
Fia suport 3.2
Redundan a datelor.
anomalii
Fia suport 3.3 Forme
normale
Tema 4 Proiectarea bazelor de
date
Fia suport 4.1 Proiectarea
conceptual a bazelor de
date
Fia suport 4.2 Proiectarea
logic a bazelor de date
Fia suport 4.3 proiectarea
fizic a bazelor de date
Tema 5 Sisteme de gestiune a Fi a support 5 - Sisteme de
5
(o$petene "e$e Fi7e )uport
bazelor de date gestiune a bazelor de date
nterogheaz bazele
de date
Tema 6 Elemente de algebr
relaional
Fia suport 6 Operaii
relaionale
Tema 7 nterogarea bazelor de
date. Limbajul SQL
Fia suport 7.1 Concepte
generale
Fia suport 7.2 nterogri
simple pentru manipularea
datelor
Fia suport 7.3 nterogri
complexe pentru
manipularea datelor
Fi a 7.4 Accesul concurent
la baza de date
Administreaz baze
de date
Tema 8 Securitatea bazelor de
date
Fia suport 8 Securitatea
bazelor de date
Tema 9 Utilizarea bazelor de date
n cadrul reelelor de calculatoare
Fia suport 9 Baze de date
distribuite. Concepte
generale
Dup parcurgerea acestui modul elevii vor fi capabili s creeze baze de date, s
manipuleze datele folosind limbajul SQL i s asigure integritatea i securitatea
datelor din baze create. Acest modul reprezint un modul cheie al calificrii date
fiind ultimele tendine privind dezvoltarea sistemelor informatice, precum i
utilizarea lor la scara din ce n ce mai mare.
&
&&5 Docu$ente nece)are pentru acti,itatea de predare
Pentru predarea coninuturilor abordate n cadrul materialului de predare cadrul didactic
are obligaia de a studia urmtoarele documente:
Standardul de Pregtire Profesional pentru calificarea Analist programator,
nivelul 3 avansat www.tvet.ro, seciunea SPP sau www.edu.ro , seciunea
nvmnt preuniversitar
Curriculum pentru calificarea Analist programator, nivelul 3 avansat
www.tvet.ro, seciunea Curriculum sau www.edu.ro , seciunea nvmnt
preuniversitar
'
&&&5 Re)ur)e
Tema 1. Baze de date. Concepte fundamentale
ia suport 1.1 Ba6e de date5 (oncepte funda$entale
n general n literatura specific bazelor de date se opereaz cu urmtoarele concepte:
Datele constau n material brut, evenimente primare, fapte, simboluri, numere, iruri de
caractere, imagini, animaii etc. fr un neles de sine stttor, neintegrate ntr-un
context. Ele se pot obine n urma unor experimente, sondaje pot fi colectate din diverse
locuri, nedefinite sau neomogene.
&nfor$aiile se obin prin prelucrarea datelor i gsirea relaiilor dintre acestea, au
un neles i sunt integrate ntr-un context. Datele organizate i prezentate ntr-un
mod sistematic pentru a sublinia sensul lor devin informaii. Altfel spus, informaiile
sunt date prelucrate capabile de a produce cunotine noi, se refer la obiecte ,
procese, fenomene, locuri, situaii etc. nformaiile trebuie s fie clare, concise.
(uno7tinele sunt colecii de date, informaii, adevruri i principii nvate,
acumulate de-a lungul timpului. nformaiile despre un subiect reinute i nelese,
folosite n luarea de decizii, i care formeaz judeci i opinii devin cunotine. Cu
alte cuvinte, cunotinele apar n momentul utilizrii informaiei.
Pentru obinerea informaiilor se desfoar un set de activiti cunoscute sub
numele de proce) infor$aional ce cuprinde:
- dentificarea surselor de informaie i culegerea datelor
- Pregtirea datelor ce presupune: codificare, clasificare, conversie, selectare
- Prelucrarea datelor
- Stocarea datelor n vederea utilizrii lor
- Extragerea rezultatelor prelucrrii datelor/raportarea informaiilor ctre
beneficiarii
Totalitatea resurselor materiale, umane i financiare utilizate n cadrul unui proces
informaional avnd ca scop asigurarea legturii dintre sistemul decizional i cel
operaional i obinerea informaiilor poart denumirea de )i)te$ infor$aional.
Sistemul informaional este deci reprezentat de totalitatea metodelor, procedurilor i
mijloacelor, folosite n procesul informaional i poate fi definit ca un ansamblu
organizat i integrat de operaii de culegere, transmitere, prelucrare, sistematizare,
analiz i pstrare, difuzare i valorificare a informaiilor.
Dac n cadrul procesului informaional prelucrarea datelor se face cu ajutorul
calculatorului atunci sistemul informaional se numete )i)te$ infor$atic.
(olecia de date reprezint un ansamblu de date care se refer la acelai fenomen,
obiect sau situaie. n cadrul componentelor coleciei se pot stabili relaii care s
faciliteze prelucrarea datelor i obinerea informaiilor.
Structura de date reprezint o colecie de date pe care s-au stabilit anumite relaii
i un mecanism de selecie i identificare a componentelor sale. Accesul la
componentele structurii de date este un element foarte important n regsirea
informaiei i poate fi de dou feluri:
)
o secvenial : presupune parcurgerea tuturor datelor situate naintea celei care
urmeaz a fi prelucrat
o direct : presupune existena unui mecanism care s determine direct poziia
datei ce urmeaz a fi prelucrat.
Structurile de date pot fi omogene sau neomogene, n funcie de tipul datelor coninute
n structur. n funcie de posibilitatea de a-i modifica structura se ntlnesc structuri de
date dinamice sau statice. Operaiile care pot fi executate asupra unei structuri de date
sunt dependente de mediul de programare utilizat. n general asupra unei structuri de
date pot fi executate operaii precum: creare, populare, consultate, actualizare, sortare,
scindare, concatenare, duplicare, tergere.
Ba6a de date reprezint un ansamblu de date integrat, ntre care exist rela ii logice
i o descriere a acestor date, proiectat pentru a satisface necesit ile informa ionale
ale unei organiza ii. Descrierea structurii poart numele de dicionar de date sau
metadate i creeaz o interdependen ntre datele propriu-zise i programe.
Si)te$e de *e)tiune a 8a6elor de date reprezint un pachet de programe care
permite definirea, crearea, ntreinerea i accesul controlat la baza de date.
Baza de date poate fi privit ca o colecie de fiiere interconectate care conin nucleul
de date necesare unui sistem informatic. Astfel, poate fi considerat drept un model al
unor aspecte ale realitii unei companii, modelat prin intermediul datelor. Diferitele
obiecte din cadrul realitii ce prezint interes sunt denumite entiti. Pentru aceste
obiecte sunt achiziionate i memorate date referitoare la diferite caracteristici ale
entit ii numite atriute. ntre entit ile identificate se stabilesc rela ii .
!a"a de date se constituie ca un ansamlu intercorelat de colecii de date, prin
care se reali"ea" repre"entarea unei realiti#
O baza de date trebuie s asigure:
astracti"area datelor (baza de date fiind un model al realitii),
integrarea datelor (baza de date este un ansamblu de colecii de date
intercorelate, cu redundan controlat),
integritatea datelor (se refer la corectitudinea datelor ncrcate i manipulate
astfel nct s se respecte restriciile de integritate),
securitatea datelor (limitarea accesului la baza de date),
parta$area datelor (datele pot fi accesate de mai muli utilizatori, eventual n
acelai timp),
independena datelor (organizarea datelor s fie transparent pentru utilizatori,
modificrile n baza de date s nu afecteze programele de aplicaii).
Scopul utilizrii bazelor de date este acela de a furniza utilizatorilor o vedere
abstact i general a datelor. Prin urmare cnd se proiecteaz o baz de date trebuie
s se obin o descriere abstract i general a cerinelor informaionale ale
organizaiei. Astfel noiunea de modelare va aborda concepte precum:
entitate cum ar fi: Elev, Clasa, Disciplin etc.
atri8ut ce descriu proprietile entitilor; Exemplu entitatea Elev poate avea
atribute precum: Nume, Prenume, Data_nasterii, Adres etc
G
relaiile care )e )ta8ile)c ntre entit'i9 Exemplu ntre entitile Elev i Clasa se
poate stabili o relaie prin faptul c fiecare elev este repartizat la o clas.
Standardele n vigoare privind proiectarea bazelor de date i abstractizarea datelor
descriu existena a trei ni,eluri de a8)tracti6are a datelor ce formeaz o arhitectur pe
trei niveluri cuprinznd:
+i,elul e:tern care se refer la vederile utilizatorilor asupra bazei de date.
+i,elul conceptual, vederea general a bazei de date. Acest nivel descrie ce
date sunt stocate n baza de date i care sunt relaiile dintre ele. Acent nivel
descrie: toate entitile, atributele i relaiile dintre ele, constrngerile asupra
datelor, informaii semantice asupra datelor, informaii privind securitatea
datelor.
+i,elul intern, reperezentarea fizic a bazei de date pe calculator. Acest nivel
descrie cum sunt stocate date n baza de date.
Descrierea general a unei baze de date se numete )c;e$a 8a6ei de date. Dat
fiind arhitectura pe trei niveluri, exist trei tipuri de scheme, corespunztoare celor trei
niveluri: )c;e$a e:tern'< )c;e$a conceptual' 7i )c;e$a intern'.
O baz de date are mai multe scheme externe corespunztoare tuturor vederilor
utilizatorilor. Schema conceptual descrie toate articolele de date i relaiile dintre
acestea, mpreun cu constrngerile de integritate, exist o singur schem
conceptual. La nivelul intern schema intern reprezint o descriere a modelului intern.
Sistemul de gestiune a bazelor de date permite implementarea celor trei tipuri de
scheme, prin utilizarea unui limbaj de definire a datelor. Acest limbaj este ns prea
inferior pentru a putea descrie necesitile unui sistem informaional al unei organizaii.
Din acest motiv au fost introduse i utilizate modelele de date.
Un $odel de date reprezint un ansamblu de concepte necesare descrierii
datelor, relaiilor dintre acestea i constrngerilor. Cu alte cuvinte un model de date
conine:
un set de reguli care descriu modul de constituire a bazelor de date
un set de operaii permise asupra datelor din bazele de date
un set de reguli care garanteaz integritatea datelor
Exist modele de date bazate pe obiecte, modele de date bazate pe nregistrri,
modele de date fizice. Primele dou descriu datele la nivel conceptual i extern, iar
ultimul model descrie datele la nivel intern.
2. Modele bazate pe obiecte:
/ Modelul entitate relaie
/ Modelul semantic
/ Modelul funcional
/ Modelul oriectat spre obiecte
3. Modele bazate pe nregistrri:
/ Modelul de date relaional
/ Modelul de date n reea
/ Modelul de date ierarhic
4. Modele fizice, decriu cum sunt stocate datele pe calculator:
/ Modelul unificator
/ Memoria cadru
18
Din punctul de vedere al proiectrii bazelor de date sunt importante primele dou tipuri
de modele, fia suport 1.3 va trata un model bazat de obiecte (modelul entitate -
relaie), iar Tema 2 trateaz un model bazat pe nregistrri (modelul relaional).
!vanta"ele folosirii #azelor de date
Definirea structurilor de date necesare unei aplicaii reprezint una dintre etapele cele
mai importante n dezvoltarea sistemelor informatice inteligente, totodat a fost i este
condiionat de: necesarul de memorie, viteza de prelucrare a datelor, precum i de
efortul de proiectare i implementare a sa. n aceast etap se va ine cont de: volumul
datelor, operaiile de prelucrare i actualizare, asigurarea integritii datelor, asigurarea
securitii datelor, utilizarea eficient a memoriei.
n primele forme de organizare a datelor pentru prelucrarea automat s-a folosit
sistemul bazat pe fiiere. Prin acest mod de lucru fiecare program al aplicaiei definea i
gestiona propriile date, analog unui sistemului de ndosariere manual al datelor. Acest
sistem s-a dovedit ineficient prin:
- separarea i izolarea datelor
- dublarea datelor
- dependena de date
- incompatibilitatea fiierelor
- interogarea fix a programelor de aplicaie
Aceste limitri ale sistemului bazat pe fiiere au fost depite prin eliminarea definirii
datelor n programele de aplicaie i existena controlului accesului la date i la
manipularea acestora, lucru care s-a realizat prin utilizarea sistemului de baze de date
i a sistemelor de gestiunea bazelor de date.
Tratarea prin sisteme de baze de date permite astfel definirea datelor separat de
programele de aplicaie. Declararea structurii logice a datelor se face n exteriorul
aplicaiei asigurnd astfel independena programnelor fa de structura datelor.
Apare acum problema existenei unei interfee ntre bazele de date i programele de
aplicaie care s permit:
- definirea structurii datelor
- criteriile de acces la date
- confidenialitatea datelor
- controlul concurenei
- integritatea datelor
- securittea datelor
Toate aceste proceduri sunt asigurate de sistemul de gestiune a bazelor de date.
11
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint i fi e de lucru, fie de evaluare/autoevaluare. Activitile se
pot desf ura n sal de curs sau n laboratorul de informatic, dotate cu
videoproiector, tabl/flipchart.
Se poate lucra individual sau pe grupe, profesorul va aborda toate aspectele
generale cu privire la bazele de date i va pune accent pe avantajele i
dezavantajele utilizrii bazelor de date. Se vor analiza diferite sisteme
informa ionale din care s se identifice: entit ile rela iile care exist ntre ele,
atributele entit ilor.
n ceea ce privete evaluarea / autoevaluarea se poate utiliza un test cu itemi
de tip mperechere, completare i alegere multipl. Se poate cere elevilor s
identifice elemente greit utilizate i s le corecteze. Se va face evaluare i
transmitere de feedback pe parcursul activitilor de predare nvare. Se pot da
i teme integratoare de tip proiect pentru diferite cazuri de sisteme informationale.
12
ia suport 1.$ %odelul entitate & relaie
Modelul entitate-relaie este un model de date conceptual de nivel nalt care
faciliteaz proiectarea bazelor de date. Ca model de date conceptual descrie un set de
concepte care descriu baza de date i tranzaciile de regsire i actualizare asociate,
scopul fiind acela de a asigura perceperea datelor de ctre utilizator i ascunderea
aspectelor tehnice asociate proiectrii bazelor de date.
Conceptele de baz ale acestui model sunt: tipurile de entiti, tipurile de relaii i
atributele.
"ipul de entitate un obiect sau un concept care este identificat ca avnd o existen
independent. Un tip de entitate poate fi un obiect cu o existen fizic (real) sau un
obiect cu o existen conceptual. Tipul de entitate este echivalentul relaiei din modelul
relaional.
%&emplu:
%&isten fi"ic' %lev, Profesor, Clasa
%&isten conceptual' %&aminare, Inscriere, (utare, )rhivare
Fiecare tip de entitate este identificat printr-un nume i o list de proprieti. O baz de
date conine mai multe tipuri de entiti. Entitatea este o instan a unui tip de entitate,
care este unic determinat. Fiecare tip de entitate are un set distinct de atribute, iar
fiecare entitate are propriile sale valori pentru fiecare atribut.
Tipurile de entiti se mpart n tari i slabe n funcie de dependena lor fa de alte
tipuri de entiti:
- tip de entitate slab (copil/subordonat): existena sa depinde de alte cteva tipuri de
entiti
- tip de entitate tare (printe/dominant): existena sa nu depinde de alte tipuri de
entiti
Exemplu:
Tip de entitate slab: Situatie_Scolara, ea depinde de elev i de disciplina
Tip entitate tare: elev, disciplina
Entitile slabe au o reprezentare grafic (chenar dublu) diferit de cele tari (chenar
simplu).
tri8ute
Atributul reprezint o proprietate a entitii sau a relaiei. Atributul unei entiti conine
valorile ce o descriu.
10
99A DIS,I7I1"
SI*B"*I9>S,:"(
"
REPREZENTAREA SCHEMATIC A TIPURILOR DE ENTITI
%&emplu'
* entitate de tip elev poate fi descris prin' numrul elevului +Id%lev,, numele elevului
+-ume%lev,, cod numeric personal +C-P%lev,, adres +)dresa%lev,#
Do$eniul atri8utului reprezint mulimea de valori pe care le poate lua un atribut.
Fiecrui atribuit i este asociat o mulime de valori. De exemplu, notele unui elev pot fi
de la 1 la 10, prin urmare domeniul atributului Nota este format din valorile de la 1 la 10.
Pot exista atribute care au acelai domeniu. De exemplu data naterii i data nscrierii
pot fi atribute care au ca domeniu data calendaristic.
tri8utele se pot fi:
- )i$ple (o singur valoare): CNP, Nume
- co$pu)e (valori multiple): adresa cu valoarea (strada, localitate, tara), data_nasterii
(zi, luna, an)
- deri,ate, rezultate din alt atribut, sau set de atribute: vrsta poate rezulta din data
nasterii, media poate rezulta din notele elevului.
(;ei un atribut sau un set de atribute care identific n mod unic apariiile individuale
ale unui tip de entitate.
n modelul entitate-relaie se ntlnesc urmtoarele noiuni: cheie candidat, cheie
primar i cheie compus. Primele dou au fost definite i la modelul relaional i au
aceeai semnificaie.
(;eia co$pu)' este o cheie candidat care este alctuit din mai multe atribute.
Entitile se reprezint schematic astfel:
- atributele sunt reprezentate prin elips etichetat cu numele acestuia
- conturul elipsei este punctat dac atributul este derivat
- conturul elipsei este dublat dac atributul are valori multiple
- entitatea este reprezentat printr-un dreptunghi, dac tipul entitii este tare atunci
acesta are o singur linie de contur, iar dac este slab are contur dublu.
- atributele sunt legate de tipul de entitate printr-o linie
- cheia primar este subliniat
Exemplu: tipul de entitate
"ipuri de relaii
Un tip de relaie reprezint o asociere semnificativ ntre dou tipuri de entiti. Fiecare
tip de relaie are un nume care descrie funcia sa.
Exemplu:
15
99A
1B.
9
7(91B.
9
,17
"D(9S
"
D"*">1 A"(S*
"
1:*9
S9
F
Figur 1 Reprezentre !"#e$ti" entit%ii e&e'
1. entitatea clasa este asociat entitii elev prin relaia numit Estenscris (o clasa
detine elevi).
2. Entitatea profesor este asociat entitii clasa prin relaia numit Pred
(Prefesorii predau la clase).
Relaiile sunt reprezentate grafic printr-un romb, etichetat cu numele relaiei. Rombul
are contur dublu dac relaia conecteaz o entitate slab cu una tare.
Exemplu:
2radul unei relaii definete numrul de entiti participative ntr-o relaie. n acest
sens pot exista relaii binare, ternare, cvadrupl. Cel mai des ntlnit grad al unei relaii
este binar.
Raportul de cardinalitate descrie numrul de relaii posibile pentru fiecare entitate
participativ. Raportul de cardinalitate pentru relaii binare sunt: 1:1 (unu la unu), 1:M
(unu la mai muli), N:M (muli la muli).
Exemple:
1:1 Relaia Administreaz care se poate stabili ntre entitile Clase (dClasa,
NumeClas, Profil, NrElevi) i Diriginti (dDiriginte, NumeDiriginte, Specialitate, Statut).
1:M Relaia AreElevi care se poate stabili ntre entitile Elevi (dElev, NumeElev,
Data_N, Adresa) i Clase (dClasa, dElev, NumeClasa, Specializare)
15
99A
DIS,I7I1"
SI*B"*I9>
S,:"("
,17
S*BDI"I
"
1rDisciplin
a
"re1ot
e
9ste1ota
ta
Reprezentre !"#e$ti" entit%i&(r )i re&%ii&(r
E*e$p&u +e re&%ie 1,1
,lase Diriginti
Id,lase IdDirigint
e
Administrea
z
1
1
M:N Relaia Evalueaz care se poate stabili ntre entitile Elevi (dElev, NumeElev,
Data_N, Adresa) i Profesori (dProfesor, Specializare)
La stabilirea relaiilor dintre entiti trebuie avute n vedere i constrngerile de
participare. Acestea deetermin dac existena unei entiti depinde de faptul c
aceasta este legat de alt entitate printr-o relaie.
Exist dou tipuri de constrngeri de participare: totale i pariale. Participarea este
total dac existena unei entiti necesit existena uneia asociate printr-o anumit
relaie altfel este parial.
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint i fi e de lucru, fie de evaluare/autoevaluare. Activitile se
pot desf ura n sal de curs sau n laboratorul de informatic, dotate cu
videoproiector, tabl/flipchart.
Se poate lucra individual sau pe grupe, profesorul va aborda toate aspectele
legate de baze de date i modelarea conceptual a bazelor de date. Se vor analiza
diferite sisteme informa ionale din care s se identifice: entit ile, rela iile care
exist ntre ele, atributele entit ilor.
n ceea ce privete evaluarea / autoevaluarea se poate utiliza un test cu itemi
de tip mperechere, completare i alegere multipl. Se poate cere elevilor s
identifice elemente greit utilizate i s le corecteze. Se va face evaluare i
transmitere de feedback pe parcursul activitilor de predare nvare. Se pot da
i teme integratoare de tip proiect pentru diferite cazuri de sisteme informationale.
1&
E*e$p&u +e re&%ie 1,M
,lase 9levi
Id,lasa Id9levi
AreElevi
1 .
7rofesori 9levi
Id7rofesor
i
Id9levi
Evalueaz
.
1
E*e$p&u +e re& ie M,N
Tema $. Baze de date relaionale
ia suport $ Ba6e de date relaionale5 +oiuni de 8a6'
Modelul rela ional se bazeaz pe conceptul matematic de rela ie, prezentat fizic
sub form de tabel. Fundamentul modelului rela ional l constituie teoria mul imilor i
logica predicativ. n acest sens modelul descrie modul de efectuare a opera iilor
algebrice elementare (ca, de exemplu, reuniunile i intersec iile) ntr-o manier foarte
similar aceleia n care aceste opera ii sunt efectuate n teoria mul imilor.
Tabele reprezint analoagele mul imilor, ele fiind colec ii de elemente distincte cu
propriet i comune. De exemplu, n timp ce o mul ime poate con ine numere reale, un
tabel poate con ine informa ii despre elevi.
Modelul rela ional nu este orientat spre sistemul de calcul, nu include regulile,
structurile i opera iile referitoare la implementarea fizic a unui sistem de baze de
date. Se face astfel o separare clar ntre aspectele fizice i cele logice ale bazei de
date, iar opera iile de manipulare a datelor pot fi privite ca o serie de opera ii de
proiec ie, filtrare, reuniune, intersec ie asupra datelor din tabele.
'o iuni de #az specifice modelului rela ional .
Rela ie tabel ce con ine coloane i rnduri.
tri8ut o coloana a rela iei (tabelului), cu o anumit denumire.
Do$eniu mul imea de valori permise pentru unul sau mai multe atribute.
"uplu rndul dintr-o rela ie.
2rad numrul de atribute pe care le con ine aceasta.
(ardinalitate numrul de tupluri con inute.
Sc;e$a rela iei denumirea rela iei, urmat de un set de perechi de atribute i
denumiri de domenii.
+ull : lipsa valorii unui atribut ; este diferit de valoarea 0 sau un ir de caractere
alctuit din spa ii albe.
n modelul rela ional, rela iile sunt folosite pentru a pstra informa ii despre
obiectele care vor fi reprezentate n baza de date. Astfel, o rela ie este un tabel
bidimensional n care rndurile reprezint tuplul (nregistrrile / datele), iar coloanele
re in atributele rela iei. Domeniul este foarte important deoarece el define te sursa de
valori i limitele n ceea ce prive te opera iile permise.
Exemplu : Rela ia elev
&dEle, +u$e Pre$une Data=na)terii dre)a
1 Popa Marin 1-0ct-1997 Str. Jiului, nr. 19, Buc
2 Marin Simona 19-Dec-1998 Str. N. orga, nr. 10, lfov
3 onescu David 2-Mai-1996 Str. R.Beller, nr. 25, Buc
tri8ute : dElev, Nume, Prenume, Data_nasterii, Adresa
1'
Do$eniu :
- Pentru dElev : submul ime a numerelor naturale
- Nume, Prenume, Adres : ir de caractere
- Data_nasterii : dat calendaristic
2radul rela iei Elev : 5
+r5 De tupluri % 3
(ardinalitatea rela iei : 3
Propriet' ile rela iilor
Plecnd de la teoria mul imilor putem afirma c o rela ie are urmtoarele propriet i :
- Are o denumire distinct ca orice mul ime.
- Fiecare celul a rela iei con ine exact o valoare atomic (unic), ntr-o mul ime
nu se repet niciun element
- Fiecare atribut are o denumire disticnt
- Toate valorile unui atribut apar in aceluia i domeniu
- Ordinea atributelor nu are nicio important
- Fiecare tuplu este distinct, nu exist dubluri ale tuplurilor
- Ordinea tuplurilor nu are nicio importan , precum nici ordinea elementelor unei
mul imi nu are nicio importan
Pentru identificarea unic a fiecrui tuplu dintr-o rela ie se folosesc c;eile pri$are.
Deci cheia primar este un atribut sau un set de atribute care identific n mod unic
fiecare nregistrare din tabel.
Superc;eia : Un atribut sau un set de atribute care identific n mod unic fiecare tuplu
din interioarul unei rela ii. Supercheia poate con ine i atribute care nu sunt necesare
pentru o identificare unic.
(;eie candidat : o supercheia pentru care nicio submul ime adecvat nu este o
supercheie n cadrul rela iei respective. Cheia candidat con ine setul de atribute strict
necesare pentru o identificare unic a fiecrui tuplu n cadrul rela iei.
(;eia pri$ar' respect urmtoarele principii:
- este obligatorie : fiecare rela ie are exact o singur cheie primar care identific
n mod unic fiecare tuplu al rela iei
- este unic : cheia primar identific un singur rnd dintr-o rela ie (nu exist dou
tupluri cu aceea i cheie primar)
- este simpl sau compus : o cheie primar cuprinde unul sau mai multe atribute
ale tuplului
- este Non null-, valoare unei chei primare nu poate fi vid
- este stabil : o dat create valorile cheilor primare se schimb foarte rar
- este nereutilizabil : dac se terge un tuplu valoarea chei primare nu poate fi
asociat altui tuplu
- minimal : cheia primar include doar acel atribut sau acele atribute necesare
pentru unicitate
n teoria bazelor de date se mai ntlne te i no iunea de c;eie )tr'in' sau extern.
Aceasta este un atribut sau un set de atribute din cadrul unei rela ii care se potrive te
cu cheia primar a altei rela ii. Cheile strine stabilesc legturi ntre dou rela ii.
Exemplu de rela ii ntre care exist o legtur ntre cheia primar i cheia strin -
rela ia elev i rela ia clase ce au urmtoarele scheme :
1)
%lev +Id%lev, -ume%lev, Prenume%lev, .ata/-%lev, )dresa%lev, IdClasa,
Clase +IdClasa, -umeClasa, ProfilClasa,
Pentru rela ia elev dElev reprezint cheia primar deoarece identific n mod unic
fiecare elev, iar dClasa reprezint cheia strin deoarece face legtura cu rela ia clase
unde dClasa reprezint cheia primar.
O baz de date poate avea orice numr de rela ii.
Inte(ritarea rela ional
n teoria bazelor de date exist mai multe tipuri de con)tr>n*eri. Unele dintre acestea
sunt date de faptul c fiecare atribut are un domeniu, deci valorile pe care le poate primi
un atribut sunt restric ionate la o mul ime de valori sau pot fi restric ionate de valorile
altor atribute, de lungimea lor, se pot referi la tipul atributelor etc. Utilizatorii aplica iilor
informatice pot specifica constrngeri adi ionale cum ar fi : ntr-o clas nu pot exista
dect 30 de elevi, ini iala tatlui din cadul numelui unui elev nu poate avea dect 3
caractere, codul numeric personal are strict 13 cifre etc.
Pe lng aceste restric ii mai exist dou numite re*uli de inte*ritate ce se aplic
tuturor instan elor unei baze de date i anume : integritate a entit ilor i integritate
referen ial.
&nte*ritatea entit' ilor este o regul care se refer la imposibilitatea chei
primare de a avea ca valoare null. Prin defini ie cheia primar identific n mod unic
fiecare tuplu deci dac n coponen a cheii primare este inclus un atribut al crei
con inut nu este cunoscut nu se mai respect principiul de minim pentru cheia primar.
De exemplu, deoerece atributul dElev este cheie primar a rela iei elev definit mai
sus, nu se va putea insera un null ca valoare a atributului dElev.
&nte*ritatea referen ial' este o regul care se aplic cheilor strine : valoarea
cheii strine trebuie s fie null sau s coincid cu o valoare a cheii primare la care face
referin .
Elev
&dEle, +u$eEle, Prenu$eEle, Data=+Ele, dre)aEle, &d(la)a
1 Popa Marin 1-0ct-1997 Str. Jiului, nr. 19, Buc 0
2 Marin Simona 19-Dec-1998 Str. N. orga, nr. 10, lfov 0
3 onescu David 2-Mai-1996 Str. R.Beller, nr. 25, Buc 1
Clase
&d(la)a +u$e(la)a Profil(la)a
1 9A Matematica-nformatica
2 9B Filologie
3 9C Stiintele naturii
.e e&emplu, avnd n vedere cele dou rela ii definite mai sus elev i clase to i elevii
care apar in unei clase vor avea ca valoarea a atriutului IdClasa acela i numr egal
1G
cu unul din rela ia Clase# Primii doi elevi din rela ia elev apar in clasei 2), iar cel de3al
treilea clasei 2!# Pentru a respecta integritatea referen ial, innd cont de faptul c
ntre cele dou rela ii e&ist o legtur prin care un elev apar ine unei clase, n rela ia
elev nu va e&ista niciun elev care s aie ca valoare a atriutului IdClasa null sau alt
valoare care nu se regse te ntre valorile cheii primare IdClasa din rela ia Clase#
/i$8a?e relaionale
n afara rela iilor i propriet ilor acestora modelul rela ional mai este definit i de
limbajele rela ionale, seturi de opera ii care se pot efectua asupra rela iilor i datelor
definite n cadrul rela iilor.
Limbajele rela ionale sunt utilizate pentru manipularea datelor: reactualizarea sau
regsirea datelor din bazele de date, dar i pentru modificarea structurii bazei de date.
Limbajele utilizate de sistemele de gestiune a bazelor de date pot fi procedurale (prin
intermediul crora utilizatorii comunic sistemului cum s prelucreze datele) i
neprocedurale (prin care utilizatorul stabile te ce date sunt necesare a fi prelucrate).
La baza limbajelor rela ionale stau algebra rela ional i calculul rela ional definite de
Codd n 1971. n acest sens algebra rela ional ar putea fi considerat un limbaj
procedural care transmite sistemului cum s construiasc o nou rela ie din una sau
mai multe rela ii existente, iar calculul rela ional un limbaj neprocedural prin intermediul
cruia utilizatorul poate formula defini ia unei rela ii n termeni de una sau mai multe
rela ii din baza de date. Din punct de vedere formal algebra rela ional i calculul
rela ional sunt echivalente n sensul c pentru fiecare expresie din algebr exist una n
calculul rela ional i invers.
Algebra rela ional, introdus de Codd, este o mul ime format din opt operatori
unari i binari ce ac ioneaz asupra rela iilor genernd o alt rela ie:
- operatorii tradi ionali pe mul imi: reuniune, intersec ie, diferen , produsul cartezian;
- operatori speciali: proiec ia, selec ia, uniune, mpr ire.
Calculul rela ional reprezint o adaptare a calculului predicatelor la domeniul
bazelor de date rela ionale. n acest sens o rela ie este un predicat, iar prin aplicarea
operatorilor specifici calculului predicatelor (conjunc ia, disjunc ia, nega ia,
cuantificatorul existen ial i cel universal) unor predicate ini iale se pot ob ine alte
predicate (rela ii noi).
Majoritatea limbajelor rela ionale sunt mai puternice dect algebra rela ional i calculul
rela ional fapt datorat opera iilor adi ionale specifice limbajelor cum ar fi: func iile de
calcul, de sumare i de ordonare.
n prezent cel mai utilizat limbaj pentru interogarea bazelor de date rela ionale este
SQL, limbaj bazat pe opera iile algebrei rela ionale.
28
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint, fi e de lucru, fie de evaluare/autoevaluare. Activitile se
pot desf ura n sal de curs sau n laboratorul de informatic, dotate cu
videoproiector, tabl/flipchart.
Se poate lucra individual sau pe grupe. Se vor utiliza metode prin care elevii
s identifice i s gseasc singuri elementele fundamentale pentru baze de date
relaionale: se vor exemplifica relaii (tabele) din care elevii s identifice atributele,
domeniile atributelor, cheile, cardinalitatea etc. n cazul lucrului pe grupe se vor
face comparaii ntre rezultatele obinute pe grupe.
n ceea ce privete evaluarea / autoevaluarea se pot utiliza teste cu itemi de
tip mperechere, completare i alegere multipl, problematizare. Se poate cere
elevilor s identifice elemente greit utilizate i s le corecteze. Se va face evaluare
i transmitere de feedback pe parcursul activitilor de predare nvare. Se pot
da i teme integratoare de tip proiect, eseu. Se vor da probe practice, utiliznd un
SGBD, prin care elevii vor crea tabele, vor denumi atributele i domeniile acestora,
vor crea chei primare pentru tabele, vor realiza legturi ntre tabele.
21
Tema ). 'ormalizarea #azelor de date
Fi7a )uport 351 0 Dependene funcionale
Unul dintre conceptele asociate normalizrii bazelor de date l reprezint dependen a
func ional care descrie rela iile dintre atribute. Astfel, dac A1 i A2 sunt atribute ale
unei rela ii R se spune c' atri8utul 2 e)te dependent func ional de 1 , i se
noteaz A1A2, dac fiecrei valori a atributului A1 i este asociat exact o valoare a
lui A2. Atunci cnd exist o dependen func ional aceasta reprezint o constrngere
ntre atribute.
Deter$inantul unei dependen e func ionale se refer la atributul sau grupul de
atribute din partea stng a sge ii. n cazul ilustrat A1 este determinantul dependen ei
func ionale.
E:e$plu%
Fie rela ia Personal cu urmtoarele atribute:
Putem eviden ia dependen a func ional &dPer)oana Func ie . Se constat c
PrenumePersoan dPersoana nu poate fi o dependen func ional deoarece
Prenumele unei persoane apare la mai multe persoane (idPersoana). Acela i lucru s-ar
putea ntmpla i cu depende a func ie dPersoana, pot exista mai multe persoane
cu aceea i func ie.
Pentru exemplul de mai sus avem i urmtoarele dependen e func ionale:
22
Per)onal
&dPer)oana +u$ePer)oana Prenu$ePer)oana Functie Salariu
1Pop Maria profesor 500
2Avram on maistru instructor 400
3van Felicia secretar 350
4Antim Maria director 600
"1 "2
Digr$ +e +epen+en -un" i(n&
dPersoana NumePersoana
dPersoana PrenumePersoana
dPersoana Salariu
NumePersoana, PrenumePersoana Func ie
Dac presupunem c pentru fiecare func ie este stabilit un salariu unic atunci Func ie
Salariu reprezint o dependen func ional.
Dependen ' func ional' B e)te total' dac eliminarea oricrui atribut din A
conduce la eliminarea dependen ei.
Dependen a NumePersoana, PrenumePersoana Func ie este total deoarece
eliminnd pe oricare dintre atributele din stnga nu mai avem o dependen : Pop Maria
este profesor, iar Antim Maria este director; dac nlturm atributul NumePersoana
vom avea: Maria i pentru profesor i pentru director.
Dependen ' func ional' B e)te par ial dependent' dac exist cel pu in un
atribut n A care poate fi eliminat astfel nct dependen a s se men in.
Exemplu: Fie rela iile Personal i Departament
Per)onal
&dPer)oana +u$ePer)oana Prenu$ePer)oana Functie Salariu (oddeparta$ent
1Pop Maria profesor 6001
2Avram on maistru
instructor
5503
3van Felicia secretar 4504
4Popa Maria administrator 3505
Departa$ent
&dDeparta$en
t
+u$eDeparta$en
t
/ocatieDeparta$en
t
#ailDeparta$ent
&nteriorDeparta$en
t
1Cancelarie Cladirea A1 cancelarie@ctm.r
o
115
2Magazie Cladirea A2 magazie@ctm.ro 113
3Atelier Cladirea Atelier tehno@ctm.ro 114
4Secretariat Cladirea A1 office@ctm.ro 111
5Administratie Cladirea C1 admin@ctm.ro 112
6Contabilitate Cladirea C1 conta@ctm.ro 116
dPersoana, Functie dDepartament este o dependen func ional par ial, practic
fiecare persoan identificat prin dPersoan apar ine unui singur departament,
respectiv o func ie apar ine de asemenea unui singur departament. Dac eliminm fie
dPersoan sau Func ie dependen a se men ine.
Dependen ' tran6iti,'
Dac avem o rela ie R, iar A,B,C sunt atribute lui R care respect condi iile:
- A B i B C,
- A nu este dependent func ional de B i C
20
atunci A C se spune c C este dependent tranzitiv de A prin intermediul lui B.
Exemplu:
Condisernd rela iile din Personal i Departament descrise mai sus, avem:
dPersoana CodDepartament
CodDepartament MailDepartament
Rezult c dPersoana este dependent tranzitiv de MailDepartament
Dependen' $ulti,aloare
Considerm A, B, C, trei atribute ale relaiei R. Prin dependen multivaloare se nelege
o dependen dintre atributele A, B, C, prin care pentru fiecare valoare a atributului A
exist o mulime de valori a atributului B i o mulime de valori a atributului C.
Pentru descrierea unei dependene multivaloare dintre atributele A, B, C se folosete
notaia: A B i B C.
Exemplu:
Un elev studiaz mai multe discipline i pentru fiecare disciplin primete mai multe
note.
NumeElev dDisciplina
dDisciplinaNota
Dependen' de tip uniune f'r' pierderi5 O proprietate a operaiei de descompunere,
care garanteaz c nu se genereaz rnduri false atunci cnd relaiile sunt reunite
printr-o operaie de uniune natural.
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint, fi e de lucru, fie de evaluare/autoevaluare. Activitile se
pot desf ura n sal de curs sau n laboratorul de informatic, dotate cu
videoproiector, tabl/flipchart.
Se poate lucra individual sau pe grupe. Se vor utiliza metode prin care elevii
s identifice toate tipurile de dependene. n cazul lucrului pe grupe se vor face
comparaii ntre rezultatele obinute pe grupe, se vor analiza caracteristicile
dependinelor.
n ceea ce privete evaluarea / autoevaluarea se pot utiliza teste cu itemi de
tip mperechere, completare i alegere multipl, problematizare. Se va face
evaluare i transmitere de feedback pe parcursul activitilor de predare nvare.
Se pot da i teme integratoare de tip proiect, eseu.
25
Fi7a )uport 352 0 Redundan a datelor i ano$alii de actuali6are @
reactuali6are
Unul dintre scopurile principale ale proiectrii bazelor de date este acela de a grupa
atributele n relaii, astfel nct s se minimizeze redundana datelor, deci s se
realizeze pe ct posibil reducerea spaiului de memorare alocat bazelor de date.
Fie relaia Vnzri cu urmtoarea structur:
.>n6'ri
&d(lie
nt
+u$e(li
ent
dre)a(li
ent
"elefon(li
ent
&d(o$a
nda
Data
(o$and
a
(odrti
col
+u$erti
col
Pretrti
col
(antita
te
1Pop
Marin
Bucuresti 23344556
7
C1
10.10.2
008
1
Tastatura 25 120
2orgu
Florin
asi 34567889 C2 2.12.20
08
2Mouse 12 200
3Pop
Marin
Bucuresti 88344556
7
C1 10.10.2
008
3
DVD 5 100
4Avram
Alin
Ploiesti 45324677 C3 12.12.2
008
4Laptop 4000 25
5Avram
Alin
Ploiesti 34556666 C3
12.12.2
008
1Tastatura 25 200
Observm c n aceast relaie avem date redundante precum:
- Numele Clientului, adresa sa i telefonul apar de ct ori acesta va face o comand
- Codul articolului, preul, precum i denumirea sa apar la fiecare comanda
Astfel pe lng aceast redundan a datelor mai pot apare i alte probleme, numite
anomalii de actualizare/reactualizare. Aceste anomalii sunt clasificate astfel: anomalii
de inserare, de tergere i de actualizare/modificare.
no$alii de in)erare5 Aceste anomalii se refer la problemele cauzate la inserarea
datelor n cadrul relaiilor.
Dac analizm relaia de mai sus se constat urmtoarele:
pentru a insera detalii cu privire la clieni trebuie inserate i detalii cu privire la
comanda lui, precum i detalii cu privire la articolul comandat
dac s-ar dori inserarea unui client care nc nu a fcut o comand atunci ar
trebuie ca la atributele referitoare la comand s se introduc null-uri.
no$alii de 7ter*ere5 Aceste anomalii se refer la problemele cauzate la tergerea
datelor din cadrul relaiilor sau din bazele de date.
Dac se terge un rnd care reprezint o comand fcut de un client i acesta nu a
mai fcut i alt comand (este ultima comand fcut) atunci o dat cu tergerea sa
din tabel se vor pierde i datele despre acest client.
n cazul exemplului dat dac se terge rndul doi unde avem informaii comanda fcut
de clientul orgu Florin se vor pierde i informaiile referitoare la client.
25
no$alii de $odificare5 Aceste anomalii se refer la problemele cauzate la
modificarea datelor din cadrul relaiilor sau din bazele de date.
Dac se dorete modificarea unor date care apar i n cadrul altor relaii sau tupluri este
de preferat ca modificrile fcute s se realizeze ntr-un singur loc, altfel pot aprea
privind corectitudinea.
n cazul exemplului dat dac se dorete modificarea datelor referitoare la un client
atunci acestea trebuie efectuate n toate tuplurile n care apare acel client. Astfel, pot
aprea probleme la tastare, ceea ce ar duce la un rezultate incorecte.
Aceste probleme ar putea fi rezolvate prin mprirea relaiei n patru relaii, fr
pierderea de informaii, astfel:
o relaie Client, cu detalii despre clieni,
o relaie Articol, cu detalii despre articole
o relaie Comanda, cu detalii despre comenzi
o relaie Vnzri, cu detalii despre vnzarea realizat
Client
&d(lient +u$e(lient dre)a(lient "elefon(lient
1Pop Marin Bucuresti 233445567
2orgu Florin asi 34567889
3Avram Alin Ploiesti 34556666
Articol
(odrticol +u$erticol Pretrticol
1Tastatura 25
2
Mouse 12
3DVD 5
4
Laptop 4000
Comanda
&d(o$anda Data(o$anda (od(lient
C1 10.10.20081
C2 2.12.2008
2
C3 12.12.20083
Vnzri
&d(o$anda &drticol (antitate
C1 1120
C1 3100
C2 2
200
C3 1200
C3 4
25
2&
!stfel se pot face actualizri de date ntr&un sin(ur loc* dac se ter(e o
comand datele despre client nu se pierd* iar inserarea de date se face
independent.
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint, fi e de lucru, fie de evaluare/autoevaluare. Activitile se
pot desf ura n sal de curs sau n laboratorul de informatic, dotate cu
videoproiector, tabl/flipchart.
Se poate lucra individual sau pe grupe. Se vor utiliza metode prin care elevii
s identifice toate tipurile de anomalii generate de redundana datelor. n cazul
lucrului pe grupe se vor face comparaii ntre rezultatele obinute pe grupe, se vor
analiza anomaliile prezente n exerciiile date.
n ceea ce privete evaluarea / autoevaluarea se pot utiliza teste cu itemi de
tip problematizare. Se va face evaluare i transmitere de feedback pe parcursul
activitilor de predare nvare.
2'
Fi7a )uport 353 0 For$e nor$ale (1NF, 2NF, 3NF, 4NF, 5NF)
1
n teoria bazelor de date sunt cunoscute un numr de cinci forme normale.
Normalizarea unei baze de date presupune n general o serie de pa i care corespuns
unei forme normale. Pe msur ce se realizeaz normalizarea rela iile devin mai
restrictive fiind astfel mai pu in vulnerabile la anomalii.
n ceea ce prive te modelul rela ional este foarte important cunoa terea i utilizarea
primei forme normale, celelalte de multe ori fiind op ionale. Se recomand ns
normalizarea pn la forma a treia.
nainte de prima rafinare a rela iilor acestea se gsesc n a a numita forma
neformalizat, form ce con ine unul sau mai multe grupuri repetitive.
Pri$a for$' nor$al' se caracterizeaz prin faptul c n cadrul rela iei
reprezentat printr-un tabel la intersec ia fiecrei linii/fiecrui rnd cu fiecare coloan se
regse te o singur celula ce con ine o singur valoare.
Pentru a ob ine o rela ie n prima form normal se porne te de la informa ia brut i
se caut structurarea acesteia n forma unui tabel. Astfel se ncearc s se elimine
grupurile repetitive i se creeaz coloane adecvate informa iei astfel nct la intersec ia
liniei cu coloana s se gseasc valori atomice.
Ulterior se nominalizeaz un atribut sau un grup de atribute care s reprezinte o cheie a
tabelului nenormalizat, dup care se elimin grupurile repetitive prin crearea unui nou
tabel n care sunt specificate datele care se repet mpreun cu o copie a
atributului/atributelor care formau cheia tabelului ini ial.
Acest algorimt se reia pn cnd nu mai exist informatie care se repet. Dac nu mai
sunt grupruri care se repet atunci baza de date se afl n prima form normal.
Exemplu: fie rela ia Elev
Ele,
&dEle
,
+u$eEle
,
Prenu$e
Ele,
Data+a)terii "elefon1 "elefon2 dre)a #ateria +ota
1Popescu onut 19.02.1990223345 0723455667 Romania,
Bucuresti, Str.
Unirii, nr. 2
nformatica 9
2Popescu onut 19.02.1990223345 0723455667 Romania,
Bucuresti, Str.
Unirii, nr. 2
Matematic
a
8
3Avram Mircea 02.04.1991345124 0723456789 Romania,
Bucuresti, Str.
Jiului, nr.34
nformatica 7
4Avram Mircea 02.04.1991345124 0723456789 Romania,
Bucuresti, Str.
Jiului, nr.34
Matematic
a
8
1
Aceast fi poate face obiectul predrii orelor alocate pentru laborator, alocate
modulului.
2)
Analiznd aceast rela ie se constat c fiecare elev poate avea mai multe numere de
telefon, prin urmare informa ia se repet i deci poate fi rafinat prin mpr irea n dou
tabele confom urmtorului algoritm:
1. se nlocuiesc n tabel coloanele corespunztoare atributelor compuse cu
coaloane ce con in componentele elementare ale acestora
2. se plaseaz grupurile care se repet ntr-un nou tabel
3. se introduce n noul tabel cheia primar a tabelului din care am extras atributele,
cheie care devine cheie strin n noul tabel.
4. Se restabilesc cheile primare ale noilor tabele
Am ob inut astfel prima form normal. Aceasta este o cerin minim a tuturor
sistemelor rela ionale. Rela iile aflate n prima form normal permit o referire simpl a
datelor prin indicarea numelui rela iei/tabelului, a coloanei i a cheii rndului din care
face parte informa ia respectiv.
doua for$' nor$al'
O rela ie R este n a doua form normal dac:
1. Este n prima form normal: 1NF
2. Orice coloan care depinde par ial de o cheie a lui R este inclus n acea cheie.
Cu alte cuvinte fiecare atribut care nu este cheie primar este total dependent
func ional de cheia primar.
A doua form normal se aplic rela iilor cu chei compuse, adic acelor rela ii n care
cheia primar este compus din dou sau mai multe atribute. Dac o rela ie are cheia
primar format dintr-un singur atribut se consider c este n a doua form nornal
2NF. Dac rela ia nu este n 2NF atunci pot apare anomalii la introducerea/actualizarea
datelor.
Exemplu:
Fie rela ia Elev n care pentru fiecare elev este men ipronat clasa n care elevul este
nscris prin dou atribute: CodClasa i SpecializareClasa.
Ele,
&dEle
,
+u$eEle
,
Prenu$eEl
e,
Data+a)ter
ii
dre)a #ateria
+ot
a
(od(la
)a
Speciali6are(l
a)a
1Popescu onut 19.02.1990Romania, nformati 99A Mate-info
2G
ele,
&dEle
,
+u$eEle
,
Prenu$
eEle,
Data
+a)terii
dre)a #ateria +ota
1Popescu onut 19.02.1990Romania,
Bucuresti, Str.
Unirii, nr. 2
nformatica 9
2Popescu onut 19.02.1990Romania,
Bucuresti, Str.
Unirii, nr. 2
Matematica 8
3Avram Mircea 02.04.1991Romania,
Bucuresti, Str.
Jiului, nr.34
nformatica 7
4Avram Mircea 02.04.1991Romania,
Bucuresti, Str.
Jiului, nr.34
Matematica
8
Ele,
&dEle
,
+u$eEle
,
Prenu$eEl
e,
Data+a)ter
ii
dre)a #ateria
+ot
a
(od(la
)a
Speciali6are(l
a)a
Bucuresti,
Str. Unirii, nr.
2
ca
2Popescu onut 19.02.1990Romania,
Bucuresti,
Str. Unirii, nr.
2
Matemati
ca
89A Mate-nfo
3Avram Mircea 02.04.1991Romania,
Bucuresti,
Str. Jiului,
nr.34
nformati
ca
79B Filologie
4Avram Mircea 02.04.1991Romania,
Bucuresti,
Str. Jiului,
nr.34
Matemati
ca
89B Filologie
Dac se va modifica Specializarea unei clase atunci vor trebui actualizate nu numr de
rnduri egal cu numrul de elevi nscri i n clasa respectiv. Dac cel pu in unu nu este
modificat atunci apare o anomalie la actualizarea datelor. Prin urmare Specializarea
unei clase depinde de dElev i CodClase, adic nu este total dependent de cheia
primara care este DElev.
Prin urmare acest tabel va fi descompus ntr-un tabel ce memoreaz date despre elevi
i unul care memoreaz date despre clase. n ambele tabele se va pstra un atribut
CodClasa. Acesta este cheie primar n tabelul ce memoreaz clasele i cheie strin
n cel pentru elevi.
treia for$' nor$al'
Dei relaiile 2NF conin mai puin redundan dect cele n forma 1NF tot mai pot
apare anomalii n procesul de actualizare a datelor.
O rela ie )e afl' n a treia for$' nor$al' dac se afl n prima i a doua i niciun
atribut care nu este cheie primar nu este dependent tranzitiv de cheia primar.
Normalizarea rela iilor care se afl n 2NF la 3NF presupune deci eliminarea
dependen elor tranzitive.
Un algoritm pentru rafinarea bazei de la n 3FN
1. Pentru fiecare dependen func ional A BC, unde A i B nu sunt neaprat
disjjuncte, se transfer coloanele X i Y ntr-un nou tabel.
2. Se determin cheia primar a fiecrui nou tabel creat la pasul 1, aceasta fiind
creat din coloanele lui X.
3. Se elimin din tabelul principal coloanele din Y.
4. Dac coloanele rezultate con in alte dependen e transitive se reia algoritmul de
la pasul 1.
For$a nor$al' BoAce 0 (odd BB(+FC
08
Formele normale 2NF i 3NF trateaz existen a dependen elor par iale i transitive de
cheia primar. Exist ns i anomalii care pot apare ca urmare a existen ei
dependen elor func ionale par iale sau tranzitive pentru alte chei candidat (atribute sau
grup de atribute care identific n mod unic fiecare tuplu dintr-o rela ie).
Forma normal Boyce Codd trateaz dependen ele func ionale care pot exista ntre
toate cheile candidat ale unei rela ii i alte atribute. Dac o rela ie are o singur cheie
candidat care este cheie primar atunci formele 3NF i BCNF sunt echivalente.
Se spune c o rela ie se afl n forma normal Boyce Codd dac i numai dac
fiecare determinant este o cheie candidat.
Un algoritm pentru aducerea n BCNF a unei rela ii R aflate n 3NF poate fi definit
astfel:
1. Pentru fiecare dependen non-cheie A B unde A i B sunt subseturi de
atribute ale lui R, se creeaz dou rela ii. Una dintre ele va con ine atributele A
i B, iar cealalt va fi format din toate atributele lui R din care se elimin
atributul B.
2. Dac rela iile ob inute con in alte dependen e non-cheie se reia pasul 1.
patra for$' nor$al'
Cu toate c forma normal Boyce Codd elimin toate anomaliile datorate
dependenelor funcionale dependenele multivalorice pot conduce la redundaa datelor.
De exemplu, dac ntr-o relaie exist atribute multi-valorice, trebuie s repetm fiecare
valoare a unuia dintre atribute, mpreun cu toate atributele celuilalt, pentru a ne
asigura c rndurile relaiei sunt coerente.
S considerm relaia Clasa_Elevi_Profesori unde reinem pentru fiecare clas elevii i
profesorii din clasa respectiv.
(la)e=Ele,i=Profe)ori
&d(la)' +u$eEle, +u$eProfe)or
1Popa
Maria
Stan Marin
1on on Stan Marin
1Popa
Maria
Stoian oana
1on on Stoian oana
Constatm c relaia pentru clasa 1 unde sunt introdui 2 elevi lucreaz cu doi
profesori. Prin urmare apare o constrngere numit dependen multivaloare deoarece
aceast relaie conine dou relaii de tip m:n independente unele de altele.
O relaie care se afl n BCNFA i nu conine dependene multifuncionale este n forma
a patra normal.
Normalizarea unei relaii de la BCNFA la 4NF presupune eliminarea dependenelor
multivaloare din cadrul acesteia, prin plasarea atributului (atributelor) ntr-o nou relaie,
la un loc cu determinantul (determinanii).
01
Astfel, pentru exemplul dat vom avea dou relaii dup cum urmeaz:
(la)e=Ele,i
&d(la)
'
+u$eEle,
1Popa Maria
1on on
l*orit$ pentru o8inerea D+F5 Fie relaia R, atunci:
1. Se identific toate dependenele multivaloare X Y pentru care X i Y nu
conin toate coloanele lui R i X nu conine nicio cheie a lui R.
2. Se nlocuiete relaia R cu dou relaii, prima format din coloanele {X,Y}, iar
cealalt din coloanele iniiale mai puin Y.
3. Dac relaiile obinute mai conin dependene multivaloare, algoritmul se reia,
altfel se termin.
cincea for$' nor$al'
Se ntlnete destul de rar, avnd o valoare mai mult teoretic specific faptul c o
relaie nu conine nicio dependen de tip uniune. Atfel spus obinerea 5NF are ca scop
eliminarea relaiilor relaiilor de tip n:m dependente spre deosebire de forma normal 4
care elimina relaiile n:m independente.
S presupunem c avem urmtoarea situaie: la o clas predau mai muli profesori, iar
fiecare profesor poate preda mai multe discipline. Pentru a reine aceasta situaie am
putea crea relaia:
(la)e=Profe)ori=Di)cipline
&d(la)a +u$eProfe)or &dDi)ciplin'
1Popa Maria D1
1Pop Valentin D4
1on on D2
2on on D4
2onescu Vasile D5
3onescu Vasile D6
3Popa Maria D2
Constatm c dac am crea dou relaii n care s reinem profesorii ncadrai la o clas
i alta n care s reinem disciplinele specifice fiecrei clas nu putem ti cine pred
aceste discipline. Altfel spus aceste dou relaii n:m sunt dependente. Se poate observa
c la clasa 1 disciplina D2 o pred on on dar ar putea s-o predea i Popa Maria.
Deci descompunerea acestei relaii n dou relaii conduce la pierderea de informaie.
Unirea ulterioar a celor dou relaii nu va conduce la obinerea relaiei iniiale. Acesta
este un exemplu de dependen de tip uniune cu pierderi.
cincea for$' nor$al' - EF+ - o relaie care nu are nicio dependen de tip uniune.
Prin urmare pentru a elimina redundaa datelor relaia trebuie descompus n trei relaii:
02
(la)e=Profe)ori
&d(la)' +u$eProfe)or
1Stan Marin
1Stoian oana
Clase/profesori +IdClasa, -umeProfesor,
Clase/.iscipline +IdClasa, Id.isciplin,
Clase/Profesori +-umeProfesor, Id.isciplina,
(la)e=Profe)ori
&d(la)
a
+u$eProfe)or
1Popa Maria
1Pop Valentin
1on on
2on on
2onescu Vasile
3onescu Vasile
3Popa Maria
Orice relaie poate fi descompus fr pierderi de informaie ntr-o mulime de relaii
care sunt n 5FN. Se garanteaz faptul c o relaie n 5FN nu conine anomalii ce pot fi
eliminate lund proieciile pe diferite submulini ale acestuia.
(onclu6ii%
Normalizarea este procesul de transformare a structurilor de date i are ca scop
eliminarea redundanelor i promovarea integritii datelor. Normalizarea reprezint un
element de baz al bazelor de date, n general, un set de structuri de date nu sunt
considerate relaionale dect dac sunt complet normalizate.
Procesul de normalizare poate fi reprezentat printr-un algoritm cu ase pai astfel:
Pasul 1: eliminarea dependenelor funcionale pariale 1NF 2NF
Pasul 2: eliminarea dependenelor funcionale tranzitive 2NF 3NF
Pasul 3: eliminarea dependenelor funcionale pentru care determinantul nu este cheie
3NF BCNF
Pasul 4: eliminarea dependenelor multivaloare care nu sunt dependene funcionale
BCNF 4NF
Pasul 5: eliminarea dependenelor de tip uniune 4NF 5NF
Pentru simplificarea codului, creterea performanei programelor de aplicaie i al
accesului la date de multe ori este folosit i procesul invers de denor$ali6are.
Denormalizarea are loc dup ce baza de date a fost normalizat i se face prin
operaiile relaionale (selecie, uniune) fiind nsoit de introducerea unor msuri
suplimentare care s asigure integritatea datelor i a bazei de date.
00
(la)e=Di)cipline
&d(la)
a
&dDi)ciplin'
1D1
1D4
1D2
2D4
2D5
3D6
3D2
Profe)ori=Di)cipline
+u$eProfe)o
r
&dDi)ciplin
'
Popa Maria D1
Pop Valentin D4
on on D2
on on D4
onescu Vasile D5
onescu Vasile D6
Popa Maria D2
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint, fi e de lucru, fie de evaluare/autoevaluare. Activitile se
recomand a se desfura n laboratorul de informatic, dotat cu videoproiector,
tabl/flipchart. Predarea va face obiectul orelor alocate pentru laborator tehnologic.
Se poate lucra individual sau pe grupe. Se vor utiliza metode prin care elevii
s identifice i s trate ze toate formele normale. n cazul lucrului pe grupe se vor
face comparaii ntre rezultatele obinute pe grupe, se vor analiza caracteristicile
bazelor de date nainte i dup normalizare.
n ceea ce privete evaluarea / autoevaluarea se vor utiliza teste cu itemi de
tip problematizare. Se vor utiliza de asemenea probe practice n care elevii vor
executa efectiv normalizarea bazelor de date folosind un sistem de gestiunea
bazelor de date. Se va face evaluare i transmitere de feedback pe parcursul
activitilor de predare nvare. Se pot da i teme integratoare de tip proiect,
eseu.
05
Tema + ,roiectarea #azelor de date
Fi7a )uport D51 0 Proiectarea conceptual' a 8a6elor de date
Prin proiectarea conceptual' a unei baze de date se nelege procesul de
constituire a unui model al informaiilor utilizate n cadrul unui sistem informaional, al
unei companii, independent de toate consideraiile de ordin fizic (sistemul de gestiune al
bazelor de date, programele de aplicaie, platforma hardware utilizat). Acest proces
are ca obiectiv principal identificarea tipurilor importante de entiti i relaiile care se
stabilesc ntre acestea.
Proiectarea conceptual reprezint primul pas n proiectarea unei baze de date,
constnd n realizarea unor modele de date conceptuale pentru fiecare vedere (datele
necesare unui utilizator n rezolvarea unei sarcini) a utilizatorului. Un utilizator poate fi o
persoan sau un grup de persoane care utilizeaz n mod direct sistemul informatic. n
acest sens vederea unui utilizator poate fi o zon funcional precum activitatea unui
departament: producia, contabilitatea, personal etc.
Pentru determinarea vederilor utilizatorilor se realizeaz o analiz a fluxurilor de date,
procedurilor stabilite, rapoarte, formulare specifice. Pentru modelarea fiecrei vederi se
vor stabili: tipurile de entiti, tipurile de relaii, atributele, cheile (candidat i primare).
n cadrul etapei de proiectare conceptual a bazei de date se pot evidenia urmtorii
pai:
1. dentificarea tipurilor de entiti
2. dentificarea tipurilor de relaii
3. dentificarea i asocierea atributelor cu tipurile de entiti sau relaii
4. Determinarea domeniilor atributelor
5. Determinarea atributelor cheilor candidat i primare
6. Specializarea-generalizarea tipurilor de entiti (opional)
7. Desenarea diagramei entitate-relaie
8. Validarea de ctre utilizator a modelului de date conceptual
&dentificarea tipurilor de entit'i const n definirea principalelor obiecte care pot
prezenta interes pentru utilizator, a obiectivelor utilizatorilor (conceptele de interes).
%&emplu' n cadrul crerii unui sistem pentru informati"area activitii de gestiune a
elevilor i profesorilor dintr3o unitate colar putem identifica o vedere pentru crearea
sistemului de clase dintr3un an colar# n acest sens treuie creat anul colar,
introducerea claselor i a elevilor# Putem grupa toate datele de identificarea ale elevilor
ntr3o entitate numit %levi, toate informaiile despre clase ntr3o entitate numit Clase,
toate datele despre anii colari ntr3o entitate numit )ni.eStudiu#
Pe msur ce entitile sunt descoperite li se atribuie denumiri semnificative. Aceste
denumiri precum i o descriere a lor sunt menionate ntr-un dicionar de date.
&dentificarea tipurilor de relaii5 O dat identificate entitile, n urmtoarea etap se
vor identifica relaiile dintre acestea.
Pentru exemplul dat putem identifica:
05
AniDeStudiu are Clase
Clase are Elevi
Elevi dau EleviExamene
Clase apartin Specializari
n aceast etap trebuie identificate toate relaiile care pot apare ntre entiti precum i
cardinalitatea fiecrei relaii, care poate fi: unu-la unu (1:1), unu-la-muli (1:n), muli-la-
muli (m:n). Aceste relaii se vor documenta i ele precum entitile n cadrul
dicionarului de date. De asemenea se vor identifica i constrngerile de participare.
E:e$plu de relaii%
E:e$plu de relaie 1%1
E:e$plu de relaie 1%n
0&
Dup ce au fost identificate entitile i relaiile dintre acestea se vor identifica 7i
a)ocia atri8utele 7i do$eniile ace)tora. Aceast etap decide ce fel de informaii
memorm n entiti "Ce fel de informaii treuie s pstrm despre #####4.
n cazul sistemului realizat pentru entitatea Elev au fost identificate urmtoarele atribute:
NumeElev, PrenumeElev, nitialaElev, BSerie, BNr, CNP, NrMatricol, ZiNastere,
LunaNastere, AnNastere, LocalitateNastere, Jud/Sector, Tara, Sex, Nationalitate,
StareElev, Datanscrierii, DataTerminarii, NumeTata, NumeMama, DomiciliuElev,
DomiciliuParinti, Limba1, Limba2, Categorie, Picture, Observatii.
Acestea pot fi: simple, compuse sau derivate.
Simple: NumeElev, PrenumeElev
Compuse: DomiciliuElev, DomiciliuParinti.
Derivate: ZiNastere, LunaNastere, AnNastere, Sex (ele fiind calculate din CNP).
Pentru fiecare atribut identificat se nregistreaz urmtoarele informaii:
- denumirea i descrierea atributului
- aliasuri/sinonime cunoscute ale atributului
- tipul de date i lungimea
- valorile prestabilite ale atributului
- acceptarea/neacceptarea de null-uri
- dac atributul este compus sau nu
- dac atributul este derivat sau nu i n caz afirmativ cum trebuie calculat
- dac atributul are valori multiple
n ceea ce privete do$eniul atri8utelor se va specifica pentru fiecare urmtoarele:
- setul de valori permise pentru fiecare atribut
- dimensiunile i formatele atributelor
Aceste informaii se vor nregistra n dicionarul de date.
Pentru exemplul prezentat, entitatea Elevi, atributele dElev, NumeElev, nitialaElev i
PrenumeElev, n dicionarul de date sunt nregistrate urmtoarele informaii:
(olu$n)
Name Type Size
DElev Long nteger 4
AllowZeroLength: False
AppendOnly: False
Attributes: Fixed Size; Auto-ncrement
CollatingOrder: General
ColumnHidden: False
ColumnOrder: Default
ColumnWidth: Default
DataUpdatable: False
GUD: {guid {0F81B463-A92D-11D7-A6EE-0060B0C2D358}}
OrdinalPosition: 0
Required: False
SourceField: DElev
SourceTable: tabElevi
NumeElev Text 50
AllowZeroLength: True
AppendOnly: False
Attributes: Variable Length
CollatingOrder: General
ColumnHidden: False
ColumnOrder: Default
ColumnWidth: Default
DataUpdatable: False
DisplayControl: Text Box
GUD: {guid {0F81B464-A92D-11D7-A6EE-0060B0C2D358}}
0'
MEMode: 0
MESentenceMode: 3
OrdinalPosition: 1
Required: False
SourceField: NumeElev
SourceTable: tabElevi
UnicodeCompression: True
nitialaElev Text 3
AllowZeroLength: True
AppendOnly: False
Attributes: Variable Length
CollatingOrder: General
ColumnHidden: False
ColumnOrder: Default
ColumnWidth: Default
DataUpdatable: False
DisplayControl: Text Box
GUD: {guid {0F81B465-A92D-11D7-A6EE-0060B0C2D358}}
MEMode: 0
MESentenceMode: 3
OrdinalPosition: 2
Required: False
SourceField: nitialaElev
SourceTable: tabElevi
UnicodeCompression: True
PrenumeElev Text 50
AllowZeroLength: True
AppendOnly: False
Attributes: Variable Length
CollatingOrder: General
ColumnHidden: False
ColumnOrder: Default
ColumnWidth: 2610
DataUpdatable: False
DisplayControl: Text Box
GUD: {guid {0F81B466-A92D-11D7-A6EE-0060B0C2D358}}
MEMode: 0
MESentenceMode: 3
OrdinalPosition: 3
Required: False
SourceField: PrenumeElev
SourceTable: tabElevi
UnicodeCompression: True
dentificarea cheilor candidat are ca scop final determinarea cheii primare, cheie care
identific n mod unic fiecare nregistrare a entitii. Se pot identifica mai multe chei
candidat. Pentru alegerea cheii primare din setul de chei candidat identificate se va
recurge la :
- alegerea chieii candidat cu setul minim de atribute
- alegerea cheii candidat cu probabilitatea cea mai mic de modificare a valorilor
- alegerea cheii candidat cu probabilitatea cea mai mic de pierdere a unicitii
- alegerea cheii candidat cu cele mai puine caractere i cel mai uor de utilizat de ctre
utilizator.
Cheile primare i cele alternative (dac exist) se nregistreaz n dicionarul de date.
Opional, cand este adecvat se poate realiza i )peciali6area@*enerali6area tipurilor
de entit'i. n aceast etap se identific entitile superclas i subclas.
Reprezentarea modelului entitate relaie se poate face fie prin specializare, fie prin
generalizare. n oricare dintre ele se va ncerca a se reprezenta entitile importante i
relaiile dintre acestea.
Desenarea diagramei se realizeaz pentru o anumit vedere a utilizatorului asupra
sistemului.
0)
Validarea de ctre utilizator a modelului de date conceptual este util pentru a garanta
c modelul este o reprezentare a punctului de vedere al utilizatorului.
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint, fi e de lucru, fie de evaluare/autoevaluare. Activitile se
recomand a se desfura n laboratorul de informatic, dotat cu videoproiector,
tabl/flipchart. Predarea va face obiectul orelor alocate pentru laborator tehnologic.
Se recomand a se lucra pe grupe. Ca tipuri de activiti se recomand studii
de caz, problematizarea, comparaii ntre diferite tipuri de sisteme informaionale
pentru care se genereaz baze de date, proiectarea conceptual cu tot ce
presupune ea.
n ceea ce privete evaluarea / autoevaluarea se vor utiliza teste cu itemi
obiectivi, semiobiectivi, de tip problematizare. Se vor utiliza de asemenea probe
practice n care elevii vor executa efectiv proiectarea conceptual a bazelor de
date. Se va face evaluare i transmitere de feedback pe parcursul activitilor de
predare nvare. Se pot da i teme integratoare de tip proiect, eseu.
0G
Fi7a )uport D52 0 Proiectarea lo*ic' a 8a6elor de date
Proiectarea logic a bazelor de date este procesul de constituire a unui model al
informaiilor utilizate n cadrul sistemului informaional al companiei, bazat pe un anumit
model de date, dar independent de sistemul de gestiune al bazelor de date, precum i
de alte consideraii de ordin fizic.
Principalele etape ale proiectrii logice a bazelor de date cuprind:
- constituirea i validarea unui model de date logic local pentru fiecare vedere a
utilizatorului
- constituirea i validarea unui model de date logic global
n etapa de constituire i validare a modelului logic local se va urmri obinerea unui
model al tuturor vederilor utilizatorului care s fie corect i cuprinztor.
Pentru asigurarea acestor obiective se vor parcurge urmtorii pai:
1. Transpunerea modelului de date conceptual local n modelul de date logic local:
2. Extragerea relaiilor
3. Validarea modelului prin normalizarea relaiilor
4. Validarea modelului conform tranzaciilor utilizatorului
5. Desenarea diagramei entitate relaie
6. Definirea constrngerilor de integritate
7. Validarea modelului mpreun cu utilizatorul
Fa de cele de mai sus putem spune c activitile asociate rafinrii unui model de
date conceptual pentru a obine un model de date logic includ: eliminarea relaiilor de tip
n:m, eliminarea relaiilor complexe, eliminarea relaiilor recursive, eliminarea relaiilor cu
atribute, eliminarea atributelor cu valori multiple, reexaminarea relaiilor de tip 1:1 i
eliminarea relaiilor redundante.
n ceea ce privete extragerea relaiilor se vor identifica relaiile tari i slabe, relaiile
binare (1:1 i 1:n), relaii de tip superclas/subclas i se vor documenta relaiile i
atributele cheilor strine.
Modelul de date logic poate fi validat prin utilizarea tehnicii de normalizare i conform
tranzaciilor pe care trebuie s le accespte acesta. Normalizarea este utilizat pentru a
mbunti modelul, astfel nct acesta s satisfac diversele constrnderi care evit
dublarea inutil a datelor. Prin normalizare se garanteaz c modelul utilizat este
coerent i are o redundan minim i o stabilitate maxim.
Pentru a proteja datele din cadrul unei vederi se vor considera urmatoarele tipuri de
constrngeri de integritate:
- datele cerute
- domeniile atributelor
- integritatea atributelor
- integritatea referenial
- constrngerile impuse de companie
n etapa de constituire i validare a modelului logic global se vor efectua operaii
precum:
- mbinarea modelelor de date logice locale n modelul global
- validarea modelului de date global
58
- verificarea n vederea dezvoltrii viitoare
- desenarea diagramei entitate relaie finale
- validarea modelului mpreun cu utilizatorul
Pentru mbinarea modelelor de date logice locale n vederea obinerii modelului global
pot avea loc revizuiri de denumire ale entitilor, atributelor, relaiilor. Se pot mbina
entiti sau relaii, se pot aduga alte entiti sau relaii, au loc verificri ale cheilor
primare, strine, se verific constrngerile i se reactualizeaz documentaia.
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint, fi e de lucru, fie de evaluare/autoevaluare. Activitile se
recomand a se desfura n laboratorul de informatic, dotat cu videoproiector,
tabl/flipchart. Predarea va face obiectul orelor alocate pentru laborator tehnologic.
Se recomand a se lucra pe grupe. Ca tipuri de activiti se recomand studii
de caz, problematizarea, comparaii ntre diferite tipuri de sisteme informaionale
pentru care se genereaz baze de date, proiectarea logic cu tot ce presupune ea.
n ceea ce privete evaluarea / autoevaluarea se vor utiliza teste cu itemi
obiectivi, semiobiectivi, de tip problematizare. Se vor utiliza de asemenea probe
practice n care elevii vor executa efectiv proiectarea logic a bazelor de date. Se
va face evaluare i transmitere de feedback pe parcursul activitilor de predare
nvare. Se pot da i teme integratoare de tip proiect, eseu.
51
Fi7a )uport D53 0 Proiectarea fi6ic' a 8a6elor de date
Proiectarea fizic presupune realizarea unei descrieri a implementrii bazei de date ntr-
o capacitate de stocare secundar. n cadrul acestui proces se descriu structurile de
stocare i metodele de acces utilizate pentru obinerea unui acces eficient la date.
Etapele proiectrii fizice a bazelor de date sunt:
. Adaptarea modelului de date logic global pentru SBGD-ul int
a. Proiectarea relaiilor de baz pentru SGBD-ul int
b. Proiectarea constrngerilor companiei pentru SGBD-ul int
. Proiectarea reprezentrii fizice
a. Analizarea tranzaciilor
b. Alegerea organizrii fiierelor
c. Alegerea indexurilor secundare
d. Controlarea redundanei
e. Estimarea cerinelor privind spaiul de memorie
. Proiectarea mecanismelor de securitate
a. Proiectarea vederilor utilizatorilor
b. Proiectarea regulilor de acces
V. Monitorizarea i reglarea sistemului operaional
La pasul se vor transforma relaiile extrase din modelul logic global ntr-o form care
s poat fi implementat n sistemul de gestiune a bazelor de date utilizat. n acest sens
se vor verifica urmtoarele elemente:
- dac sistemul accept definirea cheilor primare, strine i alternative
- dac sistemul accept definirea datelor necesare (ex.: atribute not null)
- dac sistemul accept definirea domeniilor identificate
- dac sistemul accept definirea constrngerilor companiei
- cum se creeaz relaiile de baz.
Pe parcursul proiectrii fizice se utilizeaz elementele definite n dicionarul de date. n
acest sens pentru fiecare relaie identificat n proiectarea logic se va defini relaia de
baz cu urmtoarele elemente: denumirea relaiei, o list cu atributele simple (ntre
paranteze), cheia primar, alternativ, strin (unde e cazul), constrngerile de
integritate corespunztoare cheilor strine identificate. Pentru fiecare atribut se vor
folosi informaii (din dicionarul de date) precum: domeniul acestuia, valoarea
prestabilit (dac este cazul), dac atributul conine null-uri, dac este derivat i n caz
afirmativ formula de calcul.
Constrngerile companiei depind de facilitile oferite de SGBD. De asemenea aceste
constrngeri pot fi realizate i n cadrul programelor care alctuiesc sistemul informatic.
n cadrul proiectrii reprezentrii fizice se determin organizarea fiierelor, metodele de
acces la datele din baza de date astfel nct s se asigure stocarea datelor ct mai
eficient att ca spaiu ct i ca mod de acces. Pentru a asigura eficiena maxim se
vor analiza urmtorii factori: transferul tranzaciilor (numrul de tranzacii ntr-un interval
de timp), timpul de rspuns (timpul scurs pn la ncheierea unei tranzacii),
posibilitatea mbuntirii performanelor prin introducerea de indexuri secundare i
capacitatea de stocare pe disc.
52
De asemenea se va ine cont i de resursele hardware ale sistemului: memoria intern,
CPU, capacitatea de stocare, reeau de calculatoare.
n ceea ce privete asigurarea securitii se vor proiecta sisteme de securitate conform
cerinelor companiei. n acest sens se vor proiecta vederile utilizatorilor aa cum au fost
identificate n proiectarea conceptual i reguli de acces pentru utilizatorii sistemului
informatic.
Din punct de vedere al monitorizrii i reglrii sistemului operaional se vor analiza
posibilitile de obinere a performanelor maxime i de a reflecta ct mai facil cerinele
companiei.
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint, fi e de lucru, fie de evaluare/autoevaluare. Activitile se
recomand a se desfura n laboratorul de informatic, dotat cu videoproiector,
tabl/flipchart. Predarea va face obiectul orelor alocate pentru laborator tehnologic.
Se recomand a se lucra pe grupe. Ca tipuri de activiti se recomand studii
de caz, problematizarea, comparaii ntre diferite tipuri de sisteme informaionale
pentru care se genereaz baze de date, proiectarea fizic cu tot ce presupune ea.
n ceea ce privete evaluarea / autoevaluarea se vor utiliza teste cu itemi
obiectivi, semiobiectivi, de tip problematizare. Se vor utiliza de asemenea probe
practice n care elevii vor executa efectiv proiectarea fizic a bazelor de date. Se va
face evaluare i transmitere de feedback pe parcursul activitilor de predare
nvare. Se pot da i teme integratoare de tip proiect, eseu.
50
Tema - .isteme de (estiune a #azelor de date
Fi7a )uport E Si)te$e de *e)tiune a 8a6elor de date
Sistemul de gestiune a bazelor de date const ntr-un pachet software care
asigur interaciunea dintre programele de aplicaie ale utilizatorului i baza de date.
Sistemele de gestiune a bazelor de date ofer utilizatorilor urmtoarele faciliti:
instrumete pentru definirea bazelor de date: limbaj de descriere a datelor (DDL)
instrumente pentru manipularea datelor: limbaje (procedurale i neprocedurale)
pentru manipularea datelor (DML)
acces controlat la date prin: sisteme de securitate, sisteme care asigur
integritatea datelor, sisteme de control al concurenei, sisteme de restaurare n
caz de avarie.
nstrumente de vizualizare prin limbajul de descriere a datelor se pot descrie
moduri de vizualizare a datelor. Astfel, utilizatorii i pot descrie propriul mod de
vizualizare a datelor asigurnd astfel un anumit grad de securitate datelor, o
personalizare a aspectului bazei de date i o imagine coerent a structurii bazei
de date.
n figura de mai jos este ilustrat un exemplu de tratare prin baze de date. Figura
ilustreaz cum departamentul secretariat i contabilitate i utilizeaz programele de
aplicaie proprii pentru a accesa baza de date prin intermediul sistemului de gestiune a
bazelor de date.
Componentele unui ./B0
|innd cont c un sistem de gestiune a bazelor de date este un mecanism computerizat
de meninere a evidenei unei anumite activiti, folosind sistemul de baze de date
componentele acestuia sunt:
55
Secretariat
(onta8ilitate
&ntr'ri@ie7iri
&ntr'ri@ie7iri
S2BD
Ba6a de
date
Figur 1 . Pre&u"rre +te&(r +in /ze&e +e +te
Hardware
Software
Date
Proceduri
Persoane
FardGare. Sistemele de baze de date sunt instalate, de regul, pe calculatoare PC
standard, pn la staii multiprocesor puternice. Performanele generale de operare ale
calculatorului (numrul i viteza procesoarelor, dimensiunea i viteza de operare a
memoriei principale etc.) influeneaz n mod corespunztor performanele sistemului
de baze de date. Elementele specifice de hardware depind i de sistemul de baze de
date utilizat dar i de cerinele organizaiei. Unele sistemele de baze de date necesit
un anumit tip de hardware sau de sistem de operare, n timp ce altele pot funciona pe o
diversitate de elemente hardware i platforme.
Dar, ceea ce intereseaz n mod deosebit n utilizarea unui calculator pentru un sistem
de baze de date, este capacitatea memoriei interne, viteza procesorului i spaiul de pe
disc.
n cadrul unei instituii de nvmnt poate fi definit urmtoarea configuraie hardware
pentru baza de date ce conine date despre elevii i profesorii din aceast instituie:
Fi*ur' 2 - (onfi*uraia ;ardGare pentru 8a6a de date a unei in)tituii de n,''$>nt
Configuraia prezentat n figura 2 conine un server de date pe care se afl baza de
date i programele care administreaz i controleaz accesul la baza de date i alte
PC-uri aflate n diverse locaii/departamente pe care se afl aplicaiile utilizatorilor.
Aceast arhitectura poart denumirea de client-server.
SoftGare. Aceast component conine programele SGBD-ului, programele aplicaiei i
sistemul de operare (de pe staii sau dac este cazul dintr-o reea). Programele
aplicaiei sunt scrise n limbaje de programare cum ar fi: Visual Basic,Visual C++, Java
55
Baza
de date
Server de
baze de date Secretariat Administraie
Cancelarie Contabilitate
Secretar 1
Secretar 2
Secretar 3
Contabil 1
Contabil 2
Administrator
Pedagog
Catedra 1
Catedra 2
etc. SGBD-uile pot avea propriile instrumente care permit dezvoltarea rapid de
aplicaii.
Datele memorate ntr-o baz de date sunt date persistente, adic date care rmn
memorate pe suport magnetic, independent de execuia programelor de aplicaii. Datele
persistente ale unei baze de date se introduc, se terg sau se actualizeaz folosind
date de intrare (provenite de la tastatur, din citirea unor fiiere de date sau din
recepionarea unor mesaje). Datele de intrare sunt, n general, date nepersistente; ele
sunt generate de utilizatori i sunt memorate (devenind date persistente) numai dup ce
au fost validate (acceptate) de ctre SGBD. Datele de ieire ale unui sistem de baze de
date sunt, de asemenea, date nepersistente; ele provin din operaii de interogare a
bazei de date i sunt puse la dispoziia utilizatorului (sub form de afiri, rapoarte
tiprite, etc).
Procedurile se refer la instruciunile i regulile ce permit proiectarea i utilizarea bazei
de date. Utilizatorii unui SGBD au nevoie de proceduri cum ar fi:
- descrierea unei sesiuni de lucru
- pornirea, identificarea n sistem i oprirea SGBD-ului
- efectuarea de copii de siguran
- restaurarea bazei de date etc.
Per)oanele care sunt implicate n lucru cu bazele de date i SGBD-urile pot fi:
adiministratorii bazei de date, proiectanii bazei de date, programatorii de aplicaii,
operatorii/utilizatorii finali.
)dministratorul a"ei de date este o persoan (sau un grup de persoane) cu nalt
calificare tehnic care are ca sarcin meninerea funcionalitii bazei de date prin
stabilirea drepturilor de acces ale diferitelor categorii de utilizatori, prin efectuarea
operaiilor periodice de salvare a datelor (backup), prin monitorizarea performanelor
sistemului i refacerea datelor atunci cnd este necesar.
Proiectanii a"ei de date realizeaz analiza organizaiei i identific datele, relaiile
dintre acestea i constrngeri asupra acelor date care vor fi stocate n baza de date.
Programatorii de aplicaii sunt cei care dezvolt aplicaiile de baze de date, folosind
limbaje de programare de nivel nalt (C++, Java, Basic etc.) i biblioteci care permit
ncorporarea operaiilor de acces la baza de date.
5tili"atorii finali sunt acei utilizatori care acceseaz baza de date prin intermediul unui
program de aplicaie care le confer drepturi limitate de acces la date pentru anumite
operaii de prelucrare. Utilizatorii finali sunt persoane cu pregtire tehnic minimal,
care efectueaz un volum mare de operaii asupra bazei de date, dar nu trebuie s
cunoasc mai mult dect posibilitile oferite de programul pe care l utilizeaz. De
exemplu, utilizatorii finali ai unei aplicaii de gestiuune a elevilor dintr-o coal (colegiu
tehnic) pot fi secretarele care efectueaz un numr mare de operaii asupra datelor din
sistem (introducerea elevilor, introducerea situaiilor colare, organizarea examenelor
de absolvire, tiprirea diplomelor de absolvire, situaii statistice etc.), fr a fi necesar s
cunoasc ntreaga structur a bazei de date.
!vanta"ele i dezavanta"ele folosirii ./B0&urilor
5&
Utilizarea sistemelor de gestiune a bazelor de date ofer utilizatorilor mai multe
avantaje dar i o serie de dezavantaje.
Printre avantajele utilizrii SGBD-urilor putem enumera:
controlul redundanei datelor. Nu se poate vorbi de eliminarea total a
redundanei datelor deorece ci de o diminuare i inerea sub control a multiplicrii
i stocrii acelorai date fapt datorat modelrii relaiilor cnd poate fi util
dublarea unor articole de date cheie.
coerena datelor. Controlul redundanei atrage dup sine i coerena datelor.
Dac un articol este memorat ntr-un singur loc atunci la o eventual actualizare
aceasta nu va fi operat dect o singur dat, noua valoare fiind disponibil n
timp real tuturor utilizatorilor bazei de date.
parta?area datelor. Aceleai date pot fi utilizate de ctre operatori din diverse
compartimente ale organizaiei. Se poate defini i un sistem de partajare, adic
la ce date i care este autoritatea fiecrei persoane care acceseaz baza de
date.
inte*ritatea cre)cut' a datelor din baza de date. ntegritatea datelor se obine
prin definirea unui sistem de validare a datelor dar i la coerena acestora.
ntegritatea datelor este asigurat i prin: politici de acces difereniate,
gestionarea tranzaciilor, refacerea datelor. De exemplu n cadrul unei aplicaii
de gestiune a elevilor al unei coli, mutarea elevilor dintr-o clas inferioar ntr-o
clas superioar, la finele anului colar, nu se poate face dect dac elevul a
promovat (are medii peste cinci) la toate dicipinele.
)ecuritate cre)cut'. Securitatea datelor in baza de date se realizeaz prin
protecia utilizatorilor neautorizai i prin drepturile i autoritatea celor care
identific n sistem. n acest sens administratorului bazei de date i revine rolul de
a defini politica de securitate i acces pentru toi utilizatorii bazei de date.
plicarea )tandardelor. Utilizarea SGBD-urilor permite administratorului bazei
de date s definiasc anumite standarde pentru modul de stocare a datelor, fapt
ce permite interschimbul de informaii ntre diferite instituii.
(o$pactitate ridicat': volumul ocupat de sistemele de baze de date este mult
mai redus dect volumul ocupat de documente scrise sau de fiiere necorelate.
.ite6' $are de re*')ire 7i actuali6are a infor$aiilor.
&ndependena datelor fa' de )uportul ;ardGare utili6at. Sistemele de
gestiune a bazelor de date ofer o vedere (view) extern 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
(oncuren' $8un't'it'. n multe sisteme de gestiune a bazelor de date se
administreaz accesul concurent la date.
Facilit'ile de )al,are 7i refacere a datelor permit minimizarea pierderilor de
date n cazul unor avarii sau defeciuni ale sistemelor hardware.
Sistemele de gestiune a bazelor de date au i unele dezavantaje dintre care putem
aminti:
(o$ple:itatea. Funcionarea unui SGBD de calitate tinde s devin extrem de
complex, iar pentru ca proiectanii i administratrorii bazelor de date s profite
de toate facilitile trebuie s cunoasc toate elementele de funcionalitate alte
SGBD-urilor;
5'
Di$en)iunea. Avnd n vedere complexitatea SGBD-urilor spaiul ocupat de
acestea tinde s creasc din ce n ce mai mult.
(o)turile. Pretul unui sistem de gestiune a bazelor de date este foarte ridicat i
la acesta se adaug i costurile echipamentelor hardware.
Clasificarea .istemelor de (estiune a #azelor de date
Clasificare dup modelul de date5 Majoritatea sistemelor de baze de date actuale
sunt realizate n modelul de date relaional sau n modelul de date obiect. Dezvoltarea
continu a acestor modele a condus ctre o nou categorie de baze de date, numite
oiect3relaionale, care combin caracteristicile modelului relaional cu cele ale
modelului obiect. De asemenea, mai sunt nc n funciune baze de date n modele mai
vechi (modelul ierarhic sau modelul reea).
Clasificare dup numrul de utilizatori5 Majoritatea sistemelor de baze de date sunt
sisteme multiutili"ator, adic permit accesul concurent (n acelai timp) a mai multor
utilizatori la aceeai baz de date. Un numr redus de sisteme de baze de date sunt de
tip monoutili"ator, adic suport accesul doar al unui singur utilizator (la un moment
dat).
Clasificare dup numrul de staii pe care este stocat #aza 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 o singur staie
(calculator). Un sistem centralizat poate suporta unul sau mai muli utilizatori, dar, n
orice situaie, datele i sistemul de gestiune rezid n ntregime pe o singur staie.
Un sistem de baze de date distribuit (Distributed Database System) poate avea att
datele, ct i sistemul de gestiune, distribuite n mai multe staii interconectate printr-o
reea de comunicaie.
1im#a"ele #azelor de date
Pentru definirea i manipularea datelor sistemele de gestiune a bazelor de date
folosesc dou limbaje i anume: unul pentru descrierea datelor i altul pentru
manipularea lor.
Limbajul de definire a datelor (DDL) permite administratorului bazei de date s
descrie i s denumeasc entitile cerute de sistemul informatic i relaiile care pot
exista ntre acestei n funcie de cerinele aplicaiei. Astfel, schema bazei de date este
specificat printr-un set de definiii exprimate n limbajul de definire a datelor. Rezultatul
compilrii instruciunilor este un set de tabele stocate n fiiere speciale denumite
catalog de sistem.
Limbajul de manipulare a datelor asigur un set de procedee ce permit operaii
de baz pentru manipularea datelor coninute n baza de date:
- adaugarea de date noi n baza de date
- modificri ale datelor stocate n baza de date
5)
- regsirea datelor coninute n baza de date
- tergerea de date din baza de date
E:e$ple de S2BD-uri
.istemul 2racle este un sistem de gestiune a bazelor de date multi-utilizator puternic,
cu implementri pe toate platformele (Windows, Unix, Linux), care ofer att
performane de execuie ridicate, ct i un grad nalt de protecie i securitate a datelor.
n toate versiunile, Oracle ofer implementarea complet a caracteristicilor modelului
relaional (conform standardului SQL2), iar ultimele versiuni (Oracle8i, Oracle9i i
Oracle 10g) sunt sisteme de gestiune obiect-relaionale distribuite, implementnd
extensiile obiect-orientate prevzute n standardul SQL3 i oferind posibilitatea de
dezvoltare a bazelor de date distribuite.
.31 .erver este sistemul de gestiune a bazelor de date relaionale dezvoltat de firma
Microsoft pentru sistemele de operare Windows. Au existat mai multe versiuni,
versiunea actual (2008) fiind SQL Server 2005. n toate versiunile sistemul SQL Server
suport complet standardul SQL2, cu implementarea performant a trsturilor
avansate de stocare i prelucrare a datelor (integritate referenial, subinterogri,
triggere, gestiunea tranzaciilor, etc).
%icrosoft !ccess este unul din cele mai cunoscute sisteme de gestiune a bazelor de
date relaionale pe platforme de calculatoare personale. MS Access dispune de un
sistem de control al bazei de date (dataase engine) i o interfa grafic pentru
interaciunea cu utilizatorul. Aplicaiile de baze de date n MS Access se pot dezvolta cu
mult uurin datorit generatoarelor de aplicaii (6i"ards) care permit proiectarea
vizual a bazelor de date i a formularelor (forms) pentru interfeele grafice. MS Access
este folosit n special pentru aplicaii personale sau pentru mici afaceri .
%4.31 este un sistem de gestiune a bazelor de date relaionale cu implementri pentru
sistemele de operare Windows, Linux, Unix. Acest sistem este compatibil cu standardul
SQL2, dar unele prevederi ale standardului sunt implementate parial. Versiunea
actual este versiunea 5.0 care ofer vederi, proceduri stocate, triggere caracteristici
care lipseau in versiunile precedente.
5G
Su*e)tii $etodolo*ice
Pentru predarea acestui coninut se pot utiliza, ca materiale suport
prezentri PowerPoint, fi e de lucru, fie de evaluare/autoevaluare. Activitile se
pot desf ura n sal de curs sau n laboratorul de informatic, dotate cu
videoproiector, tabl/flipchart.
Se poate lucra individual sau pe grupe, profesorul va aborda toate aspectele
legate de SGBD-uri, va pune accent pe componentele SGBD-urilor precum i pe
avantajele i dezavantajele utilizrii bazelor de date. De asemenea, profesorul va
exemplifica i caracteriza diverse tipuri de sisteme prezentndu-le comparativ n
funcie de caracteristicile fiecruia. Dac se lucreaz pe grupe se pot da ca teme
de documentare pentru elevi s descrie diferite sisteme cu avantajele i
dezavantajele fiecruie, precum i utilitatea fiecruia. n continuarea acestei teme
profesorul va prezenta un Sistem de gestiune a bazelor de date pentru care coala
are licen de utilizare. Pentru a nu restriciona sau condiiona predarea, prezentul
material nu va face prezentarea niciunui SBGD ci se rezuma doar la aspectele
generale pe care trebuie sa le dein orice SGBD.
n ceea ce privete evaluarea / autoevaluarea se poate utiliza un test cu itemi
de tip mperechere, completare, alegere multipl precum i itemi semiobiectivi,
problematizare mai ales n ceea ce privete evaluarea lucrului cu un SGBD, pentru
care coala deine licen de utilizare. Se poate cere elevilor s identifice elemente
greit utilizate i s le corecteze. Se va face evaluare i transmitere de feedback pe
parcursul activitilor de predare nvare. Se pot da i teme integratoare de tip
proiect, eseu.
58
Tema 5 6lemente de al(e#r relaional
Fi7a )uport H Operaii relaionale
10 Selec ia
condi ie
+7ela ie, operator unar care ac ioneaz asupra unei rela ii i
define te una nou ce con ine toate acele tupluri care ndeplinesc o anumit
condi ie.
Condi ia este specificat este o formul logic ce poate con ine: nume de atribute,
constante, operatori logici (AND, OR, NOT), operatori de compara ie (<, >, <=, >=,
=, !=).
Exemplu:
Fie rela ia Elevi
Lista i to ii elevii care au anul na terii mai mare dect 1990.
AnNastere>1990
(Elevi)
Are ca efect afi area rela iei:
25 Proiec ia
col1, col2,...coln
(Rela ie) ac ioneaz asupra unei singure rela ii i define te
una nou care con ine un subset vertical al ei, extrgnd valorile atributelor
specificate (col1, col2,...coln) eliminnd dublurile.
Exemplu:
Fie rela ia Clasa
Realiza i o list cu toate clasele specificnd numele, specializarea i forma de
nv mnt.
H
NumeClasa, NumeSpecializare, NumeForma
(Clase), are ca efect:
51
35 Produ)ul carte6ian Rela ie
1
x Rela ie
2
define te o nou rela ie care reprezint
o concatenare a fiecrui tuplu din Rela ie
1
cu fiecare tuplu din Rela ie
2
. Produsul
cartezian este o opera ie binar.
E:e$plu%
Rela ie
1
Rela ie
2
Rela ie
1
: Rela ie
2
Fiind dou rela ii elevi i clase s se listeze elevii i clasa n care ace tia sunt nscri i.
Se vor specifica: numele, specializarea i forma de nv mnt, precum i numele,
prenumele i ini iala elevului.
H
NumeClasa, NumeSpecializare, NumeForma
(Clase) x H
NumeElev, nitialaElev, PrenumeElev
(Elevi), are ca efect:
Se oserv c dac 7ela ia 0 are nu numr de i tupluri i n atriute iar 7ela ia 1 are un
numpr de $ tupluri i m atriute atunci 7ela ie0 & 7ela ie1 va avea +i8$, tupluri i +n9m,
atriute#
10 Reuniunea Rela ie
1
Rela ie
2
. Dac rela ie 1 are i tupluri, iar rela ia 2 are j
tupluri atunci reuniunea lor reprezint o rela ie cu maxim i+j tupluri ob inut prin
concatenarea acestora excluznd tuplurile duble.
52
D E
d1 1
d2 2
B ( D E
X1 Y1 Z1 d1 1
X1 Y1 Z1 d2 2
X2 Y2 Z2 d1 1
X2 Y2 Z2 d2 2
X3 Y3 Z3 d1 1
X3 Y3 Z3 d2 2
*serva ie' reuniunea a dou rela ii presupune c acestea au aceea i numr de
atriute ale cror domenii coincid# )ltfel spus ele sunt compati#ile la reuniune#
Uneori cnd se dore te reuniunea a dou rela ii este necesar mai nti opera ia de
proiec ie i eliminarea dublurilor i apoi reuniunea.
E:e$plu%
Presupunnd c n baza de date exist dou rela ii una care re ine clasele de la liceu
teoretic (ClaseTeoretic) i alta care re ine clasele de la liceu tehnologic
(ClaseTehnologic) se poate realiza o rela ie care s con in toate clasele din liceu.
H
NumeClasa, NumeSpecializare, NumeForma
(ClaseTeoretic) H
NumeClasa, NumeSpecializare,
NumeForma
(ClaseTehnologic)
E5 Diferen ' - Rela ie
1
- Rela ie
2
define te o rela ie care se ob ine doar din
tuplurile care sunt n prima rela ie i nu sunt n a doua. Prin urmare rela iile
trebuie s fie compatibile la reuniune.
Exemplu:
Presupunnd c n baza de date exist rela ia AniStudiu care re ine anii de studiu (X-
X patru pentru liceu zi, X-X cinci pentru liceu seral,- doi pentru coala postliceal)
i rela ia AniTerminali care re ine pentru fiecare nivel de nv mnt anii terminali
fcnd diferen a dintre cele dou tabele se pot ob ine anii intermediari.
H
NumeAn, NivelScoala, NumeForma
(AniStudiu) - H
NumeAn, NivelScoala, NumeForma
(AniTerminali)
H5 4$p'r irea Rela ie
1
Rela ie
2
.
Pro8le$': S presupunem c avem dou rela ii Elevi (ce con ine date de identificare a
elevilor dintr-o coal) i EvidentaLec ii (ce con ine o bibliotec virtual cu lec ii de
informatic, lec iile sunt grupate pe capitole).
Cerin 7 -e interesea" to i elevii care au accesat capitolele care au e&act : lec ii#
%od de realizare' Pentru aceasta am putea o ine o rela ie +S, cu capitolele care au
e&act : lec ii i o rela ie +7, cu elevii care au accesat capitole cu orice numr de lec ii#
.up care vor efectua mpr irea 7 ; S i o inem ceea ce ne interesa#
S presupunem c avem rela ia R cu un numr de m atribute i rela ia S cu un numr
de n atribute incluse n atributele lui R (m mai mare ca n).
Prin opera ia de mpr ire a lui R la S se ob ine o rela ie cu un numr de m-n tupluri la
care, adugnd orice tuplu din S, se ob ine un tuplu din R.
R S = R1 - R2 unde:
R1 =
x
(R)
R2 =
x
((R1 x S) R)
X = mul imea atributele lui R care nu exist n S.
20 &nter)ec ia Rela ie
1
Rela ie
2
. Aceast opera ie are ca rezultat ob inerea unei
rela ii ce con ine toate tuplurile comune celor dou rela ii. Rela iilor trebuie s fie
compatibile la reuniune.
Rela ie
1
Rela ie
2
= Rela ie
1
- (Rela ie
1
- Rela ie
2
)
E:e$plu%
Rela ie1 Rela ie2 Rela ie 1 Rela ie 2
50
B
X1 Y1
X2 Y2
X3 Y3
( D
X1 Y1
X1 Y2
B
I1 J1
K5 Uniunea
Aceast opera ie permite regsirea informa iei din mai multe rela ii corelate.
Compunerea este o opera ie binar care are ca rezultat o nou rela ie n care fiecare
tuplu este o combina ie a unui tuplu din prima rela ie cu un tuplu din a doua rela ie.
Opera ia de uniune este o opera ie derivat ea putnd fi simulat printr-o opera ie de
produs cartezian, de selec ie i de proiec ie. n general se construie te un produs
cartezian din care se elimin tupluri prin selec ie i atribute prin proiec ie.
Uniunea are mai multe forme sub care poate fi utilizat:
theta uniunea i echi uniunea
uniunea/compunerea natural
uniunea / compunerea extern
semi-uniunea
";eta 0 uniunea 8 9: