Sunteți pe pagina 1din 32

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.
• Corespunzător 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 următoarelor activităţi:
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 relaţional
Modelul relaţional de baze de date cuprinde trei
componente principale:
• Structura datelor ;
• Restricţii de integritate a datelor;
• Operatorii de prelucrare a datelor, prin operaţii din
algebra relaţională sau calculul relaţional.
De regulă relaţiile sunt reprezentate sub forma unor
tabele bidimensionale în care fiecare rând
reprezintă un tuplu şi fiecare coloană reprezintă
valorile tuplurilor dintr-un domeniu dat al
produsului cartezian.
• În reprezentarea sub formă de tabel a unei relaţii,
coloanelor şi, respectiv domeniilor
corespunzătoare lor li se asociază nume intitulate
atribute.
Relaţia
• este o asociere stabilită între două sau mai multe
câmpuri comune care se găsesc în două tabele.
O relaţie leagă astfel date aparent izolate.
Considerând două tabele, A şi B, relaţiile pot fi de
mai multe feluri:
• unu la unu (one-to-one ); În acest caz se cere ca
valoarea câmpului cheie dintr-o singură
înregistrare a tabelei A să fie identică cu o singură
valoare corespondentă din câmpul asociat din
tabela de legătură B. Cu alte cuvinte, fiecare
înregistrare din tabela A poate avea doar o
singură înregistrare corespondentă în B şi invers.
Acest tip de relaţie este mai puţin utilizată, căci
datele se pot afla, în acest caz, într-o singură
tabelă.
Relaţia
• unu la mulţi (one-to-many); În acest caz se cere
unicitatea câmpului cheie din tabela A, dar valorile lui să
fie identice cu mai multe valori ale câmpului asociat din
tabela B. Cu alte cuvinte, o înregistrare din tabela A
poate avea mai multe înregistrări corespondente în
tabela B, dar o înregistrare din B se potriveşte cu o
singură înregistrare din tabela A. Practic legătura se face
între cheia primară a tabelei de bază, A, şi cheile externe
corespunzătoare din tabelele corelate.
• mulţi la mulţi (many-to-many). În acest caz nu există
nici o relaţie unică între câmpurile cheie ale tabelelor A şi
B, fiecare dintre acestea conţinând valori duplicat în
cealaltă tabelă. Acest tip de relaţie este echivalentă şi se
poate descompune în două relaţii de tip one-to-many.
Relaţia este posibilă prin definirea unei tabele noi, C,
numită tabelă de joncţiune, a cărei 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 următoarelor activităţi
specifice:
a). Definirea detaliată a colecţiilor de date
b). Determinarea legăturilor dintre colecţii
c). Definirea modelului conceptual de ansamblu
al datelor
d). Testarea modelului conceptual de ansamblu
al datelor
e). Transpunerea modelului conceptual
Toate aceste activităţi 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, înlăturându-se treptat
o serie de neajunsuri şi asigurând facilităţi
sporite în privinţa încărcării, actualizării şi
exploatării bazei de date.
• Necesitatea normalizarii progresive este dată
de faptul că anumite relaţii pot genera o serie
de situaţii nedorite, aşa-numitele "anomalii de
actualizare", cum sunt:
– anomalia de adăugare,
– anomalia de modificare.
– anomalia de stergere
Normalizarea bazei de date
• Anomalia de ştergere rezultă din faptul că
ştergând un tuplu al unei relaţii, odată cu
ştergerea anumitor informaţii se pierd şi
informatiile utile, existente în tuplul respectiv.
• Anomalia de adăugare rezultă din faptul ca
nu pot fi incluse noi informaţii într-o relaţie
deoarece nu se cunosc şi alte informaţii cerute
pentru adăugarea unui nou tuplu la acea
relaţie, în principal valorile pentru atributele din
cheie.
• Anomalia de modificare rezultă din faptul că
e dificil de modificat o valoare a unui atribut
atunci când ea apare în mai mult decât într-un
tuplu al relaţiei.
Regulile normalizării unei baze de
date relaţionale
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 conţine
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 câmp noncheie al tabelei
este dependent funcţional direct şi complet de
câmpul cheie al tabelei.
Regulile normalizării unei baze de
date relaţionale
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 conţine două sau mai
multe dependenţe multivaloare.
Prin verificarea modelului se poate ajunge la
rearanjarea unor componente ale modelului,
la adăugarea unor relaţii suplimentare care
înseamnă practic introducerea de noi entităţi.
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,
până la obţinerea structurii conceptuale a bazei
de date.
b). Proiectarea structurii conceptuale are la bază o
modelare a datelor relativ independentă de
aplicaţii.
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 aplicaţie operează asupra
elementelor structurii conceptuale prin intermediul
structurii logice, având 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 defineşte practic structura
logică a fiecărei tabele, se descriu relaţiile dintre ele
şi se stabilesc restricţiile de integritate a acestora.
• Pentru fiecare atribut din structură (câmp de date) se
specifică elementele de caracterizare, şi anume:
tipul, lungimea, eventuale restricţii privind domeniul
valorilor admise sau corelaţiile 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ă
– reţea
– relaţională.
• Metoda de liniarizare a structurii virtuale este
specifică diferitelor SGBD-uri utilizate.
• Principalele activităţi abordate în cadrul acestei
faze sunt:
 proiectarea machetelor de stocare a datelor
 definirea caracteristicilor fizice la nivelul
