Sunteți pe pagina 1din 32

Luminia SCRIPCARIU Bazele reelelor de calculatoare

ANEXA C
TEORIA BAZELOR DE DATE

C1. GENERALITI. DEFINIII

Baza de date (BD, Database - DB) constituie o aplicaie fundamental n toate


domeniile de activitate, civile sau de aprare: financiar, administrativ, educaional,
informaional, de comunicaii i, nu n ultimul rnd, cel al calculatoarelor.
Iniial a aprut necesitatea computerizrii sistemului de ndosariere. O prim soluie a
acestei probleme a constituit-o sistemul bazat pe fiiere, cu mai multe programe de aplicaie
care ofer diverse servicii utilizatorilor, printre care i generarea de rapoarte. Dei foarte
folosit, acest sistem se dovedete a fi extrem de redundant i greu de actualizat prin dublarea
datelor i complexitatea relativ mare. n acest context, bazele de date au oferit o modalitate
eficient de tratare distribuit a datelor, ntr-o resurs comun partajat n care se include i
descrierea acestora n aa-numitul catalog de sistem sau dicionar de date sau meta-date.
BD asigur independena program-date dar i controlul accesului i manipulrii datelor.
Sistemele de baze de date, ca aplicaie software, reprezint cea mai important
realizare din domeniul ingineriei programrii pe calculator.
Complexitatea i dimensiunea BD evolueaz rapid, determinnd reproiectarea
algoritmilor de stocare i acces al fiierelor i chiar schimbarea unor principii de administrare
a acestora.
Simultan este necesar pregtirea de personal specializat n domeniul 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

O entitate este un obiect distinct inclus n BD (persoane, locuri, firme, documente,


concepte etc). De exemplu, angajaii unei organizaii pot fi inclui n BD ca o entitate
distinct denumit personal.
Un atribut este o proprietate care descrie un anumit aspect al unei entiti. De
exemplu, numele, prenumele, salariul constituie atribute ale entitii personal.
O relaie reprezint o asociaie ntre mai multe entiti. De exemplu, entitatea
personal gestioneaz entitatea contracte pentru o firm.
BD poate fi modelat grafic sub forma unei diagrame Entitate-Relaie (ER) n care
entitile sunt reprezentate, prin convenie, sub form de dreptunghiuri, relaiile ca romburi
iar atributele ca ovale, toate legate ntre ele sub forma unui graf neorientat.
Sistemul de programe software care permite definirea, crearea, administrarea i
accesarea bazei de date este numit sistem de gestiune a bazei de date (SGBD).
Dintre funciile unui SGBD se remarc:
asigurarea securitii i confidenialitii accesrii BD;
personalizarea BD simultan cu realizarea independenei program-date;
meninerea coerenei BD chiar i n cazul efecturii unor tranzacii concurente.
n prezent, se dezvolt SGBD multiutilizator pentru BD cu capaciti mari de stocare
pentru aplicaii grafice, video, multimedia n general, cu interfee grafice de utilizator (GUI
Graphic User Interface) atractive.

C2. LIMBAJELE BAZELOR DE DATE

Implementarea i utilizarea BD includ mai multe aspecte:


definirea bazei de date folosind un limbaj de definire a datelor (DDL Data
Definition Language) pentru descrierea BD n schema bazei de date;
manipularea datelor din BD prin intermediul unui limbaj de manipulare a datelor
(DML Data Manipulation Language);
controlul accesului la BD, prin politica de securitate implementat, reguli de
integritate, controlul concurenei i al refacerii BD n cazul apariiei unor defeciuni hardware
sau software.

213
Luminia SCRIPCARIU Bazele reelelor de calculatoare

DDL reprezint un limbaj descriptiv utilizat pentru denumirea entitilor BD i a


relaiilor logice dintre acestea, specificarea tipurilor i structurilor de date precum i a
modurilor de vizualizare personalizate. Rezultatul compilrii instruciunilor DDL este un set
de tabele care se constituie n catalogul de sistem.
DML este folosit pentru efectuarea operaiilor specifice de manipulare a datelor
din BD:
inserarea de noi date;
modificarea datelor existente;
extragerea de date din BD;
tergerea unor date din BD.
Limbajele de manipulare a datelor din BD sunt de dou tipuri:
DML procedurale care definesc procedurile prin care se efectueaz anumite
operaii;
DML neprocedurale sau declarative care specific numai ce operaii trebuie
efectuate asupra datelor.
Acea parte a unui limbaj DML utilizat pentru regsirea datelor n BD se numete
limbaj de interogare.
SQL este un exemplu de limbaj de interogare a BD neprocedural, care constituie
limbajul standard pentru SGBD relaionale.
DDL i DML sunt considerate sublimbaje de date care pot fi ncorporate ntr-un
limbaj de nivel nalt denumit i limbaj gazd.
Un alt limbaj de manipulare a datelor din BD este limbajul QBE (Query by Example).
SQL i QBE sunt limbaje din a patra generaie (4GL Fourth Generation Language) care
definesc ce trebuie fcut i nu cum se procedeaz. Limbajele din generaia a treia sunt
procedurale i complicate sintactic.
Limbajele 4GL sunt de mai multe tipuri:
limbaje de prezentare (de interogare, generatoare de rapoarte, generatoare grafice
etc)
limbaje de specialitate (de exemplu, pentru calcul tabelar)
generatoare de aplicaii (care construiesc aplicaii folosind datele din BD)
limbaje de nivel foarte nalt (care genereaz codul-surs al aplicaiei).

