Sunteți pe pagina 1din 10

BAZE DE DATE

CURS nr. 11-12

CICLUL DE VIA AL UNEI BAZE DE DATE


Ciclul de via al unei baze de date reprezint setul de pai, tehnici, metode i instrumente utilizate
pentru transpunerea modelului de date ntr-un model fizic.
Elmasri i Navathe au propus un proces pe care l-am completat cu etape suplimentare astfel:
Colectarea i analizarea
cerinelor
Cerine funcionale
Analiza funcional
Specificaiile de nivel nalt ale
tranzaciilor

Cerinele bazei de date

Proiectul conceptual

Schema conceptual

Alegerea SGBD
Proiectarea aplicaiei
program

Schema conceptual (la cel mai


nalt nivel al modelului de date)

Proiectul logic
(transformarea modelului
de date)

Implementarea tranzaciilor

Schema logic (conceptual)


(specific SGBD)

Proiectul fizic
Prototipul

Schema intern

Implementarea

Testarea

Mentenana

Figura 1. Ciclul de via al unei baze de date

Colectarea i analizarea cerinelor


Faza de analiz a cerinelor implic examinarea domeniului de interes ce urmeaz a fi modelat,
intervievarea beneficiarului bazei de date, obinerea de informaii despre sisteme asemntoare,
analiza cerinelor de dezvoltare viitoare i obinerea de informaii despre ntregul domeniu luat n
ansamblu.
Colectarea i analiza reprezint o etap extrem de important n proiectarea unei baze de date
efectuate pentru a:
- dezvolta i nelege sistemul ce urmeaz a fi creat;

BAZE DE DATE

CURS nr. 11-12

- dezvolta i nelege domeniul de interes ce urmeaz a fi modelat;


- construi un sistem nou;
- reevalua un proces;
- instrui utilizatorii i managerii;
- comunica modul de funcionare a sistemului;
- evalua controlul.
Managerii, proiectanii i consultanii folosesc o serie de tehnici de creare a diagramelor i
graficelor. Unele dintre cele mai folosite sunt:
- Diagrame de coninut prezint n mod simplificat felul n care un proces intr n legtur cu
entiti aflate n afara procesului.
- Diagrame logice de flux de date prezint reprezentarea logic a procesului. Sunt descrieri
abstracte care nu specific nici cine efectueaz o anumit activitate i nici locul n care se afl
anumite elemente. Dac subprocesul nu este elementar, acesta poate fi descompus sau
partiionat. Astfel de diagrame se modific foarte rar.
- Diagrame fizice de flux de date prezint atributele fizice ale procesului. Nu prezint atributele
logice ale procesului. Ele se pot modifica relativ des i nu pot fi descompuse.
- Schema logic a sistemului prezint prelucrarea informaiilor (intrri, ieiri, nmagazinarea
datelor, activiti, fluxuri logice) i procesele operaionale (entiti, fluxuri fizice, operaii).
Aceasta este cea mai veche tehnic.
- Diagrama entitate-relaie.

Definirea sistemului
Definirea sistemului reprezint identificarea scopului i a limitelor bazei de date. Aici sunt
prezentate cele mai multe dintre vederile utilizatorilor.
n scopul uurrii utilizrii trebuie s se defineasc:
- cine este utilizatorul final care pune ntrebri i efectueaz tranzacii;
- ce tip de interfa grafic se folosete:
- grafic;
- bazat pe formulare;
- de tip SQL;
- generatoare de rapoarte;
- ce folosete meniuri;
- analiza activitilor;
- vederile utilizate;
- resursele folosite:
- umane;
- software
- alte baze de date;
- hardware;
- de organizare;
- procese;
- metodele i tehnicile de refacere i arhivare:
- refacerea se efectueaz n timpul funcionrii sistemului;
- dimensiunea copiei de siguran;
- strategia de arhivare;
- aspectele legate de securitatea sistemului:
- utilizarea de parole;
- acordarea de permisiuni.

BAZE DE DATE

CURS nr. 11-12

