Sunteți pe pagina 1din 33

Analiza sistemului informatic de evidenta a elevilor particularizat pe

o scoala
INTRODUCERE
Evidena cu ajutorul calculatorului reprezint o activitate care se regsete n ulte
doenii de activitate cu sunt! evidena populaiei" evidena elevilor i studenilor" evidena
r#urilor ntr$un depozit" evidenta crilor intr$o %i%liotec etc&
C'nd vor%i de evidena cu ajutorul calculatorului atunci autoat tre%uie s vor%i
de %aze de date&
(ucrarea de #aa prezint odul de proiectare i ipleentare a unei %aze de date
destinate realizrii evidenei autoate a elevilor ntr$o coal&
Conceptul de %az de date se re#er la stocarea voluelor ari de date pe suport de
eorie de capacitate corespunztoare& )entru a realiza stocarea i prelucrarea acestor
volue de date s$au dezvoltat te*nici i etode speci#ice doeniului&
)riele %aze de date erau dezvoltate pe sistee de calcul de tip ain#rae i erau
anipulate de oaeni special pregtii pentru a gestiona aceste sistee&
O dat cu dezvoltarea sisteelor personale +)C," au aprut i priele aplicaii de %aze
de date care #oloseau un singur #iier pentru a stoca toat in#oraia din %aza de date
+denuite %aze de date -#lat #ile.,& Ele erau de tip /%ase" un li%aj care s$a rsp'ndit #oarte
repede #iind #olosit n special la anipularea datelor& 0isteele care l$au #olosit au #ost
d1ase" 2o31ase" 2o3)ro& 4ceste versiuni rulau su% sisteul 50$DO0 i prteau
liitrile acestuia& Cea ai rsp'ndit aplicaie care #olosete li%ajul 31ase a #ost 2o3)ro"
siste dezvoltat iniial de #ira 2o3 0o#t6are su% nuele de 2o3%ase& C*iar i n zilele
noastre e3ist #ire care stoc*eaz date e3tre de iportante n %aze de date 2o3)ro" iar cel
ai cunoscut e3eplu este cel al organizaiei care gestioneaz Euro Tunel&
(a nceputul anilor 78" #ira 5icroso#t Corporation a lansat aplicaia 4ccess"
aplicaie care se %azeaz n are parte pe logica de stocare a sisteului 2o3)ro" siste care
#usese ac*iziionat de #ir n 97:7& 4plicaia 4ccess a devenit" n scurt tip" cea ai
#olosit aplicaie de gestiune a %azelor de date -#lat #ile. de pe sisteele personale& 4juns
acu la versiunea ;88< 0=1D$ul 50$4ccess s$a sc*i%at #iind scala%il ctre %aze de date
Pagina 3 din 33
5icroso#t 0>( 0erver& Totodat" ncep'nd cu versiunea ? i s$a adugat un li%aj de
prograare dedicat +@isual 1asic #or 4pplications $ @14," %azat pe li%ajul de prograare
@isual 1asic& )rin interediul acestuia se puteau anipula datele ai uor" se puteau #olosi
autoatise pentru diverse interogri" a#iri etc& Ancep'nd cu versiunea 7" li%ajul integrat
este copati%il cu @isual 1asic i cu li%ajul #olosit de 50 0>( 0erver& @ersiunea ;88<
poate genera prograe e3ecuta%ile +#iiere B&e3e, ast#el nc't nu ai este nevoie de prezena
acestuia pe aina pe care ruleaz o aplicaie speci#ic 50$4ccess& 4cest od de lucru
aintete de posi%ilitatea de a genera e3ecuta%ile adugat 0=1D$ului 2o3)ro c*iar de la
versiunile su% 50$DO0&
An privina sisteelor server" piaa s$a dezvoltat uiitor de repede deoarece s$a
constatat c't de #olositoare sunt sisteele dedicate acestui lucru& Oracle a lansat i i$a
dezvoltat %aza de aplicaii server" astzi ajung'nd la versiunea 7& Ancep'nd cu versiunea :i" au
#ost introduse e3tensii orientate pe o%iecte& (ansat cu ocazia Oracle OpenCorld" Oracle 7i
reprezint cea ai coplet in#rastructura pregtit pentru rularea aplicaiilor Internet& Oracle
7i include Oracle 7i Data%ase i Oracle 7i 4pplication 0erver si pac*etul de unelte de
dezvoltare Oracle 7i Developer 0uite&
An ceea ce privete corporaia 5icroso#t" aceasta a lansat tot n anul ;888 serverul de
%aze de date 0>( 0erver ;888& 4plicaia se dorete a #i un concurent direct pentru aplicaiile
Oracle" iar pentru acest #apt i s$a adugat suport 988D pentru li%ajul /5( prin interediul
cruia se poate interoga direct serverul dintr$un %ro6ser +dac serverul a #ost con#igurat s
suporte aceast #acilitate,&
Tot n ;888" copania I15 a lansat varianta ? a aplicaiei D1;& 4ceasta aplicaie" ca
i Oracle" este ipleentata pe ai ulte plat#ore +inclusiv (inu3," #iind o aplicaie pur
o%iectual&
)e sisteele (inu3" cel ai #olosit server de %aze de date este 5E0>(& Cu toate c
e3ist un alt produs gratuit +5E0>( este gratuit at't tip c't aplicaia dezvoltata nu este
rev'nduta, $ )ostgre0>(" 5E0>( r'ne pre#eratul prograatorilor de (inu3& De ceF
)entru c li%ajul cel ai #olosit pe partea de server 6e% $ )G) $ dispune de o e3tensie
5E0>( nglo%at& Dar nu nuai acest lucru a in#luenat #olosirea 5E0>(& Una dintre alegeri
a #ost i datorit uurinei adinistrrii acestui server" el dispun'nd de un client de accesare
inclus&
E3ist sute de odaliti de depozitare a datelor n %aza de date& Cele ai utile
aplicaii de coputer stoc*eaz date" dar adesea ele o #ac n oduri proprii" speci#ice&
Pagina 4 din 33
An tot ai are sur" oaenii de a#aceri i dau seaa c o ulie de in#oraii
iportante r'n neutilizate sau neintegrate" #iindc nu sunt ntr$un #orat -adecvatH&
Copaniile se instaleaz pe Internet i se intereseaz de reaciile la produsele lor& Tot ai
ult" acele reacii vin su% #or de e$ail$uri& 2oarte puine copanii pot #ace uz pe scar
larg de in#oraia din acele e$ail$uri" le pot sorta" cuta sau e3ploatade o anier
organizat& Ii ai puine copanii nc pot utiliza e#icient datele pe %az de GT5(" cu ar
#i cataloagele Ce% ale copetitorilor lor&
1aze de date
Concepte generale
Conceptul de %az de date a aprut n anul 97J7" la prezentarea priului raport
COD40K(& Ideea de %az n organizarea datelor se nteeia pe e3istena unui #iier de
descriere glo%al a datelor prin care se realiza independena prograelor #a de date i a
datelor #a de prograe&
)rin interediul acestui #iier se realiza accesul utilizatorilor& 4cest #iier de date
coninea coleciile de date i legturile dintre ele& Ulterior" acest concept a #ost preluat i
dezvoltat pentru %azele de date reea" apoi relaionale i orientate pe o%iect&
O %az de date poate #i de#init de una sau ai ulte colecii de date +L
i
, a#late n
interdependen" preun cu descrierea datelor i a relaiilor dintre ele" +1M+L
9
" L
;
" &&& ,,& O
%az de date tre%uie s ndeplineasc urtoarele condiii!
s asigure o independen sporit a datelor #a de prograe i inversN
concepia structurii %azei de date tre%uie #cut ast#el nc't s se asigure in#oraiile
necesare i su#iciente pentru necesitile de in#orare i decizieN
s asigure o redundan ini i controlat a datelorN
s perit un acces rapid la in#oraiile stocate n %aza de date&
Din punctul de vedere al criteriilor luate n considerare" %azele de date se part!
dup orientare!
generalizateN
specializateN
dup odelul de date!
ierar*iceN
Pagina 5 din 33
reeaN
relaionaleN
orientate pe o%iectN
dup aploarea geogra#ic!
localeN
distri%uiteN
dup li%ajele utilizate!
autonoe +dispun de li%aje proprii,N
cu li%aj gazdN
i3teN
4r*itectura %azei de date cuprinde!
%aza de date propriu$zis O se eoreaz coleciile de dateN
0isteul de =estiune a 1azei de Date +0=1D, O ansa%lu de prograe care
realizeaz gestiunea i prelucrarea cople3 a %azei de dateN
un set de proceduri anuale i autoateN
un dicionar al %azei de date O in#oraii despre date" structura acestora" eleentele de
descriere a seanticii" eleente de statistic" docuentaii" etc&N
ijloace *ard utilizateN
personal iplicat&
Cople3itatea pro%leelor care apar n activitatea unei uniti econoice iplic
prelucrarea operativ a datelor i o%inerea de rezultate +in#oraii, care sunt suportul deciziei
anagerilor&
@oluul acestor date este n continu cretere" ceea ce deterin necesitatea
organizrii i eorrii lor pe suporturi te*nice adresa%ile" organizare care poate #i #cut n
#iiere sau n %aze de date&
2iierele reprezint colecii de date oogene din punct de vedere al coninutului"
colecii care reprezint nregistrri #izice& O nregistrare #izic poate conine una sau ai
ulte nregistrri logice& Anregistrarea logic este de#initiv ca o unitate de prelucrare din
punct de vedere al prograului utilizator& Organizarea datelor n #iiere i accesul la ele sunt
asigurate de un set de prograe dedicate care sunt reunite su% denuirea de 0iste de
=estiune a 2iierelor +0=2," coponenta a 0isteului de Operare +0O,&
Conceptul de %az de date pornete de la ideea c e3ist un #iier de descriere glo%al
a datelor" prin care se realizeaz independena prograelor #a de date i acestora #a de
Pagina 6 din 33
prograe& 4st#el" pute spune ce o %az de date este o colecie de date a#late n
interdependen" preun cu descrierea datelor i a relaiilor dintre ele&
4cest ansa%lu structurat de date conine structuri de date legate #uncional ntre ele&
Datele organizate n ast#el de colecii tre%uie s #ie interoga%ile prin coninut dup orice #el
de criterii si tre%uie s o#ere posi%ilitatea regsirii structurii datelor&
Descrierea unei %aze de date presupune!
deterinarea structurilor de dateN
legturile dintre aceste structuriN
regulile care s asigure coerena datelor" reguli care se ai nuesc i reguli de
integritate&
0istee de =estiune a 1azelor de Date
0isteul de gestiune a %azelor de date +0=1D, reprezint inter#aa ntre utilizator i
%aza de date e#ectiv" care are ca rol crearea" actualizarea i consultarea acesteia& De aici
rezulta c 0=1D este de #apt un instuent pentru asa%larea" codi#icarea" protecia i
regsirea datelor din %aza de date& Dar" pentru a realiza aceste deziderate" 0=1D are ca
o%iectiv principal separarea descrierii datelor #a de prograele de aplcaie care se realizeaz
prin a%stractizarea datelor eorate n %aza de date& O %az de date se poate reprezenta pe
trei niveluri! e3tern" conceptual i intern& 4cestor niveluri le corespunde o sc*e a %azei de
date&
0c*ea e3tern presupune sta%ilirea e#ectiv a datelor ce nu constituie o%iectivul
%azei de date" necesar unui utilizator sau unui grup de utilizatori& 2iind o su%sc*ea a
sc*eei conceptuale ea este de #apt o surs pentru ntocirea acesteia&
Conceptual" prin analiza sc*eei e3terne i eliin'nd redundanele apare ce se
nuete sc*ea concepual&
0c*ea intern ipleenteaz sc*ea conceptual prin utilizarea unui 0=1D& O
aceeai %az de date poate avea de#inite ai ulte sc*ee e3terne" o singur sc*e
conceptual i o singur sc*e intern&
)rincipalele o%iective ale unui 0=1D sunt!
Independena #izic a datelor" care const n capacitatea de a putea sc*i%a
organizarea intern a datelor i structurilor de nregistrare" #ar a odi#ica prograele de
utilizator& 4ceasta ai nsean i independena sc*eei interne #a de cea conceptual& De
Pagina 7 din 33
e3eplu" av'nd anuite criterii pentru accesul la date" se pot adauga noi indeci" se pot
reorganiza #iiere #ara o sc*i%are a sc*eei conceptuale&
Independena logic a datelor const n posi%ilitatea odi#icrii sc*eei e3terne #ar
a odi#ica sc*ea conceptual" aceasta rezult'nd din necesitile utilizatorilor de a$i
odi#ica n tip cerinele in#oraionale& 4ceast independen logic a datelor perite
vizualizarea datelor n aniera dorit de utilizatori" evoluia sc*eelor e3terne pentru #iecare
grup de utilizatori" #r a a#ecta sc*ea conceptual&
5anipularea datelor prin li%aje neprocedurale& 4ceasta presupune e3istena a dou
categorii de utilizatori interactivi& O categorie de utilizatori nepro#esioniti are nevoie de
li%aje de interogare siple" apropiate de li%ajul natural" cu este" de e3eplu" 0>(
+0tructured >uerE (anguage,& O alt categorie" #orat din prograatorii de aplicaie" vor
#olosi li%aje procedurale precu! C" CO1O(" )(P9" li%aje orientate o%iect +CQQ" Rava,"
li%aje vizuale +@isual CQQ" @isual 1asic" etc&,&
4dinistrarea c't ai uoar a datelor& Un 0=1D are posi%ilitatea de a pune la
dispoziie instruente pentru descrierea datelor din punct de vedere al sc*eei e3terne" c't i
al sc*eei interne& 4dinistrarea datelor este desenat de totalitatea operaiilor de
descriere i de odi#icare a descrierii datelor" pentru a evita con#lictele care pot surveni n
de#inirea acestora& 4cest operaie se #ace de un grup restr'ns de specialiti care se vor nui
adinistratori de date&
)er#oranele sporite de acces la date sunt date de doi paraetrii care evideniaz
e#icacitatea acestui tip de acces! nurul de tranzacii pe secunda si tipul de rspund&
4ceti paraetrii sunt dependeni de odul n care 0O al calculatorului" su% care lucreaz
0=1D$ul" aloca i partajeaz resursele #izice +unitatea central" eorie intern" eorie
e3tern,&
;&;&9& 2unciile unui 0=1D
2unciile unui 0=1D se pot grupa n!
eorarea pe suport e3tern prin sisteul de gestiune al #iierelorN
gestiunea datelor i a legaturilor dintre ele pentru o regsire rapidN
introducerea i e3tragerea datelor su% #ora cerut de utilizator prin 0=1D$ul e3tern&
Ultiele 0=1D$uri au ncorporate #uncii avansate pentru gestiunea procedurilor i a
evenientelor&
Pagina 8 din 33
2uncia de descriere a datelor presupune ca 0=1D$ul s poat de#ini datele +sc*ea
e3ten" sc*ea conceptual" sc*ea intern i legturile corespondente, cu ajutorul unui
li%aj specializat DD( +Description Data (anguage," ntr$o #or nuit sc*ea surs" s
copileze apoi aceast sc*e ntr$o #or intern nuit sc*ea o%iect& Dac un 0=1D
suport cele trei niveluri de descriere a datelor +e3tern" conceptual" intern, vor e3ista si trei
adinistratori de date" i anue!
adinistratorul %azei de date" care va de#ini sc*ea intern i regulile de trecere de la
sc*ea conceptual la cea internN
adinistratorul unitaii econoice" care are rolul de a de#ini sc*ea conceptualN
adinistratorul aplicaiei" care va de#ini sc*ea e3tern i regulile de coresponden
cu sc*ea conceptual&
4ceste sc*ee" precu i procedurile de trecere de la o sc*e la cealalt sunt
nregistrate n dicionarul de date" care are dou pari!
dicionarul unitii econoice" care cuprinde sc*ea conceptual cu procedurile
acesteiaN
dicionarul %azei de date" care conine sc*ea e3tern i cea intern preun cu
procedurile de trecere a#erente& In#oraiile eorate n aceste dicionare sunt n #ora surs
sau o%iect& Dicionarul de date organizat su% #or de %aze de date poart nuele de
eta%az&
9& O #uncie esenial a unui 0=1D este interogarea %azei de date&
De o%icei" n aceast #uncie se includ cutarea i e3tragerea datelor" precu i
operaiile de actualizare a %azei de date" concretizate n! adugare" odi#icare" tergere&
(a nceput" priii pai n crearea i utilizarea 0=1D$urilor presupunea o e3isten a
unor li%aje procedurale prin care localizarea datelor se #acea prin cutri succesive& 0=1D$
urile din uliele generaii ipleenteaa #uncia de interogare a %azei de date cu ajutorul unor
li%aje declarative" care au posi%ilitatea cutrii datelor dup coninut" #r ns a preciza
procedurile de acces& 4st#el de li%aje tre%uie s perit de#inirea oricarei cereri de
interogare a %azei de date" care este #orulat de utilizator" i din acest categorie #ace parte
li%ajul 0>(& De enionat este #aptul c o cerere de interogare se deruleaz n patru etape"
i anue!
#orulare" care #olosesc li%ajul de anipulare a datelor +D5C O Data 5anipulation
(anguage," care este un su%set al 0>($uluiN
copilareN
optiizareN
Pagina 9 din 33
e3ecuie&
De aseenea" 0=1D$urile tre%uie s ai% o%ligatoriu un copilator +analizor, al
cererilor de interogare" care s perit analiza sintactic i evaluarea acesteia& )entru
validarea cererilor" copilatorul utilizeaz dicionarul de date i le descopune n operatori
relaionali pe care i structureaz su% #or de ar%ore& An ar%orele ast#el construit nodurile
indic operatori" iar #runzele reprezint relaiile& O cerere de interogare copilat este apoi
transis ctre etapa de optiizare n care se caut odul cel ai rapid de e3ecuie a
acesteia& Rezultatul acestei etape const n trans#orarea cererilor de interogare n tranzacii&
Tranzacia reprezint una sau ai ulte cereri de interogare" care se vor e3ecuta din punct de
vedere logic" preun" ca o entitate #uncional& Tranzacia se e3ecut prin doua operaii
principale!
gestiunea tranzaciilor concurenteN
e3ecuia n sine&
;& Conversia datelor este una din posi%ilitile pe care le o#er 0=1D$ul pentru a trece
datele n cele trei niveluri! e3tern" conceptual i intern" otiv pentru care 0=1D$ul tre%uie s
cunoasc corespondenele dintre aceste niveluri&
<& Controlul integritii datelor& 4ceast #uncie presupune ca 0=1D$ul s asigure
coerena datelor" adic toate regulile iplicite sau e3plicite care tre%uie s asigure integritatea
datelor +restricii de integritate,&
S& =estiunea tranzaciilor& Tranzacia are rolul de a trece in#oraiile dintr$o %az de
date n alta +n acelai #orat sau n alt #orat, cu condiia ca %aza de date iniial s r'n
ntr$o stare coerent&
Conceptele cu care se lucreaz sunt!
atoicitatea tranzaciilor +Transaction 4toicitE," ceea ce nsean c o tranzacie
este e3ecutat total sau nu este e3ecutat delocN
corectitudinea tranzaciilor +Transaction Correctness," care seni#ic respectarea
coerenei %azei de date dup e3ecuia tranzaciilorN
izolarea tranzaciilor" ceea ce nsean c odi#icrile nu sunt percepute din e3terior
p'n c'nd nu se terin tranzacia&
T& 0ecuritatea datelor& 0=1D$ul are posi%ilitatea de a garanta securitatea datelor
printr$un ecanis de control al accesului la date i de resturare a acesteia n caz de pene sau
erori& 5ai nou" ultiele 0=1D$uri au o serie de alte #uncii" cu ar #i!
posi%ilitatea de e3ecuie a unor proceduri atunci c'nd sunt ndeplinite anuite condiii
asupra %azelor de dateN
Pagina 10 din 33
reguli de in#erene" care perit deducerea unor date noi pe %aza celor e3istenteN
posi%ilitatea de a gestiona o%iecte cople3e" cu ar #i! *ri" gra#ice" #ile" ceea ce a
dus la apariia %azelor de date ultiedia&
;&;& Etapele realizrii unei %aze de date
An proiectarea unei %aze de date sunt prevzute ai ulte etape!
analiza sisteului sau a doeniului econoic i a cerinelor in#oraionale asociate"
pentru care se realizeau %aza de dateN
proiectarea structurii %azei de date" adic ela%orarea sc*eei conceptuale e3terne i a
sc*eei conceptuale interneN
ncrcarea datelor n %aza de dateN
e3ploatarea i ntreinerea %azei de date&
4naliza sisteului econoic presupune patru etape!
analiza coponentelor sisteului i a legturilor dintre acestea" sau analiza structural
n ura creia rezult odelul structural sau static al sisteuluiN
analiza strilor sisteului i a tranziiilor posi%ile ntre aceste stri" n raport cu
anuite eveniente& An ura acestei analize rezult odelul dinaic sau teporalN
analiza trans#erurilor in#oraionale +a tranzaciilor," n ura creia se o%ine odelul
#uncional al odelului econoicN
integrarea odelelor sisteului econoic +structural" dinaic i #uncional," n scopul
corelrii i copletrii lor&
Te*nica diagraelor entitate$asociere
4naliza sisteului econoic are ca o%iectiv evidenierea coponentelor din cadrul
sisteului pentru care ureaz s se colecteze i s se eoreze in#oraii n %aza de date"
precu i evidenierea legturilor dintre aceste coponente&
Te*nica diagraelor entitate$asociere perite construirea odelului structural su%
#ora unei diagrae entitate$asociere" prin parcurgerea urtorilor pai!
Identi#icarea coponentelor +entitilor, din cadrul sisteului econoic& 2iecare
entitate prezint ai ulte realizri& An ura acestei etape se ela%oreaz o pri #or a
diagraei entitate$asociere&
Pagina 11 din 33
Identi#icarea asocierilor dintre entiti i codi#icarea acestora& (egturile dintre entiti
sunt reprezentate prin arce neorientate" care #ac legtura ntre nodurile ce reprezint entitile
participante la asociere&
2ig&9& Diagra entitate$asociere
Tipul sau #ora legturii se e3pri cu ajutorul cardinalitii& Cardinalitatea
asocierilor e3pri nurul ini i nurul a3i de realizri +instane, de entitate" care
pot #i asociate cu o realizare a partenerului de asociere& Cardinalitatea se e3pri prin perec*i
de nuere" c'te o perec*e pentru #iecare entitate din cadrul legturii&
Identi#icarea atri%utelor a#erente entitilor i asocierile dintre entitai&
0ta%ilirea atri%utelor de identi#icare a entitilor&
Tipuri de legturi ntre entiti
Dup cardinalitatea asocierii& An acest caz" se are n vedere gradul asocierii i
o%ligativitatea participrii entitilor la asociere&
Dup gradul asocierii +a3iele cardinalitii," identi#ic urtoarele tipuri de
asocieri +legturi,!
asociere de tip -unu la unuH
asocieri de tip -unu la uliH
asocieri de tip -uli la uliH
Dup o%ligativitatea participrii entitilor la asociere +iniele cardinalitii," e3ist!
asocieri pariale
asocieri totale
Concoitent" dup gradul asocierii i dup o%ligativitatea participrii la asociere"
sunt!
asocieri paiale de tip -unu la unuH
asocieri totale de tip -unu la unuH
asocieri pariale de tip -unu la uliH
asocieri totale de tip -unu la uliH
asocieri pariale de tip -uli la uliH
asocieri totale de tip -uli la uliH
Dup nurul de entiti distincte care particip la asociere!
Pagina 12 din 33
Productor #urniz& MatPrime
asocieri %inare +ntre dou entiti distuncte,
asocieri recursive +asocieri ale entitilor cu ele nsele,
asocieri cople3e +ntre ai ult de dou entiti distincte,
4socierile pariale sunt acele asocieri care nu o%lig participarea la asociere a tuturor
entitilor vizate" ci nuai a unora dintre ele sau a nici uneia& 4ceast o%ligativitate este
re#lectat de iniele cardinalitii& @aloarea zero a uneia dintre inie arat lipsa de
o%ligativitatea participrii partenerului la aceast asociere" n tip ce o valoare ai are
dec't zero e3pri o%ligativitatea participrii la asociere&
Tipuri de atri%ute
4tri%utele e3pri caracteristici ale coponentelor doeniului econoic analizat sau
ale asocierilor dintre aceste coponente&
De o%icei" atri%utele sunt asociate entitilor" dar ele pot descrie i asocierile dintre
acestea&
4tri%utele pot #i clasi#icate ast#el!
4tri%ut copus sau %loc" constituit din cel puin alte dou atri%ute& @aloarea sa este
reprezentat de valorile atri%utelor coponenteN
4tri%ut calculat sau dedus& @aloarea sa nu este cunoscut direct" ci calculat pe %aza
valorilor altor atri%uteN
4tri%utul siplu este acel atri%ut care are valori atoiceN
4tri%utul repetitiv sau ultivaloare& Este un atri%ut care la un oent dat are ai
ulte valori ce apar su% #ora unor liste de valori&
Un atri%ut de identi#icare se nuete c*eie dac se caracterizeaz prin unicitatea
valorii sale pentru #iecare instan a entitii&
1aze de date relaionale
=eneraliti
5odelul de date relaional pornete de la #aptul c orice structur de date poate #i
reprezentat prin una sau ai ulte ta%ele de date" n care tre%uie s e3iste i in#oraii de
legtur pentru a asigura corespondena ntre ta%ele&
Pagina 13 din 33
1aza ateatic pentru odelul relaional este dat de teoria ansa%lurilor&
Orgnizarea datelor n %aze de date relaionale asigur o interdependen ai are a
prograelor de aplicaie #a de organizarea datelor i utilizeaz li%aje de anipulare a
datelor i instruente e#icace de control al coerenei i redundanei datelor&
4vantajele odelului relaional al datelor!
)rograele de aplicaie pentru o %az de date relaional nu #ac apel la pointeri"
#iiere inverse sau alte eleente ale sc*eei interne ale %azei de date&
Utilizeaz etode i te*nici de control al coerenei i redundanei datelor& 5odelul
relaional" prin te*nica noralizrii relaiilor" perite de#inirea unei structuri conceptuale a
datelor optie" prin care s se iniizeze riscurile aprute la actualizare&
O#er #aciliti ultiple de de#inire i anipulare a datelor prin #olosirea unor li%aje
procedurale %azate pe alge%ra relaional" i li%aje neprocedurale" av'nd la %az calculul
relaional&
4elioreaz integritatea i con#idenialitatea datelor" prin utilizarea restriciilor de
integritate i a relaiilor virtuale&
5odelul relaional se copune din!
0tructura relaional a datelor& Datele sunt organizate su% #ora unor ta%louri
%idiensionale de date care poart nuele de relaii& 4socierea dintre relaii se reprezint
e3plicit prin atri%ute de legtur& 4tri%utele #igureaz ntr$una din relaiile iplicate n
asociere" n cazul legturilor -unu la uliH sau sunt plasate ntr$o relaie distinct construit
special pentru e3priarea legturilor ntre relaii +n cazul legturilor de tip -uli la uliH,&
O %az de date relaional reprezint un ansa%lu de relaii prin care se prezint at't datele"
c't i legturile dintre ele&
Operatorii odelului relaional de#inesc operaiile care se pot e#ectua asupra relaiilor
n scopul realizrii #unciior de prelucrare aplicate %azei de date" respectiv consultarea"
inserarea" odi#icarea i stergerea datelor&
Restriciile de integritate ale odelului relaional perit de#inirea strilor coerente ale
%azei de date&
Restriciile de integritate ale odelului relaional
Pagina 14 din 33
4ceste restricii se nuesc i reguli de integritate i de#inesc cerinele pe care tre%uie
s satis#ac datele din %aza de date pentru a #i corecte i coerente n raport cu ceea ce
reprezint&
Restriciile de integritate se pot clasi#ica n!
0tructurale" care se de#inesc n raport cu egalitatea sau inegalitatea unor valori din
cadrul lor& Din aceast categorie #ac parte!
Restricia de unicitate a c*eiiN
Restricia re#erenial
Restricia entitiiN
Dependenele ntre date&
De integritate a coportaentului propriu al unei anuite %aze de date& 4ceste
restricii au n vedere seni#icaia valorilor din cadrul %azei de date&
Utilizarea odelului relaional nu ipune de#inirea i veri#icarea tuturor tipurilor de
restricii de integritate" ci nuai a unor restricii iniale&
4cestea sunt o%ligatoriu de de#init i de respectat atunci c'nd se lucreaz cu odelul
relaional& Din aceast categorie de restricii #ac parte!
Restricia de unicitate a c*eii
Restricia re#erenial
Restricia entitii
4lte restricii" cu ar #i! dependenele ntre date i cele de coportaent&
Restriciile de integritate iniale sunt de#inite n raport cu noiunea de c*eie a unei
relaii&
Relaia se reprezint ca o ulie de tupluri +nregistrri, i pentru c o ulie nu
poate conine eleente duplicate" relaia nu poate prezenta tupluri identice& Identi#icarea unui
tuplu se #ace cu ajutorul c*eii& C*eia unei relaii R reprezint un ansa%lu inial de
atri%ute prin care se poate identi#ica n od unic orice tuplu din R& C*eia este #orat #ie
dintr$un singur atri%ut" #ie din ai ulte atri%ute din sc*ea relaiei respective& An priul caz
se nuete c*eie sipl" iar n cazul al doilea c*eie copus&
Antr$o relaie pot e3ista ai ulte atri%ute sau co%inaii de atri%ute cu proprietatea
de identi#icare a tuplurilor& 4st#el de c*ei #orate din co%inaii de atri%ute se nuesc c*ei
candidate& Din acest otiv" adinistratorul %azei de date va alege o c*eie care s idendi#ice
e#ectiv tuplurile i aceasta se va nui c*eie priarN restul de c*ei candidate vor purta
nuele de c*ei alternate&
Pagina 15 din 33
Un grup de atri%ute din cadrul unei relaii care conine o c*eie a relaiei se nuete
superc*eie&
O c*eie e3tern reprezint un atri%ut sau un grup de atri%ute dintr$o relaie R
9
" ale
crei sau cror valor sunt de#initepe acelai sau aceleai doeniuPdoenii ca i c*eie priar
a unei relaii R
;
i care are rolul de a odela asocierea ntre entitile reprezentate prin
relaiile R
9
i R
;
& R
9
este denuit relaie care se re#er" n tip ce R
;
este relaie re#erit&
5odelul relaional are urtoarele restricii de integritate iniale!
Restricia de unicitate a c*eii" care ipune ntr$o relaie R care are c*eia L" oricare ar
#i tuplurile t
9
i t
;
" s #ie satis#cut inegalitatea! t
9
+L,Ut
;
+L," aceasta nsen'nd c ntr$o
relaie nu pot e3ista dou tupluri co o aceeai valoare pentru atri%utele c*eie&
Restricia re#erenial +integritatea re#eririi," ce ipune ca" ntr$o relaie R
9
care re#er
o relaie R
;
" valorile c*eii e3terne s #igureze printre valorile c*eii priare din relaia R
;
sau
s #ie valori NU(( +nede#inite,& Relaiile R
9
" R
;
tre%uie s #ie distincte una de alta& O asociere
nu poate e3ista dec't ntre parteneri cunoscui" deci care sunt deja de#inii&
Restricia entitii +integritatea entitii,& Ea ipune ca ntr$o relaie atri%utele c*eii
priare s #ie nenule& Unicitatea c*eii presupune ca la ncrcarea unui tuplu" valoarea c*eii s
#ie cunoscut pentru a putea veri#ica #aptul c aceast valoare nu este deja ncrcat&
O alt restricie de integritate este restricia care se re#er la dependena datelorN ea
seni#ic odul n care datele depind unele de altele" iar aceast dependen poate #i!
a, dependena #uncional" prin care se poate identi#ica un atri%utPgrup de atri%ute prin
interediul altui atri%utPgrup de atri%ute&
2iind dat o relaie R" un atri%ut K din R este dependent #uncional de un alt atri%ut /
din R" dac i nuai dac #iecare valoare a lui / are asociat o valoare precis a lui K&
Notaie!
Y X
" sau
X Y
&
)artea st'ng a dependenei #uncionale se nuete deterinant" iar partea dreapt se
nuete deterinat& )entru e3eplul de ai sus / este deterinantul" iar K este
deterinatulN
%, dependenele ultivaloare sunt acele tipuri de dependene ntre date n care un
atri%utPgrup de atri%ute poate prezenta ai ulte valori pentru o singur valoare a unui alt
atri%utPgrup de atri%uteN
c, dependenele jonciune& Reconstruirea relaiei R se realizeaz prin joncionarea
proieciilor! )
9
" )
;
i )
<
" unde )
9
" )
;
" )
<
sunt proiecii ale relaiei R descopuse& Din acest
otiv" dependena din cadrul relaiei R a priit nuele de dependen jonciune&
Pagina 16 din 33
2orele norale ale unei relaii
4noaliile care apar n lucrul cu %aza de date relaional se produc datorit
dependenelor nedorite ce se ani#est ntre datele din cadrul relaiilor %azei de date& 4ceste
dependene deterin creterea redundanei datelor i reducerea #le3i%ilitii structurii %azei
de date& 4noaliile care pot aprea sunt!
De actualizare" datorate dependenelor #uncionale parialeN
De actualizare" datorate dependenelor #uncionale tranzitoriiN
De actualizare" datorate dependenelor ultivaloare&
2orele norale ale relaiilor ntr$o %az de date relaional sunt de#inite n raport cu
anoaliile care apar n lucrul e#ectiv cu aceste %aze de date&
An cadrul relaiilor dintr$o as#el de %az de date apar dependene nedorite" care vor #i
nlturate" #olosind uratoarele #ore norale!
2N
9
! O relaie R este n 2N
9
+#or noral 9, dac doenile pe care sunt de#inite
atri%utele relaiei sunt constituite nuai din valori eleentare& Un tuplu nu tre%uie s conin
atri%ute sau grupuri de atri%ute repetitive&
2N
;
! O relaie R este n 2N
;
+#or noral ;, dac este n 2N
9
i oricare din
atri%utele nonc*eie este dependent #uncional coplet de c*eia priar a relaiei&
2N
<
! O relaie R este n 2N
<
+#or noral <, dac este n 2N
;
i atri%utele nonc*eie
nu sunt dependente tranzitiv de c*eia priar a relaiei&
2N 1oEce$Codd! O relaie R este n 1C2N dac dependenele #uncionale netriviale
care se ani#est n cadrul relaiei conin n partea st'ng" ca deterinant" o c*eie candidat&
2ie relaia!
, ! " ! " ! " ! +
; 9
; 9 B A K K
D B D A D K D K
N s presupune c relaia R are c*eia
+L
9
" L
;
, i c n cadrul relaiei se ani#est" alturi de alte dependene #uncionale" i de
dependena!
9
K B
& De aici rezult c relaia R nu este n #ora noral 1oEce$Codd&
2N
S
! O relaie R este n 2N
S
+#or noral S, dac este n cadrul ei nu se ani#est
ai ult de o dependen ultivaloare&
2N
T
! O relaie R este n 2N
T
+#or noral T, dac #iecare dependen jonciune este
iplicat printr$un candidat c*eie al lui R&
0istee de gestiune ale %azelor de date relaionale
Pagina 17 din 33
0=1DR$ul este un 0=1D care utilizeaz" ca i concepie de organizare a datelor"
odelul relaional&
An acest sens" Codd a #orulat 9< reguli ce e3pri cerinele pe care tre%uie s le
satis#ac un 0=1DR!
R
8
! regula privind gestionarea datelor la nivel de relaie&
4cest lucru nsean c sisteul tre%uie s utilizeze ca unitate de in#oraii relaia"
adic li%aje" ca 0>(" care s opereze pe ntreaga relaie&
R
9
! regula privind reprezentarea logic a datelor&
Toate datele din 1DR +%aza de date relaional, tre%uie s #ie reprezentate e3plicit la
nivel logic ntr$un singur od" i anue ca valori n te%elele de date& 4easta nsean c
toate datele tre%uie s #ie eorate i prelucrate n acelai od& In#oraiile privind nuele
de ta%ele" coloane" doenii" de#iniiile ta%elelor virtuale i restriciile de integritate tre%uie s
#ie eorate tot n ta%ele de date +catalog,&
R
;
! regula privind garantarea accesului la date&
Orice dat din 1DR tre%uie s poat #i accest prin speci#icarea nuelui de ta%el" a
valorii c*eie priare i nuelui de coloan&
R
<
! regula privind valorile NU((&
0isteul tre%uie s perit declararea i anipularea sisteatic a valorilor NU(("
cu seni#icaia unor date lips sau inaplica%ile& @alorile NU(( care di#er de irurile de
caractere -VH sau de irurile vide de caractere sunt iportante n ipleentarea restriciilor
de integritate&
R
S
! regula privind etadatele&
Descrierea %azei de date tre%uie s se prezinte la nivel logic n acelai od cu
descrierea datelor propriu$zise" sisteele nu tre%uie s #ac di#erenieri n ce privete
de#inirea i tratarea datelor i a etadatelor" utiliz'nd o singur structur" cea relaional&
R
T
! regula privind #acilitile li%ajelor utilizate&
Tre%uie s e3iste cel puin un li%aj de nivel nalt ale crui instruciuni s poat
e3pria oricare din urtoarele operaii! de#inirea ta%elelor de %az" de#inirea ta%elelor
virtuale" anipularea datelor +interactiv sau prin progra," de#inirea restriciilor de
integritate" autorizarea accesului" precizarea liitelor tranzaciilor&
R
J
! toate ta%elele virtuale care teoretic sunt posi%il de actualizat tre%uie s #ie practic
actualizate&
R
?
! regula pentru inserri" odi#icri i tergeri n %aze de date&
Pagina 18 din 33
4ceast regul e3pri cerina ca n operaiile prin care se sc*i%coninutul %azelor
de date s se lucreze la un oent dat pe toat relaia&
R
:
! regula privind independena #izic a datelor&
)rograele de aplicaie nu tre%uie s #ie a#ectate de sc*i%rile e#ectuate n odul de
reprezentare a datelor sau n etodele de acces& O sc*i%are a structurii #izice a datelor nu
tre%uie s %loc*eze #uncionarea prograelor de aplicaie&
R
7
! regula privind independena logic a datelor&
)rograele de aplicaie nu tre%uie s #ie a#ectate de sc*i%rile e#ectuate asupra
relaiilor %azelor de date&
R
98
! regula privind restriciile de integritate&
4ceste restricii tre%uie s poat #i de#inite n li%ajul utilizat de siste pentru
de#inirea datelor i s #ie eorate n catalogul %azelor de date i nu n cadrul prograelor
de aplicaie&
R
99
! regula privind distri%uirea geogra#ic a datelor&
(i%ajul de anipulare a datelor utilizat de siste tre%uie s perit ca" n situaia n
care datele sunt distri%uite" prograele de aplicaie s #ie logic aceleai cu cele utilizate n
cazul n care datele sunt #iic centralizate&
R
9;
! regula privind prelucrarea datelor la nivelul de %az&
Dac sisteul posed un li%aj de %az de nivel sczut orientat pe prelucrarea de
tupluri i nu pe prelucrarea uliilor +relaiilor," acest li%aj nu tre%uie utilizat" deoarece nu
respect lucrul cu restriciile de integritate sau restriciile introduse prin utilizarea li%ajelor
relaionale de nivel nalt& 0e o%inuiete ca" n con#oritate cu tipul de cerine pe care le
e3pri" regulile s #ie grupate n T categorii!
reguli de %az! R
8
" R
9;
N
reguli structurale! R
9
" R
J
N
reguli privind integritatea datelor! R
<
" R
98
N
reguli privind anipularea datelor! R
;
" R
S"
R
T
" R
?
N
reguli privind independena datelor! R
:
" R
7"
R
99
N
Nici unul dintre 0=1D$urile disponi%ile astzi nu respect n totalitate cerinele celor
9< reguli ale lui Codd&
Totui" un 0=1D este inial relaional dac satis#ace condiiile!
Toate datele din %azele de date sunt reprezentate prin valori n ta%eleN
Nu e3ist pointeri o%serva%ili de ctre utilizator ntre ta%ele" n sensul c operaiile cu
relaii nu #ac apel la pointeri" indeci" #iiere inverse" etc&N
Pagina 19 din 33
0isteul suport operatori relaionali de proiecie" selecie i join natural" #r liitri
ipuse& Unitatea de in#oraie cu care se lucreaz este relaiaN
0isteul suport operaiile de %az ale alge%rei relaionaleN
0isteul suport dou dintre restriciile de integritate de %az ale odelului relaional"
i anue! unicitatea c*eii unei relaii i restricia re#erenial&
0ecuritatea %azei de date
4sigurarea securitii %azei de date presupune interzicerea accesului neautorizat la
date i se realizeaz cu un set de suri de protcie uan" so#t6are i *ard6are& 4st#el se
pot sta%ili parole pe %aza crora s le poat #i peris accesul la resursele sisteului de calcul&
0=1D$ul poate activa i un jurnal pentru urrirea accesului la %aza de date" cu ajutorul lui
#iind posi%il detectarea ncercrilor de acces neutorizat& )entru cererile de IPO transise
sisteului de operare de ctre 0=1D" sunt posi%ile veri#icri suplientare re#eritoare la
utilizarea corect a #iierelor sau a #unciilor sisteului de operare&
Gard6are$ul poate o#eri i el o protecie suplientar prin trans#erarea datelor nuai
n zone de eorie care sunt controlate de 0=1D&
5odalitile de asigurare a securitii %azei de date sunt!
autorizarea i controlul acceului la date" care presupune identi#icarea utilizatorilor"
restricionarea accesului acestora la date" precu i sta%ilirea de restricii pentru datele
accesate& 0=1D$urile actuale #olosesc pentru identi#icarea utilizatorului" parole" #iecare
parol #iind asociat cu anuite drepturi de acces la date& 0=1D$ul va enine pentru #iecare
parol o list de privilegii pentru user$ul care #olosete acea parol& User$ii pot #i asociai
unor grupuri" la drepturile #iecruia adug'ndu$se drepturile sta%ilite pentru grupul respectiv&
4dinistratorul %azei de date este user$ul care" iplicit" are toate drepturile asupra %azei de
date" precu i dreptul de a sta%ili sau revoca privilegii pentru ceilali utilizatori& Utilizatorii
o%inuii sunt cei care nu au n proprietate o%iecte i nu au alte privilegii dec't celel otenite
ca e%rii unui grup sau enionate e3plicit de adinistratorul %azei de date sau de
proprietarii de o%iecte&
De#inirea i utilizarea viziunilor +a sc*eei e3terne a %azei de date,& @iziunile sunt
partiii logice ale %azei de date& Ele sunt di#erite pentru di#erii utilizatori n raport cu
necesitile acestora de a avea acces la date& 0ecuritatea datelor va #ia asigurat prin de#inirea
tuturor drepturilor necesare unui utilizator" pentru o viziune" i revocarea drepturilor" pentru
Pagina 20 din 33
o%iecte iniiale& Utilizatorul nu va avea acces la e#ectuarea unor operaii asupra viziunii care
s a#ecteze o%iectele iniiale&
Realizarea de proceduri speciale& 0unt 0=1D$uri care au #acilitatea de#inirii unor
proceduri care s #ie pstrate la nivelul sisteului" ntr$o #or precopilat& An aceste
proceduri se vor speci#ica e3plicit operaiile care se vor e#ectua aupra datelor&
Criptarea datelor este operaia de codi#icare a datelor pe tipul stocrii sau al
transportului lor" ast#el nc't desci#rarea lor s poat #i #acut nuai de posesorii autorizai de
cod& (a nivelul 0=1D$ului aceast #acilitate are dou #ore!
E3istena unor rutine speciale care realizeaz criptarea datelor la cerere sau autoatN
E3istena unor instruente care perit utilizatorului s$i realizeze rutine proprii de
criptare&
Utilizarea unei %aze de date
O %az de date este o colecie de in#oraii organizate ntr$un anuit #el i depozitate
ntr$un calculator& Dac avei acas o agend de adrese" aceasta este aproape o %az de date&
Tot ce are nevoie pentru a #i recunoscut ca o %az de date propriu$zis este s copiai
in#oraia ntr$un coputer i s$o salvai O ntr$o anier ordonat O ntr$un #iier&
='ndii$v ns ce se nt'pl de #apt dac luai nuele" adresele i nuerele de
tele#on ale tuturor prietenilor i rudelor duneavoastr i copiai acele date n calculator&
Dactilogra#ierea pur i siplu la nt'plare a datelor nu va avea ca rezultat o stocare
organizat a in#oraiei& 5ai nt'i tre%uie s de#inii o structur de %az de date& Ea poate #i
siilar cu structura din agenda duneavoastr de adrese&
E3ist di#erite odele de %aze de date" dar noi ne vo concentra asupra tipului care
este cel ai rsp'ndit O %aza de date relaional& O %az de date relaional are trei caliti
principale!
Datele sunt stocate n ta%ele +su%divizate n c'puri,N
)utei ataa +uni, ntr$o relaie" ta%elele ast#el nc't ai t'rziu s putei e3trage date
din ai ulte ta%ele n acelai tip&
)utei interoga ta%elele" o%in'nd seturi de nregistrri +su%ulii ale unuia sau ai
ultor ta%ele,
0 presupune c agenda duneavoastr cuadrese conine in#oraii despre o
persoan per pagin& 2iecare pagin" dup copletarea ei cu in#oraii" va #i ec*ivalent" n
terenii %azelor de date" cu o nregistrare& )riul r'nd de pe #iecare pagin a agendei are
Pagina 21 din 33
etic*eta Nue" urtorul 4dres" etc& An terenii %azelor de date" aceste etic*ete se nuesc
c'puri&
@ putei iagina un c'p ca un tip de in#oraieN #iecare c'p are propriul su
nue" dar o nregistrare nu are nue& Ea conine datele propriu$zise" in#oraia concret ce
copleteaz c'purile& An terinologia %azelor de date" o nregistrare este deseori desenat
ca o linie" iar un c'p ai este nuit i coloan&
An #uncie de tipul de prograare care$l #acei" dac nuele unui c'p este alctuit
din dou cuvinte ar putea #i necesar nc*iderea sa n paranteze sau" uneori" n g*iliele
siple& 1azele de date n stilul 4ccess cu care a lucrat n @isual 1asic perit utilizarea
spaiilor& Totui s reine urtorul aspect! ajoritatea %azelor de date relaionale nu perit
acest lucru" ast#el c tre%uie s recurgei la caracatere de su%liniere pentru separarea
cuvintelor&
0 reveni la agenda de adrese ce ilustrare a %azelor de date& Antreaga agend este
ec*ivalent cu un ta%el ntr'o %az de date a unui coputer& Te%elele sunt colecii de datela
scar relativ are" cu ar #i ntreaga duneavoastr agend" dar o %az de date poate conine
ai ulte ta%ele O coninutul unei %aze de date l de#inii atunci c'nd o creai" ast#el c
deterinai c'te ta%ele are i ce c'puri conine #iecare ta%el&
)oate c ai arcat n ta%el zilele de natere ale prietenilor i rudelor duneavoastr&
4i putea introduce aceste date ntr$un al doilea ta%el al %azei duneavoastr de date nuit"
eventual" Cadouri" n care vei avea de aseenea un c'p Nue& 4ceast caracteristic v
poate #i util ai t'rziu" deoarece v va perite s unii ta%elele& )utei ast#el s interogai
a%ele ta%ele deoadat& Rezultatul acestei interogri este #cut disponi%il n ceea ce se
nuete set de nregistrri&
1azele de date av'nd un singur ta%el supradiensionat sunt ai puin #le3i%ile i ai
puin e#iciente dec't ai ulte ta%ele ai ici& 1ineneles c dac %aza de date este ic"
organizarea ei nu conteaz #oarte ult& Dar dac proiectai o %az de date ulti#uncional cu
;T8&888 de nregistrri" orice ic #acilitate conteaz& )rin crearea ai ultor ta%ele" putei
s %untii organizare %azei duneavoastr de date" s scriei ai uor prograe pentru
ea i" n general" s gsii ai uor nregistrrile&
2igura&;& E3eplu de %az de date cu ta%ele ultiple
Pagina 22 din 33
Nume
Prenume
Data_nasterii
Marca
Sectie
Salariu_tarifar
Data_angajarii
ANGAJAT
Marca
Luna
Ore_lucrate
Concediu_odihna
Concediu_medical
Ore_noapte
PONTAJ
Marca
Salariu_tarifar
Salariu_brut
Spor_vechime
Spor_de_noapte
CAS
CASS
Somaj
Pensie_suplimentara
Deducere personala
otal_drepturi
!enit_impo"abil
#mpo"it
Avans
$est_de_plata
DREPTURI
C'nd speci#icai o relaie ntre ta%ele n tip ce proiectai o %az de date" spunei de
#apt c s$ar putea s avei nevoie de in#oraii suplientare despre acest individ" caz n care
ele pot #i gsite n acest nou ta%el #olosind un c'p" inde3ul priar" #olosit n a%ele ta%ele&
4st#el s presupune c ntr$un ta%el angajatul Ion Ionescu are un nur 5arca egal
cu J:J +dou ta%ele din %aza de date au #iecare acest c'p 5arca,& )entru a a#la ai ulte
despre Ion Ionescu" caut acelai nur 5arca n ta%elul al doilea" unde pot gsi stocate
in#oraii suplientare despre el&
Antr$o %az de date relaional" in#oraia nu este autoat stocat al#a%etic +sau n
ordine nueric" pentru un c'p nueric,& Antr$un c'p Nue valoarea 4ndrei poate s
apar dup Wa#ir&
Esenialul este c nu ne pute atepta ca nregistrrile s #ie ntr$o anuit ordine&
C'nd cineva adaug o nou nregistrare la %aza de date aceasta este pur i siplu aezat la
s#'ritul ta%elului& 4tunci c'nd proiectai o %az de date" putei preciza c unele din c'purile
sale tre%uie s #ie inde3uri& Un inde3 este un #iier special n care sunt stocate valorile
c'pului c*eie al ta%elei ntr$o succesiune care conduce la aparena c %aza de date este
ordonat dup valorile unui anuit c'p +de o%icei di#erit de c'pul c*eie,& Inde3ul ocup
ult ai puin spaiu dec't %aza de date i se pot de#ini ai uli indeci pentru aceeai %az
de date& Totodat" crearea unui inde3 nou +pentru o sortare particular a %azei de date, se
poate realiza ult ai rapid dec't sortarea ntregii %aze de date&
<& )ROIECT4RE4 14WEI DE D4TE
<&9& )REWENT4RE4 )RO1(E5EI
4a cu a precizat ai sus" pro%lea care tre%uie rezolvat este cea a
ipleentrii unei %aze de date pentru realizarea evidenei autoate a elevilor& )entru
aceasta tre%uie precizate in#oraiile care sunt stocate pentru o perioada ai are de tip&
In#oraiile care se pstreaz uzual ntr$o coal +%ineneles" cele despre elevii colii,
sunt urtoarele!
nueN
prenueN
nuele tatluiN
nuele aeiN
Pagina 23 din 33
nurul atricolN
data nateriiN
locul nateriiN
tele#on acasN
tele#on priniN
disciplinele parcurse i notele o%inuteN
repetrile&
<&;& 4N4(IW4 )RO1(E5EI
4naliza pro%leei care tre%uie rezolvat are ca scop ela%orarea odelelor care
s perit ulterior ela%orarea structurii %azei de date& 4ceast analiz presupune urtoarele
etape!
identi#icarea entitilor in#oraionale care vor #i stocate n %aza de datei i a
legturilor dintre acestea" activitate cunoscut su% nuele de analiz static sau structuralN
identi#icarea strilor n care se pot a#la aceste entiti i a tranziiilor posi%ile ntre
aceste stri n raport cu anuite eveniente +analiza dinaic,N
identi#icarea trans#erurilor de date din cadrul sisteului +analiza #uncional,&
)entru construirea odelului structural tre%uie parcurse urtoarele etape!
identi#icarea coponentelor din cadrul sisteului in#oraticN
identi#icarea asocierilor dintre entiti i cali#icarea lorN
identi#icarea atri%utelor a#erente entitilor i asocierilor lorN
sta%ilirea atri%utelor de identi#icare a entitilor&
)entru pro%lea prezentat se pot identi#ica trei entiti care se a#l n legtur una cu
alta" i anue! entitatea E(E@" entitatea C4T4(O= i entitatea DI0CI)(IN4&
Diagraa structural" corespunztoare celor trei entiti i a legturilor dintre ele" este
prezentat n #igura urtoare&
2igura ;& Diagraa entitate$relaie
(egtura dintre entitile E(E@ i C4T4(O= este de tipul Xunu la unuH de la
entitatea E(E@ la entitatea C4T4(O=" i de tipul Xunu la uliH de la entitatea C4T4(O=
Pagina 24 din 33
ELEV
CATALOG
9"9 "9
DICIPLI!A
9"9
"9
la entitatea E(E@& 4ceasta nsean ca un elev va apare n catalog cel puin o dat dar" n
od noral" el va apare n ai ulte instane ale entitii C4T4(O=&
Entitile identi#icate sunt caracterizate #iecare de o serie de atri%ute&
An continuare sunt prezentate entitile din diagraa structural preun cu atri%utele
#iecreia&
2igura <& 4tri%utele entitii E(E@
2igura S& 4tri%utele entitii C4T4(O=
2igura T& 4tri%utele entitii DI0CI)(IN4
Ca atri%ut de identi#icare pentru entitatea E(E@ se alege atri%utul NR54TRICO(&
)entru entitatea C4T4(O=" atri%utul de identi#icare este atri%utul NR54TRICO(" iar
pentru entitatea DI0CI)(IN4 acesta este coddiscip&
4naliza dinaic are drept scop e3plicarea coportaentului eleentelor
coponente ale sisteului in#oratic analizat&
An ura acestei analize se o%ine odelul dinaic al sisteului analizat&
Construirea odelului dinaic presupune urtoarele etape !
identi#icarea strilor n care se pot a#la coponentele sisteuluiN
identi#icarea evenientelor care deterin trecerea unei coponente dintr$o stare n
altaN
sta%ilirea succesiunii +#lu3ului, de eveniente i construirea unei diagrae care s
re#lecte tranziiile de stare pentru coponentele sisteului +diagraa de #lu3 a
evenientelor,&
Pagina 25 din 33
St%rile &n care se
poate afla entitatea
ELEV
St%rile &n care se
poate afla entitatea
CATALOG
ELEV
MAMA
AA
P$'N(M'
N(M'
DAANAS
AD$'SA
'L')ON
N$MA$#COL
D#SC#PL#NA D'N(M#$'
CODD#SC#P
ANS(D#(
CAALO* DAA
CODD#SC#P
N$MA$#COL
NOA
A+S'NA
2igura J& Diagraa de #lu3 a evenientelor" corespunztoare strilor
celor dou entiti
(a realizarea diagraei de #lu3 a evenientelor este necesar s se in cont de
restriciile dinaice ale sisteului care servesc la identi#icarea tranziiilor adisi%ile ntre
dou stri&
An #igura J sunt prezentate strile n care se pot a#la cele dou entiti care copun
sisteul&
Tranziiile entitilor sisteului dintr$o stare n alta in#lueneaz tranzaciile
+trans#erurile de date, care au loc n interiorul sisteului" iar acestea la r'ndul lor in#lueneaz
odul de realizare a aplicaiilor so#t6are destinate sisteului&
4naliza #uncional are drept scop deterinarea trans#orrilor de date care se
produc n cadrul sisteului in#oratic analizat n scopul satis#acerii cerinelor in#oraionale
a#erente acestuia& Trans#orrile de date se vor reprezenta su% #ora unei diagrae de #lu3 a
prelucrrilor" n care nodurile re#lect procesele de prelucrare in#oraional" iar arcele
re#lect #lu3urile in#oraionale&
An cadrul analizei #uncionale" accentul se deplaseaz de la realitatea analizat ctre
cerinele in#oraionale ale utilizatorilor" cerine a cror satis#acere constituie o%iectivul
realizrii %azei de date&
Construirea odelului #uncional presupune parcurgerea urtoarelor etape!
identi#icarea datelor de intrare i a datelor de ieire din sisteN
construirea diagraelor de #lu3" prin care sunt re#lectate legturile procedurale dintre
intrri i ieiriN
identi#icarea restriciilorN
precizarea criteriilor de optiizare&
Datele de intrare pentru pro%lea analizat sunt urtoarele!
datele care descriu atri%utele entitii E(E@" n cazul adugrii de noi eleviN
datele care descriu atri%utele entitii C4T4(O=" pentru evidena notelor i a
a%senelorN
datele care descriu atri%utele entitii DI0CI)(IN4" pentru evidena disciplinelor care
tre%uie predate con#or planului de studiuN
Pagina 26 din 33
)r not
Cu not
'valuare
Parcurgere
materie f%r%
evaluare
'ste completat
la termen
Nu este completat
,pentru fiecare elev
cel puin trei note-
Necompletare
la termene
Completare
Datele de ieire sunt reprezentate de!
lista elevilor dintr$o anuit clasN
catalogul n #or electronicN
alte rapoarte la cerere&
)relucrrile de date care tre%uiesc e#ectuate constau n urtoarele aciuni!
adugarea de noi elevi n %aza de dateN
tergerea unui elevN
e3tragerea de rapoarte privind elevii care studiaz" eventual acest raport tre%uie sa #ie
ordonate&
Diagraele de #lu3 a prelucrrilor sunt prezentate n #igurile urtoare&
2igura J& Diagrae de #lu3 a prelucrrilor
An #inal cele trei odele ale sisteului vor #i integrate pentru se o%ine o reprezentare
coplet a sisteului analizat& 5odelul structural i cel dinaic sunt o%inute prin
investigarea sisteului real" a proprietilor intrinseci" statice i dinaice ale coponentelor
acestui siste" proprieti care sunt independente de aplicaiile care opereaz asupra lor&
5odelul #uncional este rezultatul analizei cerinelor in#oraionale ale utilizatorilor"
ai precis a tranzaciilor prin care pot #i satis#cute aceste cerine&
)erspectiva di#erita din care este realizata analiza e3plica de ce rezultatele o%tinute
pot sa di#ere #iind necesara o coordonare" deci o integrare a lor&
An cadrul etapei de integrare a odelelor sisteului se sta%ilete n ce sur odelul
structural i cel dinaic satis#ac necesitile di#eritelor aplicaii" veri#ic'ndu$se coplitudinea
+e3istena eleentelor in#oraionale solicitate, i consistena lor +n ce sur
coponentele odelelor sunt necesare i su#iciente n raport cu procesele de prelucrare,& 0e
veri#ic dac relaiile dintre coponentele sisteului sunt sta%ilite n od corespunzator"
pentru a #ace posi%il regsirea in#oraiilor din ai ulte entiti& 0e deterin" de
aseenea" dac legturile dintre entiti asigur coerena in#oraiilor" posi%ilitatea e#ecturii
de actualizri concoitente asupra datelor redundante&
Pagina 27 din 33
DI0CI)(IN4
E(E@
4dugare elev
nou
0terge elev
C4T4(O=
0e urrete ca toate eleentele in#oraionale participante la di#eritele tranzacii s
#ie asignate ca atri%ute ale di#eritelor entiti&
)e %aza acestei analize integrate se e#ectueaz adugrile iPsau corelrile necesare
ntre odelele sisteului&
An #inal se ajunge ca odelul dinaic i cel structural s nu ai #ie coplet
independente de aplicaii" iar odelul #uncional s nu ai #ie orientat e3clusiv pe aplicaii&
5odelele o%inute n ura analizei sisteului in#oraional sunt odele ale datelor
despre siste& O caracteristic eseniala a acestor odele este #aptul c sunt independente de
instruentul" respectiv 0=1D$ul prin interediul cruia devin operaionale&
Etapa de analiz a sisteului in#oratic este iportant s se realizeze independent de
un 0=1D speci#icat& Orientarea pe conceptele proprii unui anuit 0=1D prezint nueroase
dezavantaje cu sunt!
sc*i%area 0=1D$ului ipune reproiectarea %azei de dateN
conceptele te*nice ale 0=1D$ului pot in#luena negativ activitatea de analiz i
odelare" prin restricii ipuse de acesta" care pot descuraja sau ncuraja anuite
reprezentriN
#i3'nd ca punct de plecare #acilitile unui 0=1D" utilizatorul nein#oratician" care
nu stp'nete acest 0=1D" nu i poate e3pria cerinele n deplin cunotin de cauz&
Trecerea la proiectarea structurii %azei de date ipune luarea n considerare a 0=1D$
ului cu ajutorul caruia va #i ipleentat i e3ploatat %aza de date& 4ceasta deoarece %aza
de date reprezint un odel al datelor e3priat cu ajutorul conceptelor speci#ice unui anuit
0=1D" ceea ce #ace proiectarea structurii %azei de date s reprezinte transpunerea odelelor
conceptuale n terenii unui odel al datelor suportat de un anuit tip de 0=1D&
Etapele de proiectare a structurii %azei de date constau n urtoarele activiti!
alegerea 0=1D$ului care va #i utilizat pentru ipleentarea si e3ploatarea %azei de
dateN
proiectarea sc*eei conceptuale a %azei de dateN
proiectarea sc*eei e3terne a %azei de date&
<&<& 4(E=ERE4 0I0TE5U(UI DE =E0TIUNE 4 14WEI DE D4TE UTI(IW4T
4legerea unui 0=1D presupune realizarea urtoarelor activiti!
0ta%ilirea cerinelor utilizatorilor" su% aspectul!
Pagina 28 din 33
tipurilor de aplicaii dorite"
tipului de rspuns"
con#idenialitii datelor"
securitii datelor"
uurinei de utilizare&
0ta%ilirea cerinelor de ordin te*nic privind realizarea %azei de date" cu sunt!
porta%ilitatea 0=1D$ului" adica posi%ilitatea #olosirii 0=1D$ului pe di#erite sistee
de calculN
porta%ilitatea coleciilor de date i a prograelor& 4ceasta nsean c datele
pregtite cu ajutorul unui calculator s poat #i trans#erate direct pe alt tip de calculator"
preun cu prograele a#erente" #r alte operaii au3iliareN
#acilitile de ncrcare" e3ploatare i ntreinere a %azei de date care tre%uiesc
asigurate&
0ta%ilirea cerinelor de ordin econoic" privind!
ncadrarea n %ugetul alocat pentru realizarea %azei de dateN
tipul necesar pentru pregtirea utilizatorilor i trecerea la e3ploatarea curent a %azei
de date&
Ierar*izarea cerinelor de la punctele anterioare" n #uncie de iportana acordat
#iecrei cerine n parte&
4naliza coparativ a 0=1D$urilor disponi%ile iPsau posi%il de ac*iziionat" n
#uncie de caracteristicile pe care le prezint aceste 0=1D$uri&
0ta%ilirea corespondenei ntre cerinele #orulate la punctele 9$< i caracteristicile
di#eritelor 0=1D$uri analizate" pentru a deterina sura n care di#erite 0=1D$uri analizate
perit satis#acerea cerinelor #orulate&
4legerea propriu$zis a 0=1D$ului care va #i #olosit la realizarea %azei de date&
4plicaia care tre%uie realizat presupune anevrarea unui volu ediu de date" ce
pot #i reprezentate i anevrate cood #olosind un odel de date relaional& Din aceast
cauz se va alege un 0=1D relaional care s posede i un li%aj cood pentru dezvoltarea
de aplicaii&
0=1D$urile relaionale utilizate astzi n Ro'nia pentru %aze de date de ic
anvergur sunt urtoarele! 5icroso#t 2o3)ro +versiunile su% DO0 sau @isual2o3)ro su%
Cindo6s," 50$4cces" )arado3 &a& )e l'ng aceste 0=1D$uri se ai pot dezvolta aplicaii
de %aze de date i n ediile de prograare vizuale +@isual CQQ" 1orland CQQ 1uilder"
1orland Delp*i" @isual 1asic,&
Pagina 29 din 33
Yin'nd cont de cele prezentate ai sus se alege" pentru realizarea aplicaiei" 0=1D$ul
50$4cces" care #ace parte din pac*etul 50$O##ice i este e#icient pentru %aze de date de
diensiuni edii i ari&
<&S& )ROIECT4RE4 0CGE5EI CONCE)TU4(E
)roiectarea sc*eei conceptuale a %azei de date presupune urtoarele activiti!
0ta%ilirea colecYiilor de date i de#inirea detaliat a coninutului acestora& (a
sta%ilirea acestora se pleac de la entitile identi#icate n etapa de analiz a sisteului&
2iecrei entiti i corespunde" de o%icei" o colecie de date n cadrul sc*eei conceptuale& An
aceste colecii vor #igura atri%utele speci#ice entitilor plus eventual o serie de atri%ute pentru
e3priarea legturilor cu celelalte coponente ale sisteului real" atri%ute cunoscute su%
nuele de c*ei e3terne& Deoarece nu ntotdeauna e3ist o coresponden strict ntre entitile
din odelele seantice i coleciile de date din sc*ea conceptual a %azei de date i din
considerente de aeliorare a lucrului pe aceste colecii de date se poate decide XspargereaH
unei entiti n dou sau ai ulte colecii de date& 4cest lucru duce la o cretere a
#le3i%ilitii de operare cu coleciile de date respective& X0pargereaH unei entiti n dou sau
ai ulte colecii de date se realizeaz in'nd seaa de cerinele in#oraionale ale
sisteului i de durata de e3isten a datelor n cadrul sisteului& 4st#el" datele care sunt
solicitate ai des de ctre utilizatori" cele care se odi#ic la intervale reduse de tip sau
cele care" dei nu se odi#ica prea des" sunt solicitate #recvent de ctre prograe pentru a
genera alte date +prin calcul sau n alt od," pot constitui colecii separate de date pentru a
reduce tipul necesar regsirii in#oraiilor cutate& Cu toate acestea" %untirea
per#oranelor n anipularea entitilor nu presupune o%ligatoriu rirea nurului
coleciilor de date #olosite n cadrul sc*eei conceptuale& 4ceasta deoarece nu se poate
adite o cretere neliitat a nurului de colecii de date lucru care deterin creterea
di#icultilor de localizare i accesare a datelor& (egturile ntre un nuar are de colecii de
date ipune i creterea redundanei datelor n cadrul %azei de date i deci o utilizare
ine#icient a suportului de eorare&
deterinarea legaturilor dintre colectiile de date i a odului de reprezentare a
acestora n cadrul sc*eei conceptuale se realizeaz" n principiu pe %aza legturilor dintre
entitile identi#icate n cadrul etapei de analiz a sisteului i a cerinelor in#oraionale&
Este necesar s se deterine" de aseenea i legturile dintre coleciile care nu au
corespondent direct n entitile care copun sisteul" dar care la r'ndul lor se a#l n
Pagina 30 din 33
asociere" unele cu altele& 5odul de reprezentare a legturilor dintre coleciile de date depinde
de odelul datelor suportate de 0=1D& 4st#el" odelul ierar*ic i cel reea utilizeaz pointeri
+adrese legatur, pentru nlnuirea datelor n cadrul coleciilor& 5odelul relaional reprezint
legturile dintre coleciile de date +relaii, cu ajutorul c*eilor e3terne sau cu ajutorul unor
colecii de date distincte& 4ceast reprezentare uni#or a datelor i a asocierilor ntre date
prin interediul relaiilor constituie o caracteristic a odelului relaional" care con#er
acestuia o are siplitate i #le3i%ilitate&
testarea sc*eei CONCE)TU4(E o%Yinute presupune veri#icarea copletitudinii i
consistenei sc*eei conceptuale" adic deterinarea gradului n care sc*ea conine
eleentele in#oraionale necesare satis#acerii cerinelor in#oraionale ale di#eriilor
utilizatori i sura n care legturile sta%ilite ntre aceste eleente in#oraionale re#lect
raporturile naturale dintre coponentele sisteului real& De aseenea" prin testarea sc*eei
conceptuale tre%uie s se veri#ice dac redundana datelor este la un nivel ini i poate #i
controlat& Testarea sc*eei conceptuale perite identi#icarea unor eventuale erori de
proiectare care #ac necesar revizuirea sc*eei& An acest caz se va relua etapa de proiectare a
structurii %azei de date" i" uneori" i etapa de analiz a sisteului i a cerinelor
in#oraionale&
descrierea sc*eei conceptuale n li%ajul de descriere a datelor de care dispune
0=1D$ul i ncrcarea acestei descrieri n %aza de date&
Descrierea sc*eei conceptuale a %azei de date se realizeaz n li%ajul de descriere
a datelor de care dispune 0=1D$ul #olosit& Rezultatul acestei descrieri l constituie proiectul
%azei de date sau sc*ea %azei de date&
Copilatorul li%ajului de descriere a datelor perite aducerea sc*eei %azei de date
n #ora la care aceasta poate #i eorata in %aza de date&
(a realizarea acestor activitati sunt utilizate" n principal odelul structural i cel
dinaic al sisteului analizat&
)entru aplicaia noastr" coleciile de date care de#inesc cele trei entiti ale sisteului
vor #i identice cu descrierea entitilor realizat prin diagraele entitate$relaie&
An continuare sunt descries coleciile de date utilizate n cadrul %azei de date&
E(E@
NR54TRICO( C4R4CTER S
NU5E C4R4CTER <8
Pagina 31 din 33
)RENU5E C4R4CTER <<
D4T4N40T D4TEPTI5E
T4T4 C4R4CTER 9T
5454 C4R4CTER 9T
4DRE04 C4R4CTER S8
TE(E2ON C4R4CTER 9T
C4T4(O=
NR54TRICO( C4R4CTER S
CODDI0CI) C4R4CTER J
D4T4 D4TEPTI5E
410ENT4 C4R4CTER 9
NOT4 C4R4CTER ;
DI0CI)(IN4
CODDI0CI) C4R4CTER T
DENU5IRE C4R4CTER ;<
4N0TUDIU C4R4CTER ;
<&T& )ROIECT4RE4 0CGE5EI E/TERNE
0c*ea e3tern a %azei de date reprezint #ora su% care apare sc*ea conceptual
pentru un utilizator oarecare& )rograele de aplicaie opereaz asupra sc*eei conceptuale
prin interediul sc*eei e3terne" av'nd acces doar la acele eleente care sunt incluse n
sc*ea e3tern&
An general" eleentele care copun sc*ea e3tern sunt siilare celor care copun
sc*ea conceptual" depinz'nd totui de tipul de 0=1D utilizat&
An cazul aplicaiei de #a" sc*ea e3tern cuprinde structura rapoartelor care
tre%uiesc ntocite de ctre prograe prin selectarea in#oraiilor corespunztoare&
Rapoartele care tre%uiesc ntocite de ctre aplicaie sunt urtoarele!
lista ordonat descresctor a elevilor dintr$o clas anuit pe %aza ediei o%inuteN
Pagina 32 din 33
catalogulN
alte rapoarte" la cererea utilizatorului&
Raportul care cuprinde rezultatele elevilor va conine" practic urtoarele in#oraii!
antetul docuentului" clasa pentru care se e3trag date" titlul raportului" lista propriu$zis a
elevilor i a ediilor acestora&
)entru vizualizarea situaiei colare a unui elev se ntocete un raport ce va conine!
nuele i prenuele elevului" clasa n care este" lista disciplinelor cu notele o%inute i cu
a%senele acuulate& 4cest raport poate #i vizualizat pe ecran sau triis la iprianta&
<&J& )ROIECT4RE4 0CGE5EI INTERNE
0c*ea intern reprezint odul cu sunt stocate datele pe suportul de eorie
e3tern&
)entru pro%lea analizat" sc*ea intern este reprezentat de descrierea structurii
ta%elelor din %aza de date&
0tructura ta%elelor 50$4ccess se poate o%serva ai jos&
Pagina 33 din 33
Relaiile generate autoat ntre cele trei ta%ele sunt prezentate ai jos&
S& )ROIECT4RE4 4)(IC4YIEI
4ceast etap a realizrii aplicaiei presupune e#ectuarea urtoarelor activiti !
identi#icarea datelor de intrare i iesireN
identi#icarea aciunilorN
proiectarea structurii aplicaieiN
proiectarea procedurilorN
proiectarea #orularelor de introducere a datelor
proiectarea rapoartelorN
ipleentarea aplicaieiN
testarea i depanarea aplicaiei&
Pagina 34 din 33
4ciunile prograului se pot identi#ica din sc*ea #uncional i constau n
urtoarele!
introducere date pentru nregistrarea unui elev nouN
odi#icare date privind anuiti eleviN
tergerea in#oraiilor privind un anuit elev dac aceasta a a%solvit sau a #ost
trans#erat la alt coalaN
introducere date privind acuularea de noi a%seneN
cutare elev pentru care se speci#ic nuele sau nurul atricolN
a#iare date elevi" la cererea utilizatoruluiN
odi#icare date personale ale elevilorN
tergerea unui elev din %aza de dateN
2iecare din aceste activiti va #i ipleentat prin interediul unei unelte
specializate din cele o#erite de 50$4cces
)entru aciuni deose%ite se pot realize i proceduri de lucru n li%ajul @isual 1asic
#or 4pplication& 4cest li%aj perite dezvoltarea de aplicaii direct din ediul 50$O##ice&
Interogarea %azei de date se va realiza prin interediului instruentului nuit >uerrE
care ipleenteaz cutarea de tip >1E +>uerrE 1E E3aple, i prin interediul li%ajului
0>(& De alt#el" n 50$4ccess orice interogare realizat prin >1E are asociat i o #raz 0>(
care conduce la rezultatul dorit&
Introducerea datelor n ta%ele se realizeaz prin interediul #orularelor pentru
introducere date prezentate ai jos&
)rocedurile care ipleenteaz aciunile prograului sunt prezentate n ane3"
preun cu coentariile necesare& 4lturi de codul prograului sunt ane3ate i c'teva din
#erestrele de lucru ale prograului i un rezultat al e3ecutrii acestuia&
Pagina 35 din 33