Professional Documents
Culture Documents
1
Capitolul 1. Concepte de bază
Tehnologia bazelor de date a fost descrisă ca fiind una din ariile ştiinţei
calculatoarelor cu o dezvoltare deosebit de rapidă.
Ca domeniu ea este încă tânără având începutul pe la mijlocul anilor
60’. În ciuda tinereţii, ea a devenit de o importanţă covârşitoare, atât teoretică
cât şi practică. Cantitatea totală de date din bazele de date a devenit acum
posibil a fi măsurată în miliarde de octeţi; efortul financiar implicat este
deasemenea uriaş. Nu este exagerat a spune că multe mii de organizaţii au
devenit critic dependente de operarea continuă şi cu succes a sistemelor de
baze de date.
Deci, ce este exact un sistem de baze de date? Simplu, nu e nimic
mai mult decât un sistem de păstrare a înregistrărilor bazat pe calculator,
adică un sistem al cărui scop suprem este de a înregistra şi menţine
informaţii. Informaţia implicată poate fi orice entitate căreia noi îi conferim o
semnificaţie, adică ceva care poate fi necesar în procesele de luare de decizii
implicate în gestionarea unei organizaţii.
Figura 1.1. doreşte să arate că un sistem bază de date implică patru
componente majore: date, hardware, software şi utilizatori. Le vom considera
pe rând în continuare:
Date
Datele memorate (stocate) într-un sistem sunt partiţionate într-una sau mai
multe baze de date.Pentru scopuri didactice, este convenabil să presupunem
că există numai o bază de date, conţinând totalitatea datelor stocate în sistem.
Există totuşi raţiuni puternice pentru care această restricţie nu este folosită
decât arareori în practică.
Definiţie: O bază de date este un depozit pentru date memorate. În
general ea este atât intergrată cât şi partajată. Prin “integrată” înţelegem că
baza de date poate fi gândită ca o unificare de mai multe fişiere de date, altfel
distincte, cu redundanţele dintre aceste fişiere total sau parţial eliminate.
De exemplu, o bază de date ar putea conţine atât înregistrări
ANGAJAT, conţinând nume, adresă, departament, salariu, etc. cât şi
înregistrări PERFECŢIONĂRI reprezentând înrolarea angajaţilor în cursuri
de perfecţionare. Să presupunem că pentru administrarea cursurilor este
necesară cunoaşterea departamentului fiecărui angajat înscris. Este clar că nu
2
este necesar să se introducă această informaţie redundantă în înregistrările
PERFECŢIONĂRI, deorece ea este deja cuprinsă în datele ce se găsesc la
ANGAJAT-ul corespunzător.
Programe
aplicaţie End Users
Hardware
Hardul unui sistem bază de date şi constă din volumele de memorare
secundare discuri, dischete, benzi pe care rezidă baza de date, împreună cu
aparatele, unităţile de control, canalele respective. O baze de date se poate
3
presupune fără riscuri ca fiind prea mare pentru a putea fi stocată în memoria
centrală a unui calculator.
Cursul de faţă nu vizează aspectele hard ale domeniului.
Software
Între baza de date fizică (adică datele aşa cum sunt ele memorate pe suport) şi
utilizatorii sistemului există un nivel de software, numit uzual sistem de
gestionare a bazei de date (SGBD sau în engleză, data base management
system DBMS).
Toate cererile utilizatorilor pentru accede baza de date sunt
îndreptate către DBMS. O funcţie generala oferită de către DBMS este de a
feri utilizatorii de detaliile la nivel hardware, adică de a le da posibilitatea să
se ridice peste acestea şi de a suporta operaţii utilizator (de exemplu “citeşte
înregistrarea ANGAJAT pentru angajatul Ionescu”) care se exprimă in
termenii unui nivel superior celui hard.
Utilizatori
Vom considera trei mari categroii de utilizatori. În primul rând, există
programatorul de aplicaţie, responsabil a scrie programe aplicaţie care
folosesc baza de date, tipic în limbaj de programare (Cobol, C, etc.) sau
limbaj propriu al bazei de date (bDase, FoxPro, etc.). Aceste aplicaţii
program operează asupra datelor în toate modurile obişnuite: regăsirea
informaţiilor, crearea informaţiilor noi, modificarea sau ştergerea
informaţiilor existente. Toate aceste funcţii se realizează emiţând cereri
potrivite către DBMS.
O a doua clasă de utilizatori sunt end-userii ce accesează baza de
date de la un terminal. Ei folosesc un limbaj de interogare (query language)
oferit ca o parte integrantă a sistemului sau utilizează aplicaţiile scrise de
programatorii de aplicaţie.
A treia clasă de utilizatori este administratorul bazei de date, pe
scurt DBA.
4
Orice intreprindere trebuie să întreţină în mod curent o mulţime de
date despre operarea sa. Acestea sunt date operaţionale. Exemple ar fi datele
de producţie, de contabilitate, datele despre pacienţi sau studenţi, datele de
planificare, etc.
Precum am menţionat, datele operaţionale nu includ date de intrare
şi de ieşire, cozi de lucru sau orice informaţie tranzientă. “Datele de intrare”
se referă la informaţia introdusă în sistem din lumea exterioară, de obicei prin
terminale. Acestă informaţie poate cauza o modificare în datele operaţionale,
dar ea insăşi nu este o parte a bazei de date. Similar, “datele de ieşire” se
referă la mesaje şi rapoarte emanând din sistem (tipărite sau afişate pe
terminal). Din nou, un astfel de raport conţine informaţii din datele
operaţionale, dar nu sunt ele însele parte a bazei de date.
Pentru a exemplifica conceptul de date operaţionale considerăm
cazul unei fabrici. O astfel de intreprindere va dori să reţină informaţii despre
proiectele pe care le are în derulare; părţile (componente, subansamble, etc.)
folosite în aceste proiecte; furnizorii care livrează părţile; magaziile în care se
depozitează părţile; angajaţii care lucrează la proiecte; etc.
Acestea sunt entităţile de bază despre care se înregistrează date în
baza de date. Este important de notat că, în general, vor exista asociaţii sau
relaţii legând aceste entităţi de bază împreună. Ele se reprezintă prin săgeţi
ca în fig. 1.2.
De exemplu există o asociaţie între furnizori şi părţi. Fiecare
furnizor dă anumite părţi şi reciproc, fiecare parte este dată de anumiţi
furnizori. Similar părţile sunt folosite în proiect, şi invers proiectele folosesc
părţi; părţile sunt depozitate în magazii şi magaziile conţin părţi, etc. Să
notăm că aceste relaţii sunt toate bidirecţionale: adică ele, toate pot fi
traversate în ambele direcţii. De exemplu, relaţia între angajaţi şi
departamente poate fi folosită pentru a răspunde la următoarele întrebări:
1. Fiind dat un angajat, să se găsească departamentul în care lucrează.
2. Fiind dat un departament, să se găsească toţi angajaţii corespunzători lui.
Elementul semnificativ depre relaţii ca cele de mai sus este că ele
sunt o parte a datelor operaţionale, chiar mai mult decât entităţile asociate.
Deci ele trebuie să fie reprezentate în baza de date (vom vedea mai târziu
cum).
1. Cu toate că majoritatea relaţiilor din diagramă asociază două tipuri de
entităţi, există şi relaţii care asociază entităţi de trei tipuri, precum şi
relaţii care asociază un singur tip de entitate.
2. O aceaşi entitate poate fi asociată în oricâte relaţii.
Entităţile şi relaţiile sunt două tipuri disimilare fundamentale de obiecte.
Totuşi, o asociaţie între entităţi poate fi considerată ea însăşi o entitate, dacă
luăm ca definiţie pentru entitate: “un obiect despre care vrem să înregistrăm
informaţii” şi deci asociaţia se potriveşte cu această definiţie. Vom vedea
deci relaţiile ca un tip special de entitate.
Figura 1.2. ilustrează şi un număr de alte puncte:
5
Furnizori Proiecte
Părţi
Magazii Angajaţi
Locaţii Departamente
6
Nu înseamnă numai că aplicaţiile existente pot partja date din baza
de date (vezi 1.1.) dar şi că noile aplicaţii pot fi dezvoltate pentru a
opera asupra datelor existente.
4. Standardele vor fi respectate
DBA impune în reprezentarea datelor standarde unice.
5. Pot fi aplicate restricţii de securitate
6. Poate fi menţinută integritatea datelor
7. Cererile conflictuale pot fi balansate
7
Să considerăm, pentru început, tipurile de modificări pe care un
DBA doreşte să le facă (şi la care dorim ca aplicaţiile să fie imune). Începem
cu câteva definiţii:
Un câmp este cea mai mică unitate de date stocate în baza de date.
Baza de date va conţine, în general, mai multe ocurenţe sau instanţe pentru
fiecare din tipurile de câmpuri.
O înregistrare este o colecţie de nume de câmpuri asociate. Facem
din nou distincţie între tip şi ocurenţă. O ocurenţă sau instanţă de
înregistrare constă dintr-un grup de ocurenţe de câmp înrudite (asociate) şi
reprezintă o asociere între ele. Un fişier este o colecţie a tuturor
înregistrărilor de unul sau mai multe tipuri.
Codificarea datelor
În anumite situaţii, este de dorit a reprezenta datele prin valori codificate.
Materializarea datelor
În mod normal, câmpul logic văzut de o aplicaţie corespunde cu un anumit
câmp unic dintr-o înregistrare. Într-un astfel de caz, procesul materializării -
adică construcţia unei ocurenţe corespunzătoare a câmpului memorat şi
prezentarea ei aplicaţiei - se poate spune că este directă.
Totuşi ocazional, un câmp logic nu va avea numai un singur câmp
memorat, ci valorile lui se vor materializa cu ajutoarul unor calcule efectuate
asupra unei mulţimi de câmpuri memorate. De exemplu un câmp “cantitate
totală”. Atunci câmpul logic se zice că este indirect.
8
integrate pentru a da (parte, număr, culoare, greutate). Aceste probleme apar
atunci când aplicaţii de dinainte de a avea o bază de date sunt integrate într-
un sistem bază de date.
Aceasta implică faptul că înregistrarea logică a unei aplicaţii poate
consta dintr-o submulţime a unei înregistrări memorate, adică faptul că
anumite câmpuri memorate pot fi invizibile pentru o aplocaţie particulară.
Alternativ, un singur tip de înregistrare memorată poate fi spart în două. În
cazul nostru (parte, număr, culoare, greutate) poate da (parte, număr, culoare)
şi (parte, număr, greutate).
O astfel de despicare permite ca porţiuni mai puţin folosite să fie
memorate pe periferice mai lente, de exemplu. Implicaţia este că înregistrarea
logică a unei aplicaţii poate conţine câmpuri din mai multe tipuri de
înregistrări memorate.
Nivel conceptual
(Vedere comunitate utilizatori)
Nivel intern
(Vedere storage=memorare)
9
Scopul nostru în prezentarea acestei arhitecturi este de a oferi un cadru pe
care ne putem construi celelalte capitole şi de a înţelege, în general baza de
date. Arhitectura este împărţită în trei nivele generale: intern, conceptual şi
extern. Grosier vorbind, nivelul intern este acela care e cel mai apropiat de
memorarea fizică, adică cel legat de modul de memorare al datelor. ivelul
extern este cel mai apropiat de utilizatori, adică de modul în care datele se
văd de către utilizatorii individuali. Nivelul conceptual este “nivelul de
indirectare” între celelalte două viziuni.
Exemplu: La nivelul conceptual, baza de date conţine informaţii
despre un tip de entitate numit ANGAJAT. Fiecare ANGAJAT are un
NUMAR-ANGAJAT (6 caractere), NUMAR-DEPARTAMENT (4
caractere) şi un SALARIU (5 cifre). La nivelul intern, angajaţii sunt
reprezentaţi printr-un tip de înregistrare STORED-ANG de 18 octeţi.
STORED-ANG conţine patru tipuri de câmpuri: un prefix de 6 octeţi (posibil
cu informaţii de control, flags, pointers, etc.), şi trei câmpuri de date
corespunzătoare celor trei proprietăţi ale lui ANGAJAT. În plus,
înregistrările STORED-ANG sunt indexate prin câmpul EMP# de un index
numit EMPX. La nivelul extern, un utilizator poate vedea numai două
câmpuri (NUMAR-ANGAJAT şi SALARIU) iar un alt utilizator poate vedea
numai (NUMAR-ANGAJAT şi NUMAR-DEPARTAMENT).
Să notăm că obiectele corespunzătoare pot avea nume diferite la cele
trei nivele.
Să examinăm acum mai în detaliu componentele arhitecturii.
Utilizatorii sunt fie programatorii de aplicaţii fie utilizatorii de la
terminale. DBA este un caz special şi important. Fiecare utilizator are un
limbaj la dispoziţia sa: programatorii au limbaje de programare COBOL, C,
etc. iar utilizatorii au un limbaj de interogare, un query language.
Pentru scopurile noastre lucrul important relativ la limbajul
utilizator este ca acesta va include un sublimbaj date (Data SubLanguage
DSL), adică un subset al limbajului total care este legat de obiectele şi
operaţiile bazei de date. Spunem că sublimbajul de date este scufundat într-un
limbaj gazdă.
În principiu, orice sublimbaj de date este o combinaţie a două
limbaje: un limbaj de definiţie date (Data Definition Language DDL), care
defineşte obiectele bazei de date (aşa cum sunt ele percepute de către
utilizator) şi un limbaj de manipulare date (Data Manipulation Language
DML), care prelucrează astfel de obiecte.
Să revenim însă la arhitectură.
Am indicat deja că un utilizator individual va fi interesat, în general,
numai de o anumită porţiune a bazei de date totală; mai mult vederea
utilizatorului asupra acelei porţiuni va fi ceva abstract dacă o comparăm cu
modul în care datele respective sunt memorate fizic. Viziunea utilizatorului
individual se numeşte vedere externă. O vedere externă este astfel conţinutul
10
bazei de date aşa cum este ea văzută de un utilizator particular (adică pentru
acel utilizator, vederea externă este baza de date).
De exemplu, un utilizator din departamentul personal va vedea baza
de date ca o colecţie de ocurenţe de înregistrări departament plus o colecţie
de ocurenţe de înregistrări angajat (şi nu ştie de ocurenţele de înregistrări
clienţi, părţi, etc.). În general, deci, o vedere externă constă din mai multe
ocurenţe de multiple tipuri de înregistrări externe. O înregistrare externă nu
este necesar aceaşi cu înregistrarea memorată. Sublimbajul de date al
utilizatorului este definit în termenii înregistrărilor externe. De exemplu, o
operaţie DML “get” va găsi o ocurenţă de înregistrare externă şi nu una de
înregistrare memorată. Vedem acum că termenul de înregistrare logică din
secţiunea 1.4. este de fapt sinonim celui de înregistrare externă.
Fiecare vedere externă este definită cu ajutorul unei scheme externe
care constă din definiţii pentru fiecare din variatele tipuri de înregistrări
externe din vederea externă.
Schema externă este scrisă folosind porţiunea DDL a sublimbajului
de date. De aceea, DDL-ul este numit adesea DDL extern.
De exemplu, tipul de înregistrare externă angajat poate fi definit ca
având un câmp de 6 caractere pentru numărul angajatului, plus un câmp fix
binar pentru salariu, etc. În plus, trebuie să existe o definiţie pentru maparea
între schema externă şi schema conceptuală.
Vederea conceptuală este o reprezentare a întregii informaţii
conţinute în baza de date, din nou într-o formă care este ceva abstract în
comparaţie cu modul în care datele sunt stocate fizic. Ea poate fi şi puţin
diferită de modul în care datele sunt văzute de un utilizator particular. Grosso
modo vorbind, ea se doreşte a fi o vedere a datelor aşa cum sunt în realitate,
mai degrabă decât modul în care un utilizator este forţat să le vadă. Vederea
conceptuală constă din multiple din multiple ocurenţe de multiple tipuri de
înregistrări conceptuale.
De exemplu, poate consta dintr-o colecţie de ocurenţe de înregistrări
departament, plus o colecţie de ocurenţe de înregistrări angajat plus o colecţie
de ocurenţe de înregistrări furnizor, o colecţie de ocurenţe de înregistrări
părţi, etc.
O înregistrare conceptuală nu este necesar aceaşi cu o înregistrare
externă sau o înregistrare memorată.
Vederea conceptuală este definită cu ajutorul unei scheme
conceptuale care include definiţii pentru fiecare din variatele tipuri de
înregistrări conceptuale. Schema conceptuală se scrie folosind un alt limbaj
de definiţie de date DDL-ul conceptual.
Dacă se doreşte să se obţină independenţa datelor, aceste definiţii
trebuie să nu implice nici o considerare despre structura de memorare sau
strategia de acces - ele trebuie să fie definiţii referitaoare numai la conţinutul
informaţiei. Astfel, trebuie să nu fie nici o referinţă la reprezentarea în
11
memorie a unui câmp, secvenţă fizică, indexare sau orice alt detaliu de
memorare/acces.
Vederea conceptuală este, apoi, o vedere a conţinutului întregii baze
de date iar schema conceptuală este o definiţie a acestei vederi. Ea este puţin
mai mult decât o simplă reuniune a tuturor vederilor utilizator individuale,
posibil cu adăugarea unor proceduri simple de autorizare şi validare.
Al treilea nivel de arhitectură este nivelul intern. Vederea internă
este o reprezentare de nivel foarte jos a întregii baze de date. Ea constă din
multiple ocurenţe de multiple tipuri de înregistrări interne, adică ceea ce noi
am numit înregistrări memorate. Ea este totuşi deasupra nivelului fizic,
deoarece nu lucrează în termeni de înregistrări fizice sau blocuri şi nici cu
restricţii specifice perifericelor ca de exemplu mărime cilindru sau pistă.
Vederea internă presupune un spaţiu de adrese liniar şi infinit.
Detaliile despre modul în care este mapat acest spaţiu de adrese pe
memoria fizică este specific implementării şi nu este adresat direct în
arhitectură.
Vederea internă este descrisă cu ajutorul schemei interne care nu
numai că defineşte tipuri variate de înregistrări memorate, dar specifică
deasemenea ce indecşi există, cum se reprezintă câmpurile memorate, etc.
Schema internă se scrie folosind un alt limbaj de definiţie date,
DDL-ul intern.
Maparea conceptuală/internă defineşte corespondenţa dintre
vederea conceptuală şi baza de date memorată (vederea internă), specificând
modul în care se mapează câmpurile şi înregistrările conceptuale în
corespondente lor. Dacă structura bazei de date memorate se modifică - adică
a apărut o schimbare în definiţia structurii de memorare - maparea
conceptuală/internă trebuie să se schimbe corespunzător, astfel încât schema
conceptuală să rămână aceaşi. Cade în responsabilitatea lui DBA să
controleze astfel de schimbări. Cu alte cuvinte, efectele unor astfel de
schimbări trebuie să fie conţinute sub nivelului conceptual, astfel ca
independenţa datelor să fie atinsă.
Maparea externă/conceptuală defineşte corespondenţa dintre o
vedere externă particulară şi vederea conceptuală. În general acelaşi fel de
diferenţe pot exista între aceste două nivele ca şi cele care există între vederea
conceptuală şi baza de date memorată. De exemplu, câmpurile pot avea
diferite tipuri de date, înregistrările pot fi secvenţializate diferit, etc. În
acelaşi timp pot exista oricâte vederi externe; oricâţi utilizatori pot partaja o
vedere externă dată; diferitele vederi externe se pot acoperi.
Sistemul de gestiune al bazei de date (Data Base Management
System DBMS) este softul care mânuieşte toate accesele la baza de date.
Conceptual, se întâmplă astfel:
1. Un utilizator emite o cerere de acces, folosind un limbaj patricular de
manipulare date.
2. DBMS-ul interceptează cererea şi o interpretează.
12
3. DBMS-ul inspectează, pe rând, schema externă, maparea
externă/conceptuală, schema conceptuală, maparea conceptuală/internă şi
definiţia de structură de memorare.
4. DBMS-ul realizează operaţiile necesare asupra bazei de date memorate.
De exemplu, să considerăm ceea ce este implicat în regăsirea unei
ocurenţe de înregistrare externă particulară. În general câmpurile vor fi cerute
din mai multe ocurenţe de înregistrări conceptuale. Fiecare ocurenţă de
înregistrare conceptuală, la rândul ei, poate cere câmpuri din mai multe
ocurenţe de înregistrare memorată. Cel puţin conceptual, atunci DBMS
trebuie să regăsească toate ocurenţele de înregistrare memorată, să
construiască ocurenţele de înregistrare conceptuală cerute şi apoi să
construiască ocurenţa de înregistrare externă cerută. La fiecare nivel sunt
necesare conversii de tipuri de date.
Din nou, responsabilităţile DBA includ:
1. Decizia asupra conţinutului informaţiei conţinute în baza de date.
DBA identifică entităţile de interes pentru intreprindere şi identifică
informaţia care se înregistrează despre aceste entităţi. DBA
defineşte apoi conţinutul bazei de date scriind schema conceptuală
(folosind limbajul DDL conceptual). Forma obiect (compilată) a
acestei scheme este folosită de către DBMS în răspunsul la cererile
de acces. Forma scrisă (necompilată) acţionează ca un document de
referinţă pentru utilizatorii din sistem.
2. Decizia asupra structurii de memorare şi a structurii de acces.
DBA decide asupra modului încare datele sunt reprezentate în baza
de date şi trebuie să specifice reprezentarea scriind definiţia de
structură de memorare (folosind DDL-ul intern). În plus trebuie să
specifice maparea între definiţia structurii de memorare şi schema
conceptuală. În practică, atât DDL-ul intern cât şi cel extern vor
include, probabil, mijloacele pentru a specifica această mapare, dar
definiţiile diferite trebuie să fie clar separate. Ca şi schema
conceptuală, schema internă şi maparea coresunzătoare trebuie să
existe atât în forma scrisă cât şi în forma obiect.
3. Legătura cu utilizatorii.
Pentru a se asigura că datele pe care le achiziţionează utilizatorii
sunt corecte, DBA păstrează legătura cu aceştia şi pentru a scrie
schemele externe necesare, folosind DDL-ul extern. În plus,
maparea între orice schemă externă dată şi schema conceptuală
trebuie specificată de asemenea. În practică, DDL-ul extern va
include, probabil, mijloacele pentru a specifica această mapare, dar
schema şi maparea trebuie să fie clar distincte. Fiecare schemă
externă şi maparea corespunzătoare vor exista atât în sursă cât şi în
obiect.
4. Definirea procedurilor de verificări autorizate şi de validări.
13
Aşa cum am mai spus, acestea pot fi considerate ca extensii logice
ale schemei conceptuale. DDL-ul conceptual va include facilităţi
pentru a specifica astfel de verificări şi proceduri.
5. Definirea unei strategii pentru salvări şi restaurări.
Odată ce o intreprindere a decis să folosească un sistem bază de
date, ea devine critic dependentă de succesul operării sistemului. În
eventualitatea unei deterioarări a oricărei porţiuni a bazei de date -
cauzate de o eroare umană, eşec hardware sau al sistemului de
operare - este esenţial să fie capabil să repare datele implicate, cu un
minimum de întârziere şi cu un efect cât mai mic asupra restului
sistemului. DBA trebuie să definească şi să implementeze o strategie
de restaurare potrivită, implicând, de exemplu, salvarea periodică a
bazei de date pe bandă şi proceduri de reâncărcare de porţiuni
relevante ale bazei de date din ultima bandă.
6. Monitorizarea performanţei şi răspunsuri la schimbările în cerinţe.
DBA este responsabil pentru a organiza sistemul astfel încât să
obţină performanţa care este “cea mai bună pentru interprindere” şi
pentru a face ajustările potrivite, după cum se schimbă cerinţele. Aşa
cum am spus, orice schimbare în detaliile memorării şi accesului
trebuie să fie acompaniată de o schimbare corespunzătoare în
definiţia mapării la memorare, astfel încât schema conceptuală să
rămână constantă.
Este clar că DBA cere un număr de programe utilitare pentru a se ajuta în
aceste sarcini. Astfel de utilitare vor fi o parte esenţială a sistemului bază de
date real. Iată câteva exemple de astfel de utlitare.
1. Rutina de încărcare (pentru a crea versiunea iniţială a bazei de date)
2. Rutina de reorganizare (pentru a reorganiza baza de date, de exemplu de a
elimina datele perimate)
3. Rutine jurnaliere (pentru a nota orice operaţie asupra bazei de date
împreună cu identificarea utilizatorului ce a efectuat-o)
4. Rutine de restaurare (pentru a restaura baza de date la o stare anterioară
unui eşec hard sau de programare)
5. Rutine de analiză statistică (pentru a asista în monitorizarea performanţei)
Programele utilitare se vor gândi ca aplicaţii speciale oferite de sistem, cu
excepţia rutinelor jurnaliere, care trebuie să fie parte a lui DBMS însuşi.
Anumite rutine vor opera direct la nivelul intern.
Unul dintre cele mai importante instrumente ale DBA este
dicţionarul de date. El este o bază de date, conţinând date despre date,
adică, descrieri ale obiectelor sistemului. În particular, toate schemele
(externă, conceptuală şi internă) sânt memorate fizic în dicţionar. Un
dicţionar comprehensiv va include, de asemenea, informaţii referinţe
încrucişate.
Ultima componentă la care ne vom referi în acest capitol este
interfaţa utilizator. Ea poate fi definită ca o margine în sistem sub care totul
14
devine invizibil pentru utilizator. Prin definiţie interfaţa utilizator este la
nivelul extern.
Scheme şi
mapări Mapare externã/conceptualãA Mapare externã/conceptualãB
construite
şi
menţinute
Schema Vedere
de către
conceptuală conceptuală DBMS
DBA
Interfaţa utilizator
O bază de date distribuită este, tipic, o bază de date care nu este memorată în
totalitate într-o singură locaţie fizică ci, mai degrabă, este împăştiată într-o
reţea de calculatoare. Ca un exemplu simplificat, să considerăm un sistem
bancar în care baza de date cu conturile clienţilor este distrubuită la
sucursalele băncii, astfel încât înregistrarea contului unui client particular este
memorată la sucursala locală a clientului. Cu alte cuvinte, datele sunt
memorate la locaţia la care sunt folosite mai des, dar ele sunt disponibile,
prin reţeaua de comunicaţii, şi utilizatorilor din alte locaţii (de exemplu cei de
15
la sediul central al băncii). Avantajele unei astfel de distribuţii sunt clare: ea
combină eficienţa prelucrării locale (fără regie de comunicare) pentru
majoritatea operaţiilor cu avantajele discutate mai înanite (în particular
partajarea datelor) oferite de un sistem centralizat. Un obiectiv cheie pentru
un sistem distribuit este acela că el seamănă cu un sistem centralizat pentru
utilizator. Adică, utilizatorul nu trebuie în mod normal săştie unde este
memorată fizic o bucată dată de date (astfel că aplicaţiile sunt independente
de maniera în care sunt datele distribuite, făcând posibilă schimbarea
distribuţiei fără a afecta acele aplicaţii). Astfel, faptul că baza de date este
distribuită va fi relevant numai la nivelul intern şi nu la nivelurile conceptual
şi extern.
Memento
Bibliografie
16