Etapele proiectrii
Proiectarea unei baze de date reprezint un proces ce implic dezvoltarea i rafinarea structurii
unei baze de date pe baza cerinelor formulate de ctre beneficiarul bazei de date i a cerinelor
deduse pe baza efecturii analizei domeniului ce urmeaz a fi modelat.
Principalul obiectiv urmrit la proiectarea unei baze de date este asigurarea consistenei,
integritii i preciziei datelor. Dac proiectul unei baze de date este incorect este foarte greu de
extras informaiile necesare, fiind posibil obinerea de informaii false. n scopul realizrii unui
proiect corect al unei baze de date trebuie urmrite o serie de obiective, cum ar fi:
- baza de date trebuie s nmagazineze datele necesare obinerii de informaii descrise n faza de
analiz a cerinelor precum i orice interogare ce poate fi pus la un moment dat de ctre
utilizator;
- tabelele trebuie s fie construite corect i eficient; fiecare tabel din baza de date reprezentnd o
singur entitate i fiind compus din cmpuri distincte, pstrnd o redundan minim a datelor,
fiecare nregistrare dintr-un tabel putnd fi identificat cu ajutorul unei valori unice;
- integritatea datelor se impune la nivel de tabel, cmp, relaie; aceste nivele de integritate ajut la
garantarea faptului c structurile de date mpreun cu valorile acestora sunt valide i precise n
orice moment;
- baza de date trebuie s suporte regulile specifice domeniului pe care l modeleaz; datele trebuie
s ofere informaie valid i precis, avnd tot timpul neles;
- la proiectarea bazelor de date trebuie s se prevad dezvoltrile viitoare; structura bazei de date
trebuie s fie uor de modificat sau extins odat cu modificarea cerinelor impuse.
Este greu de realizat toate aceste obiective permanent, dar un proiect corect al unei baze de date
trebuie s aib n vedere obinerea ct mai rapid a rezultatelor. Aplicarea tehnicilor de proiectare
conduce la obinerea urmtoarelor beneficii:
- structura bazei de date este uor de modificat i gestionat deoarece modificrile efectuate asupra
unui cmp sau tabel nu afecteaz alte cmpuri sau tabele ale bazei de date;
- datele sunt uor de modificat deoarece modificarea valorii unui cmp dintr-un tabel nu afecteaz
valorile altor cmpuri din acelai sau alte tabele ale bazei de date; mai mult dect att, o
proiectare corect a unei baze de date va duce la pstrarea unei redundane minime a datelor;
- informaiile sunt uor de extras deoarece se pot crea cu uurin interogri dac tabelele sunt
corect alctuite iar relaiile sunt stabilite n mod corespunztor;
- aplicaiile create de utilizator sunt uor de proiectat i gestionat.

Planificarea bazei de date


Planificarea bazei de date reprezint controlul activitilor ce permit realizarea efectiv i eficient a
etapelor de proiectare a unei baze de date. n acest scop se realizeaz urmtoarea documentaie:
- identificarea scopului bazei de date;
- obiectivele bazei de date (identificarea fiecrei activiti individuale ce trebuie suportat de baza
de date);
Proiectarea bazei de date cuprinde urmtoarele trei etape:
- proiectarea conceptual a bazei de date;
- proiectarea logic a bazei de date;
- proiectarea fizic a bazei de date.

Proiectarea conceptual
Proiectarea conceptual reprezint procesul de construire a unui model al informaiilor utilizat n
cadrul unui domeniu de interes, independent de toate consideraiile fizice.
Primul pas n proiectarea bazei de date este cel de definire a cerinelor datelor specifice acelui

BAZE DE DATE

CURS nr. 11-12

domeniu. n acest scop este important definirea:


- tipurilor de informaii;
- categoriilor de informaii necesare sistemului;
- regulilor specifice domeniului;
- constrngerilor aplicate;
- tipurilor de rapoarte generate;
- scopului principal al tuturor informaiilor;
- securitii necesare;
- informaiilor ce urmeaz a fi extinse.
Identificarea obiectivelor domeniului precum i strngerea informaiilor din diferite surse ce vor
folosi baza de date este un proces esenial. De asemenea, tot acum trebuie identificate cerinele
specifice domeniului care se modeleaz. n concluzie, modelul conceptual de date reprezint
cerinele datelor, o list a regulilor specifice domeniului i o privire asupra comportamentului pe
care trebuie s-l aibe sistemul i care se reprezint grafic cu ajutorul unor instrumente ajuttoare,
fiind independent de orice consideraii fizice (SGBD, sistem de operare etc.).

