Sunteți pe pagina 1din 81

nvmntul profesional i tehnic n domeniul TIC

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:

. & dintre dou rela ii R i S se define te care o rela ie care


con ine tuplurile ce satisfac un predicat F din produsul cartezian al rela iilor R i S.
Predicatul F reprezint o condi ie de forma: 7#a
i
operator S#
i
, unde operator reprezint
unul dintre operatorii rela ionali: <, <=, >, >=, = <>.
Theta < uniunea poate fi scris cu ajutorul selec iei i a produsului cartezian astfel: R
>
F
S=
F
(R x S).
Uniunea natural' 8 9: . este o opera ie binar i const n uniune ntre dou rela ii
R i S care au atribute comune identice.
Avnd dou rela ii elev (dElev, NumeElev, CNP, dClasa) i clase (dClasa,
NumeClas, Specializare) ce au ca atribute comune DClasa putem crea o nou rela ie
n care s re in date despre elev (Nume, CNP) i numele i specializarea clasei n
care se afl elevul.
Uniunea e:tern' 8 : . reprezint un tip de uniune n care tuplurile care nu au valori
similare n coloanele comune ale rela iei S, sunt de asemenea incluse n rela ia
rezultat. Acest tip de uniune este o uniune natural la care se adaug i tuplurile din S
care nu au corespondent n R sau sunt completate cu valori null.
Se$i-uniunea 8 9

. reprezint un tip de uniune ce define te o rela ie care con ine