fişierelor bazei de date
 calculul necesarului de suport tehnic de date
Criterii pentru alegerea sistemului de gestiune a bazelor de date:

• Cerinţele utilizatorilor, legate de tipul de aplicaţii solicitate,


timpul de răspuns al sistemului, securitatea datelor,
confidenţialitatea lor, uşurinţa de utilizare, etc. E posibil uneori
ca utilizatorul să impună chiar el un anume SGBD.
• Necesităţi de ordin tehnic, legate de portabilitatea colecţiilor
de date, a programelor şi a SGBD-ului ales.
• Cerinţe 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 unităţii centrale,
costul de întreţinere şi dezvoltare al sistemului, resursele
hardware imobilizate, costul de adaptare şi trecere pe alt sistem
de calcul, costul documentaţiei etc.
• Protecţia şi securitatea datelor din baza de date.
• Specificul aplicaţiei.
• Timpul şi costul pentru instruirea personalului care să
utilizeze SGBD-ul şi aplicaţia realizată
• Facilităţe de implementare, de întreţinere, exploatare a
bazei de date.
Proiectarea interfeţei
• Interfaţa cu utilizatorul reprezinta modul in care
comunică aplicaţia proiectată cu utilizatorul nespecialist
în informatică .
• Avem în vedere două aspecte importante ale interfeţei
unei aplicaţii:
 caracteristicile vizuale ale interfeţei
• comportamentul interfeţei ca răspuns la acţiunea
utilizatorului.
Observatie: Practic, interfaţa aplicaţiei reprezintă
posibilitatea utilizatorului de a comunica direct cu
aceasta, deci de a înţelege cerinţele aplicaţiei în fiecare
moment şi modalitatea în care trebuie să-i răspundă. De
reuşita acestui dialog permanent depinde în mare
măsură succesul execuţiei aplicaţiei, a corectitudinii
datelor furnizate.
Cerinte ale proiectarii interfetei
• Consistentă: Aceasta înseamnă că pentru o
anumită operaţie să se folosească acelaşi
obiect vizual. Accesul la operaţii similare să
se faca deci prin aceleaşi acţiuni ale
utilizatorului (mouse, tastatură) şi folosind
acelaşi obiect vizual.
• Intuitivă: Interfaţa să fie sugestivă, să poată
fi intuită chiar fără documentaţie sau cursuri
de instruire.
• Extensibilă: Aceasta înseamnă că ea trebuie
să fie adaptabilă la noi echipamente hard (de
exemplu monitoare cu rezoluţie mai mare);
Cerinte ale proiectarii interfetei
• Atractivă: Aceasta înseamnă că interfaţa
trebuie să aibă caracteristici estetice care să
atragă utilizatorul, să-i facă plăcere să
comunice cu ea. O interfaţă aglomerată va
îndepărta utilizatorul.
• Uşor de utilizat: Aceasta înseamnă că
operaţiile simple trebuie să se realizeze prin
acţiuni simple ale utilizatorului. Operaţiile
complexe trebuie să se realizeze printr-o
succesiune de acţiuni simple ale utilizatorului.
• Uşor de învăţat: Aceasta înseamnă că orice
acţiune utilizator trebuie să fie uşor de realizat.
Experienţa acumulată în învăţarea unor acţiuni
să poată fi folosită la învăţarea altor acţiuni.
Principii sau “cele 10 porunci”
(1) Utilizatorul (U) controlează programul: U simte că el
controlează programul, şi nu invers (programul îl dirijează)
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 iniţiază acţiuni ;
 Utilizatorul conduce aplicaţia: calculatorul doar execută