Proiectarea logic
Proiectarea logic reprezint procesul de constituire a unui model al informaiilor utilizat la
modelarea unui domeniu de interes bazat pe un anumit model specific de date (de exemplu, modelul
relaional), dar independent de orice alte consideraii fizice.
Proiectarea logic a bazei de date ajut n continuare la definirea i achiziionarea cerinelor.
Proiectarea logic a bazei de date presupune descrierea fiecrui element de informaie i a relaiilor
dintre aceste elemente de informaie. Un model logic poate determina dac proiectul conine toate
informaiile ce trebuie s fie extrase i reflect relaiile necesare care se pun n concordan cu
regulile domeniului de interes. Modelul logic al bazei de date descrie dimensiunea, forma
sistemelor necesare bazei de date i arat necesitile informaionale i operaionale ale domeniului
de interes.
Fleming von Halle, n lucrarea Handbook of Relational Database Design, propune urmtorii pai
ce trebuie urmai pentru crearea unui model logic, aa cum se poate observa din figura 2:
a. definirea tabelelor n funcie de cerinele specifice domeniului pe care l modeleaz (aa
cum s-a stabilit n modelul conceptual);
b. determinarea relaiilor dintre tabele;
c. determinarea coninutului (coloanelor) fiecrui tabel;
d. normalizarea tabelelor pn, la cel puin, forma normal trei;
e. determinarea cheilor primare;
f. determinarea valorilor specifice fiecrei coloane.
Un tabel relaional reprezint o colecie de rnduri, n care fiecare rnd are aceleai coloane. Se
recomand acordarea numelor tabelelor conform regulilor stabilite, inndu-se cont de normele de
abreviere i de sinonime.

BAZE DE DATE

CURS nr. 11-12


Definirea tabelelor

Definirea coloanelor
Definirea regulilor
entitilor
Definirea regulilor la
stabilirea relaiilor
Definirea regulilor
atributelor

D date; R reguli
Figura 2. Crearea modelului logic
O coloan relaional reprezint o dat din cadrul unui tabel. Numele unei coloane trebuie s fie
unic n cadrul tabelului i poate fi identic cu atributul pe care l reprezint.
Pasul Definirea regulilor entitii este mprit n pai mai mici prin care este posibil s se
stabileasc reguli ale entitilor, a relaiilor dintre ele, precum i a atributelor lor.
Oferirea de suport pentru relaiile regulilor de domeniu nseamn pstrarea celor mai apropiate
legturi dintre cheile primare i cele externe, ceea ce este cunoscut sub denumirea de integritate
referenial.
Ultimul pas, Definirea regulilor atributelor se refer la inserarea i actualizarea operaiilor, cum ar
fi:
- introducerea de constrngeri opionale sau obligatorii (sunt permise valorile NULL);
- domeniul de valori, sau valorile discrete;
- valorile implicite;
- constrngerea de unicitate a atributelor.
Dup ncheierea definiiilor tabelelor este obligatorie reluarea discuiilor cu beneficiarul bazei de
date pentru a revedea ntreaga activitate desfurat.
Pe parcursul desfurrii acestor discuii:
- trebuie s se obin asigurarea c n baza de date sunt reprezentate cele mai importante entiti;
- trebuie s se obin asigurarea c denumirile tabelelor i descrierile acestora sunt potrivite i
uor de neles;
- trebuie s se obin asigurarea c denumirile cmpurilor sunt potrivite i uor de neles;
- trebuie s se fac verificarea c toate cmpurile aparin tabelelor corespunztoare.

Proiectarea fizic
Proiectarea fizic reprezint procesul de descriere a implementrii bazei de date pe mediile
secundare de stocare. Sunt descrise structurile de stocare i metodele de acces utilizate pentru a
obine un acces eficient la date.
Proiectul fizic al bazei de date efectueaz i o rafinare a modelului logic; acesta transpune modelul
logic ntr-un sistem relaional de gestiune a bazelor de date. n aceast faz este obligatorie
examinarea modului n care utilizatorul acceseaz baza de date. Se recomand separarea modelului
logic de modelul fizic astfel nct modificrile s poat fi documentate n conformitate cu modelul
fizic pentru a corespunde constrngerilor. n acest fel, modelul logic rmne independent de

BAZE DE DATE

CURS nr. 11-12

tehnologie, innd cont doar de cerinele specifice domeniului pe care l modeleaz.


