Fundamente ale bazelor de date … … … … 15 [605004]
1 CUPRINS
Noțiuni Introductive ………………………….. ………………………….. ………………………….. ………………………….. . 2
Calculatoare numerice ………………………….. ………………………….. ………………………….. ………………………….. …… 2
Dispozitive de intrare/ieșire ………………………….. ………………………….. ………………………….. ………………………… 3
Memoria ………………………….. ………………………….. ………………………….. ………………………….. ……………………….. 4
Caracteristici ale memoriei. ………………………….. ………………………….. ………………………….. ………………………….. …………. 5
Clasi ficări ale memoriei. ………………………….. ………………………….. ………………………….. ………………………….. …………….. 6
Ierarhizarea memoriilor. ………………………….. ………………………….. ………………………….. ………………………….. ……………… 7
Memoria externă. ………………………….. ………………………….. ………………………….. ………………………….. ………………………. 8
Unitatea centrală ………………………….. ………………………….. ………………………….. ………………………….. …………… 9
Unitatea aritmetică logică ………………………….. ………………………….. ………………………….. …………………………. 10
Fundamente ale bazelor de date ………………………….. ………………………….. ………………………….. ………… 15
Ce este baza de date? ………………………….. ………………………….. ………………………….. ………………………….. …….. 16
Arhitecturi ale sistemelor de baze de date ………………………….. ………………………….. ………………………….. …. 18
Proiectarea și administrarea une i baze de date ………………………….. ………………………….. ……………….. 24
Ciclul de viață al sistemelor informaționale ………………………….. ………………………….. ………………………….. . 24
Ciclul de viață al unui sistem de baze de date ………………………….. ………………………….. …………………………. 25
Proiectarea bazelor de date ………………………….. ………………………….. ………………………….. ………………………. 27
Proiectarea conceptuală ………………………….. ………………………….. ………………………….. ………………………….. …………….. 27
Proiectarea logică ………………………….. ………………………….. ………………………….. ………………………….. …………………….. 28
Proiectarea fizică ………………………….. ………………………….. ………………………….. ………………………….. ……………………… 28
2 Noțiuni Introductive
Calculatoare numerice
În func ție de procedeul de reprezentare a informa ției și de suportul fizic al
informa ției calculatoarele au fost împăr țite în:
• calculatoare analogice
• calculatoare numerice
În sistemele de calcul analogice, informa ția este codificată sub forma unor mărimi
fizice (intensitatea curentului electric , tensiunea, etc). Această teor ie a dus la apar iția
calculatoarelor analogice care au constituit o genera ție răspândită pe la mijlocul
secolului 20, genera ție dispărută acum.
Spre deosebire de sistemele de calcul analogice sistemele de calcul numerice
codifică informa ția sub formă discretă (numerică).
Calculatorul numeric este un sistem fizic care prelucrează automat informa ția
codificată sub formă de valori discrete, conform unui program ce indică o succesiune
determinată de opera ții aritmetice și logice, având la bază un algoritm de prelucrare.
Dato rita modului de realizare a componentelor constructive și a logicii de
funcționare a sistemelor de calcul numerice, informa ția este reprezentată utilizând baza
de numera ție 2.
Codificarea binară folosită pentru reprezentarea internă a informa ției în sistem ele
de calcul determină natura componentelor constructive care acționează asupra acesteia.
Unitatea elementară de reprezentare a informa ției este cifra binară, care poate lua
două valori: 0 sau 1. Aceasta pozi ție binară furnizează o cantitate de informa ție de 1 bit
(Binary Digit). În func ție de natura informa ției ce se codifică și de dispozitivele care
manevrează informa ția în sistemele de calcul numerice, se utilizează mai multe moduri
de codificare a informa ției. În toate cazurile însă este vorba de o rep rezentare binară a
informa ției.
Figura 1 . Schema von Neumann a calculatorului numeric
3
Structura unui calculator numeric a fost definită în anul 1945 de către von
Neumann. Blocuri func ționale specifice sunt :
• Unitatea de intrare (UI) este destinată acce ptării de informa ții din mediul extern
(tastatură, scanner, joystick, mouse etc.).
• Memoria (M) permite stocarea datelor în scopul prelucrării.
• Unitatea aritmetica logica (UAL) efectuează calcule aritmetice și opera ții logice.
• Unitatea de comandă și control (UCC) este componenta care coordonează întreaga
activitate din sistemul de calcul.
• Unitatea de iesire (UE) permite transferarea informa țiilor în mediul extern (monitorul,
imprimanta, etc).
Structura hardware a unui sistem de calcul
Dispozitive de intrare/ ieșire
Tastatura este dispozitivul care permite introducerea datelor sub formă de
caractere, similar cu ma șina de scris. Prin succesiunea/ combina ția de caractere
introduse se pot furniza sistemului de calcul atât date cât și comenzi sau programe. Pe
lângă tastele care reprezintă cifre și litere, tastatura con ține și o serie de taste func ționale,
cărora le sunt ata șate diferite prelucrări (func ții). Aceste func ții sunt specifice sistemelor
de operare în care este utilizată tastatura.
Mouse -ul este un dispozitiv folosit de regulă în mediile puternic interactive,
bazate pe interfe țe grafice sau semigrafice. Principiul de func ționare se bazează pe
transformarea deplasărilor dispozitivului pe o suprafa ță plană în coordonate ale
punctelor de pe ecranul c alculatorului.
Din această categorie mai fac parte joystick -ul, care transformă mi șcările stânga
dreapta și față-spate ale unei manete în deplasări ale cursorului pe ecran și touch pad –
ul care asociază atingerile și deplasările degetului pe o suprafa ță se nsibilă cu
deplasările cursorului pe ecran . Tot din această categorie fac parte și alte dispozitive
dedicate, complexe, care intră mai mult în categoria simulatoarelor decât în cea a
dispozitivelor standard de intrare.
Imprimanta. Este un echipament de ie șire care transferă datele din sistemul de
calcul pe suport de hârtie.
În func ție de tehnologia de tipărire imprimantele pot fi:
4 • cu tambur (bandă) de caractere
• matriciale
• cu jet de cerneală
• laser.
În func ție de dimensiunea colii de hârtie cele mai răspândite sunt:
• imprimante ce utilizează hârtie format A3
• imprimante ce utilizează hârtie format A4
În func ție de cromatica afișării distingem:
• imprimante color
• imprimante monocrome
Cei mai importan ți parametrii sunt viteza de imprimare măsurată î n caractere/sec. ,
linii/min. sau pagini/min., și calitatea imprimării.
Memoria
Într-un sistem de calcul, memoria reprezintă componenta func țională destinată
păstrării datelor și programelor necesare utilizatorului sistemului de calcul. Memoria se
interpu ne între celelalte componente func ționale ale sistemului de calcul. Astfel, datele
și programele preluate în calculator prin intermediul unită ților de intrare sunt stocate
mai întâi în memorie, de unde sunt preluate de celelalte unită ți func ționale ale
sistemului de calcul (procesorul, unită țile de ie șire). Informa ția memorată se compune
din:
secven țe de instrucțiuni (programe);
datele preluate din mediul exterior sistemului de calcul;
rezultate intermediare ob ținute în timpul prelucrării datelor;
informa ții rezultate în urma execu ției programelor care, de regulă, vor fi
transmise mediului
exterior prin dispozitivele de ie șire.
Din punct de vedere al memoriei nu este deosebit de importantă natura
informa ției memorate, ci modul de stocare și mai ales regăsire a acesteia. Fizic, memoria
este constituită din elemente care pot avea două stări stabile: 0 sau 1. Rezultă că putem
5 defini memoria ca pe o succesiune de dispozitive logice elementare, capabile să re țină
fiecare o valoare binara, adică un bit (1b) de infor mație.
Func țional, memoria poate fi privită ca o în șiruire de bi ți care se caracterizează
prin valoarea și prin pozi ția (adresa) lor în această secven ță. Prin construc ția sistemului
de calcul, accesul la informa ția din memorie se poate realiza, la nivelul unui grup de bi ți
numit loca ție de memorie. Loca ția de memorie este deci unitatea adresabilă a memoriei.
Fiecare loca ție de memorie se caracterizează în mod unic prin:
adresa ei în memorie;
cantitatea de informa ție pe care o poate memora, măsurată în număr de bi ți; de
regula este vorba de un număr de 8 bi ți, adică de un octet sau de 1 Byte (1B).
Caracteristici ale memoriei.
Cuvântul de memorie reprezintă numărul de octe ți de informa ție care pot fi citi ți
sau scri și într -o singură opera ție de transfer cu me moria. Transferul cu memoria este
opera ția prin care, de la o adresă de memorie sunt transferați un număr de bi ți
corespunzător citirii sau scrierii în memorie. Unitatea de transfer cu memoria este
cuvântul de memorie.
Lungimea cuvântului de memorie este o caracteristică constructivă a unui sistem
de calcul. Ea reprezintă unul dintre criteriile de grupare a calculatoarelor: 8b, 16b, 32b,
64b etc. și caracterizează diferitele genera ții de calculatoare.
Capacitatea memoriei reprezintă numărul maxim de bi ți de informa ție care pot fi
memora ți la un moment dat. Altfel spus, capacitatea de memorie este dată de numărul
total de loca ții de memorie. Ca unitate de măsură se folosesc multiplii byte -ului (MB,
GB, TB).
Timpul de acces la memorie. Orice acces la memorie e ste precedat de furnizarea
de către procesor a adresei de memorie, unde se va face opera ția de scriere sau citire.
Timpul de acces la memorie reprezintă intervalul scurs între momentul furnizării adresei
de către procesor și momentul ob ținerii informa ției. Când memoria este prea lentă în
compara ție cu viteza de lucru a procesorului, pe durata accesului la o loca ție de
memorie apar, pentru procesor, timpi suplimentari de a șteptare. Noile tehnologii de
realizare a memoriei urmăresc o scădere a timpului de acc es, astfel încât memoria să
lucreze sincron cu procesorul, fără a introduce stări de a șteptare.
Ciclul de memorie este timpul minim necesar între două accesări succesive ale
memoriei. Aceasta cuprinde timpul rezervat accesului propriu -zis, dar și timpii
suplimentari ai unită ții de memorie, necesari pentru desăvâr șirea acestuia.
6 Viteza de transfer se mai nume ște și rata de transfer. Rata de transfer este similară
unui debit, care reprezintă viteza cu care se furnizează o informa ție. Viteza de transfer
reprez intă numărul de unită ți de informa ție transferate în unitatea de timp. Se măsoară
în octeți sau multipli de octe ți pe secundă. Viteza de transfer poate fi îmbunătă țită dacă
accesarea unei adrese de memorie este urmată nu de citirea unui singur cuvânt de
memorie, ci de citirea mai multor cuvinte succesive.
Costul este pre țul memoriei raportat la capacitatea de memorare.
Clasificări ale memoriei.
Modul de realizare a accesului la o loca ție de memorie depinde de opera țiile ce se
execută pentru ob ținerea infor mațiilor de la adresa dată, de sensul transferului și de
parametrii fizici ai memoriei. În func ție de aceste elemente memoriile pot fi clasificate:
a) După tipul de acces, memoriile pot fi:
cu acces direct (aleator): RAM (Random Access Memory). În acest c az, timpul
de acces la orice loca ție de memorie este acela și. El nu depinde de adresa loca ției
de memorie, ci numai de caracteristicile constructive ale memoriei. Timpul de
acces este comparabil cu viteza de lucru a procesorului.
cu acces pozi țional, în ca re sunt necesare opera ții de pozi ționare care preced
accesul la memorie. În acest caz timpul de acces depinde de adresă
b) După posibilitatea conservării informa ției la întreruperea tensiunii de alimentare,
memoriile pot fi:
volatile, la care informa ția se pierde la întreruperea tensiunii de alimentare;
nevolatile, la care informa ția se conservă la întreruperea tensiunii de alimentare;
c) După opera țiile care pot fi executate, acestea pot fi:
memorii cu citire -scriere (read -write) care permit atât scrierea cât și citirea
informa țiilor din memorie. Memoria RAM este o memorie de tipul citire -scriere
(read -write);
memorii permanente, numite ROM (Read Only Memory). Sunt memorii care, în
principiu, permit doar opera țiile de citire a informațiilor memorate. Sunt m emorii
nevolatile, iar informa ția memorată este scrisă o singură dată și nu poate fi
suprascrisă prin metode obi șnuite. Sunt folosite pentru memorarea sigură și
ieftină a unor secven țe de program frecvent utilizate în sistemele de calcul.
Aceste memorii su nt în general mai lente decât memoria RAM. În consecin ță, se
utilizează transferul programelor din memoria ROM în memoria RAM pentru a fi
7 executate acolo cu performan țe sporite. Aceste memorii ROM sunt de mai multe
tipuri:
memorii PROM , sunt memorii progr amabile de către utilizator, care nu
conțin informa ții scrise din fabrica ție;
memorii EPROM, sunt programabile de către utilizator, dar care pot fi
șterse și reînscrise cu alte informa ții;
memorii EEPROM, sunt memorii EPROM la care ștergerea se realizează
cu un semnal electric și sunt cunoscute sub numele de memorii flash.
Ierarhizarea memoriilor.
Pornind de la func țiile realizate de fiecare tip de memorie, de la rolul și locul
ocupat în sistemul de calcul putem distinge mai multe categorii de memorii, ilus trate în
figura 2 . Registrele de memorie reprezintă dispozitivele de memorie cele mai rapide, dar
și cele mai scumpe. Sunt utilizate de procesor având o destina ție precisă, adică
memorează numai anumite tipuri de date. Din acest motiv, pentru ca procesorul să
realizeze o anumită opera ție, este accesat un anumit registru, și anume acela care
memorează tipul de dată dorit. În acest fel nu este necesar ca registrul să fie accesat prin
adresă, fapt care măre ște viteza de acces la informa ția memorată în registre .
Figura 2 . Ierarhizarea memoriei.
Pot exista însă și registre nespecializate, numite registre generale, care pot fi
utilizate explicit prin instruc țiuni ale programelor. Capacitatea registrului depinde de
tipul procesorului, și nu depă șește de obicei lungimea cuvântului de memorie. Numărul
de registre de memorie este mic, utilizându -se de regulă 16 -20 registre.
Memoria internă conține programele și datele pentru toate procesele în curs de
execu ție în sistemul de calcul. Cât timp funcționează procesorul, el cite ște și scrie date
în această memorie. Memoria internă este o memorie read -write cu acces direct (RAM –
8 Random Access Memory). Ea trebuie să aibă un timp de acces redus, pentru a nu
întârzia activitatea procesorului. Tipuri de memorie din această ca tegorie sunt:
Memorii DRAM (Dynamic Random Access Memory) – memorii RAM dinamice.
Memorii SRAM (Static Random Access Memory) – memorii RAM statice.
La calculatoarele PC, cipurile de memorie sunt asamblate pe plăci de memorie
numite SIMM (Single Inline Me mory Modul) sau DIMM (Dual Inline Memory Modul).
Aceste bancuri de memorie se instalează în placa de bază a PC -ului, în soclurile
(locurile) rezervate memoriei interne. Acest mecanism permite modificarea dimensiunii
memoriei interne a PC -ului prin adăugare a de noi bancuri de memorie în locurile
disponibile sau prin schimbarea bancurilor cu altele de capacitate mai mare.
Memoria cache este o memorie specializată, utilizată în scopul scăderii timpului
de acces la informa țiile din memoria internă. Ea este o me morie de capacitate mică și
viteză mare, inserată logic între procesor și memoria principală. Constructiv, memoria
cache este o memorie mai rapidă decât memoria principală, făcută de regulă din circuite
SRAM. Și acest tip de memorie poate fi estins prin ad ăugarea de cipuri suplimentare de
memorie.
Utilizarea memoriei cache se bazează pe două caracteristici ale execu ției
programelor în sistemele de calcul clasice, și anume:
Programele tind să utilizeze date și instruc țiuni situate unele lângă altele sau în
zone apropiate (principiul vecinătă ții).
Programele folosesc în mod repetat adresarea la acelea și blocuri de memorie.
Plecând de la aceste constatări, memoria cache con ține la un moment dat copii ale
unor informa ții din memoria principală. Înainte de orice acces la memoria principală se
verifică dacă nu cumva informa ția căutată se găsește în memoria cache. Dacă există, se
preia de acolo cu o viteză superioară.
Memoria externă. Pentru a utiliza informa țiile memorate în memoria externă ele
trebuie aduse întâi în memoria principală. Prin compara ție cu memoria internă, memoria
externă se caracterizează prin viteză de acces mai scăzută, cost redus, capacitate mai
mare, și are rolul de a mări spa țiul de memorare al unui sistem de calcul.
Memoria secundară este orga nizată pe un suport extern de memorie, de regulă
disc magnetic, și are rolul de a realiza o extindere a memoriei principale, conform
conceptului de memorie virtuală. Conceptul de memorie virtuală se referă la capacitatea
procesorului de a utiliza un spa țiu de memorie externă pentru a simula o capacitate mai
mare a memoriei interne disponibile. Altfel spus, este vorba de capacitatea procesorului
de a accesa un spa țiu de adrese care depă șește spa țiul de adrese al memoriei principale.
9 Acest concept a apărut în că din anul 1960, iar la PC este disponibil începând cu
seria 286. Memoria externa este o memorie de arhivare, ceea ce înseamnă că asigură
stocarea datelor preluate din mediul extern pe o perioadă de timp nedeterminată și în
volume semnificative. Se poate spune că memoria de arhivare este cea care asigură
forma de stocare suplimentară a datelor din sistemul de calcul. Tot în memoria externă
sunt stocate și programele cu ajutorul cărora se realizează prelucrarea datelor. În
compara ție cu memoria internă, mem oria externă este:
• nevolatilă
• cu acces pozi țional
• cu timp de acces mai mare
• cu viteză de transfer mai mică
• cu cost mai mic
• cu capacitate mult mai mare
• este o memorie read -write
• are densitate de memorare variabilă de la un echipament la altu l și de la un suport la
altul.
Accesul la memoria externă nu se face direct, ci prin intermediul memoriei
interne. Se folosesc în prezent două tehnologii de realizare a mediului de memorare
pentru memorii interne:
• tehnologia magnetică.
• tehnologia optic ă.
Suporții de memorare corespunzători celor două tehnologii sunt:
• discul/banda magnetică.
• discul optic.
Unitatea centrală
Activitatea generală a unui sistem de calcul constă în stocarea și prelucrarea
informa țiilor. Întregul proces de tratare a infor mației în cadrul unui sistem de calcul are
loc conform unui algoritm de prelucrare. Acest algoritm poate fi modelat prin seturi de
instruc țiuni specifice unui limbaj de programare. Instruc țiunile alcătuiesc un program.
Indiferent de limbajul de programare utilizat, instruc țiunile unui program trebuie aduse,
printr -un set de transformări succesive, până la nivelul unui set de comenzi elementare
10 care pot fi executate de sistemul de calcul și care formează setul de instruc țiuni al
calculatorului. Aceste instru cțiuni apar țin unui limbaj intern, propriu fiecărui sistem de
calcul , numit limbaj -mașină. Limbajul -mașină cuprinde un set restrâns de instruc țiuni
elementare de forma unor coduri binare de lungime dată.
Componen ța sistemului de calcul care realizează exec utarea instruc țiunilor este
unitatea centrală de prelucrare (UCP). Pentru aceasta, unitatea centrală de prelucrare
trebuie să poată efectua următoarele func ții:
• citirea și scrierea informa țiilor în memoria internă (MI);
• recunoa șterea și executarea inst rucțiunilor -mașină;
• transmiterea de comenzi celorlalte componente ale sistemului de calcul, realizând
astfel coordonarea func ționării sistemului de calcul.
Modul de adresare reprezintă algoritmul de calcul al adresei operanzilor. Din
acest punct de veder e avem:
• unită ți centrale de prelucrare cu două adrese, adică cu doi operanzi;
• instruc țiuni imediate, care nu con țin adresa operandului, ci valoarea lui;
• instruc țiuni cu un operand memorat în unul din regi ștrii unită ții centrale de prelucrare;
• instr ucțiuni cu operandul memorat în memoria internă a sistemului de calcul;
• instruc țiuni cu operandul memorat într -un buffer (zonă -tampon) al unui dispozitiv de
intrare -ieșire, în cazul instruc țiunilor care execută opera ții de intrare -ieșire.
Unitatea aritm etică logică . Este un ansamblu de circuite logice care compun unitatea
funcțională a sistemului de calcul. Ea are rolul de a realiza toate opera țiile aritmetice și
logice asupra datelor. Unitatea aritmetică logică preia operanzii cu care lucrează din
regis trele specializate a unită ții centrale de prelucrare. În general UAL prime ște la
intrare doi operanzi și un cod de opera ție. Ea furnizează la ie șire un rezultat și un set de
informa ții suplimentare despre rezultat, concretizate în a șa-numi ții indicatori de condi ții.
Unitatea de comandă și control, numită și unitatea de comandă (UCC) con ține
logica de comandă pentru execu ția instruc țiunilor din registrul de instruc țiuni. Ea
determină secven ța de opera ții elementare ce trebuie executate de UCP . Unitatea de
comandă și control prime ște la intrare semnale de stare, determinate de instruc țiunea
care se execută și generează semnale de comandă care determi nă executarea opera țiilor
necesare.
11 Sistemul de operare
Sistemul de operare reprezintă ansamblul de programe c are asigură folosirea
optimă a resurselor fizice și logice ale unui sistem de calcul. El are rolul de a coordona
și controla execu ția programelor și de a permite comunicarea utilizatorului cu sistemul
de calcul. Pe scurt, SO este acea parte a componentei s istemului de calcul care
coordonează și supraveghează într eaga activitate. Folosirea hardware -ului unui sistem
de calcul ar fi dificilă și ineficientă în lipsa unui sistem de operare accesibil utilizatorilor.
Din punct de vedere al interac țiunii cu compone ntele hardware, sistemul de operare este
organizat pe două niveluri:
1. Nivelul fizic , care include componenta firmware a sistemului de calcul. Acest nivel
oferă servicii privind lucrul cu componentele hradware. La acest nivel comunicarea
sistemului de ope rare cu sistemul de calcul se realizează prin intermediul a șa-numitului
sistem de întreruperi, care semnalizează apari ția unor evenimente interne sau externe
sistemului de calcul. De exemplu la calculatoarele compatibile PC, în componenta
ROM -BIOS sunt grupate, după func ția lor, următoarele programe:
• programe care execută pornirea sistemului de calcul;
• programe care verifică starea de func ționare a sistemului de calcul;
• programe de ini țializarea a activită ții sistemului de calcul;
• rutinele, care coo rdonează rularea componentelor fizice ale sistemului de calcul,
numite și “drivere fizice”; ele oferă servicii pentru lucrul cu tastatura, imprimanta și cu
perifericele nestandard.
2. Nivelul logic include partea de operare a sistemului de calcul și oferă utilizatorului
mijloacele prin care poate exploata sistemul de calcul. Comunicarea utilizatorului cu
sistemul de calcul se realizează prin intermediul comenzilor și instruc țiunilor din
programele pe care le execută. Comunicarea inversă, sistem de calcul u tilizator, se
realizează prin mesajele transmise de sistemul de operare utilizatorului.
Programele nivelului logic adresează dispozitivele hardware prin intermediul
programelor nivelului fizic al sistemului de operare, și din acest motiv ele sunt
independe nte de structura hardware a sistemului de calcul.
3. Nivelul fizic constituie a șadar o interfa ță între hardware și nivelul logic al SO. Din
punct de vedere func țional, programele sistemului de operare se împart în două categorii:
componentele de comandă și control, care cuprind programe care au rolul de a
asigura utilizarea eficientă a resurselor sistemului de calcul;
componentele de servicii, care cuprind programe destinate minimizării efortului
uman implicat în utilizarea sistemului de calcul.
12 Func ția sis temului de operare privind optimizarea exploatării unui sistem de
calcul este împăr țită între componenta de comandă și control și componenta de servicii .
Resursele sistemului de calcul pe care sistemul de operare le pune la dispozi ția
utilizatorului se con stituie din totalitatea componentelor fizice sau logice ale sistemului
de calcul, care pot fi solicitate la un moment dat în timpul execu ției unui program.
Gestionarea resurselor sistemului de calcul este principala sarcină a sistemului de
operare.
În gene ral, pentru a executa un program într -un sistem de calcul secven țial cu
program memorat este necesară încărcarea acestui program în memoria internă a
sistemului de calcul și sub controlul unită ții centrale de prelucrare sunt executate
secven țial instruc țiunile programului.
În detaliu, execu ția unui program se define ște ca o succesiune de activită ți care se
desfă șoară la un moment dat sub controlul sistemului de operare, activită ți numite
procese și care se caracterizează prin:
prelucrările pe care le realiz ează, determinate de programul de execu ție, din care a
derivat procesul;
contextul de lucru, care constă din resursele alocate procesului.
Executarea unei instruc țiuni program presupune mai întâi alocarea unor resurse:
alocarea unită ții aritmetice logice p entru efectuarea de opera ții aritmetice sau logice
asupra datelor;
alocarea unui dispozitiv periferic pentru transferul de informa ții între acesta și
memoria internă;
alocarea de spa țiu în memoria internă;
accesarea unei anumite structuri de date din memor ia externă;
apelul pentru execu ție al unui alt program. Întotdeauna execu ția unui alt program
presupune alocarea unei anumite zone din memoria internă a sistemului de calcul și,
simultan, afectarea unei perioade din timpul de lucru al unită ții centrale de prelucrare.
Pentru a realiza alocarea unei resurse la un proces, sistemul de operare trebuie să
aibă răspuns la următoarele întrebări (de la caz la caz):
dacă resursa cerută există în sistem;
dacă resursa este disponibilă;
cât din resursă este disponibilă;
pentru cât timp poate fi alocată resursa;
13 dacă resursa este alocată, dacă îi mai este necesară procesului căruia îi este alocat
(eliberarea resursei).
Rezultă a șadar func țiile care trebuie îndeplinite de componenta sistemului de
operare care are rolul de gestionare a resurselor:
1. eviden ța resurselor sistemului de calcul în fiecare moment, prin înregistrarea fiecărei
resurse, a stării ei (alocată sau liberă) și a gradului ei de ocupare;
2. implementarea unor algoritmi de alocare a resurselor conform unei strategii de
alocare stabilite. O strategie de alocare trebuie să răspundă la întrebările:
• cărei solicitări i se alocă resursa;
• cât din resursă se alocă;
• în ce moment se face alocarea
• pentru cât timp se face alocarea resursei
3. Alocarea efectivă a resursei, cu actualizarea informa țiilor legate de starea resursei.
4. Eliberarea resursei, care poate fi făcută la ini țiativa procesului care a solicitat -o,
atunci când ea nu mai este necesară procesului sau la ini țiativa sistemului de operare,
pentru a fi alocată altor procese. Această ultimă variantă este utilizată numai de anumite
tipuri de sisteme de operare.
Componenta de comandă și control a sistemului de operare . Activitatea de
lansare în execu ție a unui program, de gestionare a alocării resurselor , ca și opera țiile
efectuate la încheierea execu ției acestuia sunt func ții realizate de componenta de
comandă și control a sistemului de operare. Func țiile componentei de comandă și
control sunt:
• planificarea, lansarea și urmărirea executării programelor ;
• gestionarea resurselor;
• depistarea și tratarea evenimentelor deosebite care apar pe parcursul execu ției
programelor;
• asigurarea protec ției informa ției memorate de diverse programe;
• protec ția între procese;
• tratarea erorilor.
Ultimele două func ții se realizează în mod specific pentru fiecare tip de resursă în
cadrul componentei de gestionare a resurselor. Conform acestor func ții, componenta de
comandă și control a sistemului de operare cuprinde:
14 • Nucleul sistemului de operare , care are func ția de coordonare a activită ții sistemului
de calcul. Această componentă este rezidentă în memoria internă pe toată pe rioada
funcționării unui sistem de calcul. Ea se mai nume ște și “monitorul rezident“ al
sistemului de operare.
• Câte o componentă de gestionar e pentru fiecare tip de resursă din sistem:
• componente de gestionare a întreruperilor.
• componente de gestionare a proceselor.
• componente de gestionare a memoriei.
• componente de gestionare a dispozitivelor periferice.
15
Fundamente ale bazelor de da te
Tehnologiile informa ționale influen țează continuu și produc modificări
substan țiale asupra mijloacelor de lucru din întreaga lume. Informa ții care erau altădată
stocate în depozite pline de dulapuri, pot fi accesate astăzi prin intermediul unei singure
apăsări a butonului mouse -ului. Astfel, pentru stocarea informa țiilor din orice mediu
imaginabil în zilele noastre sunt folosite sistemele de baze de date. De la bazele de date
mari, a șa cum sunt sistemele care permit rezervarea on-line a biletelor pentru
companiile aeriene și până la fi șele dintr -o bibliotecă, sistemele de baze de date sunt
folosite pentru memorarea și distribuirea datelor de care încep să depindă tot mai mult
viețile noastre.
Până în urmă cu câ țiva ani, sistemele mari de baze de date se găseau numai pe
calculatoare de tip mainframe1. Însă, a șa cum era și firesc, proiectarea, achizi ționarea
sau între ținerea unei astfel de ma șini reprezenta o sarcină costisitoare și dificil de
realizat. Odată cu apari ția calculatoarelor din clasa sta țiilor de lucru, pe care le întâlnim
la tot pasul (biblioteci, laboratoare de informatică, departamente de lucru, etc.) și care
sunt puternice și în acela și timp destul de ieftine, programatorii au posibilitatea de a
proiecta rapid și la costuri reduse produse i nformatice care să permită între ținerea și
distribuirea datelor.
Cercetarea aferentă bazelor de date are aproape 35 de ani de istorie, ani care au
condus în mod inevitabil la cele mai relevante și importante dezvoltări ale ingineriei
software . În mod natur al, tehnologiile specifice bazelor de date, arhitecturile și cadrele
conceptuale au fost tot mai bine consolidate în ultimele decade. Mai mult, în ultimii ani,
managementul bazelor de date a evoluat astfel încât bazele de date au devenit o
componentă cheie a sistemelor informa ționale moderne. Acest aspect a provocat un
impact adânc precum și modificări semnificative în modul de lucru al institu țiilor și
organiza țiilor, contribuind într -o măsură relevantă la adoptarea celor mai adecvate
decizii care să le po ată garanta succesul în afaceri și nu numai. În acest context, este
important să men ționăm anumi ți factori care au contribuit la această explozie: noile
tehnici și instrumente de modelare, cele mai importante, fiind cele care se bazează pe o
gândire orient ată obiect, apari ția procesării de tipul client -server , diminuarea
semnificativă a pre țurilor aferente atât componentei hardware cât și a celei software și,
nu în ultimul rând, necesitatea unei administrări eficiente și corecte a cantită ților tot mai
mari de informa ții care caracterizează activită țile fiecărei organiza ții din zilele noastre.
În prezent, bazele de date fac parte tot mai mult din via ța noastră de zi cu zi în a șa
măsură, încât uneori nici măcar nu mai con știentizăm că le utilizăm. Atunci când
cumpărăm ceva de la un supermarket, probabil că va fi accesată o bază de date. Casierul
1 Mainframe reprezintă un tip de calculator de mare putere care este utilizat cel mai adesea pentru gestiunea
bazelor de date de dimensiuni foarte mari, precum și a altor aplica ții asemănătoare, care necesită o capacitate
de stocare foarte mare și o interac țiune puternică cu un număr mare de utiliza tori, concretizată printr -un volum
foarte mare de comunica ții de date.
16 va trece un cititor de coduri de bare peste fiecare dintre articolele pe care le
achizi ționăm. Acesta este conectat la un sistem informatic pentru baze de date, care
utilizează codul de bare pentru a identifica pre țul produsului pe care l -am ales, evident
dintr -o bază de date care gestionează produsele. De asemenea, dacă stocul pentru un
produs scade sub o anumită limită, este posibil ca sistemul să emită în mod automat o
comandă către un furnizor, pentru a ob ține un stoc suplimentar din acel articol.
Atunci când vizita ți o bibliotecă (!dacă se mai întâmplă acest lucru…) constata ți
că există o bază de date care con ține informa ții detaliate despre căr țile care formează
fondul de carte al bibliotecii. Practic, pentru a preîntâmpina anumite cerin țe, aceste
sisteme se bazează pe un index computerizat care permite cititorului să identifice o carte
după titlu, autor sau subiectul acesteia.
Ce este baza de date?
Majoritatea baze lor de date iau na ștere începând cu o listă într -un editor de texte
sau într -o foaie de calcul. La momentul respectiv, suntem tenta ți să credem că a fost
aleasă cea mai bună solu ție, atât timp cât necesită țile informa ționale sunt satisfăcute,
este adevărat , în contextul unei cantită ți reduse de informa ții. În timp însă, acest volum
crește (spre exemplu, odată cu cre șterea activită ții unei organiza ții, ceea ce face ca
soluțiile (privite ini țial ca fiind cele mai adecvate) să nu mai fie potrivite. Mai mult, p e
măsură ce lista devine tot mai mare, încep să apară redundan țe și inconsisten țe la nivelul
datelor gestionate. Datele devin greu de în țeles sub forma listei, iar posibilită țile de
căutare, regăsire și extragere a subseturilor de date pentru revizuire, actualizare sau
utilizare devin extrem de limitate. Odată cu apari ția acestor probleme, o idee bună, chiar
o necesitate în anumite situa ții, ar fi aceea al transferului acestor date într -o bază de date
creată cu ajutorul unui sistem de gestiune al bazelor de date.
În prezent ne este tot mai clar faptul că explozia informa țională este de ani buni
trăsătura definitorie care caracterizează activită țile fiecărei organiza ții sau institu ții,
indiferent de domen iul său de activitate. Volumul tot mai însemnat de informa ții nu mai
poate fi utilizat eficient cu ajutorul mijloacelor tradi ționale. Practic, constatăm că
procesul de prelucrare automată a datelor prin intermediul sistemelor electronice de
calcul a deveni t o necesitate pentru majoritatea domeniilor de activitate. În acest context,
putem afirma că cea mai evoluată metodă de organizare a datelor în vederea prelucrării
lor automate o întâlnim la bazele de date.
În literatura de specialitate există numeroase d efiniții aferente conceptului de bază
de date. În continuare vom prezenta câteva dintre ele, care, în opinia noastră, acoperă
cel mai bine conceptul de bază de date.
„O bază de date con ține toate informa țiile necesare despre obiectele ce intervin
într-o mu lțime de aplica ții, rela ții logice între aceste informa ții și tehnicile de prelucrare
corespunzătoare. În bazele de date are loc o integrare a datelor, în sensul că mai multe
fișiere sunt privite în ansamblu, eliminându -se pe cât posibil acele informa ții redundante.
De asemenea, este permis accesul simultan la acelea și date, care se regăsesc în acela și
17 loc sau sunt distribuite spa țial, a mai multor persoane de pregătiri diferite, fiecare cu
stilul personal de lucru”.
Referitor la defini ția prezentată anteri or, putem spune că avem unele re țineri în
ceea ce prive ște utilizarea conceptului de informa ție. Astfel, autorul vede baza de date
ca un ansamblu de informa ții, părere pe care o împărtă șim par țial și numai în cazul în
care se face referire la baza de date în general, dar nu și la o bază de date rela țională.
Este cert faptul că atunci când facem referire la baza de date rela țională, nu putem vorbi
de informa ții, ci numai de date.
„Totodată, putem privi baza de date ca ansambluri unitare de date, structurate,
corelate logic între ele și memorate împreună cu descrierea formală a structurii lor și a
legăturilor logice dintre ele, a cărui gestionare este realizată de un sistem software unitar
și specializat, numit sistem de gestiune a bazei de date”.
O defini ție completă și explicativă a no țiunii de bază de date arată că aceasta
reprezintă un ansamblu de colec ții de date:
organizat, pe niveluri de organizare a datelor (conceptual, logic, fizic), a șa cum
reiese și din arhitectura pe niveluri a unui sistem de baze d e date;
coerent, conform restric țiilor de integritate și a legăturilor dintre date, care rezultă
din modelul logic aferent;
structurat, conform unui model de date pentru bazele de date;
cu redundan ță minimă și controlată, care este asigurată prin modelul d e date
implementat și prin tehnicile de proiectare ale bazei de date;
accesibil mai multor utilizatori în timp real, adică mai mul ți utilizatori, concomitent,
pot ob ține informa țiile dorite atunci când au nevoie de ele.
Literatura de specialitate prezintă și analizează o defini ție academică a bazei de
date. Astfel, în opinia acestuia, baza de date reprezintă un ansamblu structurat de fi șiere
care grupează datele prelucrate în aplica țiile informatice ale unei persoane, grup de
persoane, întreprinderi, instit uții, etc. Din punct de vedere formal, define ște baza de date
ca „o colec ție de date aflate în interdependen ță, împreună cu descrierea datelor și
relațiilor dintre ele sau, similar, o colec ție de date folosită într -o organiza ție, colec ție
care este automat izată, partajată, definită riguros (formalizată) și controlată la nivel
central”.
Plecând de la defini țiile prezentate anterior, putem afirma că o bază de date
relațională reprezintă o colec ție partajată de date, între care există diferite legături
logice (împreună cu o descriere a acestora), proiectată pentru a satisface necesită țile
informa ționale ale fiecărei organiza ții. Totodată, putem privi o bază de date ca un
instrument pentru organizarea și colectarea tuturor informa țiilor, astfel încât să se
satisfacă toate necesită țile informa ționale ale utilizatorilor ei.
Defini ția prezentată anterior trebuie analizată în detaliu pentru a putea fi în
măsură să dobândim o mai bună în țelegere a conceptului de bază de date. Baza de date
reprezintă un depozit de date unic, larg, care este definit o singură dată și este utilizat
18 simultan de diferite departamente sau utilizatori. Această solu ție substituie crearea mai
multor fi șiere separate cu date de cele mai multe ori considerate a fi redundante și
presupune integrar ea tuturor datelor necesare, dublarea lor fiind în acest caz minimală.
De aici decurge un prim avantaj semnificativ: baza de date nu mai este de ținută de un
singur departament, ci constituie acum o resursă comună, partajată. Pe de altă parte,
baza de date conține nu numai datele opera ționale ale unei organiza ții sau institu ții, ci și
o descriere a acestora, întâlnite în literatură sub denumirea de metadate (date despre
date).
Atunci când analizăm necesită țile informa ționale ale unei organiza ții, avem în
vedere în principal identificarea entită ților, atributelor și rela țiilor. Putem privi o entitate
ca un obiect distinct (o persoană, un departament, un concept sau un eveniment) care
aparține unei organiza ții și care trebuie reprezentat în baza de date. Atribu tul este o
proprietate care descrie un aspect oarecare al obiectului pe care dorim să -l înregistrăm,
iar relația se referă la o asocia ție între diferite entită ți. Astfel, putem spune că baza de
date con ține entită țile, atributele, dar și rela țiile (legătur ile) logice dintre ele. În capitolul
4 vom arăta cum se concretizează din punct de vedere practic legăturile logice dintre
relații, prin introducerea conceptului de cheie străină .
Arhitecturi ale sistemelor de baze de date
În literatura de specialitate s unt prezentate mai multe tipuri de arhitecturi ale
sistemelor de baze d e date: În func ție de ceea ce se eviden țiază grafic, se folosesc două
tipuri de arhitecturi:
1. arhitectura pe componente – oferă o imagine asupra elementelor care formează un
sistem de ba ze de date, dar și a inter -dependen țelor dintre ele, a șa cum se poate
observa în figura 3.
DateSoftware
Elemente auxiliare
Figura 3 . Arhitectura pe componente a unui sistem de baze de date
Așa cum se observă, componentele specifice arhitecturii din figura 3 sunt:
a. datele – sunt organizate într -o bază de date care con ține:
colec ții de date propriu -zise;
19 dicționarul de date (structura de date, restric țiile de integritate, vederile, etc.);
fișierele anexe, a șa cum sunt cele de index.
b. software -ul – este aferent realizării și exploatării bazei de date și con ține:
sistemul de gestiune a bazei de date;
programele de aplica ție dezvoltate, în cea mai mare parte, într -un sistem de
gestiune a bazelor de date.
c. elementele auxiliare – sunt componentele care contribuie la r ealizarea și
funcționarea întregului sistem de baze de date:
1. un set de proceduri automate (rutine) și manuale;
2. reglementări legale și administrative;
3. mijloace hardware utilizate;
4. persoane implicate pe categorii de utilizatori.
2. Arhitectura pe niveluri structurează un sistem de baze de date pe trei niveluri și oferă
o imagine despre modul de organizare și func ționare al acestuia ( figura 4).
Manipulare dateVederi ale
bazei de dateDescriere dateNiveluri de
organizare
date
Programator
de aplicatie
Administrator
baza de date
Inginer
(analist) de
sistemLogic
Conceptual
FizicProgram
aplicatie 1Structura externa
(logica)
SGBD
S.O.Structura
conceptuala
Structura interna
(fizica)
Bază de date … …
…
Figura 4 . Arhitectura pe niveluri a unui sistem de baze de date
În arhitectura prezentat ă în figura 4 sunt redate nivelurile de organizare
(reprezentare) a datelor în baza de date și legăturile dintre ele: nivelul conceptual ,
nivelul logic și nivelul fizic.
20 a. nivelul conceptual – este dat de viziunea administratorului bazei de date asupra
datel or. Legat de acest nivel, se pot men ționa următoarele aspecte:
administratorul realizează structura conceptuală a bazei de date, eventual cu
ajutorul instrumentelor oferite de un SGBD2;
structura conceptuală se ob ține utilizând un anumit model de date pent ru baza de
date, precum și o tehnică de proiectare cât mai adecvată;
structura conceptuală este o reprezentare în interiorul sistemului a realită ții pe
care baza de date o transcrie;
viziunea administratorului asupra bazei de date este independentă de apli cațiile
care vor fi dezvoltate (independen ța logică);
rezultatul nivelului conceptual este schema conceptuală;
realizarea schemei corespunde unei activită ți de modelare pentru că este vorba
despre o transpunere în termeni abstrac ți a entită ților lumii real e;
odată definită, schema conceptuală trebuie confruntată cu lumea reală pentru
identificarea și solu ționarea neconcordan țelor sau a omisiunilor; datorită
caracterului său global și unitar, se recomandă ca schema conceptuală să fie
gestionată de o singură persoană.
b. nivelul logic – este dat de viziunea programatorului asupra datelor. Legat de acest
nivel se pot prezenta următoarele aspecte:
programatorul realizează programele de aplica ție pentru descrierea și manipularea
datelor, scrise într -un SGBD ;
program ele implementează structura externă (logică) a datelor;
structura externă este dedusă din structura conceptuală;
structura externă reprezintă viziunea programatorului asupra bazei de date pentru
o anumită aplica ție;
viziunea programatorului este independen tă de suportul tehnic de informa ție
(independen ța fizică);
rezultatul nivelului logic este schema externă, ca parte din schema conceptuală,
implementată cu ajutorul unui SGBD .
c. nivelul fizic – este dat de viziunea analistului (inginerului) de sistem asupra datelor și
are rolul de a descrie modul în care sunt stocate datele în baza de date. Aferent
nivelului fizic putem men ționa următoarele:
analistul de sistem este cel căruia îi revine sarcina de a realiza structura internă
(fizică);
2 SGBD – Sistem de Gestiune a Bazelor de Date
21 structura internă este d edusă din cea externă conform unor tehnici și metode de
alocare pe suport fizic;
structura internă corespunde descrierii datelor pe suportul fizic de informa ție;
rezultatul la nivelul fizic este schema internă (fizică) care se define ște în termeni
de fișiere și înregistrări;
implementarea schemei interne se face cu ajutorul sistemului de gestiune a
fișierelor (SGF) din cadrul SGBD -ului și/sau din sistemul de operare, prin
gestiunea fizică a perifericelor.
Perspective asupra unei baze de date
Fiecare bază d e date o putem privi din diferite perspective, cum ar fi:
perspectiva utilizatorului, care lucrează cu diferite păr ți componente ale unei
baze de date, numite vederi . Vederile sunt descrise prin intermediul unor
subscheme în sublimbaje ale limbajului de de scriere a datelor (LDD).
Totodată, utilizatorii pot primi răspunsuri la cererile pe care le formulează prin
intermediul limbajului de prelucrare a datelor ;
perspectiva administratorului bazei de date, care integrează toate vederile
referitoare la baza de d ate într -un singur model numit schemă conceptuală .
Practic, această schemă conceptuală constituie nivelul logic al bazei de date ;
perspectiva implementatorului bazei de date – în foarte multe situa ții, el
coincide cu administratorul bazei de date, care pri vește baza de date ca pe o
colec ție de fi șiere memorate pe diferite medii externe. Acesta constituie
nivelul fizic al bazei de date și care este practic singurul nivel care există
efectiv.
Teste grilă
1. Printre factorii care au contribuit la adoptarea în m asă a sistemelor de baze de date se
numără:
a. necesitatea unei administrări mai eficiente a unei cantită ți mai mari de
informa ții;
b. creșterea semnificativă a pre țurilor aferente componentelor hardware și
software ;
c. apari ția tehnicilor bazate pe g ândirea orien tată-obiect;
d. dezvoltarea prelucrărilor bazate pe tehnologia client -server .
2. Referitor la o bază de date rela țională, putem afirma că va con ține:
a. colec ții organizate de date între care pot exista diferite legături;
22 b. colec ții organizate de date între care pot exista legături, iar dacă există, ele
sunt legături logice;
c. colec ții organizate de date fără legături logice;
d. colec ții organizate de date între care există legături logice.
3. Componenta software specifică arhitecturii pe componente a unui sistem de baze de
date poate con ține:
a. dicționarul de date;
b. sistemul de gestiune al bazei de date;
c. datele;
d. fișierele anexă.
4. Elementele auxiliare specifice arhitecturii pe componente se referă la:
a. realizarea și func ționarea întregului sistem de baze de date;
b. programe de aplica ții dezvoltate într -un sistem de gestiune a bazelor de date;
c. realizarea și exploatarea bazei de date;
d. structura datelor, restric țiile de integritate și vederile unei baze de date.
5. Nivelul conceptual specific arhitecturii pe niveluri se referă la:
a. viziunea administratorului bazei de date asupra datelor;
b. viziunea programatorului asupra datelor;
c. viziunea utilizatorului asupra modului de proiectare a bazei de date;
d. viziunea administratorului, al programatorului și al utilizatorului asupra
modului de proiectare a bazei de date.
6. În cadrul arhitecturii pe niveluri, la nivel logic:
a. programatorul realizează programele de aplica ție pentru descrierea și
manipularea datelor, scrise într -un SGBD ;
b. viziunea programatorului este independentă de suportul tehnic de informa ție;
c. viziunea administratorului asupra bazei de date este independentă de
aplica țiile care vor fi dezvoltate;
d. implementarea schemei interne se face cu ajutorul sistemului de gestiune a
fișierelor din cadrul SGBD -ului și/sau din sistemul de operare, prin gesti unea
fizică a perifericelor.
7. Independen ța logică se referă la faptul că:
a. viziunea programatorului asupra bazei de date este independentă de aplica țiile
care vor fi dezvoltate;
23 b. viziunea administratorului asupra bazei de date este independentă de
aplica țiile care vor fi dezvoltate;
c. viziunea utilizatorului final asupra bazei de date este independentă de
aplica țiile care vor fi dezvoltate;
d. viziunea programatorului și al administratorului asupra bazei de date este
independentă de aplica țiile care vor fi dezvolta te.
8. Independen ța fizică se referă la faptul că:
a. viziunea administratorului bazei de date este independentă de suportul tehnic
de informa ție;
b. viziunea programatorului și al administratorului bazei de date este
independentă de suportul tehnic de informa ție;
c. viziunea programatorului este independentă de suportul tehnic de informa ție;
d. independen ța fizică se realizează indiferent de viziunea programatorului,
utilizatorului sau a administratorului.
9. Nivelul fizic aferent arhitecturii pe niveluri se referă la:
a. viziunea analistului de sistem asupra datelor și descrie modul în care ele sunt
stocate în baza de date;
b. viziunea inginerului de sistem asupra datelor, dar nu descrie modul în care
sunt stocate datele în baza de date;
c. viziunea inginerului de sistem asupra date lor și descrie modul în care sunt
stocate datele în baza de date;
d. viziunea administratorului bazei de date asupra datelor.
10. Independen ța logică este specifică:
a. nivelului logic;
b. nivelului conceptual;
c. nivelului fizic;
d. independen ța logică este specifică nivelu lui conceptual sau nivelului logic, în
funcție de modul de proiectare al bazei de date.
24 Proiectarea și administrarea unei baze de date
În prezent observăm că avalan șa produselor software o depă șește net pe cea a
componentelor hardware . Însă, din păcate, dacă privim evolu ția în timp a dezvoltării
sistemelor software constatăm că nu este impresionantă. În ultimele decade am observat
o expansiune a aplica țiilor software , de la cele mici și relativ simple și care presupuneau
câteva linii de cod, până la cele mari, destul de complexe și care presupuneau scrierea a
milioane și milioane de linii de cod. Însă, în mod normal, aceste aplica ții necesitau și o
întreținere constantă, care urmărea în primul rând corectarea erorilor detectate,
îmbunătă țirea func ționalit ății prin implementarea altor cerin țe care veneau din partea
utilizatorului. Totodată, această ameliorare avea în vedere și adaptarea acestor aplica ții
la platforme multiple, astfel încât, indiferent de locul în care rula aplica ția,
funcționalitatea ei să nu fie afectată.
Toate aceste aspecte specifice între ținerii au condus la un consum tot mai
însemnat de resurse, iar rezultatul nu a întârziat să apară: multe proiecte importante se
aflau în întârziere, bugetul alocat lor devenea constant insuficient, înt reținerea se face
tot mai greu, iar performan țele întârziau să apară (cam 80 -90% din sisteme nu -și
atingeau scopul). Practic, această situa ție a condus la ceea ce se numea la vremea
respectivă „criza de software ”. Printre principalele motive care au stat l a baza acestei
crize putem aminti: lipsa specifica țiilor complete referitoare la cerin țe, a unei
metodologii adecvate de realizare, dar și proasta parti ționare a proiectării în componente
ușor de manevrat. Astfel, ca o solu ție care să permită ie șirea din c riză și solu ționarea
problemelor men ționate anterior, a fost propusă o nouă abordare structurată privind
dezvoltarea produselor software , numită ciclu de via ță al sistemelor informa ționale .
Ciclul de via ță al sistemelor informa ționale
Putem privi sistemu l informa țional ca un ansamblu de fluxuri și circuite
informa ționale, organizate într -o concep ție unitară și care asigură legătura dintre
sistemul decizional (de conducere) și cel opera țional (de execu ție).
Trebuie men ționat faptul că nu trebuie să confund ăm sistemul informațional cu
cel informatic. Astfel, sistemul informatic reprezintă un ansamblu structurat de elemente
intercorelate func țional, utilizat pentru culegerea, prelucrarea, transmiterea și stocarea
datelor cu ajutorul mijloacelor automate de pr elucrare a datelor. Scopul acestuia este de
a automatiza procesul informa țional și de a sta la baza fundamentării deciziilor. În plus,
sistemul informatic este inclus în cel informa țional și îi oferă acestuia noi valen țe, atât
sub aspect calitativ, cât și cantitativ. Acest lucru se realizează prin implementarea de
către sistemul informatic a unor modele matematice și prin utilizarea tehnicii electronice
de calcul.
Începând cu anii ’70, treptat, sistemele de baze de date le -au luat locul celor
bazate pe fi șiere, ca parte a infrastructurii sistemelor informa ționale din cadrul unei
organiza ții. În acela și timp, a avut loc o recunoa ștere treptată a faptului că datele
constituie o resursă comună, importantă, vitală în anumite situa ții, care trebuie tratată cu
25 respect, ca toate celelalte resurse ale organiza ției. Acest aspect a avut ca rezultat crearea
unor departamente func ționale denumite administrarea datelor și administrarea bazelor
de date , care erau responsabile cu administrarea și controlul datelor.
Astfel , considerăm că baza de date este o componentă de bază a unui sistem
informa țional, iar dezvoltarea și utilizarea sa trebuie privite și analizate din perspectiva
cerin țelor mai largi ale organiza ției. În acest context, ciclul de via ță al sistemului
informa țional dintr -o organiza ție este puternic legat de ciclul de via ță al sistemului de
baze de date care îl sus ține. De obicei, etapele aferente ciclului de via ță al unui sistem
informa țional includ: planificarea, analiza cerin țelor, proiectarea (inclusiv a ba zei de
date), prototipizarea, implementarea și între ținerea.
Ciclul de via ță al unui sistem de baze de date
Etapele specifice ciclului de via ță al unei aplica ții de tip bază de date sunt
prezentate în figura 5 Trebuie men ționat că etapele ciclului de via ță ale unei astfel de
aplica ții nu sunt strict secven țiale, ci pot presupune revenirea la o etapă anterioară și
repetarea lor. Spre exemplu, dacă apar anumite probleme în timpul proiectării bazei de
date, se poate reveni la etapa anterioară care are drept o biectiv colectarea și analiza
cerin țelor.
Proiectarea
bazei de datePlanificarea
bazei de date
Delimitarea granitelor
sistemului
Colectarea si
analiza cerintelor
Proiectarea conceptuala
Proiectarea logica
Proiectarea fizica
Prototipizarea Implementarea
Testarea
Întretinere operationalaAlegerea SGBD-ului
Proiectarea aplicatiei
Figura 5 Ciclul de via ță al unei aplica ții de tip bază de date
26 Principalele activită ți asociate fiecărei etape din ciclul de via ță al aplica ției de tip
bază de date sunt:
planificarea b azei de date – presupune planificarea modului în care etapele ciclului
de via ță pot fi realizate cel mai eficient;
delimitarea grani țelor sistemului – se referă la specificarea scopului și limitelor
aplica ției, a utilizatorilor săi și a domeniilor de aplic ație. Înainte de a începe
proiectarea unei aplica ții de tip bază de date, este foarte important să definim limitele
(grani țele) sistemului avut în vedere și modul în care acesta realizează interfa ța cu
alte păr ți ale sistemului informa țional al organiza ției. Practic, includerea și
delimitarea grani țelor unui sistem este o etapă importantă, nu numai pentru
utilizatorii și aplica țiile curente, ci și pentru cele din viitor;
colectarea și analiza cerin țelor – are în vedere analiza cerin țelor colectate de la
utilizatori, dar și a domeniilor de aplica ție. Mai precis, această etapă vizează procesul
de culegere și analiză a informa țiilor aferente organiza ției pentru care se proiectează
baza de date respectivă, dar și utilizarea acestora în vederea identificării ceri nțelor
utilizatorilor privind noul sistem;
proiectarea bazei de date – include proiectarea conceptuală, logică și fizică. În sens
larg, principalele scopuri urmărite atunci când se dore ște proiectarea unei baze de
date se referă la:
reprezentarea datelor și a rela țiilor logice dintre acestea, necesare tuturor
domeniilor de aplica ție și principalelor grupuri de utilizatori;
oferirea unui model de date care să permită realizarea tranzac țiilor asupra
datelor;
specificarea unui proiect minimal și structurat în mod adecvat pentru
realizarea cerin țelor stabilite referitoare la performan țele noului sistem;
alegerea SGBD -ului – este o etapă op țională și presupune alegerea unui SGBD
adecvat pentru aplica ția realizată. Această alegere poate fi făcută în orice
moment a nterior proiectării logice, cu condi ția să fie disponibile suficiente
informa ții referitoare la cerin țele sistemului, cum ar fi performan ța sau
constrângerile de securitate și integritate;
proiectarea aplica ției – are în vedere proiectarea interfe ței cu ut ilizatorul și a
programelor care utilizează și prelucrează baza de date;
prototipizarea – este tot o etapă op țională și presupune construirea unui
prototip de sistem care să permită proiectantului, dar și utilizatorului, să
evalueze modul de func ționare al noului sistem;
implementarea – la încheierea etapelor de proiectare, ne aflăm în situa ția de a
implementa baza de date și programele aplica ție. Implementarea bazei de date
se realizează prin utilizarea limbajului de definire a datelor (LDD),
corespunzător sistemului de gestiune a bazelor de date ales. Instruc țiunile
limbajului LDD sunt compilate și utilizate pentru a permite crearea schemei
27 bazei de date. Totodată, toate vederile specificate de către utilizatori sunt
definite în această etapă;
testarea – este etapa în care se testează aplica ția și se identifică eventualele
neconcordan țe dintre cerin țele utilizatorilor și rezultatul furnizat de aceasta;
întreținerea opera țională – presupune o monitorizare continuă a aplica ției
realizate, iar dacă este nevoie , vor fi încorporate cerin țe noi, parcurgând
etapele precedente ale ciclului de via ță.
Proiectarea bazelor de date
Există trei tipuri de proiectări:
conceptuală , care se referă la dezvoltarea unui model informa țional independent de
orice considerent pri vitor la aspectul fizic al datelor;
logică , care vizează construirea unui model informa țional bazat pe unul din modelele
tradiționale, dar independent de tipul SGBD -ului ales și de alte aspecte fizice ale
modelului;
fizică – urmăre ște implementarea efectiv ă a bazei de date pe suportul de stocare,
inclusiv acele aspecte care țin de asigurarea și garantarea securită ții datelor.
Proiectarea corespunzătoare bazei de date este o etapă foarte importantă, mai ales
că trebuie să fie capabilă să garanteze buna func ționare a acesteia și a oricărei aplica ții
care o utilizează. În lipsa unei proiectări adecvate a bazei de date, aceasta poate prezenta
mai multe deficien țe, cum ar fi:
compromiterea integrită ții datelor deoarece restric țiile de integritate nu pot fi
proiec tate sau implementate corect;
datele sunt redundante, iar aplica țiile individuale se „aglomerează” în încercarea de a
se asigura sincronizarea datelor .
Proiectarea conceptuală
Proiectarea conceptuală este prima fază din procesul de proiectare a unei baze de
date și presupune crearea unui model de date conceptual pentru partea care se dore ște a
fi modelată (parte din activitatea unei organiza ții). Acest model de date va fi construit
prin utilizarea informa țiilor aferente specifica țiilor cerin țelor utilizato rului. Proiectarea
conceptuală a bazei de date este complet independentă de detaliile de implementare,
cum ar fi elementele de software ale sistemului SGBD avut în vedere, programele de
aplica ție, platforma hardware sau orice alte considera ții fizice. Toto dată, trebuie să
menționăm că este important ca pe tot parcursul procesului de realizare a modelului
conceptual de date, acesta să fie permanent testat și validat conform cerin țelor
utilizatorului. Practic, acest model constituie o sursă importantă de info rmații pentru
faza de proiectare logică.
28 Proiectarea logică
Această fază are ca rezultat crearea unui model de date logic aferent activită ților
sau proceselor pe care dorim să le modelăm. Modelul de date conceptual creat în faza
precedentă este rafinat și transpus într -un model de date logic. Acesta este influen țat de
către modelul de date avut în vedere pentru baza de date.
Spre deosebire de celălalt model, care este independent de toate considera țiile
fizice, modelul logic este creat plecând de la modelul de date principal al sistemului
SGBD țintă. Cu alte cuvinte, știm că SGBD -ul este, de exemplu, rela țional, ierarhic sau
orientat spre obiecte. Însă, se ignoră alte aspecte ale SGBD -ului ales și, mai ales, fiecare
detaliu fizic, a șa cum sunt structurile de stocare.
Pe parcursul realizării modelului logic de date, se efectuează testarea și validarea
permanentă a acestuia în conformitate cu cerin țele utilizatorului. Tehnica de
normalizare este utilizată pentru a testa corectitudinea modelului logic de date. P ractic,
normalizarea garantează că rela țiile derivate din modelul de date nu prezintă redundan țe,
care pot cauza anomalii (la implementare) la actualizarea bazei de date. Altfel spus,
normalizarea este procesul prin care se elimină redundan ța datelor din b aza de date și se
construie ște un model de bază de date care sus ține diverse cerin țe func ționale și
structuri alternative ale bazei de date.
Normalizarea presupune împăr țirea unei rela ții (care include la momentul
respectiv toate atributele necesare probl emei) în mai multe rela ții între care se definesc
diferite legături logice. Principalele obiective ale normalizării sunt:
minimizarea spa țiului necesar stocării datelor;
minimizarea riscului apari ției de date inconsistente în cadrul bazei de date;
minimiza rea numărului de anomalii ce pot apărea la actualizare (inserarea datelor,
dar mai ales modificări și ștergeri);
ameliorarea structurii bazei de date, reprezentarea diverselor conexiuni dintre
atributele acesteia;
diminuarea nevoii de reorganizare periodic ă a modelului.
Proiectarea fizică
Proiectarea fizică a bazelor de date este a treia fază din procesul de proiectare a
unei baze de date, în care proiectantul stabile ște cum va fi ea implementată. A șa cum
am văzut deja, faza precedentă presupunea realiza rea unei structuri logice, cu alte
cuvinte se referea la definirea rela țiilor, atributelor și legăturilor dintre ele. Cu toate că
această structură este independentă de SGBD -ul ales, ea se realizează conform unui
model de date, a șa cum este cel rela țional. În realizarea proiectării fizice, trebuie ini țial
identificat sistemul de baze de date avut în vedere. Prin urmare, proiectarea fizică este
croită după modelul unui anumit SGBD . Între proiectarea fizică și cea logică există o
29 legătură, deoarece pe parcurs ul proiectării fizice sunt luate decizii referitoare la
îmbunătă țirea performan țelor, care pot însă afecta structura modelului logic de date.
În cele mai multe situa ții, obiectivul principal al proiectării fizice este de a descrie
cum se inten ționează rea lizarea implementării fizice a proiectului logic al unei baze de
date. Astfel, în cazul modelului rela țional, aceasta presupune:
extragerea unui set de tabele rela ționale (rela ții) și de constrângeri asupra acestora,
din informa țiile prezentate în modelul logic de date (modelul global);
identificarea structurilor de stocare specifice și metodelor de acces la date, astfel
încât să se garanteze ob ținerea unor performan țe optime cu sistemul respectiv;
proiectarea mijloacelor care să asigure securitatea sistemu lui.
Teste grilă
1. Rolul sistemului informațional este de a asigura legătura dintre:
a. sistemul decizional și cel operațional;
b. sistemul operațional și cel informatic;
c. sistemul de conducere și cel de execuție;
d. toate sistemele organizației.
2. Etapele ciclului de viață al unui sistem de baze de date:
a. nu pot fi mereu secvențiale;
b. sunt mereu secvențiale;
c. depinde de maniera de proiectare a sistemului informatic: în funcție de
aceasta, etapele ciclului de viață se pot derula secvențial sau nu;
d. se poate reveni la o etap ă anterioară numai după parcurgerea tuturor
etapelor.
3. Proiectarea bazei de date se referă și la:
a. alegerea SGBD -ului;
b. prototipizare;
c. testare;
d. întreținere operațională.
4. Întreținerea operațională se referă la:
a. monitorizarea și testarea continuă a aplicației;
b. monitorizarea continuă a aplicației și încorporarea unor noi cerințe, atunci
când este cazul;
30 c. monitorizarea continuă a aplicației și încorporarea permanentă a unor noi
cerințe;
d. monitorizarea continuă a aplicației, fără însă a se mai putea adăuga
funcțional ități suplimentare aferente noilor cerințe.
5. Prototipizarea este:
a. o etapă obligatorie specifică proiectării bazei de date care permite numai
proiectantului să evalueze modul de funcționare a aplicației;
b. o etapă opțională specifică proiectării bazei de date care permite numai
proiectantului să evalueze modul de funcționare a aplicației;
c. o etapă obligatorie specifică proiectării bazei de date care permite
proiectantului și utilizatorului să evalueze modul de funcționare a aplicației;
d. o etapă opțională specific ă proiectării bazei de date care permite
proiectantului și utilizatorului să evalueze modul de funcționare a aplicației.
6. Proiectarea bazei de date se referă și la:
a. oferirea unui model de date care să permită realizarea tranzacțiilor;
b. oferirea unui model de date care să permită realizarea tuturor tranzițiilor
necesare;
c. oferirea unui model de date care să permită realizarea tranzacțiilor și a
tranzițiilor asupra datelor;
d. proiectarea bazei de date nu se referă la oferirea unui model de date.
7. Proiectarea concep tuală se referă la:
a. construirea unui model informațional dependent de fiecare considerent
privitor la aspectul fizic al datelor;
b. construirea unui model informațional independent de fiecare considerent
privitor la aspectul fizic al datelor;
c. construirea unui model informațional independent bazat pe unul din
modelele tradiționale;
d. implementarea efectivă a bazei de date.
8. Proiectarea incorectă a bazei de date poate conduce la următoarele deficiențe:
a. lipsa performanțelor dorite;
b. neredundanța datelor;
c. afectarea in tegrității datelor;
d. imposibilitatea proiectării corecte a restricțiilor de integritate asupra datelor.
31 9. Realizarea unui model de date logic este specific:
a. proiectării conceptuale;
b. proiectării fizice;
c. proiectării logice;
d. proiectării tranzacțiilor.
10. Tranzacți a se referă la:
a. acțiuni care numai accesează baza de date;
b. acțiuni care numai actualizează baza de date;
c. acțiuni care accesează sau actualizează baza de date;
d. trecerea de la o realizare la alta a bazei de date.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Fundamente ale bazelor de date … … … … 15 [605004] (ID: 605004)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
