Documente Academic
Documente Profesional
Documente Cultură
BRC ANEXA C Impar
BRC ANEXA C Impar
ANEXA C
TEORIA BAZELOR DE DATE
211
Luminia SCRIPCARIU Bazele reelelor de calculatoare
administratori
proiectani
programatori.
Scopul ntregii activiti de proiectare, programare i administrare a BD const n
punerea la dispoziia utilizatorului final a unor BD permanent actualizate, coerente i uor
accesibile.
Cele patru categorii de persoane implicate n mediul BD necesit o anumit pregtire
i diferite abiliti.
Sistemul de gestiune a bazelor de date (SGBD, Database Management System -
DBMS) administreaz i controleaz accesul la acestea.
n funcie de aplicaia pe care o deservete, BD pot fi centralizate sau distribuite n
reea, iar modalitile de gestionare difer de la caz la caz.
Prin baz de date se nelege orice colecie partajat de date, ntre care exist relaii
logice, cu o descriere a datelor, proiectat pentru a satisface necesitile informaionale ale
unei organizaii sau grup de utilizatori.
BD este gndit ca o resurs unic, utilizat simultan de mai muli utilizatori, n care
datele sunt integrate mpreun cu o descriere a lor, cu o dublare minim n scopul reducerii
redundanei i meninerii coerenei lor.
BD include o definiie intern a fiecrui obiect, folosit de programele de aplicaie, i
o definiie extern a obiectului oferit utilizatorilor. Acest fapt reprezint procesul de
abstractizare a datelor n BD i asigur transparena pentru utilizatorii finali, interesai doar
de anumite vizualizri externe i nu de modalitile de stocare i manipulare a datelor.
Totodat este permis modificarea structurii datelor sau a modalitilor de stocare a lor fr a
afecta vederile externe. Numai eliminarea anumitor elemente (cmpuri, atribute etc) poate
deranja eventualele programe de aplicaii care le utiliza la momentul respectiv. Acest neajuns
este evitat prin tratarea corespunztoare a tranzaciilor n BD.
Pentru realizarea unei BD este necesar identificarea urmtoarelor elemente specifice:
entiti
atribute
relaii.
212
Luminia SCRIPCARIU Bazele reelelor de calculatoare
213
Luminia SCRIPCARIU Bazele reelelor de calculatoare
214
Luminia SCRIPCARIU Bazele reelelor de calculatoare
SGBD se aplic ntr-un anumit mediu care include diferite componente hardware i
software, date, proceduri i persoane.
Ca elemente hardware, se utilizeaz reele de calculatoare i servere dedicate acestor
BD.
Componenta software cuprinde programele SGBD i cele de aplicaii, scrise ntr-un
limbaj de nivel nalt, din generaia a treia (Pascal, C, C++, Turbo C etc) sau a patra (SQL,
MySQL i altele), mpreun cu sistemul de operare propriu-zis (OS Operating System) i
componenta sa de reea (NOS Network Operating System), folosind modelul client-server.
Datele constituie componenta principal a oricrui sistem de BD. Structura BD se
numete schema BD. Aceasta stocheaz n mai multe fiiere tabelele din BD. Pentru tabel se
folosete i termenul echivalent de relaie. n tabel, apar mai multe nregistrri sau linii,
fiecare cu un anumit numr de cmpuri sau coloane n care se introduc valorile atributelor.
BD include i meta-datele care descriu datele propriu-zise, de exemplu, tipul datelor
(ntreg, ir de caractere etc), lungimea cmpului etc. Meta-datele sunt stocate n catalogul de
sistem care conine:
denumirile, tipurile i dimensiunile articolelor din BD;
denumirile relaiilor sau tabelelor;
constrngerile de integritate impuse datelor;
numele utilizatorilor autorizai s acceseze BD;
indexurile i structurile de stocare folosite.
Procedurile sunt reprezentate de regulile i instruciunile utilizate pentru
implementarea, ntreinerea i accesarea BD:
pornirea i oprirea SGBD;
deschiderea sesiunilor de lucru;
utilizarea programelor de aplicaie pentru accesarea BD;
tratarea defeciunilor hardware i software prin identificarea componentei defecte,
eventual depanarea automat a acesteia, i refacerea BD;
reorganizarea BD prin modificarea structurii tabelelor i optimizarea modului de
stocare a datelor prin arhivare n capacitatea de stocare secundar.
215
Luminia SCRIPCARIU Bazele reelelor de calculatoare
Iniial grupul DBTG (Data Base Task Group) a propus o arhitectur a sistemelor de
BD cu dou nivele: schema BD reprezentnd nivelul inferior, de implementare i ntreinere,
i subschema BD pentru realizarea vederilor utilizatorilor.
Personalizarea acestor vederi n sistemele multiutilizator este posibil prin
introducerea unui al treilea nivel, intermediar, care s separe detaliile de implementare de cele
216
Luminia SCRIPCARIU Bazele reelelor de calculatoare
217
Luminia SCRIPCARIU Bazele reelelor de calculatoare
n figura C.1 sunt reprezentate cele trei nivele ale arhitecturii ANSI-SPARC pentru
BD cu toate elementele componente.
Un model de date este alctuit din totalitatea conceptelor utilizate pentru descrierea
datelor din BD, a relaiilor dintre ele i a constrngerilor impuse lor.
La nivel extern se utilizeaz modele logice de date bazate pe nregistrri:
modelul de date relaional, bazat pe conceptul de relaii matematice, reprezint datele
din BD i relaiile dintre ele sub form de tabele;
modelul de date n reea reprezint datele ca o colecie de nregistrri (noduri) iar
relaiile dintre acestea prin direciile sau muchiile unui graf.
modelul de date ierarhic, similar modelului n reea, folosete conceptul de nod-
printe i permite unui nod din graf s posede numai un singur printe, realiznd o structur
arborescent.
Pe nivelul conceptual se folosesc modele de date bazate pe obiecte, dintre care cele
mai utilizate sunt:
modelul Entitate-Relaie (ER), tehnic principal de proiectare conceptual.
modelul orientat pe obiecte, care extinde definiia entitii prin luarea n considerare i
a comportamentului acesteia, pe lng atributele care descriu starea ei.
218
Luminia SCRIPCARIU Bazele reelelor de calculatoare
219
Luminia SCRIPCARIU Bazele reelelor de calculatoare
220
Luminia SCRIPCARIU Bazele reelelor de calculatoare
Valoarea unui atribut care nu este cunoscut la un anumit moment sau nu este
aplicabil reprezint un nul.
Nul-ul semnific absena unei valori dintr-un cmp i nu valoarea nul.
Nul-urile elimin riscul introducerii unor date fictive n BD. De exemplu, pentru un
client care nu are telefon se introduce un nul n cmpul Telefon din tabelul Clieni.
Nul-urile nu sunt permise n orice sistem de BD relaional.
Faptul c oricrui atribut i se dau valori dintr-un anumit domeniu reprezint o
constrngere de domeniu.
O relaie cu o anumit denumire, corespunztoare unei entiti din schema
conceptual a BD, ale crei tupluri sunt stocate fizic n BD, se numete relaie de baz.
O relaie produs la cererea unui client pe baza relaiilor existente n BD se numete
vedere i reprezint o relaie virtual.
Vederile sunt dinamice i orice modificare n relaiile de baz se reflect imediat n
vederile externe.
Prin utilizarea vederilor se asigur securitatea BD i se personalizeaz modelul
fiecrui utilizator.
Totui nu toate vederile pot fi reactualizate.
Similar, dac o vedere este reactualizat, atunci i relaia de baz care a generat-o
trebuie reactualizat. Nu sunt permise reactualizrile prin intermediul vederilor care implic
relaii de baz multiple sau operaii de acumulare sau de grupare a atributelor.
Nici un atribut dintr-o cheie primar a unei relaii de baz nu poate fi nul (lips
valoare), aceasta reprezentnd regula de integritate a entitilor.
ntr-o vedere sau relaie virtual, aceast regul nu se aplic.
Valoarea unei chei strine trebuie s fie egal cu valoarea unei chei candidat din
relaia sa de baz sau un nul. Aceast condiie reprezint regula de integritate referenial.
Alte reguli impuse de utilizatorii sau administratorii unei BD se numesc constrngeri
de ntreprindere.
Codd a enunat o regul fundamental i 12 reguli specifice pentru un SGBDR:
0. Regula fundamental
Orice sistem care pretinde sau i se face reclama de a fi un SGBDR trebuie s fie
capabil s gestioneze n ntregime bazele de date prin capacitile sale relaionale.
1. Reprezentarea informaiilor
221
Luminia SCRIPCARIU Bazele reelelor de calculatoare
222
Luminia SCRIPCARIU Bazele reelelor de calculatoare
Dei regulile lui Codd au fost cauza multor controverse, se pare c ele sunt utile
pentru analiza caracterului relaional al oricrui SGBD.
Regulile 0 i 12 sunt eseniale. Un SGBD care nu le ndeplinete este cu siguran non-
relaional.
223
Luminia SCRIPCARIU Bazele reelelor de calculatoare
oportunitilor IT, i se bazeaz pe modelul general de date care include entitile i relaiile
dintre ele reprezentate ntr-o diagram ER n care se specific i legturile cu diferitele zone
funcionale ale ntreprinderii.
Definirea sistemului const n stabilirea scopului i a limitelor aplicaiei BD,
inclusiv domeniile sale de utilizare i grupurile principale de utilizatori.
Colectarea i analiza cerinelor se face prin chestionarea persoanelor reprezentative
pentru toate domeniile de interes ale ntreprinderii, observarea funcionrii acesteia i analiza
documentelor utilizate pentru nregistrarea i redarea informaiilor, observarea tranzaciilor
efectuate etc. Instrumentele CASE (Computer-Aided Software Engineering) sunt utile pentru
specificarea complet i coerent a cerinelor (caracteristicilor) ntreprinderii, .
Proiectarea BD ncepe cu realizarea unor modele de date care conin entiti i relaii
de nivel nalt (eseniale pentru reprezentarea funcionalitii ntreprinderii n BD), dup care
se trece la o analiz detaliat pentru a identifica i include n model toate entitile, atributele
i relaiile de nivel jos.
Alegerea unui SGBD adecvat, care s accepte aplicaia de tip BD, se poate face ntre
fazele de proiectare logic i conceptual a BD. Se au n vedere costurile de achiziii software
i hardware, cele de instruire a personalului, precum i performanele sistemului.
Proiectarea programelor aplicaie pentru utilizatori, cu interfee prietenoase i
eficiente, cu posibiliti de accesare a datelor i efectuare a tranzaciilor n BD, se face n
paralel cu proiectarea propriu-zis a BD.
Realizarea unui prototip al BD este opional dar avantajoas, ntruct pe baza
unui model de lucru simplificat, cu costuri reduse, se testeaz funcionalitatea aplicaiei BD,
se identific eventualele probleme dar i caracteristici noi care trebuie implementate.
Implementarea BD i a aplicaiilor const n realizarea fizic a proiectelor acestora
folosind diverse limbaje. Implementarea BD se face pe baza DDL. Instruciunile DDL sunt
compilate pentru a crea schema BD. Vederile utilizatorilor sunt definite n aceast etap.
Programele aplicaie sunt implementate cu ajutorul altor limbaje, DML sau de nivel nalt
Java, C, C++, Delphi, cu meniuri, formulare, rapoarte i cu reguli de securitate i de
integritate.
Conversia i ncrcarea datelor const n transferul n BD a datelor existente, cu
eventuala conversie de format, folosind un utilitar de ncrcare n BD a fiierelor existente.
224
Luminia SCRIPCARIU Bazele reelelor de calculatoare
225
Luminia SCRIPCARIU Bazele reelelor de calculatoare
226
Luminia SCRIPCARIU Bazele reelelor de calculatoare
227
Luminia SCRIPCARIU Bazele reelelor de calculatoare
228
Luminia SCRIPCARIU Bazele reelelor de calculatoare
Modelul ER poate fi reprezentat grafic sub forma unei diagrame ER n care se aplic
urmtoarele convenii (Fig.C.2):
Entitile sunt reprezentate ca dreptunghiuri etichetate cu numele acestora, cu chenar
simplu pentru entitile tari i dublu pentru cele slabe.
Atributele sunt reprezentate schematic sub forma unor elipse etichetate cu numele
acestora i legate de entitatea pe care o descriu prin segmente de dreapt, sub forma
unor raze. Denumirea cheii primare se subliniaz. Conturul elipsei este continuu dac
229
Luminia SCRIPCARIU Bazele reelelor de calculatoare
230
Luminia SCRIPCARIU Bazele reelelor de calculatoare
Capcane n evantai apar atunci cnd aceeai entitate este implicat n mai multe
relaii de tip 1:M i cile dintre entiti devin ambigue. De exemplu, din diagrama ER
reprezentat n figura C.3 nu putem deduce exact ce proprieti sunt administrate de un
anumit membru de personal. Prin modificarea ordinii de reprezentare a entitilor implicate n
aceste relaii se elimin aceast ambiguitate (Fig.C.4).
Capcane de ntrerupere - sunt cauzate de absena reprezentrii unor relaii n
modelul ER. De exemplu, n modelul din figura C.4 lipsete relaia dintre entitile
Departament i Proprieti necesar identificrii departamentului care se ocup de o anumit
proprietate (Figura C.5).
231
Luminia SCRIPCARIU Bazele reelelor de calculatoare
232
Luminia SCRIPCARIU Bazele reelelor de calculatoare
Dac o entitate nu poate fi membr dect ntr-o singur subclas a unei superclase,
acest fapt constituie o constrngere de disjuncie, reprezentat n diagram prin litera d,
plasat ntr-un cercule care leag superclasa la subclasele respective. n toate celelalte cazuri,
exist suprapuneri ale subclaselor, fapt reprezentat prin litera s ntr-un cercule.
Procesul de maximizare a diferenelor dintre membrii unei entiti prin identificarea
caracteristicilor lor distincte se numete proces de specializare.
La rndul su, o subclas poate avea alte subclase ceea ce determin o aa-numit
ierarhie de specializare.
Procesul de minimizare a diferenelor dintre entiti, prin identificarea caracteristicilor
lor comune, reprezint un proces de generalizare. Rezultatul unui proces de generalizare
este o superclas. Generalizarea este procedeul invers specializrii.
Dac n procesul de specializare, fiecare entitate a superclasei este n mod obligatoriu
membr a unei subclase spunem c s-a realizat o specializare cu participare total. n caz
contrar, se numete specializare cu participare parial.
Grafic, participarea total este marcat printr-o linie dubl ntre superclas i
cerculeul de specializare din care deriv subclasele iar cea parial este reprezentat cu o
linie simpl.
De exemplu, tipul de entitate Clieni poate fi divizat n dou subclase Cumprtori i
Vnztori, nu neaprat disjuncte, dar cu participare total (Figura C.6).
O subclas subordonat mai multor superclase distincte se numete categorie.
233
Luminia SCRIPCARIU Bazele reelelor de calculatoare
234
Luminia SCRIPCARIU Bazele reelelor de calculatoare
235
Luminia SCRIPCARIU Bazele reelelor de calculatoare
anomalii de tergere determin pierderea unor date din BD. De exemplu, dac n
relaia Personal_Departament se elimin singurul membru al unui departament, se
terg i datele referitoare la acesta.
Pentru a evita anomaliile de reactualizare este necesar descompunerea unor relaii n
mai multe relaii care s preia seturi pariale din atributele iniiale astfel nct ntr-o relaie s
nu existe date dublate.
Forma nenormalizat (UNF Unnormalized Form) a unui tabel din BD include date
repetitive. Un astfel de tabel nu este considerat relaie n BD.
Normalizarea este o tehnic de analiz i testare a relaiilor, pe baza cheilor primare i
candidat, respectiv a dependenelor funcionale.
Normalizarea se realizeaz n mai muli pai, denumii i forme normalizate:
1. prima form normalizat (1NF) se obine atunci cnd la intersecia fiecrei linii
cu fiecare coloan din orice relaie a schemei apare numai o singur valoare. Este necesar
identificarea i eliminarea grupurilor repetitive din tabel, prin introducerea de noi rnduri i
definirea unei chei primare compuse din mai multe atribute. Dac un atribut al cheii primare
compuse se repet, aceasta nu constituie o dublare a datelor, dar poate crea probleme la
reactualizarea BD.
2. a doua form normalizat (2NF) se aplic relaiilor cu chei compuse i const n
faptul c fiecare atribut care nu aparine cheii primare este total dependent funcional de
aceasta. Dependena funcional total apare atunci cnd atributul dependent nu depinde de
un subset de atribute al unei chei i eliminarea oricrei componente din determinant conduce
la dispariia dependenei. n caz contrar, se consider c este o dependen funcional
parial. O relaie cu cheie primar singular (cu un singur atribut) este n 2NF. Pentru o
relaie cu cheie primar compus, trecerea n 2NF se face prin eliminarea dependenelor
funcionale pariale. Pentru aceasta, fiecare atribut dependent funcional parial este copiat
ntr-un nou tabel, mpreun cu o copie a determinantului. De exemplu, ntr-o relaie
Client_Proprietate cu cheie primar compus (Nr_client, Nr_proprietate), atributul
Nume_client depinde parial de cheia primar. Este necesar definirea unei noi relaii Client
n care s se includ toate atributele clienilor mpreun cu determinantul Nr_client ca i cheie
primar. Normalizarea n a doua form se face prin identificarea i eliminarea tuturor
dependenelor funcionale pariale de cheia primar, eventual i cheile candidat.
236
Luminia SCRIPCARIU Bazele reelelor de calculatoare
237
Luminia SCRIPCARIU Bazele reelelor de calculatoare
238
Luminia SCRIPCARIU Bazele reelelor de calculatoare
APLICAIE
Pe baza modelului BD din aplicaia anterioar, reprezentai grafic fiecare entitate i atributele
acesteia n diagrame separate, respectnd conveniile de reprezentare enumerate mai sus.
Grupai toate informaiile n tabelele urmtoare conform vederii managerului firmei:
239
Luminia SCRIPCARIU Bazele reelelor de calculatoare
Reprezentai ntr-o diagram ER toate entitile i relaiile dintre acestea, n care specificai
rapoartele de cardinalitate i constrngerile de participare din fiecare caz, precum i cheile
primare utilizate. Identificai posibilele capcane din model i eliminai-le. Dezvoltai modelul
ER extins identificnd eventualele subclase sau superclase de entiti, cu sau fr
specializare/generalizare sau categorisire.
Descriei n limbaj DBDL schema relaional global, specificnd entitile cu atributele,
cheile primare, alternative i/sau strine asociate inclusiv constrngerile impuse cheilor
strine.
De exemplu:
Personal (Nr_personal, Nume, Prenume, Funcie, Salariu, Data_de_natere,
CNP, Adres, Telefon, Data_de_angajare, Nr_departament)
Cheie primar Nr_personal
Cheie alternativ Nume, Prenume, CNP
Cheie strin Nr_departament se refer la Departamente(Nr_departament)
240
Luminia SCRIPCARIU Bazele reelelor de calculatoare
241
Luminia SCRIPCARIU Bazele reelelor de calculatoare
242