Documente Academic
Documente Profesional
Documente Cultură
PSI Curs 12
PSI Curs 12
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
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.