Sunteți pe pagina 1din 27

CURS 10

Proiectarea bazei de
date
Proiectarea bazei de date
Este o activitate distinct i deosebit de important, prin
efectele ei n prelucrarea ulterioar a datelor, care se
ncadreaz n metodologia de proiectare a sistemelor
informatice.
Corespunztor celor 3 niveluri de organizare a datelor n
baze de date, proiectarea bazei de date se va face la
nivel logic, fizic i virtual.
Activitatea de proiectare a bazei de date presupune
realizarea urmtoarelor activiti:
a). Proiectarea structurii conceptuale a bazei de date :
b). Proiectarea structurii logice a bazei de date ;
c). Proiectarea structurii fizice a bazei de date ;
d). Alegerea sistemului de gestiune a bazei de date .
Modelul relaional
Modelul relaional de baze de date cuprinde trei
componente principale:
Structura datelor ;
Restricii de integritate a datelor;
Operatorii de prelucrare a datelor, prin operaii din
algebra relaional sau calculul relaional.
De regul relaiile sunt reprezentate sub forma unor tabele
bidimensionale n care fiecare rnd reprezint un tuplu i
fiecare coloan reprezint valorile tuplurilor dintr-un
domeniu dat al produsului cartezian.
n reprezentarea sub form de tabel a unei relaii,
coloanelor i, respectiv domeniilor corespunztoare lor li
se asociaz nume intitulate atribute.
Relaia
este o asociere stabilit ntre dou sau mai multe cmpuri comune care se
gsesc n dou tabele. O relaie leag astfel date aparent izolate.
Considernd dou tabele, A i B, relaiile pot fi de mai multe feluri:
unu la unu (one-to-one ); n acest caz se cere ca valoarea cmpului cheie
dintr-o singur nregistrare a tabelei A s fie identic cu o singur valoare
corespondent din cmpul asociat din tabela de legtur B. Cu alte cuvinte,
fiecare nregistrare din tabela A poate avea doar o singur nregistrare
corespondent n B i invers. Acest tip de relaie este mai puin utilizat,
cci datele se pot afla, n acest caz, ntr-o singur tabel.
unu la muli (one-to-many); n acest caz se cere unicitatea cmpului cheie
din tabela A, dar valorile lui s fie identice cu mai multe valori ale cmpului
asociat din tabela B. Cu alte cuvinte, o nregistrare din tabela A poate avea
mai multe nregistrri corespondente n tabela B, dar o nregistrare din B se
potrivete cu o singur nregistrare din tabela A. Practic legtura se face
ntre cheia primar a tabelei de baz, A, i cheile externe corespunztoare
din tabelele corelate.
muli la muli (many-to-many). n acest caz nu exist nici o relaie unic
ntre cmpurile cheie ale tabelelor A i B, fiecare dintre acestea coninnd
valori duplicat n cealalt tabel. Acest tip de relaie este echivalent i se
poate descompune n dou relaii de tip one-to-many. Relaia este posibil
prin definirea unei tabele noi, C, numit tabel de jonciune, a crei cheie
primar este format din cele dou chei primare, devenite astfel chei
externe ale celor dou tabele care trebuie corelate.
Proiectarea structurii conceptuale
a bazei de date
Presupune realizarea urmtoarelor activiti
specifice:
a). Definirea detaliat a coleciilor de date
b). Determinarea legturilor dintre colecii
c). Definirea modelului conceptual de ansamblu
al datelor
d). Testarea modelului conceptual de ansamblu
al datelor
e). Transpunerea modelului conceptual
Toate aceste activiti pornesc de la Modelul
Entitate Asociere, definit in etapa de Studiu si
analiza a sistemului existent.
Normalizarea bazei de date
Normalizarea conduce la ameliorarea structurii bazei de date,
nlturndu-se treptat o serie de neajunsuri i asigurnd faciliti
sporite n privina ncrcrii, actualizrii i exploatrii bazei de date.
Necesitatea normalizarii progresive este dat de faptul c anumite
relaii pot genera o serie de situaii nedorite, aa-numitele "anomalii
de actualizare", cum sunt: anomalia de adugare, anomalia de
modificare.
Anomalia de tergere rezult din faptul c tergnd un tuplu al unei
relaii, odat cu tergerea anumitor informaii se pierd i informatiile
utile, existente n tuplul respectiv.
Anomalia de adugare rezult din faptul ca nu pot fi incluse noi
informaii ntr-o relaie deoarece nu se cunosc i alte informaii
cerute pentru adugarea unui nou tuplu la acea relaie, n principal
valorile pentru atributele din cheie.
Anomalia de modificare rezult din faptul c e dificil de modificat o
valoare a unui atribut atunci cnd ea apare n mai mult dect ntr-un
tuplu al relaiei.
Regulile normalizrii unei baze de
date relaionale
1. O baz de date este n FN1 dac toate tabelele sale sunt n FN1.
O tabel e n FN1 dac toate atributele ei sunt elementare
(nedecompozabile) i nu conine grupuri repetitive.
2. O baz de date este n FN2 dac toate tabelele sale componente
sunt n FN2.
O tabel este n FN2 dac i numai dac este n FN1 i fiecare
cmp noncheie al tabelei este dependent funcional direct i
complet de cmpul cheie al tabelei.
3. O baz de date este n FN3 dac toate tabelele ce o compun sunt
n FN3.
O tabel este n FN3 dac fiecare atribut noncheie al tabelei
depinde n mod netranzitiv de cheia tabelei.
4. O baz de date este n FN4 dac i numai dac este n FN3 i nu
conine dou sau mai multe dependene multivaloare.
Prin verificarea modelului se poate ajunge la rearanjarea unor
componente ale modelului, la adugarea unor relaii suplimentare
care nseamn practic introducerea de noi entiti.
Concluzii cu privire la proiectarea structurii
conceptuale a bazei de date
a). Proiectarea structurii conceptuale a bazei de date se
realizeaz de regul ntr-o abordare top-down. Se
pleac de la un prim model conceptual de ansamblu,
care este apoi detaliat i corectat, pn la obinerea
structurii conceptuale a bazei de date.
b). Proiectarea structurii conceptuale are la baz o
modelare a datelor relativ independent de aplicaii.
c). Proiectarea structurii conceptuale a bazelor de date are
la baz o modelare a datelor independent de
instrumentul informatic de implementare (SGBD).