214
Luminia SCRIPCARIU Bazele reelelor de calculatoare

C3. COMPONENTELE UNUI SGBD

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

Persoanele implicate n mediul SGBD se mpart n patru categorii:


proiectani;
programatori;
administratorii de date i de BD;
utilizatori.
Proiectanii BD se ocup fie de proiectarea logic reprezentat de identificarea
entitilor, atributelor, relaiilor i constrngerilor din BD, att la nivel conceptual
independent de modalitatea de implementare sau de orice considerent de ordin fizic, ct i pe
baza unui model de date relaional, n reea, ierarhic sau orientat pe obiect, fie de proiectarea
fizic, constnd n transpunerea modelului de date n tabele i stabilirea constrngerilor de
integritate, alegerea structurilor de stocare i a metodelor de acces i impunerea msurilor de
securitate.
Programatorii realizeaz aplicaii specifice care ofer diverse servicii utilizatorilor
finali ai BD (interogare a BD, generare de rapoarte, formulare, de vizualizri grafice sau de
aplicaii).
Administratorii de date se ocup de gestionarea datelor (planificare, dezvoltare i
ntreinerea resurselor de date).
Administratorul BD sunt rspunztori de realizarea i ntreinerea fizic a acesteia,
avnd o orientare mai tehnic dect administratorul de date.
Utilizatorii reprezint clienii BD, beneficiarii datelor stocate n BD. Marea majoritate
a acestora nu cunosc detaliile SGBD i folosesc pentru accesarea BD diverse aplicaii
software cu meniu-uri accesibile. Utilizatorii specializai utilizeaz limbaje de interogare a
BD de nivel nalt i pot s i dezvolte propriile aplicaii software.

C4. ARHITECTURA BAZELOR DE DATE

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

impuse n vizualizare. Astfel ANSI (American National Standards Institute) i SPARC


(Standards Planning and Requirements Committee) au propus arhitectura cu trei nivele
ANSI/X3/SPARC sau ANSI-SPARC, care include:
nivelul intern
nivelul conceptual
nivelul extern.
Nivelul extern este format din vederile utilizatorilor, fiecare incluznd anumite
entiti, relaii i atribute, eventual cu reprezentri diferite ale acelorai date, cu combinaii ale
acestora sau cu atribute derivate, pe baza unor scheme externe.
Nivelul conceptual reprezint o vedere general a BD i descrie ce date i relaii sunt
stocate n BD, ntr-o structur logic denumit i schem conceptual. Aceasta nu depinde
nici de modul de implementare a BD. nici de cerinele de vizualizare ale utilizatorilor.
Schema conceptual cuprinde toate entitile, atributele, relaiile i constrngerile datelor,
informaiile semantice despre date, normele de securitate i regulile de integritate.
Nivelul intern reprezint implementarea fizic a BD, pe baza unei scheme interne
cuprinznd structurile de date i de organizare a fiierelor. Acest nivel este responsabil de
alocarea spaiului de stocare a datelor i indexurilor, de descrierea i plasarea nregistrrilor n
spaiul alocat, de codarea i compresia datelor.
Nivelul intern interacioneaz direct cu nivelul inferior, cel fizic, gestionat de sistemul
de operare.
Schema intern este legat de cea conceptual printr-o interfa de transpunere
conceptual/intern care transform ca format cererea procesului client i rspunsul procesului
server ntre cele dou nivele.
Schemele externe sunt deduse din cea conceptual prin transpunerea
extern/conceptual.
Informaiile incluse la un anumit moment n BD reprezint starea sau instana BD i
indiferent de cum se modific datele, ele corespund aceleiai scheme a BD.
Imunitatea schemelor externe fa de modificrile efectuate n schema conceptual
reprezint independena logic de date a BD.
Imunitatea schemei conceptuale fa de schimbrile intervenite n schema intern este
denumit independena fizic de date a BD.

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.

Figura C.1 Arhitectura ANSI-SPARC a BD

C5. MODELAREA BAZELOR DE DATE

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

Pe nivelul intern se folosesc modele fizice al BD care descriu modul de stocare a


datelor n memoria calculatorului, structurile, ordinea i cile de accesare ale nregistrrilor.
Diferit de aceast etap de modelare logic pe cele trei nivele, procesul de modelare a
datelor independent de modul de implementare, de SGBD int, programe aplicaie, limbaje
de programare sau aspecte fizice, reprezint modelarea conceptual a BD.

C6. MODELUL DE DATE RELAIONAL

SGBD relaional (SGBDR) reprezint elementul dominant n procesul actual de


prelucrare a datelor din BD, constituindu-se n cea de a doua generaie de SGBD bazate pe
modelul de date relaional propus n 1970 de E.F. Codd. Din prima generaie fac parte SGBD
ierarhice i n reea. Limbajul standard al SGBDR este SQL.
n modelul relaional, datele sunt structurate logic simplu, sub form de tabele
(relaii, fiiere).
Aceast structurare a BD sub form de tabele este valabil numai pe nivelele
superioare (extern, conceptual) nu i pe nivelul intern.
Relaia este un tabel cu coloane i linii.
Fiecare tabel are o denumire, fiind format din mai multe nregistrri (tuplu-uri,
rnduri, linii) fiecare cu mai multe atribute (cmpuri, coloane).
Tuplul este un rnd sau o linie din tabel.
Ordinea tuplurilor nu este important, dei poate afecta eficiena accesrii tabelului.
Nu trebuie s existe dubluri ale tuplurilor.
Numrul de tupluri dintr-un tabel reprezint cardinalitatea relaiei.
Atributul este o coloan a unei relaii, avnd o denumire proprie, distinct.
Ordinea atributelor nu este important.
Domeniul este mulimea valorilor pe care le poate lua un atribut.
Numrul de atribute ale unei relaii reprezint gradul relaiei.
Baza de date relaional const ntr-un set de relaii normalizat.
Normalizarea este o operaie complex de prelucrare a relaiilor n vederea eliminrii
dublrii datelor din BD.