tupluri ale rela iei R ce particip n uniunea dintre R i S.
Semiuniunea poate fi rescris astfel: R >
F
S =
A
(R >
F
S), unde A reprezint
atributele lui R.
55
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 acestui coninut va face obiectul i pentru orelor alocate
laboratorului tehnologic, mai ales n ceea ce privete punerea n practic a
operaiilor.
Se recomand a se lucra pe grupe. Ca tipuri de activiti se recomand studii
de caz, problematizarea.
n ceea ce privete evaluarea / autoevaluarea se vor utiliza teste cu itemi
obiectivi, semiobiectiv, de tip problematizare. Se vor utiliza de asemenea probe
practice n care elevii vor executa operaiile studiate. Se va face evaluare i
transmitere de feedback pe parcursul activitilor de predare nvare. Se pot da
i teme integratoare de tip proiect, eseu.
55
Tema ; Intero(area #azelor de date. 1im#a"ul .31
Fi7a )uport 751 (oncepte *enerale
/i$8a?ul SL/ (limbaj structurat de interogare) este un limbaj neprocedural,
orientat spre transformri ce are dou componente: una care permite descrierea datelor
(limbaj de descrierea a bazei de date DDL) i cealalt care permite manipularea datelor
(limbaj de manipulare a datelor DML).
Limbajul SQL nu conine instruciuni F., WHLE..,DO.., FOR., REPEAT...etc.
Scopul lima$ului SQL este acela de a permite utizatorului faciliti pentru:
- crearea bazei de date i a relaiilor dintre tabele/entitiutil
- gestiunoarea datelor din baza de date: inserarea, modificarea tergerea datelor
din baza de date
- transformri / extrageri dup criterii complexe asupra datelor din baza de date pe
baza relaiilor care exist ntre tabele/entiti
- portabilitate pentru diferite tipuri de SGBD-uri
Structura comen"ilor este simpl fiind definit de:
o cuvinte cheie standard din limba englez, care reprezint partea fix a
comenzii: CREATE TABLE ...., SELECT..., NSERT NTO..., UPDATE.....
(aceste cuvinte nu se scriu pe mai multe rnduri)
o cuvinte definite de utilizator partea flexibil a comenzii, care reprezint
denumiri de tabele, cmpuri din tabele, relaii, coloane etc scrise conform
unor reguli de sintax.
o Cuvintele nu sunt sensibile la tipul de litere
Definirea datelor
&dentificatorii SL/ sunt utilizai pentru a identifica obiecte din baza de date precum:
tabele, coloane din tabele. Denumirea dat unui identificator trebuie s respecte
urmtoarele reguli:
- ncepe ntotdeauna cu o liter
- nu conine spaii libere
- nu poate fi mai lung de 128 de caractere
- n general identificatorul este sugestiv pentru obiectul pe care l reprezint
"ipuri de date SL/% se utilizeaz cinci tipuri de date: caracter, bit, numeric exact,
numeric aproximativ, dat-or, interval.
"ip de date For$atul de )pecificare De)criere
(aracter cu lun*i$e
fi:'

dentificator CHAR(lungime) Dac irul este declarat cu lungime
fix iar lungimea efectiv este mai
mic dect lungimea declarat
atunci n partea dreapt se vor
5&


memora banck-uri.
%&emplu'
-ume%lev C=)7+0>,
NumeElev = Ana se va retine sirul
Ana urmat de 13 blank-uri
(aracter cu lun*i$e
,aria8il'
dentificator VARCHAR(lungime) Dac irul este declarat cu lungime
variabil i dac se reine un ir mai
scurt atunci se vor memora dect
caracterele introduse.
%&emplu'
-ume%lev ?)7C=)7+0>,
Dac se va introduce irul Ana se
vor reine doar cele trei caractere.
Bit dentificator BT(lungime)
dentificator BTVARYNG
(lungime)
Tipul este folosit pentru a reine iruri
de biti (0 i 1). Analog ca la tipul
caracter exist i aici lungime fix
(BT) i lungime variabil (BT
VARYNG).
+u$eric e:act id NUMERC(precizie, scal)
id DECMAL(precizie, scal)
id NTEGER
id SMALLNT
Aceste tipuri de date sunt utilizate
pentru a defini numere cu o
reprezentare exact.
Primele dou tipuri menionate sunt
utilizate pentru a stoca date de tip
zecimal. Scala prestabilit este 0.
Precizia este definit la
implementare.
NTEGER se poate prescurta i NT
i este folosit pentru numere ntregi
mari.
SMALLNT este utilizat pentru
numere ntregi mici.
id numele identificatorului
%&emplu'
Salariu .%CI()@ +A,1,
(edia -5(%7IC +1,1,
-ota S()@@I-T
+u$eric
apro:i$ati,
FLOAT(precizie)
REAL
DOUBLE PRECSON
Aceste tipuri sunt utilizate pentru a
defini numerele reale care au o
reprezentare fix. Precizia
controleaz exactitatea mantisei.
Precizia tipurilor REAL i DOUBLE
PRECSON este definit la
implementare.
Dat' calendari)tic' @
or'
DATE
TME(precizie_or) [WTH TME
ZONE]
2
TMESTAMP(precizie_or) [WTH
TME ZONE]
Tipul DATE este utilizat pentru a
stoca date de tip calendaristic, prin
utilizarea cmpurilor YEAR,
MONTH, DAY.
Tipul TME este utilizat pentru
stocarea orelor, prin utilizarea
cmpurilor: HOUR, MNUTE,
SECOND.
Tipul TMESTAMP este utilizat
pentru stocarea datelor i orelor.
Precizie_or - precizia pentru
cmpul SECOND. Pentru tipul TME
2
,u zon orar
5'
precizia prestabilit este 0 (secunde
ntregi), iar pentru TMESTAMP este
6 microsecunde.
&nter,al NTERVAL cmp_nc TO
cmp_sf cmp_singular_data_ora
Acest tip este utilizat pentru a
reprezenta perioade de timp. Exist
dou clase de date de tip interval:
an-lun i zi-or.
c>$p=nc =YEAR/ MONTH/ HOUR/
MNUTE
c>$p=)f = YEAR/ MONTH/ HOUR/
MNUTE / SECOND
c>$p=)in*ular=data=ora =
cmp_nc/SECOND
Limbajul SQL are ncorporat i un set de operatori 7i funcii ce pot fi utilizate n
obinerea de expresii.
- Operatorii aritmetici (+, -, *, /), operatori relaionali (<,><=,>=, <>), logici (AND,
OR, NOT)
- Funcii definite pe iruri de caractere:
o CHAR_LENGTH(ir): returneaz lungimea unui ir de caractere
o LOWER(ir): transform majusculele n litere mici
o UPPER(ir): transform litere mari n mici
o TRM(LEADNG/TRALNG/BOTH ir) elimin dintr-un ir caractere
anterioare/posterioare/ambele
o POSTON (ir1 N ir2): returneaz poziia lui ir1 n cadrul lui ir 2
- Funcii definite pe tipul date DATA:
o CURRENT_DATA : returneaz data curent
o CURRENT_TME:returneaz ora curent
o CURRENT_TMESTAMP: returneaz data i ora curent
(o$en6i pentru definirea datelor%
(o$and' Sinta:'
(rearea unui
ta8el
CREATE TABLE nume_tabel (nume_coloan1 tip_de date1, nume_coloan2
tip_de date2.............);
Mter*erea
unui ta8el
DROP TABLE nume_tabel;
(rearea unui
inde:
CREATE [UNQUE] NDEX nume_index ON nume_tabel (nume_coloan
[ASC/DESC]);
Eli$inarea
unui inde:
DROP NDEX nume_index;
(reare unei
8a6e de date
CREATE DATABASE denumire_baz_de_date
5)

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 obiect i pentru ore alocate laboratorului
tehnologic.
Se poate lucra individual sau pe grupe.
n ceea ce privete evaluarea / autoevaluarea se vor utiliza teste cu itemi
obiectivi i semiobiectivi. Se vor utiliza de asemenea probe practice n care elevii
vor crea baze de date exersnd comenzile de definire a datelor precum i utilizarea
identificatorilor, tipurilor de date operatorilor i funciilor predefinite. Se va face
evaluare i transmitere de feedback pe parcursul activitilor de predare nvare.
Se pot da i teme integratoare de tip proiect, eseu.
5G
Fi7a )uport 752 &ntero*'ri )i$ple pentru $anipularea datelor
Pentru manipularea datelor limbajul SQL pune la dispoziia utilizatorilor patru
comenzi i anume:
SELECT pentru efectuarea interogrilor de date din baza de date
NSERT inserarea datelor ntr-un tabel
UPDATE reactualizarea datelor dintr-un tabel
DELETE tergere de date dintr-un tabel
(o$anda SE/E(" are forma general:
S%@%CT B.ISTI-CT C )@@D 8Clist/coloane
E7*( nume/tael
B6=%7% condiieD
BF7*5P !G list/coloaneD B=)?I-F condiieD
B*7.%7 !G list/coloaneD
unde:
- list_coloane, reprezint una sau mai multe coloane dintr-un table al bazei de
date
- nume_tabel, reprezint numele unui table din baza de date
semnificaia clauzelor specificate:
/ SELECT specific coloanele care vor fi luate n considerare la ieire
/ FROM specific tabelul sau tabelele din care vor face obiectul comenzii
/ WHERE specific dac nregistrrile selectate (rndurile din tabele)
ndeplinesc o anumit condiie
/ GROUP BY formeaz grupuri de rnduri cu aceeai valoare a coloanei
/ HAVNG filtreaz grupurile supuse unei anumite condiii
/ ORDER BY - specific dac nregistrrile selectate sunt ordonate dup o
anumit coloan
Ordinea clauzelor nu poate fi schimbat. Clauzele obigatorii sunt SELECT i
FROM.
Prin clauzele sale comenda select are o multitudine de utilizri:
Exemplu: Fie tabelul tabElevi
/ Dac se dorete regsirea tuturor rndurilor i a tuturor coloanelor tabelului
Elevi se va utiliza:
S%@%CT 8
E7*( ta%leviH
&8
/ Dac se dorete regsirea tuturor rndurilor dar doar a coloanelor NumeElev,
PrenumeElevi i CNP se va utiliza:
S%@%CT NumeElev, PrenumeElevi, CNP
E7*( ta%leviH
/ Dac se dorete aflarea vrstei unui elev ca diferen dintre anul current i Anul
naterii se va utiliza un camp calculate astfel:
S%@%CT ta%levi#-ume%lev, ta%levi#Prenume%lev, G%)7+date+,,3
B)n-astereD )S ?arsta
E7*( ta%leviH
/ Dac se dorete afiarea elevilor care au vrsta egal cu 19 ani:
S%@%CT ta%levi#-ume%lev, ta%levi#Prenume%lev, G%)7+date+,,3
B)n-astereD )S ?arsta
E7*( ta%levi
6=%7% G%)7+date+,,3B)n-astereD I 02
(o$anda &+SER"
Comanda are dou forme, prima permite introducerea de nregistrri (rnduri) ntr-un
tabel, cea de-a doua permite copierea mai multor rnduri dintr-unul sau mai multe
tabele ntr-un alt tabel.
Sintaxa pentru prima form este:
I-S%7T I-T* denumire/tael B+list/coloane,D
?)@5%S +list/valori,
unde:
/ denumire_tabel este numele tabelului n care se va face inserarea de rnduri
/ list_coloane reprezint lista coloanelor supuse indroducerii de date
/ list_valori reprezint datele efectiv ce vor fi introduse n tabel n coloanele
specificate
Exemplu: Fie tabelul tabClase ce reine date despre clasele unei coli. Dac se dorete
introducerea unei nregistrri noi se va utiliza comanda:
I-S%7T I-T* taClase +-umeClasa, -umespeciali"are, -umeEorma,
)nTerminal, Id)nStudiu,
?)@5%S +J00)sJ,J(ate3infoJ, JseralJ, J>J,J1AJ,
Sintaxa pentru a doua form este:
I-S%7T I-T* denumire/tael B+list/coloane,D
S%@%CT KK##
unde:
/ denumire_tabel este numele tabelului n care se va face inserarea de rnduri
/ list_coloane reprezint lista coloanelor supuse indroducerii de date
(o$anda UPD"E
Permite modificarea coninutului unor nregistrri (nregistrri) existente ntr-un tabel.
Sintaxa comenzii este:
5P.)T% denumire/tael
S%T nume/coloan0 I valoare0 B,nume/coloan1 I valoare1K#D
B6=%7% condiieD
&1
Exemplu: Fie tabelul
tabArieCurriculara ce retine date
despre responsabilii ariilor
curricular dintr-o coal. Dac se
dorete modificarea sefului ariei
Om si societate se va utilize
comanda:
5P.)T% ta)rieCurriculara S%T ta)rieCurriculara#Sef)rie I LStoian 7amonaL
6=%7% +++ta)rieCurriculara#BSef)rieD, @iMe L8Popa )na8L,,H
n cadrul comen"ii s3a utili"at operatorul @iMe avnd semnificaia de egalitate pe
iruri de caractere, iar n cadrul irului cutat s3au folosit caractere 8 pentru a se elimina
eventualele spaii dinaintea, respective de dup irul cutat#
(o$anda DE/E"E
Permite tergerea nregistrrilor (rndurilor) dintr-un tabel. Sintaxa comenzii este:
DELETE FROM denumire_tabel
[WHERE condiie]
Unde:
/ denumire_tabel = tabelul din care se va face tergerea nregistrrilor
/ Condiie = se pot terge toare nregistrrile sau doar unele care ndeplinesc o
anumit condiie specificat n clauza WHERE
Exemplu: Fiind dat tabelul din exemplul anterior tabArieCurriculara dac se dore te
tergerea nregistrrii ce are ca valoare a ariei Tehnologii se va utiliza:
.%@%T% E7*( ta)rieCurriculara
6=%7% ta)rieCurriculara#-ume)rie @iMe L8Tehnologii8L
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. Se vor realiza o gam foarte larg de aplica ii astfel nct
s se ating toate aspectele legate de comenzile prezentate, n special comanda
SELECT care permite foarte multe varia ii.
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 comenzile utiliznd un SGBD. Se va face evaluare i transmitere de
feedback pe parcursul activitilor de predare nvare. Se pot da i teme
integratoare de tip proiect, eseu.
&2
ta8rie(urriculara
&drie +u$erie Sefrie &D&n)titutie
1Tehnologii Popescu on 1
2Om si societate Popa Ana 1
3Limba si Comunicare orga Madalina 1
Fi7a )uport 753 &ntero*'ri co$ple:e pentru $anipularea datelor
Func ii de *rup
Conform standardului SO limbajul SQL pune la dispoziia utilizatorilor cinci funcii de
grup:
COUNT() returneaz numrul de valori dintr-o coloan specificat
SUM() returneaz suma valorilor dintr-o coloan specificat
AVG() returneaz media aritmetic a valorilor dintr-o coloan specificat
MN() returneaz cea mai mic valoare dintr-o coloan specificat
MAX() returneaz cea mai mare valoare dintr-o coloan specificat
- Aceste funcii opereaz asupra unei singure coloane dintr-un tabel i returneaz o
singur valoare.
/ Funciile SUM i AVG opereaz doar asupra coloanelor ce rein date de tip
numeric.
/ Funcia count poate fi utilizat n formatul COUNT(*) pentru a numra toate
rndurile unui tabel incluznd null-urile i duplicatele.
/ Cu excepia funciei COUNT (*) toate funciile elimin nti null-urile i apoi
returneaz valorile specific.
/ Pentru eliminarea duplicatelor, execepie fac funciile MN i MAX, se va utiliza n
cadrul argumentului funciei cuvntul cheie DSTNCT.
/ Func iile de grup pot fi utili zate doar n lista lui SELECT sau n clauza HAVNG
(va fi prezentata ulterior).
Exemple:.
Fie tabelul:
ta8n*a?ati
&Dn*a?at +u$en*a?at Salariu dre)a Functia
1Popa Marin 2500 Bucure ti Designer
2Anca Viorel 3000 Bucure ti Programator
3Marin onela 3500 Bucure ti Analist
4on Simona 3000 Bucure ti Programator
5Stan on 3500 Bucure ti Administrator DB
Dac se dorete aflarea numrului de angajai se va folosi comanda:
S%@%CT C*5-T+-ume)nga$at, )S Total)nga$ati
E7*( ta)nga$atiH
Dac se dorete aflarea angajatului cu salariului maxim, minim i mediu se va
folosi comanda:
S%@%CT ()N+Salariu, )S (a&im, (I-+Salariu, )S (inim, )?F
+Salariu, )S (ediu
E7*( ta)nga$atiH
Dac se dorete aflarea sumei totale a salariilor se va folosi comanda:
SELECT SUM(Salariu) AS BugetSalariu
E7*( ta)nga$atiH
&0
2ruparea re6ultatelor
Gruparea datelor este utilizat pentru a putea obine nregistrri sumatoare similare cu
totalurile/subtotalurile utilizate n cadrul rapoartelor. Pentru a obine astfel de rezultate
se utilizeaz n cadrul comenzii SELECT clauza GROUP BY, ce are ca efect gruparea
datelor din tabele specificate n cadrul comenzii. Coloanele utilizate n clauz se
numesc coloane de grupare. Dac n cadrul comenzii SELECT se utilizeaz clauza de
grupare atunci rezultatul comenzii va avea o singur valoare pe grup. Coninutul
comanzii SELECT va fi restricionat la:
/ Denumiri de coloane
/ Funcii de grup
/ Constante
/ Combinaii ale celor de mai sus.
1. Toate denumirile coloanelor se vor regsi n clauza GROUP BY, excepie doar
dac coloana este utilizat de o funcie de gupare.
2. Dac n comand apare i clauza WHERE (mpreun cu GROUP BY) aceasta
este aplicat prima, ulterior se formeaz grupele din ceea ce a selectat condiia
lui WHERE.
Exemplu:
Fie tabelul
ta8n*a?ati
&Dn*a?at +u$en*a?at Salariu dre)a Functia
1Popa Marin 2500 Bucure ti Designer
2Anca Viorel 3000 Bucure ti Programator
3Marin onela 3500 Bucure ti Analist
4on Simona 3000 Bucure ti Programator
5Stan on 3500 Bucure ti Administrator DB
6Popescu Paul 2500 Bucure ti Designer
7on onel 2500 Bucure ti Designer
8Marinescu Silvia 3000 Bucure ti Programator
9Pop Silviu 2500 Bucutre ti Designer
Dac se dorete numrul de persoane angajate i bugetul alocat salariilor pentru
fiecare tip de funcie se va folosi:
S%@%CT count+Id)nga$at, )S -rPersoane, Eunctia, sum+Salariu, as
TotalSalariu
E7*( ta)nga$ati
F7*5P !G EunctiaH
dAngajat, respectiv Salariu nu se vor folosi n cadrul caluzei de grupare deoarece
fac obiectul unei funcii de grup.
7e"ultatul aplicrii comen"ii este'
&5
LuerA1
+rPer)oane Functia "otalSalariu
1Administrator DB 3500
1Analist 3500
4Designer 10000
3Programator 9000
n cazul n care ne-ar interesa s obinem doar numrul de persoane i bugetul pentru
funciile n care sunt mai mult de 2 angajai, atunci putem utiliza o clauz de restrngere
a gruprii diferit de WHERE. Acest clauz este HAVNG. Comanda se ve scrie astfel:
S%@%CT count+Id)nga$at, )S -rPersoane, Eunctia, sum+Salariu, as
TotalSalariu
E7*( ta)nga$ati
F7*5P !G Eunctia
=)?I-F C*5-T+Id)nga$at,O0H
7e"ultatul aplicrii'
LuerA1
+rPer)oane Functia "otalSalariu
4Designer 10000
3Programator 9000
Se va face distincie ntre WHERE i HAVNG:
NFERE F.&+2
Re)tr>n*e r>ndurile a)upra
c'rora )e ,a aplica )elecia
Re)tr>n*e *rupurile a)upra
c'rora )e ,a aplica )elecia
Selectarea datelor din $ai $ulte ta8ele
Uniunea )i$pl' BinterneC permite
selectarea de coloane din unul sau mai
multe tabele, pentru aceasta se va folosi
comanda SELECT. n cazul n care se
dorete selectarea din dou sau mai multe
tabele acestea vor fi corelate prin
intermediul unor cmpuri (coloane) ale
cror valori sunt egale.
%&emplu' fiind date dou taele unul ce
reine informaii despre elevii unei coli i
cellalt ce reine informaii despre clase,
ne intereasea" s oinem o list cu'
numele elevului, clasa la care este nscris
i profilul clasei#
&5
Pentru a putea selecta date din dou taele acestea vor fi legate printr3un cmp +n
ca"ul dat va e&ista o relaie de 0 la mai muli ntre cele dou taele,
/e*'tura dintre dou' ta8ele 1-$ai $uli
Comanda utilizat este:
S%@%CT ta%levi#-ume%lev, ta%levi#Prenume%lev, taClase#-umeClasa,
taClase#-umeSpeciali"are
E7*( taClase, ta%levi
6=%7% taClase#I.Clasa I ta%levi#I.Clasa
*7.%7 !G -ume%levH
Rezultatul este:
Clauza *7.%7 !G este utili"at pentru a sorta datele din taelul re"ultat# n ca"ul
de fa datele sunt sortate dup coloana -ume%lev#
n cazul n care se dorete realizarea seleciei din trei tabele ntre acestea vor exista
legturi, iar principiul este acelai.
Operaii co$ple:e cu ta8ele% reuniunea< inter)ecia< diferena
Operaiile corespunztoare sunt cele definite n fia suport 6 Operaii relaionale. Astfel:
/ reuniunea a dou tabele este un tabel rezultat ce conine ntregistrrile din primul
i al doilea tabel luate o singur dat,
/ intesecia a dou tabele este un tabel ce conine nregistrrile comune celor
dou tabele,
/ diferena a dou tabele este un tabel ce conine toate ntregistrrile care se afl
n primul tabel i nu se afl n al doilea tabel.
Pentru a putea realiza aceste operaii este necesar ca tabelele s aib aceeai
structur: aceleai numr de coloane, de acelai tip cu aceeai lungime.
Operatorii utilizai pentru cele trei operaii sunt:
/ UNON pentru reuniune
/ NTERSECT pentru intersecie
/ EXCEPT pentru diferen
Formatul general al comenzilor este:
Comand [ALL] [CORRESPONDNG [BY coloana1, coloana 2....]]
Unde:
/ ALL permite ca rezultatul s rein i rndurile duble
&&
/ CORRESPONDNG operaia se execut asupra coloanelor comune din ambele
tabele.
/ CORRESPONDNG BY operaia este efectuat doar asupra coloanelor
specificate
Exemplu: Fie dou tabele tabFurnizori i tabBeneficiari. n primul tabel se rein date
despre furnizorii de echipamente ai unei companii X, iar n tabClieni se rein informaii
despre beneficiarii serviciilor companiei X.
Dac ne intereseaz toate localitile n care fie exist un furnizor sau un client al
Companiei X vom folosi una dintre variantele:
S%@%CT @ocalitate
E7*( taEurni"ori
5-I*-
S%@%CT @ocalitate
E7*( taClientiH
S%@%CT 8
E7*( taEurni"ori
5-I*- C*77%SP*-.I-F !G
@ocalitate
S%@%CT 8
E7*( taClientiH
Dac ne intereseaz toate localitile n care fie exist i un furnizor i un client al
Companiei X vom folosi una dintre variantele:
S%@%CT @ocalitate
E7*( taEurni"ori
I-T%7S%CT
S%@%CT @ocalitate
E7*( taClientiH
S%@%CT 8
E7*( taEurni"ori
I-T%7S%CT C*77%SP*-.I-F !G
@ocalitate
S%@%CT 8
E7*( taClientiH
Dac ne intereseaz toate localitile n care fie exist un furnizor dar niciun client al
Companiei X vom folosi una dintre variantele:
S%@%CT @ocalitate
E7*( taEurni"ori
%NC%PT
S%@%CT @ocalitate
E7*( taClientiH
S%@%CT 8
E7*( taEurni"ori
%NC%PT C*77%SP*-.I-F !G
@ocalitate
S%@%CT 8
E7*( taClientiH
&'
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. Se vor realiza o gam foarte larg de aplica ii astfel nct
s se ating toate aspectele legate de comenzile i operatorii prezentai.
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 comenzile utiliznd un SGBD. Se va face evaluare i transmitere de
feedback pe parcursul activitilor de predare nvare. Se pot da i teme
integratoare de tip proiect, eseu.
&)
Fi7a )uport 75D "ran6acii
Tranzacia reprezint o aciune efectuat de ctre un singur utilizator sau de
ctre un program de aplicaie prin care se acceseaz sau se modific coninutul bazei
de date.
Tranzacia poate fi aciunea unui program sau a unei singure comenzi (NSERT sau
UPDATE) asupra bazei de date sau a unei relaii dintr-o baz de date. Exemplu de
tranziii: nscrierea elevilor la examen, mutarea elevilor unei clase n arhiv sau ntr-o
alt clas (la finalizarea anului colar).
Orice tranzacie simpl sau complex trebuie s transforme baza de date dintr-o stare
stare coerent n alt. Astfel o tranzacie poate avea dou rezultate: succes, caz n care
baza de date s-a trasnformat ntr-o stare coerent i insucces caz tranzacia trebuie
abandonat. Dac tranzacia nu a avut succes atunci baza de date trebuie s revin la
starea iniial nceperii tranzaciei. De asemenea dac o tranzacie a avut succes
aceata nu mai poate fi abandonat. Pentru a reveni la starea iniial, de dinaintea
tranzaciei trebuie efectuat o alt tranzacie, tranzacie compensatoare.
n cazul sistemelor de gestiune a bazelor de date cel care administreaz tranzaciile
trebuie s identifice i s grupeze aciunile care fac parte dintr-o tranzacie. n acest
sens limbajele de manipulare a datelor pun la dispoziia celor care administreaz
tranzaciile cuvinte cheie (BEGN TRANSACTON, COMMT i ROLLBACK) care
grupeaz aciunile identificate ca fcnd parte dintr-o tranzacie.
Propriet'ile tran6aciilor
Orice tranzacie definit trebuie s dein anumite proprieti i anume.
caracterul atomic: o tranzacie reprezint o unitate indivizibil, ea poate fi executat
n ntregime sau deloc
coeren: o tranzacie trebuie s transforme baza de date dintr-o stare coerent n
alt stare coerent
izolarea: tranzaciile sunt executate independent unele de altele
durabilitatea: efectele unei tranziii ncheiate cu succes sunt nregistrate n baza de
date i nu trebuie pierdute din alte motive.
Exemplu:
S considerm c avem de realizat un sistem informatic pentru gestionarea elevilor
dintr-o coal. La sfritul fiecrui an colar elevii trebuie transferai ntr-o alt clas
conform noului an colar. Aceast operaie poate fi considerat a fi un exemplu de
tranzacie:
If ado%levi7S0#7ecordCount O P Then
ado%levi7S0#(oveEirst
d#.Be(inTrans
Eor i I 0 To ado%levi7S0#7ecordCount
prg!ar#(a& I ado%levi7S0#7ecordCount
prg!ar#(in I P
If i OI prg!ar#(a& Then i I prg!ar#(a&
%lseIf i Q prg!ar#(in Then i I prg!ar#(in
%nd If
&G
prg!ar#?alue I i
.o%vents
If lv%levi0#@istItems+i,#ChecMed I True Then
ado%levi7S0#(ove ado%levi7S0#7ecordCount 3 i, 0
cmd(utare.reaptaStanga#CommandTe&t I Lupdate ta%levi set I.Clasa I
L R adoClase7S+LI.ClasaL, R L Shere I.%lev I L R ado%levi7S0+LI.%levL,
cmd(utare.reaptaStanga#%&ecute
%nd If
-e&t i
d#.CommitTrans

n cod de mai sus (scris n limbajul VSBasic) pentru a delimita tranzacia s-au folosit
evenimentele !eginTrans i CommitTrans asociate bazei de date db.
(ontrolul concurenei
Un alt element care ar putrea afecta n mod negativ baza de date este acce)ul
concurent la date. (ontrolul concurenei este procesul prin care se administreaz
operaiile simultane de prelucrare/acces la baza de date, fr ca datele s interfereze
unele cu altele.
Accesul concurent apare n sistemele informatice multiutilizator, cnd mai muli
utilizatori acceseaz datele i cel puin unul dintre ei prelucreaz datele pot aprea
interferene. n acest sens se pot pierde actualizrile fcute de un utilizator (o tranzacie
efectuat de un utilizator poate fi anulat de alt utilizator), se pot pierde date din cauza
dependenelor neefectuate (atunci cnd o tranzacie are acces la rezultatele
intermediare ale altei tranzacii n curs care ulterior este abandonat) sau a anaizei
incoerente (cnd o tranzacie citete mai multe valori din baza de date, iar o alta
actualizeaz o parte din ele n timpul execuiei primei).
Prin urmare este necesar a se serializa i reface tranzaciile astfel nct acestea s nu
interfereze i deci s nu permit alterarea datelor. n acest sens se va face o planificare
astfel nct s se permit executarea de tranzacii n paralel pentru acelea care nu
afecteaz acelai segment din baza de date, iar pentru cele care afecteaz acelai
segmemt s se realizeze o serializare a tranzaciilor astfel nct execuia tranzaciilor s
nu interfereze.
Exist dou tehnici de baz pentru controlul concurenei prin care se permite ca
tranzaciile s fie executate n paralel, cu anumite constrngeri: blocarea i metodele de
marcare a timpului.
Blocarea atunci cnd o tranzacie acceseaz baza de date, un lact poate refuza
accesul la alte tranzacii, pentru a preveni apariia unor rezultate incoerente. Dac o
tranzacie are un lact de citire pentru un articol de date, nseamn c l poate citi dar
nu i prelucra. Dac o tranzacie are un lact de scriere pentru un articol de date,
nseamn c l poate citi i actualiza.
Blocarea tranzaciilor este utilizat astfel:
orice tranzacie care trebuie s acceseze un articol de date trebuie ca, mai nti
s-l blocheze, cernd un lact de citire pentru a avea acces la citire sau un lact
la scriere pentru a avea acces att la citire ct i la scriere.
dac articolul nu este deja blocat de alt tranzacie atunci articolul va fi blocat
prin utilizarea unui lact
'8
dac articolul este blocat SGBD-ul stabilete dac cererea este compatibil cu
tipul de lact pe care-l are deja articolul
o tranzacie continu s dein un lact, pn cnd l elibereaz n mod explicit
n timpul execuiei sau pn cnd este terminat. Efectele scrierii vor deveni
vizibile pentru alte tranzaciinumai dup ce lactul de scriere va fi eliberat.
Pentru a garanta serializarea executrii tranzaciilor se utilizeaz un protocol
suplimentar pentru amplasarea operaiilor de blocare i deblocare din cadrul fiecrei
tranziii. Cel mai utilizat i cunoscut protocol este 2PL.
Se spune c o tranzacie urmeaz protocolul de blocare n dou faze (2PL) dac toate
operaiile de blocare predec prima operaie de deblocare din cadrul tranzaciei. Astfel:
Este necesar ca o tranzacie s achiziioneze un lact pentru un anumit articol,
nainte de a opera asupra lui.
O dat ce tranzacia a fost deblocat, nu mai poate achiziiona altele noi
n cadrul utilizrii metodei de blocare pot apare impasuri atunci cnd dou sau mai
multe tranzacii ateapt eliberarea lactelor deinute de ctre articole.
Metodele de marcare a timpului pentru controlul concurenei elimin apariia unor
posibile impasuri. n acest sens SGBD-ul poate crea un identificator unic care indic
timpul relativ de ncepere a unei tranzacii. Acest identificator numit marc de timp
poate fi utilizat pentru ordonarea tranziiilor astfel nct cele cu marc de timp mai mic
s aib prioritate n eventualitatea unui conflict.
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. Se vor realiza o gam foarte larg de aplica ii prin care s
se poat exemplifica diverse secvene ca fiind tranzacii i necesitatea tratrii lor
din acest punt de vedere. De asemnea, se va exemplifica pe diferite exemple i
accesul concurent la datele din baze de date, precum i tratarea erorilor ce pot
apara ca urmare a accesului concurent.
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 comenzile utiliznd un SGBD. Se va face evaluare i transmitere de
feedback pe parcursul activitilor de predare nvare. Se pot da i teme
integratoare de tip proiect, eseu.
'1
Tema < .ecuritatea #azelor de date
Fi7a )uport K Securitatea 8a6elor de date
Securitatea datelor reprezint unul dintre cele mai importante aspecte n lucrul cu
bazele de date. Baza de date reprezint o resurs colectiv esenial care trebuie
protejat att de ameninrile intenionate ct i de cele neintenionate.
Referitor la securitatea bazelor de date trebuie avute n vedere urmtoarele aspecte:
asigurarea n caz de furt-fraud: acestea nu afecteaz neaprat datele, dar pot
provoca neplceri organizaiei
pierderea confidenialitii datelor (se refer la pierderea unor secrete de
importan major) i/sau a caracterului privat (necesitatea de a proteja date
referitoare la anumite persoane)
pierderea integritii bazei de date: apariia unor date care nu sunt valabile sau
sunt greite i care ar putea afecta modul de operare cu sistemul informatic.
pierderea disponibilitii bazei de date se refer la imposibilitatea de a accesa
datele sau sistemul informatic.
Asigurarea securitii datelor are drept scop minimizarea pierderilor cauzate de ctre
evenimente care pot fi anicipate, ntr-o manier eficient care privete att costul ct i
modalitatea de a nu constrnge execesiv utilizatorul sistemului informatic sau al bazei
de date.
Posibile pericole care pot afecta unul dintre cele patru aspectele prezentate mai sus pot
fi:
utilizarea bazei de date de ctre persoane neautorizate / furtul de date sau
programe
corectarea sau copierea neautorizat a datelor
alterarea programelor
politici sau proceduri necorespunztoare
intrarea ilegal a unui hacker
eecul mecanismelor de securitate
alterarea datelor datorit unei ntreruperi de curent
deteriorarea fizic a echipamentelor, ruperea/deterioraea cablurilor / furtul de
echipamente hardware
interferen elecronic/radiaii
virui
Pentru asigurarea securitii i coerenei datelor trebuie identificate tipuri de posibile
pericole i iniiate planuri i msuri adecvate. Aceste msuri pot fi de natur
administrativ sau fizic i cuprind: autorizarea n sistemul informatic, vederilor
utilizatorilor sistemului informatic/bazei de date, copiile de siguran i refacerea bazei
de date cu ajutorul lor, asigurarea integritii bazei de date, criptarea datelor,
procedurile asociate bazei de date.
utori6area presupune acordarea unui drept sau a unui privilegiu utilizatorului
sistemului informatic / bazei de date. Autorizarea fiecrui utilizator n cadrul unui sistem
se poate face crend un sistem de autentificare n sistem pe baz de parol creia i se
asociaz i nite privilegii pe care utilizatorul le are asupra sistemului. De exemplu
'2
utilizatorilor li se pot crea privilegii care s le permit s acceseze anumite obiecte din
baza de date.
Un alt mecanism care asigur securitatea bazelor de date este ,ederea. Prin
intermediul vederilor se creaz o relaie dinamic, care nu exist n baza de date,
utiliznd date din mai multe relaii. Ea este rezultatul unei cereri a utilizatorului care
deinea anumite privilegii i confer securitate datelor prin faptul c permite ascunderea
unor poriuni din baza de date fa de anumii utilizatori care nu dein aceleai privilegii.
O msur de siguran n caz de avarie de energie, deteriorarea echipamentelor sau
programelor este copia de )i*uran'. Prin posibilitatea crerii unei copii de siguran i
a unui fiier jurnal (ce conine toate modificrile efectuate asupra bazei de date) pe un
mediu de stocare off-line se permite oricnd refacerea datelor dup orice defeciune.
Meninerea integritii bazei de date are drept rezultat garantarea faptului c datele se
menin valabile i permite astfel obinerea de rezultate corecte.
n situaia n care baza de date conine date foarte importante o posibilitate de precauie
fa de posibile pericole este i criptarea datelor. Prin criptare se obine o codificare a
datelor printr-un algoritm special prin care datele nu pot fi cititte dect dac se cunoate
cheia de decriptare. Criptarea datelor se folosete n special atunci cnd datele trebuie
transmise prin canale de comunicaie (reea local, nternet).
Pe lng aceste metode care asigura securitatea datelor i bazelor de date se mai
utilizeaz i proceduri a)ociate utilizate mpreun cu mecanismele prezentate.
Un exemplu de procedur asociat ar putea fi crearea unui sistem propriu de parole
(numr de caractere, condiii de crearea a parolelor, termene de schimare a parolelor,
criptarea fiierelor care conin parole etc.) pentru autentificarea n sistem.
De asemenea se poate crea o procedur cu privire la creare copiilor de siguran a
bazelor de date: perioada de timp la care se creaz o copie (zilnic, la un numr de zile,
sptmnal etc.), paii implicai n crearea copiei, personalul responsabil pentru crearea
copiei etc. Un exemplu de procedutr asociat poate fi i refacerea bazei de date dintr-
o copie de siguran.
Pe lng mecanismele bazate pe calculator companiile i definesc i politici/acorduri
administrative privind asigurarea securitii bazelor de date: planuri de securitate i
situaii excepionale, controlul personalului, amplasarea echipamentelor n condiii de
siguran acorduri de ntreinere, control regulat al echipamentelor, instalarea
programelor antivirus i actualizarea acestora, identificarea i contracararea posibilelor
riscuri etc.
Pentru asigurarea securitii atunci cnd se lucreaz n reea i sunt necesare trasmisii
de date utiliznd nternetu-ul se mai pot utiliza i: )er,ere repre6entant< )e$n'turi
di*itale< al*orit$i de re6u$are a $e)a?elor 7i )e$n'turilor di*itale< certificate
di*itale< protocoale de )ecuritate (Secure HTTP).
'0
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 n
ceea ce privete sistemele de securitate.
n ceea ce privete evaluarea / autoevaluarea se vor utiliza teste cu itemi
obiectivi i semiobiectivi. Se vor utiliza de asemenea probe practice n care elevii
vor executa efectiv diferite tipuri de sisteme de securitate, n special proceduri
asociate, autorizarea n cadrul sistemelor/bazelor de date, vor utiliza facilitile
SGBD-urilor privind securitatea. Se va face evaluare i transmitere de feedback pe
parcursul activitilor de predare nvare. Se pot da i teme integratoare de tip
proiect, eseu.
'5
Tema = >tilizarea #azelor de date n cadrul reelelor de calculatoare
Fi7a )uport - Ba6e de date di)tri8uite5 (oncepte *enerale
Ba6ele de date di)tri8uite reprezint o colecie de date partajat, mpreun cu
descrierea sa, distribuit fizic ntr-o reea de calculatoare.
Si)te$ul de *e)tiune a 8a6elor de date di)tri8uite (SGBDD) este un pachet
de programe ce permite gestionarea transparent a bazei de date distribuite i permite
accesul utilizatorilor la baza de date.
SGBDD este format dintr-o singur baz de date logic, fragmentat, fiecare fragment
fiind stocat pe unul sau mai multe calculatoare. Calculatoarele formeaz o reea, iar pe
fiecare calculator este instalat un SGBD separat de cel de reea. Fiecare calculator este
capabil s prelucreze independent anumite cereri ale utilizatorilor dar poate prelucra i
date stocate pe alt calculator din reea.
Prelucrare di)tri8uit' o baz de date centralizat care poate fi accesat printr-o
reea de calculatoare.
'5
(e$e
a de
7,
PC
site 1
PC
site 3
BD
PC
site 2
BD
PC
site 4
Si!te$ +e ge!tiune /ze&(r +e +te +i!tri/uite
(e$ea
de 7,
7,
Site1
7,
Site0
7,
Site2
DB
Pre&u"rre +i!tri/uit
Administrarea intern a bazelor de date distribuite este pretenioas i n general
dificil, deoarece trebuie asigurat c:
Distribuia este transparent (invizibil i nederanjant) utilizatorii trebuie s
poat s interacioneze cu sistemul ca i cnd ar fi vorba un sistem nedistribuit;
Tranzaciile trebuie s aib i ele o structur transparent (invizibil i
nederanjant). Fiecare tranzacie n parte trebuie desigur s menin integritatea
bazei de date, n ciuda multitudinii de partiii. Pentru aceasta ele se divizeaz de
obicei n subtranzacii, fiecare din acestea prelucrnd doar o singur partiie.
Utilizatorii acceseaz baza de date distribuit prin:
Aplicaii locale (aplicaii care nu necesit date de pe alte situri), sau
Aplicaii globale (aplicaii care au nevoie de date de pe alte situri).
Astfel un SGBDD trebui s dein urmtoarele caracteristici:
/ conine o colecie de date partajate corelate logic
/ datele sunt divizate n fragmente ce pot fi reproduse
/ fragmentele sunt stocate pe mai multe calculatoare n reea
/ datele de pe fiecare PC sunt gestionate printr-un SGBD care trateaz autonom
aplicaiile locale i poate participa la o aplicaie global.
Din aceste caracteristici reiese caracterul transparent al SGBDD prin care utilizatorul
practic nu resimte fragmentarea datelor pe mai multe calculatoare. Transparena datelor
fa de utilizator permite ca sistemul distribuit s apar ca un sistem centralizat.
Funcionarea unui S2BDD
Un server de baze de date este software-ul care administreaz baza de date; un client
de baze de date este o aplicaie care cere servicii de la server, de exemplu transmite
date la, sau cere date de la baza de date. De obicei pentru un server i baza de date
corespunztoare exist concomitent mai muli clieni.
Fiecare calculator din reeaua de calculatoare a bazei de date distribuite se numete un
nod. Un nod al sistemului unei baze de date distribuite se poate comporta drept server,
drept client, sau chiar drept ambele, n funcie de situaie.
Un tip important de baze de date distribuite sunt bazele de date distribuite relaionale,
conduse de un 7elational .ata !ase (anagement STstem +7.!(S,.
n cadrul acestor baze de date o relaie poate fi mprit ntr-un numr de sub-relaii,
denumite fragmente.
Fragmentele pot fi:
Fragmente orizontale - subseturi de tuple (rnduri) dintr-o relaie (tabel).
Fragmente verticale - subseturi de atribute (coloane) dintr-o relaie (tabel).
Fragmente mixte - un fragment care este fragmentat att orizontal, ct i vertical.
Fragmentele sunt alocate unuia sau mai multor site-uri. Ele pot fi reproduse pentru a
obine disponibilitate i performane mbuntite.
Pentru reproducerea fragmentelor se folosesc trei reguli de corectitudine:
/ Caracterul complet: dac o instan a unei relaii R este descompus n
fragmente R1, R2,...Rn, atunci fiecare articol de date care poate fi regsit n
relaia R trebuie s apar n cel puin un fragment.
/ Reconstrucie: Trebuie s fie posibil s se defineasc o operaie relaional care
va reconstrui relaia R din fragmente. Aceat regul garanteaz dependenele
funcionale.
'&
/ Caracterul disjunct: dac un articol de date apare ntr-un fragment atunci nu
trebuie s mai apar i n alt fragment, excepie face fragmentarea vertical
(atributele cheii primare trebuie s fie repetate pentru a permite reconstrucia).
Exist patru strategii de alocare referitoare la amplasarea datelor:
Centralizat o singur baz de date centralizat
Partiionat fragmentele sunt atribuite unui site
Reproducerea complet copierea complet a bazei de date pstrate n cadrul
fiecrui site
Reproducerea selectiv combinaie ntre primele trei.
./B00&ul prezint toate funciile standard ale unui ./B0 centralizat i are n
plus servicii de comunicaie e?tinse* un catalo( al sistemului e?tins*
prelucrarea distri#uit a intero(rilor i servicii de concuren i refacere
e?tinse. !cest fapt se datoareaz transparenelor ce carecterizeaz ./B007
/ Transparen la distribuie din care rezult centralizarea
/ Transparena tranzaciilor care menine coerena bazei de date globale
/ Transparena performanelor prin care sisteul este capabil s trateze eficient
interogrile care se refer la datele din mai multe sit-uti
/ Transparena sistemului care permite existena de SGBD-uri diferite .
!vanta"ele #azelor de date distri#uite
Pot reflecta structura organizaional a companiei partiiile pot fi plasate direct n
seciile de care aparin.
Autonomie local fiecare secie i poate controla mai ndeaproape propriile ei
date.
Disponibilitate mbuntit o greeal ntr-o baz de date distribuit va afecta de
cele mai multe ori o singur partiie, i nu toat baza de date. Celelalte partiii rmn
disponibile pentru prelucrare.
Performan mbuntit datele pot fi amplasate lng situl cu cererea cea mai
mare, iar partiiile nsele sunt paralelizate, permind astfel ca solicitarea bazei de
date s se echilibreze dinamic ntre serverele disponibile (o solicitare intens ntr-o
partiie a bazei de date distribuite nu va afecta alte partiii).
Economie cost mai puin s se creeze o reea de computere mai mici, dar cu
puterea total a unui singur computer mare.
Modularitate subsistemele unei baze de date distribuite pot fi modificate, adugate
sau deconectate dinamic, fr s se afecteze ali clieni sau partiii.
0ezavanta"e ale #azelor de date distri#uite
Complexitatea trebuie depus munc suplimentar de ctre administratorii
bazelor de date pentru se a asigura c natura distribuit a sistemului este
transparent (invizibil pentru utilizator). Munc suplimentar trebuie de
asemenea depus i pentru a ntreine multiple sisteme disparate. Proiectarea
unei baze de date distribuite trebuie s in cont i de natura ei disconect de
exemplu, operaia $oin (reunirea a dou tabele ale unui RDBMS) devine deosebit
de laborioas cnd trebuie efectuat pe baza mai multor partiii disparate.
Profitabilitatea redus complexitatea mai mare i infrastructurile mai ample duc
la costuri suplimentare pentru realizare i implementare.
Securitatea toate partiiile bazei de date trebuiesc securizate, dar deoarece
acestea nu sunt centralizate, trebuiesc securizate i toate siturile involvate, la
''
orice distane s-ar afla ele. Drept urmare, i infrastructura trebuie securizat (de
ex. prin codificarea tuturor transmisiilor ntre siturile reelei).
Dificultatea de a menine integritatea dac baza de date este conceput greit,
atunci asigurarea integritii poate suprasolicita i chiar bloca reeaua dintre
noduri.

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.
Se poate lucra individual sau 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 distribuite.
n ceea ce privete evaluarea / autoevaluarea se vor utiliza teste cu itemi
obiectivi. Se va face evaluare i transmitere de feedback pe parcursul activitilor
de predare nvare. Se pot da i teme integratoare de tip proiect, eseu.

')
&.5 Fi7a re6u$at
(la)a ________________ Profe)or______________________
Nr.
Crt.
Nume i
prenume
elev
Competena 1 Competena 2 Competena 3
Observaii
A 1 A 2 A X A 1 A 2 A 3 A 1 A 2 A 3
1 ""#ll#aaaa
:
2
3
4
...
Y

0
zz.ll.aaaa reprezint data la care elevul a demonstrat c a dobndit cunotinele, abilitile i atitudinile vizate prin activitatea respectiv
(o$petene care tre8uie do8>ndite
Aceast fi de nregistrare este fcut pentru a evalua, n mod separat, evoluia
legat de diferite competene. Acest lucru nseamn specificarea competenelor
tehnice generale i competenelor pentru abiliti cheie, care trebuie dezvoltate i
evaluate. Profesorul poate utiliza fiele de lucru prezentate n auxiliar i/sau poate
elabora alte lucrri n conformitate cu criteriile de performan ale competenei vizate
i de specializarea clasei.
cti,it'i efectuate 7i co$entarii
Aici ar trebui s se poat nregistra tipurile de activiti efectuate de elev, materialele
utilizate i orice alte comentarii suplimentare care ar putea fi relevante pentru planificare
sau feed-back.
Priorit'i pentru de6,oltare
Partea inferioar a fiei este conceput pentru a meniona activitile pe care elevul trebuie
s le efectueze n perioada urmtoare ca parte a viitoarelor module. Aceste informaii ar
trebui s permit profesorilor implicai s pregteasc elevul pentru ceea ce va urma.
(o$petenele care ur$ea6' )' fie do8>ndite
n aceast csu, profesorii trebuie s nscrie competenele care urmeaz a fi dobndite.
Acest lucru poate implica continuarea lucrului pentru aceleai competene sau identificarea
altora care trebuie avute in vedere.
Re)ur)e nece)are
Aici se pot nscrie orice fel de resurse speciale solicitate:manuale tehnice, reete, seturi de
instruciuni i orice fel de fie de lucru care ar putea reprezenta o surs de informare
suplimentar pentru un elev care nu a dobndit competenele cerute.
'ot7 acest format de fi este un instrument detaliat de nre(istrare a
pro(resului elevilor. ,entru fiecare elev se pot realiza mai multe astfel
de fie pe durata derulrii modulului* aceasta permind evaluarea
precis a evoluiei elevului* n acelai timp furniznd informaii
relevante pentru analiz.
.5 Bi8lio*rafie
1. Connollz,Thomas. Begg, Caroly. Strachan, Anne (2001). !a"e de date
Bucureti: Editura Teora
2. pate, Florentin, Eugen. Popescu, Monica (2000). Dezvoltarea aplicaiilor de
baze de date n ORACLE 8 i FORMS 6 Bucureti: Editura All
3. Henderson, Ken. (2002). Transact SQL Bucureti: Editura Teora
4. http://ro.wikipedia.org , 15.06.2009
5. http://www.oracle.com/index.html , 15.06.2009
6. http://www.microsoft.com/romania/Servere/SQL/default.mspx , 10.06.2009
7. http://www.microsoft.com/sqlserver/2008/en/us/default.aspx , 10.06.2009
8. http://office.microsoft.com/ro-ro/access/default.aspx , 1.06.2009

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