Proiectarea structurii logice a bazei de date


Structura logic a bazei de date reprezint forma sub
care apare structura conceptual a bazei de date pentru
un utilizator oarecare.
Programele de aplicaie opereaz asupra elementelor
structurii conceptuale prin intermediul structurii logice,
avnd acces doar la acele elemente ale structurii
conceptuale care sunt incluse n structura logic.
n aceast etap se denumesc tabelele componente ale
bazei de date, se definete practic structura logic a
fiecrei tabele, se descriu relaiile dintre ele i se
stabilesc restriciile de integritate a acestora.
Pentru fiecare atribut din structur (cmp de date) se
specific elementele de caracterizare, i anume: tipul,
lungimea, eventuale restricii privind domeniul valorilor
admise sau corelaiile implicate, rolul de atribut non-
cheie sau atribut cheie i tipul acesteia (cheie primar,
cheie extern, cheie candidat).
Proiectarea structurii fizice a bazei de date
Structura conceptual a bazei de date mbrac diferite forme de reprezentare: liniar,
arborescent, reea, relaional.
Metoda de liniarizare a structurii virtuale este specific diferitelor SGBD-uri utilizate.
Principalele activiti abordate n cadrul acestei faze sunt:
proiectarea machetelor de stocare a datelor
definirea caracteristicilor fizice la nivelul fiierelor bazei de date
calculul necesarului de suport tehnic de date
Alegerea sistemului de gestiune a bazelor de date se face pe baza unor criterii ca:
Cerinele utilizatorilor, n legtur cu tipul de aplicaii solicitate, timpul de rspuns al
sistemului, securitatea datelor, confidenialitatea lor, uurina de utilizare, etc. E
posibil uneori ca utilizatorul s impun chiar el un anume SGBD.
Necesiti de ordin tehnic, legate de portabilitatea coleciilor de date, a programelor
i a SGBD-ului ales.
Cerine de ordin economic, legate de ncadrarea n totalul resurselor alocate
pentru realizarea noului sistem informatic, cum sunt cele financiare, de personal i de
timp.
Costul sistemului dat de timpul de ocupare a unitii centrale, costul de ntreinere
i dezvoltare al sistemului, resursele hardware imobilizate, costul de adaptare i
trecere pe alt sistem de calcul, costul documentaiei etc.
Protecia i securitatea datelor din baza de date.
Specificul aplicaiei. Se tie c programele sunt orientate pe aplicaii, cum
Timpul i costul pentru instruirea personalului care s utilizeze SGBD-ul i
aplicaia realizat
Facilite de implementare, de ntreinere, exploatare a bazei de date.
Proiectarea interfeei
Interfaa cu utilizatorul reprezinta modul in care
comunic aplicaia proiectat cu utilizatorul nespecialist
n informatic .
Avem n vedere dou aspecte importante ale interfeei
unei aplicaii:
caracteristicile vizuale ale interfeei
comportamentul interfeei ca rspuns la aciunea utilizatorului.
Observatie:
Practic, interfaa aplicaiei reprezint posibilitatea
utilizatorului de a comunica direct cu aceasta, deci de a
nelege cerinele aplicaiei n fiecare moment i
modalitatea n care trebuie s-i rspund. De reuita
acestui dialog permanent depinde n mare msur
succesul execuiei aplicaiei, a corectitudinii datelor
furnizate.
Cerinte ale proiectarii interfetei
Consistent: Aceasta nseamn c pentru o anumit operaie s se
foloseasc acelai obiect vizual. Accesul la operaii similare s se
faca deci prin aceleai aciuni ale utilizatorului (mouse, tastatur) i
folosind acelai obiect vizual.
Intuitiv: Interfaa s fie sugestiv, s poat fi intuit chiar fr
documentaie sau cursuri de instruire.
Extensibil: Aceasta nseamn c ea trebuie s fie adaptabil la
noi echipamente hard (de exemplu monitoare cu rezoluie mai
mare);
Atractiv: Aceasta nseamn c interfaa trebuie s aib
caracteristici estetice care s atrag utilizatorul, s-i fac plcere s
comunice cu ea. O interfa aglomerat va ndeprta utilizatorul.
Uor de utilizat: Aceasta nseamn c operaiile simple trebuie s
se realizeze prin aciuni simple ale utilizatorului. Operaiile complexe
trebuie s se realizeze printr-o succesiune de aciuni simple ale
utilizatorului.
Uor de nvat: Aceasta nseamn c orice aciune utilizator
trebuie s fie uor de realizat. Experiena acumulat n nvarea
unor aciuni s poat fi folosit la nvarea altor aciuni.
Principii sau cele 10 porunci
(1) Utilizatorul (U) controleaz programul: U simte c el controleaz
programul, i nu invers (programul l dirijeaz pe el)
Aceast cerin este caracterizat de rolul activ al utilizatorului,
personalizarea mediului de lucru, anumite caracteristici ale
programului.
Rolul activ al utilizatorului nseamn n special c:
Utilizatorul iniiaz aciuni ;
Utilizatorul conduce aplicaia: calculatorul doar execut comenzile
utilizatorului i nu invers.
Caracteristicile programului pe care se sprijin aceast calitate se
refer la:
interactivitate
reacie (rspuns) la fiecare aciune a utilizatorului
flexibilitate
Personalizarea mediului de lucru
aplicatia trebuie s permit utilizatorului s se simt ct mai comod
Principii sau cele 10 porunci
(2) Utilizatorul manipuleaz direct informaia, cu alte
cuvinte, U trebuie s poat opera direct cu
reprezentarea pe ecran a informaiei. n acest fel, el
poate constata direct relaia cauz-efect ntre aciunile
sale (efectuate prin intermediul interfeei) i rezultatul
acestora (modul n care programul reacioneaz la
aciunile sale).
fereastra, elementul esenial al interfeei utilizator n
Windows, este utilizat i n cadrul interfeelor cu
utilizatorul a aplicaiilor informatice. ntr-o fereastr,
informaia este reprezentat ntr-o form ct mai
natural, n special prin text.
interfaa utilizator trebuie s ofere utilizatorului o manier
direct i intuitiv de comunicare.
Principii sau cele 10 porunci
(3) Consistena.
Aceast proprietate a interfeei utilizator permite
utilizatorului s nvee rapid utilizarea unor noi
aplicaii, prin folosirea cunotinelor acumulate
pe parcursul nvrii i utilizrii altor aplicaii
Windows.
Se obine ceea ce se numete stabilitate:
interfaa este familiar (chiar dac este vorba de
o nou aplicaie), iar rspunsul aplicaiei este
previzibil (altfel spus, se mizeaz pe
comportamentul uniform al aplicaiilor).
Principii sau cele 10 porunci
(4) Claritate.
Aceast calitate a interfeei utilizator poate fi discutat din trei
puncte de vedere: vizual, conceptual, lingvistic.
Claritatea vizual a interfeei este asigurat de elementele
(obiectele) vizuale care o compun. Acestea trebuie s fie
sugestive, uor de neles, ele reprezentnd n fapt o
transpunere simplificat a unor obiecte reale.
Claritatea conceptual se caracterizeaz prin dou atribute:
simplu i realist
Simplitatea interfeei nseamn numr rezonabil de obiecte
pe un ecran (pe o fereastr).
Caracterul realist al interfeei se realizeaz prin
similitudinile cu obiectele reale
Claritatea lingvistic se refer la textul care apare n interfa.
Denumirile opiunilor de meniu, etichetele, mesajele, etc.
trebuie s fie clare, neambigue, iar exprimarea lor trebuie s
foloseasc limba literar i nu limbajul propriu comunitii
informatice.
Principii sau cele 10 porunci
(5) Estetic
Interfaa trebuie s atrag utilizatorul, s-i plac
acestuia. Mediul vizual plcut, prietenos,
contribuie la confortul utilizatorului i la o mai
bun nelegere a informaiei prezentate. Nimic
din ceea ce poate contribui la sporirea
atributelor estetice ale interfeei nu trebuie
neglijat
De aceea este bine ca utilizatorul s fie implicat
n proiectarea interfeei.
Principii sau cele 10 porunci
(6) Rspuns imediat la aciunile utilizatorului
Aceast cerin contribuie la sporirea confortului
utilizatorului i impune ca aplicaia s confirme
vizual c a preluat cererea utilizatorului i c
este n curs execuia aciunii aferente cererii.
Cnd este vorba de aciuni care dureaz mai
mult, informaia care trebuie afiat ca rspuns
la aciunile utilizatorului trebuie s precizeze:
starea (derularea) aciunii n curs
modul n care aciunea poate fi suspendat sau
abandonat
Principii sau cele 10 porunci
(7) Toleran la greelile utilizatorului
Utilizatorul uman nu este o main, iar aceast cerin
de toleran este ct se poate de natural. De multe ori
ns, greelile de operare pot avea efecte irecuperabile.
De exemplu, tergerea unui fiier, efectuat din
greeal, sub imperiul grabei, oboselii sau pur i simplu
din neatenie
O bun interfa utilizator trebuie s neleag gama de
erori poteniale pe care utilizatorul este capabil s le
comit i s aib prevzute posibiliti de recuperare din
astfel de situaii nedorite. Ea trebuie s atenioneze
utilizatorul n situaiile (provocate prin comenzile pe care
acesta le d) cnd starea aplicaiei sau datele cu care
acestea opereaz se pot deteriora.
O bun interfa utilizator are prevzute proceduri de
recuperare din situaiile de eroare i, mai mult, face
aciunile reversibile.
Principii sau cele 10 porunci
(8) Atenie acordat limitelor umane
Utilizatorul uman nu este o main, un automat. Pe lng
dispoziia sufleteasc schimbtoare, fiecare individ are o
anumit capacitate de nelegere, memorare i gndire.
Cerina aceasta statueaz c programul, aplicaia, trebuie s
in cont de limitele umane, s le neleag i s le respecte.
Acele aplicaii care foreaz depirea limitelor umane
normale nu au succes la publicul larg.
Cu alte cuvinte, aplicaia nu trebuie s constrng utilizatorul
la:
efectuarea de calcule manuale
memorarea unor secvene lungi de comenzi sau operaii
pentru realizarea unei aciuni
memorarea unor prescurtri criptografice pentru
denumirile aciunilor
Se recomand ca toate opiunile aplicaiei s fie prezentate
explicit, ntr-o manier ierarhic.
Principii sau cele 10 porunci
(9) Adaptare progresiv
La proiectarea interfeei utilizator trebuie gsit un echilibru
ntre dou criterii contradictorii:
maximizarea funcionalitii aplicaiei i
minimizarea complexitii aplicaiei.
Adaptarea progresiv implic dou aspecte:
organizarea atent a informaiei din interfa, evitnd
aglomerarea acesteia pe un singur ecran
prezentarea fiecrei informaii la momentul potrivit; cnd
nu este nevoie de ea, informaia se ascunde.
O bun interfa va prezenta informaia ntr-o manier
ierarhic
De regul, comenzilor de meniu mai frecvent folosite li se
asociaz butoane, tocmai n ideea ca accesarea acestor
comenzi s se fac ct mai simplu.
Principii sau cele 10 porunci
(10) Metodologie
Regulile sau cerinele enumerate sunt necesare,
ns nu i suficiente pentru proiectarea interfeei
utilizator
Atenie!
Activitatea de proiectare a interfeei trebuie s
aib n centrul ei utilizatorul.
Pe toat durata proiectrii interfaa trebuie
gndit de pe poziia utilizatorului i alturi de
acesta.
REALIZAREA PROGRAMELOR
Realizarea programelor sau activitatea de programare
este o etap deosebit de important n ciclul de via al
unui sistem informatic.
Activitile care se desfoar n legtur cu elaborarea
programelor pot fi enumerate astfel:
Analiza i nsuirea documentaiei tehnice de
realizare
Proiectarea programului
Programarea, codificarea sau scrierea propriu-zis a
programului
Testarea programului realizat
Realizarea documentaiei corespunztoare
PROGRAMAREA
Modularitatea, ca atribut general al oricrui sistem, permite ca
funciile logice s poat fi grupate i apoi subgrupate ct mai
independent, n module sau proceduri automate ce vor fi
concretizate apoi n programe sau module independente.
Programarea modular reprezint un concept care permite
efectuarea programrii pe module sau subprograme cu urmtoarele
caracteristici:
un singur punct de intrare;
un singur punct de ieire;
ndeplinesc o funcie perfect definit;
sunt apelate printr-o instruciune sau interfa standard;
ofer posibilitatea de compilare i testare independent.
Transferul datelor necesare fiecrui modul se realizeaz printr-
un modul monitor sau zon comun de date.
Un program are un grad mai ridicat de modularitate cu ct prile
sale (modulele) sunt mai independente.
Modularitate
Cuplarea definete gradul de interconectare
ntre module. Cu ct ea este mai slab, deci
relaiile dintre module sunt mai puine, cu att
modularitatea programului este mai mare.
Coeziunea definete gradul de legtur
funcional ntre elementele componente ale
unui modul, nelegnd prin elemente
componente: instruciuni, un segment sau o
parte din modul.
Activitati specifice:
Programarea sau codificarea programelor reprezint activitatea prin
care se scriu efectiv programele surs, utiliznd un limbaj de
programare. Un programeste o list de instruciuni prin care se
descrie un algoritm concret de rezolvare a unei probleme date. El se
poate constitui ca program, modul sau procedur independent.
Scrierea programelor se face deci ntr-un limbaj de programare.
Testarea programelor reprezint o activitate important, ce poate fi
realizat att de fiecare programator, ct i de personal specializat,
care coordoneaz ntreaga activitate.
Tehnici de verificare i validare a algoritmilor:
testarea programelor i depanarea programelor
verificarea formalizat a programelor
cea mai slab precondiie
cea mai tare postcondiie
instruciuni generalizate
sintaxa expresiilor logice, etc
PROGRAMAREA
Elaborarea documentaiei
Dac un program a fost proiectat, scris,
apoi testat i depanat se trece la
realizarea documentaiei aferente:
Manual de prezentare;
Manual de utilizare;
Manual de exploatare.