219
Luminia SCRIPCARIU Bazele reelelor de calculatoare

Prima proprietate de normalizare impune ca fiecare celul a unui tabel s conin o


singur valoare.
O relaie care satisface aceast condiie este n prima form de normalizare.
Fiecare tuplu este identificat unic prin atributele sale.
Un atribut sau un set de atribute care identific n mod unic un tuplu dintr-o relaie se
numete supercheie.
O supercheie pentru care nici un subset de atribute nu este o supercheie se numete
cheie candidat.
Se pot gsi mai multe chei candidat pentru aceeai relaie.
Cheia candidat aleas pentru identificarea unic a tuplurilor dintr-o relaie se numete
cheie primar.
Cheile candidat care nu au fost alese ca i chei primare sunt considerate chei
alternative.
O cheie format din mai multe atribute se numete cheie compus.
Setul de atribute care constituie o cheie candidat a altei relaii se numete cheie
strin.
Modelul sau schema conceptual a bazei de date se reprezint printr-o mulime de
relaii specificate prin numele lor, urmat de atributele fiecreia ntre paranteze, cheia primar
fiind subliniat.
De exemplu, o baz de date a unei agenii imobiliare cuprinde date despre clieni,
angajai i proprietile oferite:
Clieni (Numr_client, Nume, Prenume, Adresa, Telefon, Proprietate)
Personal (Numr_personal, Nume, Prenume, Funcie, Salariu, Data de natere, Sex,
CNP, Adresa, Telefon, Rud)
Proprieti (Numr_proprietate, Tip, Numr de camere, Pre, Proprietar, Adres, Telefon).

APLICAIE: Dezvoltai modelul relaional al unei baze de date pentru o agenie


imobiliar, cu un singur sediu, care intermediaz vnzarea i cumprarea de case,
apartamente i spaii comerciale ntr-o localitate. Identificai toate entitile reprezentative cu
atributele dorite. Precizai cheile primare. Eliminai eventualele atribute care ar lua valori
multiple. Reprezentai grafic entitile i relaiile dintre acestea ntr-o diagram ER.

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

La nivelul logic, toate informaiile dintr-o BD relaional sunt reprezentate explicit


ntr-un singur mod prin valorile din tabele.
2. Accesul garantat
Se garanteaz faptul c orice element dat dintr-o BDR este accesibil din punct de
vedere logic prin apelarea la o combinaie de nume de tabel, valoare a cheii primare
i nume de coloan.
3. Tratarea sistematic a valorilor nul
Valorile nul sunt acceptate pentru a reprezenta informaiile lips i pe cele care nu
pot fi aplicate n mod sistematic, indiferent de tipul de date.
4. Catalog dinamic on-line, bazat pe modelul relaional
Descrierea BD este reprezentat la nivel logic n acelai mod ca i datele obinuite,
astfel nct utilizatorii autorizai pot folosi pentru interogarea acesteia acelai limbaj
relaional aplicat datelor curente.
5. Sublimbaje de date cuprinztoare
Un sistem relaional poate accepta mai multe limbaje i diverse moduri de utilizare a
terminalelor. Totui trebuie s existe cel puin un limbaj ale crui instruciuni s
poat exprima urmtoarele:
definirea datelor
definirea vederilor
manipularea datelor
constrngerile de integritate
autorizarea
limitele tranzaciilor (nceput, efectuare i rulare napoi).
6. Reactualizarea vederilor
Toate vederile care sunt teoretic reactualizabile, pot fi reactualizate de ctre sistem.
8. Operaii de inserare, reactualizare i tergere de nivel nalt
Capacitatea de tratare a unei relaii de baz sau a unei relaii derivate (vedere)ca pe
un singur operand se aplic nu numai regsirii datelor n BD, ci i inserrii,
reactualizrii i tergerii acestora.
9. Independena fizic de date
Programele de aplicaii i activitile de la terminale rmn logic intacte ori de cte
ori sunt fcute modificri, fie n metodele de stocare, fie n metodele de acces.

222
Luminia SCRIPCARIU Bazele reelelor de calculatoare

10. Independena logic de date


Programele de aplicaii i activitile de la terminale rmn logic intacte ori de cte
ori sunt fcute modificri n tabelele de baz cu pstrarea informaiilor sau
deteriorarea acestora.
11. Independena de integritate
Constrngerile de integritate specifice unei anumite BDR trebuie s poat fi definite
n sublimbajul relaional de date i stocate n catalogul de sistem, nu n programele
de aplicaii.
12. Independena de distribuie
Sublimbajul de manipulare a datelor dintr-un SGBDR trebuie s permit programelor
de aplicaii i interogrilor s rmn aceleai din punct de vedere logic dac i ori
de cte ori datele sunt centralizate sau distribuite fizic.
13. Regula de non-subversiune
Dac un sistem relaional are un limbaj de nivel jos (cte-o-nregistrare-o-dat),
atunci acel nivel nu poate fi folosit pentru a submina sau a ocoli regulile de
integritate i constrngerile exprimate n limbajul relaional de nivel mai nalt (mai-
multe-nregistrri-deodat).

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.

