ALTE DOCUMENTE
|
|||||
Ahitectura unei baze de date este:
1. Monitorul sau gestionarul bazei de date - face legatura intre datele fizice din baza si aplicatiile utilizatorilor externi.
Procesor de consultare - traduce instructiunile limbajului conversational de acces in instructiuni elementare pentru gestionarul bazei. Asigura optirnizarea accesului la date.
3. Compilator pentru limbajul de manipulare. SGBD pernmite crearea si actualizarea datelor, cautarea rapida, sortarea, editarea datelor etc. Manevrele se numesc interogari ale bazei de date sau manipulari si sunt formulate intr-un hmbaj numit generic Limbajul de Manipulare a Datelor (LMD).
4. Compilator pentru limbajul de definire. SGBD trebuie sa permita descrierea structurii datelor, a legaturilor intre entitati, a conditiilor de validare si de acces. Pentru aceasta functie, SGBD-ul dispune de un limbaj numit generic Limbajul de Descriere a Datelor (LDD).
Prin acest limbaj SCHEMA si SUBSCHEMELE sunt traduse si memorate in dictionarul de date.
O baza de date poate fi privita din mai multe puncte de vedere cun sunt :
1. Punctul de vedere al utilizatorilor, care lucreaza cu anumite parti componente ale bazei de date numite vederi. Vederile sunt descries prin subscheme in sublimbaje ale limbajului de descriere a datelor. De asemenea, utilizatorii pot sa primeasca respunsuri la diferitele cereri formulate prin intermediul limbajului de prelucrare a datelor ce sunt specifice structurilor virtuale date de vedere.
Punctul de vedere al administratorului bazei de date, care integreaza toate vederile referitoare la baza de date intr-un singur model numit schema conceptuala. Schema conceptuala constituie nivelul logic al bazei de date.
3. Punctul de vedere al implementatorului bazei de date; de cele mai multe ori, el coincide cu administratorul bazei de date, care priveste baza de date ca pe o colectie de fisiere memorate pe diferite medi 212e48c i externe, cum sunt benzile si discurile magnetice. Acesta constituie nivelul fizic al bazei de date fiind de fapt singurul nivel existent eficient.
Fiecare dintre cele trei nivele contine subnivele. De exemplu, utilizatorii pot fi utilizatori obisnuiti, fara cunostinte de programare, sau programatori de aplicatii, organizarea vederilor corespunzatoare lor fiind diferita. La fel, nivelul fizic poate sa contina un subnivel logic , in care conteaza semnificatia diferitelor campuri din inregistrarile fisierelor si structurile de date associate, si un subnivel fizic, in care essential este numai modul de organizare si gestionare a blocurilor pe memoria externa.
Primele doua nivele sunt descries prin planuri ce constau in enumerarea tipurillor de entitati ce apar in baza de date, relatiile intre aceste tipuri de entitati si modul de trecere de la notiunile acestui nivel la nivelul imediat urmator. In mod current, aceste planuri se numesc scheme externe, subscheme conceptuale au vederi pentru primul nivel si scheme conceptuale pentru al doilea nivel.
Sistemele de baza au in vedere trei tipuri de structuri de reprezentare a informatiilor la nivel logic si de operare cu ele, si anume :
Modelul ierarhic poate fi privit ca un caz particular al modelului retea, in care diagrama asociata este o padure ( multime de arbori ) si in care toate legaturile sunt pe directia drumului de la radacina la nodul fiu de relatie, toate relatiile fiind de tipul unu-la-mai-multi.
Ca si in cazul celorlalte modele, exista posibilitatea interpretarii diagramelor entitate-relatie sub forma modelului ierarhic. Pentru evitarea redundantelor in modelul ierarhic, se foloseste notiunea de element virtual, care inlocuieste dublura unui element prin adresa elementului respectiv, fiecare element aparand in baza de date reala o singura data.
Operatiile din bazele de date de tip ierarhic se traduc in procese de parcurgere a arborilor. Elementele virtuale permit, in acest caz, legarea informatiilor din aceeasi entitate sau din entitati diferite.
Pentru prelucrarea eficienta a unei relatii de tip mai-multi-la-mai-multi intre entitati A si B se pot introduce doi arbori : unul tatal A si fiu virtual B si unul cu tatal B si fiul virtual A.
Transformarea diagramelor entitate-relatie in paduri se face in mai multe etape. Mai intai se transforma o astfel de diagrama intr-o rttea prin metodele prezentate anterior.
Apoi se construiesc pe rand arbori, selectand ca radacina a lor un nod din retea neselectat inca si cu cat mai putin arce care sa intre in ele din noduri neselectate. Se adauga apoi, cat mai exista, arcele ce pleaca din noduri selectate in acest arbore fie catre noduri deja selectate in alti arbori si, in acast caz aceste noduri se declara virtuale, fie catre noduri inca neselectate care se adauga arborelui si se considera astfel selectate, procesul continua pana nu mai unt noduri neselectate.
Implementarea la nivel logic pentru ierarhic.poate fi cea utilizata pentru modulul retea sau prin inregistrari de lungime variabila. Formatele acestor inregistrari sw construiesc prin procedeul urmator: formatul asociat unei frunze avand campurile a este a*, iar pentru un nod interior cu campurile b si fii sai avand formatele associate a1 a 2,…ak asociem formatului (b a1 a2 …ak )*.
Desi pentru baza de date se obtine un numar de fisiere cu lungimi variabile egal cu numarul de arbori din schema asociata bazei de date respective.
Datele sunt stocate pe mediul extern in ordinea data de parcurgerea in preordine a arborilor, ceea ce usureaza determinarea informatiilor pentru cererile care se refera la descendentii unor noduri printr-un numar mic accese la mediul extern.
Modelul retea este cel mai apropiat de forma de prezentare a bazelor de date sub forma diagramelor entitate-relatie. Deosebirea consta doar in faptul ca toate relatiile ce apar pot fi numai binale si de tip unu-la-unu sau unu-la-mai-multi. Aceasta restrictie permite reprezentarea grafica a unei baze de date de tip retea sub forma unui graphic directionat numit retea. Intr-o retea, nodurile corespund entitatii si relatiile sunt reprezentate prin sageti intre noduri de la tata la fiu, si anume sageti simple daca relatia este de tip unu-la-unu si sageti duble daca relatia este de tip unu-la-mai-multi.
In modulul retea, entitatilor le corespund fisiere logice care au drept campuri atribute entitatii si eventuale campuri de legatura pentru relatii. Fiecarui element al entitatii ii corespunde o inregistrare logica. Daca inregistrarile sunt identificate numai prin relatia cu alte entitati, atunci se mai adauga la inregistrarea logica inca un camp ce cuprinde un numar de ordine care permite identificarea acelor inregistrari.
Reprezentarea unei relatii R pe mai multe entitati E1,E2,…Ek se realizeaza prin introducerea unei relatii S care sa aiba drept elemente tupluri de forma
( e1,e2,…ek ) corespunzatoare elementelor relatiei R, eventual si un numar de ordine pentru identificare si alte atribute asociate, si adaugand cate o relatie de tipul unu-la-mai-multi de la Ei ( i = 1,…k) la S. Acest procedeu se poate aplica si pentru transformarea relatiilor binale de tipul mai-multi-la-mai-multi.
Operatiile cela mai frecvente pentru modelul retea se impart in doua categorii: cautarea unor elemente ale unor entitati cu anumite proprietati
( proces similar cu cautarea din modelul relational ) sau cautarea unor informatii prin utilizarea legaturilor intre entitati. Cea de-a doua operatiune se numeste navigare.
Un model care a cunoscut o raspandire foarte mare datorita avantajelor pe care le prezinta este modelul relational al datelor.
Ideea bazelor de date relationale a fost lansata de D.F.Childs care a subliniat faptul ca orice structura de date poate fi reprezentata prin una sau mai multe tabele de date, in cadrul carora este necesar sa existe si informatii de legatura. Bazele modelului de date relational au fost puse de catre Codd E. in 1970.
Componentele modelului relational sunt: structura relationala a datelor (ansamblu de relatii prin care se reprezinta datele si legaturile dintre ele), operatorii modelului relational si restrictiile de integritate ale modelului relational.
Domeniul este un ansamblu de valori caracterizat printr-un nume; se poate defini explicit prin enumerarea tuturor valorilor lui sau implicit prin precizarea proprietatilor pe care le are domeniul respectiv.
Se numeste produs cartezian al multimilor D1,D2,…,Dn finite si nu neaparat distincte, multimea tuplurilor (v1,v2,…,v n) , unde v1,v2,…,v n apartin respectiv multimilor D1,D2,…,Dn .
Relatia este un subansamblu al produsului cartezian al mai multor domenii, caracterizat de un nume si care contine tupluri cu o anumita semnificatie (tuplul reprezinta exprimarea generala a unei multimi).
Exemplu: D1*D2*…*Dn <v1,v2,…,v n>
Maria |
F | |
Vasile |
B |
D1*D2*D3 <v1,v2,…,v3> <”Maria”,F,45>
<”Vasile”,B,47>
Atributul reprezinta unitatea fundamentala a unei baze de date relationale si se mai numeste camp. Este data de coloana unei tabele de date si se caracterizeaza printr-un nume; sunt elemente individuale de informatie si se folosesc pentru a creste flexibilitatea datelor.
Fiecare coloana din tabelul de mai sus defineste un camp distinct. Pe toate liniile, informatiile din aceeasi coloana au aceeasi semnificatie. De exemplu, numele unei persoane este un camp, varsta este alt camp, iar sexul este al treilea. Daca se doreste stocarea unor informatii suplimentare, fiecare informatie individuala constituie un camp. Pentru fiecare persoana inregistrata in tabel exista mai multe campuri care o individualizeaza. Luate impreuna, aceste campuri definesc o inregistrare. In general inregistrarile se prezinta sub forma de linii .
Tabelul descrie o grupare de un nivel mai inalt decat o inregistrare, cuprinzand o colectie de inregistrari. Presupunand ca avem un tabel asemanator care contine informatii despre o categorie de persoane alese dupa un anumit criteriu, aceste doua tabele au un element comun – numele persoanei .
Maria |
inginer |
Uzina “23 August” |
Vasile |
profesor |
Liceul “1 Mai” |
Combinatia acestor doua tabele si a relatiei dintre ele constituie un exemplu simplu de baza de date relationala .
Schema unei relatii este compusa din numele relatiei urmat de lista atributelor si domeniile asociate fiecarui atribut .
Relatie ( A: D1 , A: D2 , … ,A: Dn )
Persoana ( Nume:D1,Sex: D2,Varsta: D3)
Schema unei relatii se mai numeste si intensia relatiei si reprezinta o expresie a proprietatilor comune si invariante ale tuplurilor care compun relatia, ramanand neschimbata atat timp cat este folosita relatia. Extensia unei relatii poarta numele de relatie de baza si este ansamblul tuplurilor care compun la un moment dat relatia (multimea inregistrarilor existente la un moment dat intr-un tabel ), fiind stocata fizic in spatiul asociat bazei de date.
Spre deosebire de modelele ierarhice si in retea, modelul relational prezinta o serie de avantaje:
Asigura un grad sporit de independenta a programelor de aplicatie fata de modul de reprezentare interna a datelor.
Furnizarea unor metode si tehnici eficiente de control a redundantei datelor. Modelul relational, prin tehnica normalizarii relatiilor, permite definirea unei structuri conceptuale optime a datelor.
Ofera facilitati multiple de definire si manipulare a datelor. Modelul relational ofera posibilitatea utilizarii unor limbaje procedurale, bazate pe algebra relationala.
Ameliorarea integritatii si confidentialitatii datelor. Modelul relational realizeaza acest lucru prin mecanisme flexibile si eficace de specificare si utilizare a restrictiilor de integritate si a relatiilor virtuale.
Din aceasta cauza, aplicatia dezvoltata va folosi baze de date relationale
1. Schema
Structura logica a unei colectii de tabele care descrie complet o anumita activitate este denumita schema bazei de date. Ea descrie campurile fiecarui tabel din punct de vedere al tipului datelor, dimensiunii, numelui si gamei valorilor posibile, precum si relatiile dintre tabele.
Normalizarea
Fiecare tabel din cadrul unei baze de date trebuie sa fie normalizat, adica fiecare intersectie dintre un rand si o coloana trebuie sa aiba o singura valoare, denumita valoare atomica. Algebra relationala cere ca tabelele sa fie normalizate, dar ea nu presupune o ordine anume nici pentru randuri (inregistrari), nici pentru coloane (campuri). Din acest unghi de vedere, tabelul reprezinta o multime neordonata de date.
3. Chei
Orice tabel cuprine, in mod natural, unul sau mai multe campuri, care intra in componenta unei chei primare, utilizata pentru diferentierea unei inregistrari de toate celelalte. Dintre campurile unei inregistrari, mai multe pot fi alese drept chei primare, dar intr-o aplicatie doar una poate fi cheie primara, celelalte sunt chei alternative. Asocierea a doua tabele (tabel parinte si tabel copil) se face printr-un camp special cu o trimitere la cheia primara a tabelului subordonat (tabelul copil).
4. Integritatea datelor presupune:
- integritatea existentiala - impune ca in nici o imprejurare cheia primara sa nu fie nula;
- integritatea referentiala - impune ca orice cheie straina sa corespunda unei chei primare din tabelul asociat;
- integritatea domeniului - impune definirea cu claritate a tipului domeniului. Domeniul reprezinta multimea tuturor valorilor posibile pentru un tip de camp dat.
Deoarece diferitele date pot fi grupate dupa relatii evidente (cum ar fi relatia dintre numele studentului si media de admitere), MBDR (modelul de baze de date relationale) ofera proiectantului un grad mare de flexibilitate in descrierea relatiilor dintre aceste date. Prin conceptele matematice de JOIN (Jonctiune) si UNION (Reuniune), bazele de date relationale pot returna utilizatorului o colectie combinata de date (informatii).
Limbajul SQL (Structurat, Interogare, Limbaj) interogheaza baza de date, creeaza tabele, adauga, sterge si combina date, declanseaza actiuni in functie de modificarile aduse bazei de date, memoreaza interogarile in program.
In concluzie, SQL inseamna un limbaj structurat pentru adaugare, modificare, stergere, jonctiune, memorare, declansare si interogare. Cu ajutorul limbajului SQL, un programator sau administrator de baze de date poate efectua urmatoarele operatiuni:
- modifica structura unei baze de date;
- schimba valorile de configurare pentru securitatea sistemului;
- adauga drepturi utilizatorilor asupra bazei de date;
- interogheaza o baza de date;
- actualizeaza continutul unei baze de date.
Majoritatea bazelor de date din domeniul juridic sunt baze de date relationale; de aceea, vom descrie succint etapele proiectarii acestora. Proiectarea bazelor de date presupune fixarea structurii bazei de date si a metodelor de prelucrare a datelor. Daca, in mod obisnuit, baza de date isi schimba frecvent continutul, structura ei ramane nemodificata pe lungi perioade de timp.
Prin proiectare se determina un model semantic, care sa reflecte cat mai fidel lumea reala, construit astfel:
1. Se identifica o multime de concepte semantice (entitati, tipuri de entitati, proprietati ale entitatilor, identificatorii entitatilor, relatii intre entitati) ce dau informatii despre lumea reala.
Se asociaza obiecte simbolice formale, prin care sunt reprezentate conceptele semantice.
3. Se defineste o multime de operatori formali ce pot sa transforme obiectele formale.
Etapele construirii unei baze de date
Etapele costruirii unei BD sunt urmatoarele:
1. Studiul de fezabilitate, ce consta in cercetarea sistemelor existente, evaluarea costurilor pe diversele alternative.
Cercetarea sistemului existent (tipuri de date, dimensiuni etc.).
3. Analiza sistemului prin determinarea cauzelor diferitelor evenimente si a adoptarii metodelor si a alternativelor posibile.
4. Proiectarea sistemului prin determinarea celui mai bun model de reprezentare si prelucrare a datelor, de asigurare a securitatii si integritatii.
5. Dezvoltarea sistemului prin stabilirea detaliilor asociate datelor prevazute a fi luate in considerare, a relatiilor dintre ele si a modului de reprezentare fizica.
6. Implementarea sistemului prin proiectarea, scrierea si testarea programelor, antrenarea utilizatorilor, alcatuirea documentatiei, crearea si incarcarea fisierelor.
7. Revizuire si intretinere prin probe de lucru ale noului sistem, efectuarea unor eventuale modificari, adaugarea de noi componente si urmarirea procesului de prelucrare a datelor.
Proiectarea urmareste obtinerea de baze de date care sa intruneasca urmatoarele calitati: corectitudine, consistenta, distribuire, flexibilitate.
Criteriile de clasificare pentru determinarea modelului logic de date optim corespunzator unei baze de date sunt:
- Validare structurala - reflectarea consistenta a modului de utilizare a informatiilor in lumea reala;
- Simplitate - usurinta intelegerii structurilor chiar de catre utilizatori fara o pregatire speciala;
- Neredundanta - eliminarea, pe cat posibil, a reprezentarii de mai multe ori a aceleiasi informatii sau a informatiilor ce se pot deduce logic din altele;
- Distribuire - un model general aplicabil mai multor domenii, fara caracteristici specifice unor aplicatii sau tehnologii particulare;
- Extensibilitate - posibilitatea de a dezvolta noi componente cu efecte minime asupra bazei de date existente;
- Integritate - consistenta in modul de utilizare si intretinere a valorilor din informatii.
|