Acest pas din cadrul procesului de proiectare implic determinarea urmtoarelor categorii de
informaii:
- datele folosite n mod curent;
- coloanele ce urmeaz a fi indexate pentru a obine un acces mai rapid la date;
- spaiul necesar precum i cel prevzut pentru creterea dimensiunilor bazei de date;
- dac denormalizarea bazei de date va duce la creterea performanelor acesteia;
- cereri de funcionalitate:
- procesarea secvenial a tuplurilor;
- tuplurile ce ndeplinesc o anumit condiie impus prin intermediul unei valori;
- tuplurile inserate sau eliminate;
- obiective de performan:
- evitarea pierderii inutile de spaiu;
- primirea ntr-un timp ct mai scurt a rspunsului.
O baz de date relaional const din dou pri importante:
- dicionarul de date care descrie datele;
- fiierele de date ce conin datele fizice.
Fleming von Halle, n lucrarea sa Handbook of Relational Database Design, propune paii
necesari crerii modelului fizic, aa cum se poate observa din figura 3:
Adaptarea structurii de stocare
la mediul de producie

Analiza evenimentelor din


baza de date
Cile de acces ale
evenimentelor
Reglarea opiunilor
invizibile
Reglarea structurilor
vizibile de date

D date; P proces
Figura 3. Crearea modelului fizic
O structur de stocare reprezint o implementare a tabelelor i coloanelor n cadrul unui sistem
specific de gestiune a bazelor de date. Opiunile tipice de implementare presupun luarea unor
decizii referitoare la:
- transformarea tabelelor n fiiere;
- spaiul liber;
- transferul tabelelor n bazele de date;
- blocri;
- ordinea coloanelor.
Aceste consideraii pot diferi considerabil de la un sistem de gestiune a bazelor de date la altul.
Pasul Analizarea evenimentelor existente n baza de date este mprit n apte subpai, dup cum
urmeaz:
- revizuirea evenimentelor nlnuite prin modelul logic;
- alctuirea unei liste de prioriti a evenimentelor pentru a nelege importana acestora;
- identificarea regulilor care se aplic celor mai importante evenimente;

BAZE DE DATE

CURS nr. 11-12

identificarea criteriilor de cutare pe baza crora se acceseaz tabelul, n cazul fiecrui


eveniment sau tabel accesat;
- identificarea cerinelor de sortare pe baza crora se acceseaz tabelul, n cazul fiecrui
eveniment sau tabel accesat;
- identificarea coloanelor destinaie pe baza crora se acceseaz tabelul, n cazul fiecrui
eveniment sau tabel accesat;
- estimarea numrului de rnduri cutate raportate la numrul total de rnduri din tabel pe baza
crora se acceseaz tabelul, n cazul fiecrui eveniment sau tabel accesat;
O cale de acces reprezint o procedur logic pe baza creia un sistem de gestiune a bazelor de date
poate selecta anumite rnduri, poate obine coloanele cerute, prelucrnd acele coloane i rnduri n
maniera corespunztoare.
Opiunile de reglare invizibil sunt acele opiuni care sunt transparente utilizatorilor i
programatorilor. n cele mai multe sisteme de gestiune a bazelor de date opiunile invizibile pe care
le poate regla proiectantul se refer la scanri, ordinea rndurilor n tabele, indexarea coloanelor.
O structur vizibil de date este acea structur palpabil utilizatorilor sau programatorilor. Reglarea
unei structuri vizibile de date const din modificarea structurii datelor astfel nct acestea s-ar putea
s nu mai corespund modelului logic. Cele mai obinuite modaliti de reglare a structurilor
vizibile de date sunt:
- stocarea coloanelor ce reprezint copii exacte ale altor coloane;
- stocarea coloanelor cu ajutorul crora se efectueaz calcule pe baza unei formule;
- stocarea coloanelor ce se obin prin deducie (cu ajutorul unei reguli).