comenzile utilizatorului şi nu invers.
• Caracteristicile programului pe care se sprijină această
calitate se referă la:
 interactivitate
 reacţie (răspuns) la fiecare acţiune a utilizatorului
 flexibilitate
• Personalizarea mediului de lucru
 aplicatia trebuie să permită utilizatorului să se simtă cât mai
comod
Principii sau “cele 10 porunci”
(2) Utilizatorul manipulează direct informaţia, cu
alte cuvinte, U trebuie să poată opera direct cu
reprezentarea pe ecran a informaţiei. În acest fel,
el poate constata direct relaţia cauză-efect între
acţiunile sale (efectuate prin intermediul
interfeţei) şi rezultatul acestora (modul în care
programul reacţionează la acţiunile sale).
• fereastra, elementul esenţial al interfeţei
utilizator în Windows, este utilizat şi în cadrul
interfeţelor cu utilizatorul a aplicaţiilor informatice.
Într-o fereastră, informaţia este reprezentată într-
o formă cât mai naturală, în special prin text.
• interfaţa utilizator trebuie să ofere utilizatorului o
manieră directă şi intuitivă de comunicare.
Principii sau “cele 10 porunci”
(3) Consistenţa.
• Această proprietate a interfeţei utilizator
permite utilizatorului să înveţe rapid utilizarea
unor noi aplicaţii, prin folosirea cunoştinţelor
acumulate pe parcursul învăţării şi utilizării
altor aplicaţii Windows.
• Se obţine ceea ce se numeşte stabilitate:
interfaţa este familiară (chiar dacă este vorba
de o nouă aplicaţie), iar răspunsul aplicaţiei
este previzibil (altfel spus, se mizează pe
comportamentul uniform al aplicaţiilor).
Principii sau “cele 10 porunci”
(4) Claritate.
• Această calitate a interfeţei utilizator poate fi discutată din trei
puncte de vedere: vizual, conceptual, lingvistic.
• Claritatea vizuală a interfeţei este asigurată de elementele
(obiectele) vizuale care o compun. Acestea trebuie să fie
sugestive, uşor de înţeles, ele reprezentând în fapt o
transpunere simplificată a unor obiecte reale.
• Claritatea conceptuală se caracterizează prin două atribute:
simplu şi realist
 Simplitatea interfeţei înseamnă număr rezonabil de obiecte
pe un ecran (pe o fereastră).
 Caracterul realist al interfeţei se realizează prin
similitudinile cu obiectele reale
• Claritatea lingvistică se referă la textul care apare în interfaţă.
Denumirile opţiunilor de meniu, etichetele, mesajele, etc.
trebuie să fie clare, neambigue, iar exprimarea lor trebuie să
folosească limba literară şi nu limbajul propriu comunităţii
informatice.
Principii sau “cele 10 porunci”
(5) Estetică
• Interfaţa trebuie să atragă utilizatorul, să-i placă
acestuia. Mediul vizual plăcut, prietenos,
contribuie la confortul utilizatorului şi la o mai
bună înţelegere a informaţiei prezentate. Nimic
din ceea ce poate contribui la sporirea
atributelor estetice ale interfeţei nu trebuie
neglijat
• De aceea este bine ca utilizatorul să fie implicat
în proiectarea interfeţei.
Principii sau “cele 10 porunci”
(6) Răspuns imediat la acţiunile utilizatorului
• Această cerinţă contribuie la sporirea confortului
utilizatorului şi impune ca aplicaţia să confirme
vizual că a preluat cererea utilizatorului şi că
este în curs execuţia acţiunii aferente cererii.
• Când este vorba de acţiuni care durează mai
mult, informaţia care trebuie afişată ca răspuns
la acţiunile utilizatorului trebuie să precizeze:
 starea (derularea) acţiunii în curs
 modul în care acţiunea poate fi suspendată sau