C7. ETAPELE CICLULUI DE VIA AL UNEI


APLICAII BAZ DE DATE

S-a constatat eficiena planificrii activitilor necesare crerii unui produs BD


performant:
Planificarea BD const n activiti administrative care vizeaz identificarea
planurilor de afaceri i a cerinelor sistemului informaional, evaluarea situaiei curente i a

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

Testarea aplicaiei BD const n executarea programelor de aplicaie cu scopul


depistrii erorilor de funcionare pe baza unor strategii de testare.
ntreinerea operaional prin monitorizare continu, remedierea erorilor de
funcionare prin reorganizarea BD i eventual, implementarea unor cerine noi. Este indicat
folosirea noilor aplicaii de tip BD n paralel cu cele vechi, dac acestea exist, pentru o
anumit perioad de timp n care s se observe i s se rezolve disfuncionalitile noului
sistem.

C8. PROIECTAREA BAZELOR DE DATE

Proiectarea BD const n realizarea unui model bine conceput al acesteia, structurat pe


nivelele arhitecturii ANSI-SPARC.
Modelarea are ca scopuri:
nelegerea semnificaiei datelor;
comunicarea nevoilor informaionale ntre utilizatori i proiectani;
familiarizarea tuturor prilor cu notaiile folosite n BD;
separarea datelor pe departamente.
Un model de date este optim dac ntrunete urmtoarele criterii:
validitate structural modelul este consecvent fa de modul de definire i
organizare a datelor n cadrul ntreprinderii.
simplitate modelul este uor de neles de ctre programatori i administratori.
expresivitate n cadrul modelului se face o distincie clar ntre diferitele date,
entiti, relaii i constrngeri.
non-redundan n model orice informaie apare exact o singur dat iar
informaiile neeseniale nu sunt incluse.
posibilitate de partajare - BD poate fi utilizat de mai muli utilizatori.
extensibilitate modelul permite implementarea de noi cerine.
integritate modelul este consecvent n utilizarea i administrarea datelor conform
cerinelor ntreprinderii.

225
Luminia SCRIPCARIU Bazele reelelor de calculatoare

reprezentare schematic modelul poate fi reprezentat schematic, folosind notaii


uor de neles.

Proiectarea BD se face pe cele trei nivele ale arhitecturii ANSI-SPARC: logic


(extern), conceptual i intern (fizic).
Prima faz de proiectare se realizeaz pe nivelul conceptual.
Proiectarea conceptual const n crearea unui model conceptual al BD, independent
de detaliile de implementare, de programele de aplicaie, sistem de operare, elemente
hardware etc.
Proiectarea logic reprezint a doua faz de proiectare a BD i const n rafinarea
modelului conceptual (normalizare) i transpunerea acestuia ntr-un model de date logic,
cunoscnd tipul de SGBD int (relaional, ierarhic, n reea sau orientat-obiect).
Cele dou etape sunt eseniale pentru obinerea unui model al BD complet, care s
permit definirea tuturor vederilor utilizatorilor i meninerea integritii BD.
Prin integrarea n modelul logic a schemelor externe pentru vederile utilizatorilor,
respectiv a modelelor de date logice locale, se obine modelul de date logic global. n
aceast etap apar probleme atunci cnd se utilizeaz aceiai termeni pentru obiecte diferite
sau termeni diferii pentru aceleai obiecte.
A treia etap de proiectare, proiectarea fizic a BD, const n descrierea modului de
implementare a BD, a structurilor de stocare n capacitatea de stocare secundar i a
metodelor de acces la date.
Din modelul de date logic global se obin tabelele relaionale, se deduc constrngerile
impuse datelor i necesitile de securitate ale sistemului.
n paralel cu proiectarea BD, se face i proiectarea aplicaiilor pentru accesarea
acestora.
Aceasta const n proiectarea tranzaciilor din BD i a interfeei cu utilizatorul.
Prin tranzacie se nelege o aciune sau o serie de aciuni care acceseaz sau modific
BD.
Pentru SGBD, o tranzacie este un eveniment din lumea real, prin care BD trece
dintr-o stare coerent n alt stare coerent. SGBD este responsabil de meninerea coerenei
BD chiar i n cazul n care o tranzacie eueaz, fie din cauza unei defeciuni tehnice, fie prin
decizia utilizatorului de a renuna la acea tranzacie.

226
Luminia SCRIPCARIU Bazele reelelor de calculatoare

Proiectarea tranzaciilor const n crearea schemelor externe corespunztoare tuturor


vederilor externe ale utilizatorilor, capabile s efectueze orice tip de tranzacie:
de regsire a datelor n BD, pentru afiare sau crearea unui raport.
de reactualizare a datelor, prin inserarea de noi date, tergerea de date sau modificarea
celor existente.
mixte, de regsire i reactualizare.
Dei din punctul de vedere al utilizatorului, o tranzacie const ntr-o singur sarcin,
n realitate aceasta poate fi realizat printr-un set complex de operaii, fiecare reprezentnd o
tranzacie efectuat n BD.
Proiectarea interfeei cu utilizatorul se face pe baza unei machete, cu titlu
semnificativ, cu terminologii inteligibile, cu o grupare logic i secvenial a cmpurilor
(dintr-un formular, raport etc), cu o folosire sugestiv a culorilor care s diferenieze
cmpurile de introducere de date de cele de afiare sau opionale, cu mesaje de eroare care s
indice i domeniul de valori permise ntr-un cmp, precum i cu mecanisme simple de mutare
a cursorului ntre cmpuri (tastele TAB, sgei sau indicatorul mouse-ului).