Strategii de proiectare
Acestea sunt urmtoarele:
1. De sus n jos: se pornete cu cel mai nalt nivel de abstractizare dup care urmeaz rafinarea (de
exemplu, se stabilesc entitile, dup care se formeaz subclasele, iar apoi se adaug atributele).
2. De jos n sus: se pornete cu abstractizrile de baz, dup care urmeaz combinarea acestora (de
exemplu, atributele se grupeaz formnd entiti). n acest fel se pot forma concepte
elementare, colecii de concepte elementare, scheme.
3. Din interior spre exterior: este o form special de proiectare de jos n sus care se axeaz pe un
set central de concepte (se selecteaz cele mai importante concepte, schema iniial, se creeaz
schemele intermediare din care se deduce apoi schema final).
4. Mixt: se pornete mai nti cu proiectarea de sus n jos, urmat de proiectarea dinspre interior
spre exterior sau de jos n sus.

Alegerea sistemului de gestiune a bazei de date


Pentru a crea o aplicaie cu baze de date trebuie ales cel mai potrivit tip de sistem de gestiune al
bazei de date. Acesta trebuie ales n aa fel nct s corespund att necesitilor actuale ct i celor
viitoare. n acest scop trebuie fcut o apreciere asupra caracteristicilor sistemului raportate la
cerinele bazei de date i a aplicaiei (aplicaiilor) create pe baza acesteia.
Aceast faz urmeaz dup faza de modelare conceptual i nainte de faza proiectrii fizice i
const din:
1. Stabilirea costului, care se bazeaz pe:
a. costul de achiziie a programelor;
b. costul mentenanei;
c. costul de achiziie a componentelor hardware;
d. costul de creare a bazei de date sau a conversiei acesteia;
e. costul legat de personal;
f. costul de pregtire a personalului;
g. costul de operare.
2. Modelul de date depinde de:

BAZE DE DATE

CURS nr. 11-12

a. structura i utilizarea datelor;


b. familiarizarea cu sistemul;
c. disponibilitatea serviciilor oferite de ctre productor, a programelor de comunicare, a
programelor de introducere a datelor, a instrumentelor de proiectare i monitorizare etc.

Proiectarea programelor aplicaie


n aceast faz trebuie creat interfaa cu utilizatorul precum i programele aplicaie care folosesc
datele din baza de date. n acest scop este necesar:
1. proiectarea tranzaciilor:
-tranzacii folosite la extragerea datelor (datele extrase cu scopul afirii sau utilizrii de ctre o
alt tranzacie);
-tranzacii folosite la actualizarea datelor (inserarea de noi nregistrri, eliminarea de
nregistrri, modificarea nregistrri lor existente);
-tranzacii mixte (folosite att pentru extragere ct i pentru actualizarea datelor).
2. proiectarea formularelor i rapoartelor.
Mai nti, este important de cunoscut specificaiile bazei de date, a interogrilor folosite, a
tranzaciilor i aplicaiilor ce trebuie create. Prin analizarea interogrilor i tranzaciilor bazei de
date se urmresc: frecvena apariiei interogrilor i tranzaciilor, constrngerile impuse
interogrilor i tranzaciilor, frecvena operaiilor de actualizare.
n acelai timp este important de analizat performana profilului de interogare (frecvena anumitor
interogri, relaiile folosite, tabelele relaionate folosite, selectarea atributelor) i a profilului de
actualizare (dinamic sau static, frecvena actualizrilor, aplicarea unor strategii de prevedere a
actualizrilor posibile).
n sfrit, proiectarea se ncheie prin crearea interfeei cu utilizatorul i a aplicaiilor care lucreaz
cu datele din baza de date.

Implementarea
Implementarea reprezint realizarea fizic a bazei de date i a aplicaiilor care folosesc baza de date.
Implementarea bazei de date se poate face folosind:
- limbajul de definire a datelor existent n cadrul sistemului de gestiune a bazelor de date;
- o interfa grafic cu utilizatorul.
Instruciunile limbajului de definire a datelor creaz structura bazei de date i fiierele bazei de date.
Programele aplicaie sunt implementate cu ajutorul limbajului de manipulare a datelor i, posibil, cu
ajutorul unui limbaj gazd de programare cu ajutorul cruia se creeaz ecrane, meniuri, formulare i
rapoarte pe de o parte, iar pe de alt parte se introduc elementele de control a securitii i
integritii datelor.
Un sistem relaional de gestiune a bazelor de date pune la dispoziie doar instrumentele necesare
implementrii proiectului bazei de date, spre deosebire de metoda formal de proiectare a bazei de
date care ofer att principiile ct i logica necesare definirii bazei de date corect i efectiv. Folosind
doar instrumentele puse la dispoziie de sistemul de gestiune a bazelor de date, se poate crea o baz
de date care funcioneaz, dar care s ofere performane extrem de slabe i s presupun eforturi
suplimentare exagerate din parte programatorilor de aplicaii. Astfel se va obine cu siguran o
structur improprie, insuficient integritate a datelor, aprnd probleme legate de consistena
acestora i de obinerea de informaii imprecise. Fr a nelege aa cum se cuvine principiile de
proiectare a unei baze de date, este posibil s se permit aplicaiei s-i impun propriile reguli, n
loc s se ntmple invers, cum este normal.