abandonată
Principii sau “cele 10 porunci”
(7) Toleranţă la greşelile utilizatorului
• Utilizatorul uman nu este o maşină, iar această cerinţă
de toleranţă este cât se poate de naturală. De multe ori
însă, greşelile de operare pot avea efecte
irecuperabile. De exemplu, ştergerea unui fişier,
efectuată din greşeală, sub imperiul grabei, oboselii sau
pur şi simplu din neatenţie
• O bună interfaţă utilizator trebuie să înţeleagă gama de
erori potenţiale pe care utilizatorul este capabil să le
comită şi să aibă prevăzute posibilităţi de recuperare
din astfel de situaţii nedorite. Ea trebuie să atenţioneze
utilizatorul în situaţiile (provocate prin comenzile pe
care acesta le dă) când starea aplicaţiei sau datele cu
care acestea operează se pot deteriora.
• O bună interfaţă utilizator are prevăzute proceduri de
recuperare din situaţiile de eroare şi, mai mult, face
acţiunile reversibile.
Principii sau “cele 10 porunci”
(8) Atenţie acordată limitelor umane
• Utilizatorul uman nu este o maşină, un automat. Pe lângă
dispoziţia sufletească schimbătoare, fiecare individ are o
anumită capacitate de înţelegere, memorare şi gândire.
• Cerinţa aceasta statuează că programul, aplicaţia, trebuie
să ţină cont de limitele umane, să le înţeleagă şi să le
respecte. Acele aplicaţii care forţează depăşirea limitelor
umane normale nu au succes la publicul larg.
• Cu alte cuvinte, aplicaţia nu trebuie să constrângă
utilizatorul la:
 efectuarea de calcule manuale
 memorarea unor secvenţe lungi de comenzi sau
operaţii pentru realizarea unei acţiuni
 memorarea unor prescurtări criptografice pentru
denumirile acţiunilor
• Se recomandă ca toate opţiunile aplicaţiei să fie
prezentate explicit, într-o manieră ierarhică.
Principii sau “cele 10 porunci”
(9) Adaptare progresivă
• La proiectarea interfeţei utilizator trebuie găsit un
echilibru între două criterii contradictorii:
 maximizarea funcţionalităţii aplicaţiei şi
 minimizarea complexităţii aplicaţiei.
• Adaptarea progresivă implică două aspecte:
 organizarea atentă a informaţiei din interfaţă,
evitând aglomerarea acesteia pe un singur ecran
 prezentarea fiecărei informaţii la momentul potrivit;
când nu este nevoie de ea, informaţia se ascunde.
• O bună interfaţă va prezenta informaţia î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ă cât mai simplu.
Principii sau “cele 10 porunci”
(10) Metodologie
• Regulile sau cerinţele enumerate sunt necesare,
însă nu şi suficiente pentru proiectarea interfeţei
utilizator
Atenţie!
• Activitatea de proiectare a interfeţei trebuie să
aibă în centrul ei utilizatorul.
• Pe toată durata proiectării interfaţa trebuie
gândită de pe poziţia utilizatorului şi alături de
acesta.
REALIZAREA PROGRAMELOR

Realizarea programelor sau activitatea de programare


este o etapă deosebit de importantă în ciclul de viaţă
al unui sistem informatic.
• Activităţile care se desfăşoară în legătură cu
elaborarea programelor pot fi enumerate astfel:
 Analiza şi însuşirea documentaţiei tehnice de
realizare
 Proiectarea programului
 Programarea, codificarea sau scrierea propriu-
zisă a programului
 Testarea programului realizat
 Realizarea documentaţiei corespunzătoare
PROGRAMAREA
• Modularitatea, ca atribut general al oricărui sistem, permite
ca funcţiile logice să poată fi grupate şi apoi subgrupate cât
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 programării pe module sau subprograme cu
următoarele caracteristici:
 un singur punct de intrare;
 un singur punct de ieşire;
 îndeplinesc o funcţie perfect definită;
 sunt apelate printr-o instrucţiune sau interfaţă standard;
 oferă posibilitatea de compilare şi testare independentă.
 Transferul datelor necesare fiecărui modul se realizează
printr-un modul monitor sau zonă comună de date.
• Un program are un grad mai ridicat de modularitate cu cât
părţile sale (modulele) sunt mai independente.
Modularitate
• Cuplarea defineşte gradul de interconectare
între module. Cu cât ea este mai slabă, deci
relaţiile dintre module sunt mai puţine, cu atât
modularitatea programului este mai mare.
• Coeziunea defineşte gradul de legătură
funcţională între elementele componente ale
unui modul, înţelegând prin elemente
componente: instrucţiuni, un segment sau o
parte din modul.
Activitati specifice:
Programarea sau codificarea programelor reprezintă
activitatea prin care se scriu efectiv programele sursă,
utilizând un limbaj de programare. Un program este o listă
de instrucţiuni 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ă atât de fiecare programator, cât ş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ă precondiţie
• cea mai tare postcondiţie
• instrucţiuni generalizate
• sintaxa expresiilor logice, etc
PROGRAMAREA

Elaborarea documentaţiei
Dacă un program a fost proiectat, scris,
apoi testat şi depanat se trece la
realizarea documentaţiei aferente:
Manual de prezentare;
Manual de utilizare;
Manual de exploatare.

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