C9. INSTRUMENTE CASE

Pentru proiectarea BD, ca i pentru orice proces de proiectare de software, se pot


utiliza instrumente de proiectare software asistat de calculator (CASE) care includ:
un dicionar de date, integrat i coerent.
instrumente pentru analiza datelor
instrumente pentru realizarea modelului logic de date global
instrumente pentru crearea prototipurilor aplicaiilor de tip BD.
Exist trei categorii de instrumente CASE:
superioare, pentru etapele iniiale de planificare, definire sistem, colectarea cerinelor
i proiectare sistemului de BD;
inferioare, pentru etapele de implementare, testare pn la ntreinerea operaional a
BD;
integrate, care susin toate etapele ciclului de via a BD.

227
Luminia SCRIPCARIU Bazele reelelor de calculatoare

Instrumentele CASE permit proiectarea eficient a aplicaiilor software de tip BD.

C10. CONCEPTELE MODELULUI ENTITATE-RELAIE

Se va folosi n continuare modelul conceptual Entitate-Relaie (ER), dezvoltat iniial


de Chen n 1976, care descrie structura BD i tranzaciile de regsire i reactualizare a
datelor. Modelul ER se realizeaz independent de SGBD i de platforma hardware pe care se
va rula aplicaia BD.
Modelul ER include urmtoarele concepte:
Tip de entitate obiect (fizic) sau concept (abstract) inclus n BD, cu existen
independent.
Entitate instan a unui tip de entitate, unic identificabil.
Tip de entitate slab tip de entitate a crei existen depinde de alte tipuri de
entiti.
Tip de entitate tare tip de entitate a crei existen nu depinde de alte tipuri de
entiti.
Tip de relaie asociere ntre tipuri de entiti
Relaie o instan a unui tip de relaie.
Gradul unei relaii numrul de entiti implicate n acea relaie (unar, binar,
ternar etc)
Relaie recursiv relaie n care o entitate particip de mai multe ori, cu diferite
roluri.
Raportul de cardinalitate descrie numrul de entiti implicate de fiecare parte a
unei relaii (1:1, unu-la-muli 1:M, muli-la-muli M:N).
Regul de afaceri regula pe baza creia se stabilete un raport de cardinalitate.
Atributul entitii proprietatea unui tip de entitate.
Atributul relaiei proprietate a unei relaii.
Atribut simplu atribut cu o singur component.
Atribut compus atribut cu mai multe componente, cu existene independente.
Domeniul atributului mulimea valorilor pe care le poate lua un atribut.

228
Luminia SCRIPCARIU Bazele reelelor de calculatoare

Atribut cu o singur valoare atribut care conine o singur valoare pentru o


entitate.
Atribut cu valori multiple atribut care conine mai multe valori n acelai cmp.
Atribut derivat atribut dedus din valorile unui alt atribut sau set de atribute.
Cheie articol de date care permite identificarea n mod unic instana unui tip de
entitate.
Cheie candidat atribut sau set de atribute care identific n mod unic instana unui
tip de entitate.
Cheie primar cheia candidat aleas pentru identificarea instanelor unei entiti.
Cheie alternativ cheie candidat neutilizat ca i cheie primar.
Cheie simpl cheie candidat format dintr-un singur atribut.
Cheie compus cheie candidat format din mai multe atribute.
Asupra entitilor i relaiilor din modelul ER se pot defini constrngeri:
de cardinalitate, exprimate prin raportul de cardinalitate i impuse de regulile de
afaceri ale firmei.
de participare, exprimnd dependena existenei unei entiti de o alt entitate.
Participarea unei entiti ntr-o relaie poate fi:
total sau obligatorie;
parial sau opional.

C.11 REPREZENTAREA GRAFIC A DIAGRAMEI


ENTITATE-RELAIE

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

reprezint atribute propriu-zise i discontinuu pentru atributele derivate. Conturul


elipsei este reprezentat printr-o linie dubl n cazul atributelor cu valori multiple.
Relaiile sunt reprezentate sub form de romburi, etichetate cu numele relaiei, cu
chenar simplu ntre entiti tari i cu chenar dublu cnd n relaie este implicat o
entitate slab.
Rapoartele de cardinalitate se reprezint ca etichete ale liniilor ce leag entitile
implicate ntr-o relaie.
Liniile de legtur ntre simbolurile grafice ale entitilor i relaiilor sunt simple dac
participarea este parial i duble cnd participarea entitii la acea relaie este total.
Liniile de legtur pot fi etichetate i cu valorile minim i maxim ale numrului de
entiti implicate ntr-o relaie, scrise ntre paranteze.

Fig. C.2 Reprezentarea grafic a elementelor modelului ER

C12. CAPCANE DE CONECTARE

n proiectarea modelului de date conceptual, pot s apar anumite ambiguiti de


interpretare a relaiilor care s conduc la imposibilitatea soluionrii unor interogri asupra
BD. Aceste probleme ale modelului ER se numesc capcane de conectare i sunt de dou
tipuri:

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).

Fig.C.3 Model ER cu capcan n evantai