Prototipul
Prototipul reprezint realizarea unui model de lucru al bazei de date fiind folosit de ctre utilizatori
la identificarea prilor tari i a slbiciunilor sistemului, ajutnd la elaborarea de amendamente la

BAZE DE DATE

CURS nr. 11-12

proiectul teoretic. Pe baza unui astfel de model se clarific mai bine att cerinele domeniului care
se modeleaz ct i fezabilitatea proiectului. Prototipurile sunt relativ ieftine, putnd fi folosite
urmtoarele strategii:
crearea unui prototip al cerinelor (prototip creat dup faza de analiz a cerinelor);
crearea unui prototip evolutiv (utilizat la fiecare etap de proiectare, putnd deveni soluia
final).
n aceast faz este obligatorie dezvoltarea unui model de lucru al bazei de date pentru:
- a verifica caracteristicile de bun funcionare;
- a identifica caracteristicile improprii;
- a identifica mbuntirile;
- a identifica noi obiecte ale bazei de date.

Testarea
Testarea reprezint procesul de rulare a unor programe aplicaie cu scopul de a descoperi
eventualele erori ale bazei de date. Baza de date trebuie testat cu atenie, stabilindu-se diverse
strategii de testare eleborate metodic, cu atenie i rigoare. Pentru testare trebuie folosite seturi reale
de date i dac este posibil, verificrile s se fac pe alte sisteme dect cel folosit la proiectare.
Testarea se face att pentru descoperirea eventualelor erori ct i pentru descoperirea de noi
modaliti de mbuntire a performanelor.

Msurarea performanelor
Principalele msurtori se bazeaz pe:
- timpul de rspuns;
- evaluarea tranzaciilor: cte tranzacii se pot procesa pe secund/milisecund;
- timpul de generare a unui raport al ntregii baze de date;
- achiziionarea datelor;
- elemente de analiz i experimentale.
Unele dintre elementele folosite la msurare sunt:
- timpul de rspuns la o interogare;
- gradul de utilizare al microprocesorului i a dispozitivelor de intrare/ieire;
- media interogrilor introduse pe minut i determinarea costului;
- numrul de tranzacii pe secund;
- timpul de rspuns al unei tranzacii.

ntreinerea operaional
ntreinerea operaional reprezint procesul de monitorizare i ntreinere a sistemului ce urmeaz
dup instalarea acestuia. Aceast etap implic:
- monitorizarea performanelor bazei de date; dac acestea devin inacceptabile, baza de date
trebuie reorganizat;
- ntreinerea i actualizarea bazei de date atunci cnd este necesar (pot apare cereri noi).
Structura bazei de date nu este greu de modificat dac proiectarea a fost fcut corespunztor, altfel
vor trebui depuse eforturi suplimentare. Dac baza de date a fost corect proiectat:
Este uor de modificat i de ntreinut structura acesteia.
Modificrile efectuate asupra unui cmp sau tabel nu vor afecta alte cmpuri sau tabele ale
bazei de date.
Datele sunt uor de modificat.
Modificrile efectuate asupra unei valori dintr-un anumit tabel al bazei de date nu vor afecta
valorile altor cmpuri din alte tabele. ntr-o structur corect, modificrile trebuie fcute
ntr-un singur loc.

BAZE DE DATE

CURS nr. 11-12

Informaia se extrage cu uurin.


Tabelele sunt corect construite, orice relaie stabilit ntre ele fiind valabil.
Aplicaiile utilizator sunt uor de proiectat i creat.
Timpul necesar proiectrii trebuie s fie petrecut cu modul de manipulare a datelor i nu cu
rezolvarea unor probleme ce pot apare datorit unei proiectri incorecte a bazei de date.