Fig.C.4 Model ER modificat pentru eliminarea capcanei n evantai

231
Luminia SCRIPCARIU Bazele reelelor de calculatoare

Fig.C.5 Model ER modificat pentru eliminarea capcanei de ntrerupere

C.13 MODELUL ENTITATE-RELAIE EXTINS

Modelul ER completat cu concepte semantice adiionale de tip subclas i superclas


se numete model Entitate-Relaie Extins (EER Extended Entity Relation).
Un tip de entitate poate fi partajat n mai multe subclase cu rol distinct i eventual cu
atribute distincte.
Prin subclas se nelege un tip de entitate cu rol distinct n organizaia respectiv care
apare inclus ntr-un tip de entitate mai larg.
Mai multe subclase alctuiesc o superclas, adic un tip de entitate cu sens mai larg.
De exemplu, entitatea Clieni ca superclas poate fi divizat n dou subclase:
Vnztori i Cumprtori.
Subclasa motenete atributele superclasei dar poate avea i atribute proprii, distincte.
n diagrama EER, atributele specifice unei subclase sunt ataate direct la dreptunghiul care o
reprezint. Superclasei i se ataeaz numai atributele comune.
Cnd se identific un set de subclase este necesar stabilirea atributelor specifice
fiecrei subclase i a relaiilor dintre aceste subclase i alte tipuri de entiti.
Relaiile dintre subclase i superclas se reprezint cu semnul de incluziune, specific
operaiilor cu mulimi ().

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.

Figura C.6 Specializarea superclasei Clieni

Procesul de modelare a unei categorii este denumit categorisire.

233
Luminia SCRIPCARIU Bazele reelelor de calculatoare

O categorie are o motenire selectiv a atributelor superclaselor crora le este


subordonat.
Categoria este legat printr-un cercule de categorisire, incluznd simbolul de
reuniune a mulimilor, de superclasele respective. Linia de legtur dintre categorie i
cerculeul de categorisire este dubl n cazul participrii totale (orice entitate din superclase
este membr a categoriei= i simpl pentru participare parial.
De exemplu, tipul de entitate Clieni poate fi privit ca o categorie a tipurilor de entiti
Cumprtori, i Vnztori, cu participare total (Figura C.7).

Figura C.7 Categoria Clieni

Alegerea procedeului de specializare sau de categorisire rmne la latitudinea


proiectantului. Este totui indicat ca n cazul partajrii mai multor atribute, inclusiv a cheii
primare, s se aplice procedeul de specializare/generalizare.

C14. ETAPELE PROIECTRII CONCEPTUALE A


BAZELOR DE DATE. NORMALIZAREA

Etapele de construire a modelului EER reprezint procesul de proiectare conceptual a


BD care const n:
identificarea tipurilor de entiti
identificarea tipurilor de relaii
determinarea cardinalitii i constrngerilor de participare
identificarea atributelor i asocierea lor cu tipurile de entiti sau de relaii

234
Luminia SCRIPCARIU Bazele reelelor de calculatoare

determinarea cheilor candidat i alegerea cheilor primare


specializarea sau generalizarea tipurilor de entiti (dac este cazul)
categorisirea tipurilor de entiti (dac este cazul)
reprezentarea grafic a diagramei EER.
Normalizarea este un procedeu de identificare a setului optim de relaii, bazat pe
dependenele funcionale dintre atribute, care are ca scop crearea unui model logic de date
valid, neredundant, care s elimine riscurile de apariie a anomaliilor de reactualizare a
datelor n baza de date.
Dependena funcional dintre atribute semnific faptul c unul sau mai multe
atribute sunt determinate n mod unic de un alt atribut sau set de atribute, care constituie
determinantul.
De exemplu, toate atributele unei relaii sunt dependente funcional de cheia primar,
cu excepia atributelor care o formeaz.
Datele redundante sau dublate pot conduce la reactualizri eronate ale BD.
Anomaliile de reactualizare se clasific n trei categorii:
anomalii de inserare de noi date sau nregistrri cauzate de incoerena unor relaii
din schema relaional. De exemplu, dac se definete o relaie
Personal_Departament, n care sunt inclui toi membrii de personal din agenie i
fiecare departament, cu atributele sale, apare de mai multe ori n tabel, pe rndurile
corespunztoare reprezentanilor si, se produce o dublare a datelor. n cazul n care
se dorete nfiinarea unui nou departament care iniial nu are angajai, este necesar
introducerea de nul-uri n cheia primar a relaiei ceea ce nu este admis. Dac se
angajeaz un nou membru de personal trebuie s introducem corect datele referitoare
la departamentul n care va fi repartizat, aa cum apar ele i n celelalte nregistrri ale
personalului aferent aceluiai birou. Reprezentarea distinct a tipurilor de entiti n
dou relaii Personal i Departamente elimin aceast dublare a datelor i anomaliile
de inserare. Fiecare membru de personal este asociat numai cu numrul de identificare
a departamentului, atributele acestuia fiind incluse n alt tabel.
anomalii de modificare sunt cauzate de dublarea datelor n tabele. De exemplu,
modificarea unui atribut al unui departament, impune schimbarea valorii datelor din
mai multe rnduri. Dac nu se reactualizeaz toate nregistrrile corespunztoare, se
vor genera rapoarte incorecte, cu date depreciate.

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

3. a treia form normalizat (3NF) se obine prin eliminarea dependenelor


tranzitive din model. Prin definiie, atunci cnd un atribut A determin atributul B, iar B
determin atributul C, apare dependena tranzitiv a atributului C de atributul determinant
A prin intermediul atributului B. Dependenele funcionale tranzitive dintre atributele unei
relaii pot cauza erori de reactualizare. O relaie aflat n 1NF i 2NF se gsete n 3NF dac
nici un atribut din afara cheii primare nu este dependent tranzitiv de cheia primar, prin
intermediul altui atribut care nu intr n componena cheii primare. Pentru obinerea formei a
treia de normalizare, orice atribut cu dependen tranzitiv se plaseaz ntr-o nou relaie
mpreun cu copia determinantului (determinanilor). De exemplu, n relaia
Proprietate_Proprietar, cu cheia primar simpl Nr_proprietate, atributul Nume_proprietar
depinde funcional de atributul Nr_proprietar care la rndul su este determinat de cheia
primar ceea ce arat apariia unei dependene funcionale tranzitorii. Eliminarea ei se face
prin descompunerea relaiei iniiale n dou relaii, Proprieti i Proprietari, n care
Nr_proprietar devine cheie primar care determin funcional total toate celelalte atribute
(Nume_proprietar, Adresa, Telefon etc) iar n relaia Proprieti apare cheia strin
Nr_proprietar ca singur atribut care descrie proprietarul unei proprieti.
4. forma normal Boyce-Codd (BCNF) ia n considerare i dependenele
funcionale de eventualele chei candidat dintr-o relaie i se obine dup crearea formei
3NF, atunci cnd toi determinanii sunt chei candidat. Pentru o relaie cu o singur cheie
candidat care se utilizeaz implicit ca i cheie primar, formele 3NF i BCNF sunt
echivalente. De exemplu, ntr-o relaie Proprietate_Vizitare cu cheia primar (Nr_proprietate,
Nr_client) apar mai multe dependene funcionale care sunt admise dac determinantul lor
este cheie candidat. Atributele Data_vizitei, Ora_vizitei, Nr_Agent, Main, Comentarii sunt
determinate funcional total de cheia primar. Dar atributul Main depinde funcional i de
setul de atribute (Data_vizitei, Ora_vizitei, Nr_agent) care ns constituie o cheie candidat.
Prin analiza tuturor dependenelor din relaie se stabilete dac aceasta este sau nu n forma
BCNF.
5. a patra form normalizat (4NF) se obine din BCNF prin eliminarea
dependenelor funcionale multivalorice (MVD) netriviale (nu determin integral tabelul),
care apar n procesul de generare a primei forme de normalizare din cauza relaiilor de tip
1:M independente dintre tipurile de entiti. De exemplu, exist astfel de relaii 1:M ntre
entitile Departament i Personal sau Departament i Clieni. ntr-o relaie

237
Luminia SCRIPCARIU Bazele reelelor de calculatoare

Departament_Personal_Clieni exist o singur cheie candidat (Nr_departament, Nr_agent,


Nr_client) deci relaia este n forma BCNF. Pentru a evita apariia atributelor cu valori
multiple, pentru acelai departament se combin n mai multe rnduri numele agenilor cu
numele clienilor pe care i deservesc. Deci numele unui agent poate corespunde la mai muli
clieni iar combinaia (Nr_agent, Nr_departament) apare redundant, de mai multe ori. Similar,
apar repetate combinaiile (Nr_client, Nr_departament). Pentru eliminarea acestor dependene
multivalorice, se descompune relaia iniial n dou relaii, de exemplu,
Departament_Personal i Departament_Clieni.
6. a cincia form normalizat (5NF) se obine din 4NF prin descompunerea unei
relaii n dup sau mai multe relaii independente care elimin dependenele de tip uniune
fr pierderi. care garanteaz faptul c prin uniunea natural a mai multor tabele rezultate
din descompunerea altuia nu se genereaz date sau corespondene false.

C15. PROIECTAREA LOGIC A BAZELOR DE DATE


RELAIONALE

Proiectarea logic a BD continu procesul de proiectare conceptual, prin construirea


modelului logic global, independent de SGBD care va fi utilizat, precum i de orice
consideraii de implementare fizic a BD.
Se construiesc modelele logice locale pe baza vederilor fiecrui tip de utilizator al BD.
Modelul logic global include toate modelele logice de date locale.
Construcia acestor modele logice locale n mod coerent implic:
eliminarea relaiilor de tip M:N
eliminarea relaiilor complexe
eliminarea relaiilor recursive
eliminarea atributelor cu valori multiple
eliminarea relaiilor cu atribute prin definirea de noi tipuri de entiti
eliminarea atributelor cu valori multiple
eliminarea relaiilor redundante
normalizarea modelelor

238
Luminia SCRIPCARIU Bazele reelelor de calculatoare

verificarea posibilitilor de efectuare a tranzaciilor cerute de fiecare potenial


utilizator
impunerea constrngerilor de integritate asupra datelor, domeniilor atributelor,
entitilor, referenial i de ntreprindere (reguli de afaceri)
impunerea constrngerilor de existen prin definirea condiiilor n care o cheie
candidat sau strin poate fi inserat, reactualizat sau tears i precizarea aciunilor permise
(NO ACTION, CASCADE, SET NULL, SET DEFAULT, NO CHECK)
elaborarea documentaiei aferente BD, care s includ schema relaional i
dicionarul de date.
Realizarea modelului logic global impune:
revizuirea denumirilor entitilor, relaiilor i cheilor primare
mbinarea entitilor din vederile locale i includerea entitilor unice care apar n
modelele locale
mbinarea relaiilor din vederile locale i includerea relaiilor unice
identificarea entitilor i relaiilor lips
verificarea cheilor strine
verificarea constrngerilor de integritate
desenarea diagramei modelului logic global
reactualizarea documentaiei
validarea modelului prin evaluarea capacitii acestuia de a efectua orice tranzacie
cerut de utilizatori.

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:

Tabel C1. Documentarea tipurilor de entiti


Tip de entitate Descriere Aliasuri Detalii de interpretare

239
Luminia SCRIPCARIU Bazele reelelor de calculatoare

Tabel C2. Documentarea relaiilor


Tip de entitate 1 Tip de Tip de entitate 2 Raport de Participare
relaie cardinalitate (T, P)

Tabel C3. Documentarea atributelor


Tip de Denumirile Descriere Tip i Chei Valoare Alias Nul Derivat?
entitate atributelor lungime a prestabilit admis?
cmpurilor

Tabel C4. Documentarea domeniilor atributelor


Denumirea domeniului Caracteristicile domeniului Exemple de valori admise

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

C16. PROIECTAREA FIZIC A BAZELOR DE DATE

Pe baza modelului de date logic global se realizeaz o schem relaional de baz


cunoscnd SGBD int.
Se transform relaiile de baz identificate n modelul de date logic global avnd n
vedere caracteristicile SGBD care va fi utilizat i se ntocmete documentaia referitoare la
proiectarea relaiilor de baz pentru un anumit SGBD.
Pasul urmtor const n proiectarea constrngerilor ntreprinderii pentru SGBD i
documentarea acestora.
Pentru reprezentarea fizic a BD, se determin modalitile de organizare afiierelor n
BD i metodele de acces care vor fi utilizate pentru stocarea schemei relaionale n
capacitatea de memorie secundar, prin:
analiza tranzaciilor care pot fi executate n BD pe baza schemei relaionale de lucru.
determinarea modalitii optime de organizare a fiecrui fiier din BD.
opional se pot introduce indexuri secundare dac acestea mbuntesc performanele
sistemului de tip BD.
se analizeaz oportunitatea introducerii unei redundane controlate a datelor prin
dublarea unor date i atribute, eventual uniunea unor relaii.
estimarea spaiului necesar pe disc pentru stocarea BD.
Urmeaz proiectarea mecanismelor de securitate, a vederilor utilizatorilor i a
regulilor de acces la BD i se elaboreaz documentaia pentru acestea.
Pe msur ce BD este utilizat i monitorizat, se pot observa i corecta deciziile de
proiectare inadecvate i se pot efectua eventualele modificri necesare unor cerine noi ale
utilizatorilor.
Un exemplu de SGBD tipic bazat pe PC este MS Access care permite crearea de
tabele, formulare, rapoarte i interogri pentru aplicaii BD personalizate, rulate pe un singur
calculator sau ntr-o reea de calculatoare cu utilizatori multipli.
MS Access are anumite particulariti:
nu face deosebire ntre irurile de caractere cu lungime fix i variabil, folosind n
acest caz numai tipul de date Text.

241
Luminia SCRIPCARIU Bazele reelelor de calculatoare

nu admite ca o cheie strin sa fac referire la mai mult de o relaie-printe pe baza


unei constrngeri refereniale. Este necesar eventuala specializare a entitii-printe pentru
diferenierea mai multor chei strine cu un singur printe, care ns admit nul-uri.
ofer pentru operaiile de reactualizare i tergere de date din BD numai opiunile
CASCADE i NO ACTION (implicit), fiind necesar reproiectarea tranzaciilor pentru
meninerea integritii refereniale a BD.
permite crearea tabelelor cu specificarea cmpurilor acestora i a proprietilor lor:
Field Size pentru date de tip Text, Number i Autonumber; Format pentru specificarea
modului de afiare a datei, orei i textului; Decimal Places; Input Mask pentru exprimarea
opiunilor de formatare datelor (\P afieaz n clar litera respectiv; L semnific o liter
introdus de la tastatur; >L determin afiarea ca majuscul a literei care se introduce de la
tastatur pe poziia marcat n masc cu semnul mai mare; 0 specific necesitatea
introducerii unei cifre; 9 reprezint cifre care se introduc opional); Caption include
denumirea dorit pentru o anumit coloan din tabel, diferit de numele folosit n schema
relaional pentru atributul respectiv; Default Value; Validation Rule pentru exprimarea
unor constrngeri asupra valorilor atributelor; Validation Text specific mesajul de
avertizare care se afieaz atunci cnd utilizatorul introduce date n mod incorect; Required
prin opiunea No specific admiterea nul-urilor pentru acel atribut; Indexed folosirea
indexurilor pe unele cmpuri pentru accelerarea procesului de interogare.
permite folosirea listelor de cutare i de valori (Lookup/Value). Pentru crearea unei
liste de cutare se poate crea un tabel suplimentar cu coduri i descrierea acestora, urmnd ca
n tabelul iniial s se foloseasc pentru lista de cutare acest tabel, cu cmpul de coduri ca o
cheie strin. Listele de valori includ un set finit de valori permise pentru un anumit cmp.
Modificarea valorilor din list nu se reflect n nregistrrile anterioare.
permite definirea relaiilor dintre tabele (n fereastra Relationships) pe baza cheilor
strine, cu stabilirea regulilor de reactualizare i tergere.

242

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