Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Notiuni introductive despre baze de date

baze de date



+ Font mai mare | - Font mai mic



Notiuni introductive despre baze de date

1.1 Ce sunt bazele de date

Datele sunt siruri alfanumerice prin care se reprezinta fapte, obiecte, situatii rezultate din masurare sau numarare. Ele sunt stocate pe un suport magnetic, de unde vor fi utilizate direct sau prelucrate intr-un anumit scop. Pentru a putea folosi aceste date, ele trebuie organizate intr-un anumit mod.



Volumul mare de date vehiculate, necesitatea stocarii lor si regasirea rapida a anumitor informatii sunt numai cateva dintre cauzele care au condus la aparitia colectiilor de date organizate, numite si baze de date (databases).

Definitie[Ipate]: Bazele de date sunt colectii de date organizate care servesc unui anumit scop.

Organizarea datelor se refera la stocarea, reprezentarea si accesarea lor intr-un mod bine definit. Scopul pentru care sunt create bazele de date il reprezinta domeniul de interes al acestora, problemele pentru care trebuie sa gaseasca o rezolvare. Astfel, sunt baze de date care se axeaza pe domeniul economic, bancar, dar exista si baze de date cu scopuri stiintifice, militare etc.

Datele pe care le contin BD sunt in mod obisnuit de tip alfanumeric, dar pot fi si imagini, sunete, elemente multimedia.

In arhitectura bazelor de date se disting patru niveluri:

Nivelul conceptual - este fundamental deoarece descrie sistemul ce urmeaza a fi modelat. Cel mai clar mod de a descrie sistemul este utilizarea unui limbaj natural, a unor diagrame si a exemplelor. In procesul de modelare se examineaza informatia in amanunt, la fiecare moment de timp. La acest nivel se realizeaza schema conceptuala, care reprezinta design-ul general al sistemului.

Nivelul extern - se specifica structura bazei de date perceputa de utilizatori si se face legatura intre acest design si schema conceptuala. Daca sunt mai multe grupuri de utilizatori si metodele de operare sau navigare difera de la un grup la altul, se pot proiecta diferite interfete cu utilizatorul.

Nivelul logic - are rolul de a realiza transformarea schemei conceptuale intr-o schema logica. In acest scop se alege un model logic de organizare a datelor (ex: modelul relational, ierarhic, retea) care are anumite structuri de date si operatii. De exemplu pentru modelul relational datele se stocheaza in tabele, constrangerile se exprima cu ajutorul cheilor primare si straine.

Nivelul fizic (intern) - este nivelul la care schema logica se realizeaza fizic, cu ajutorul unui sistem de gestiune a bazelor de date (SGBD). Se poate spune ca se obtine schema interna din schema logica prin intermediul unui SGBD. Structurile de date si metodele de acces pentru aceeasi schema logica pot fi diferite in cadrul aceluiasi SGBD, ceea ce inseamna ca poate fi implementata prin mai multe scheme interne.

Bazele de date ofera utilizatorilor o serie de avantaje, cum ar fi:

reducerea redundantei datelor prin proiectarea unitara a bazei si evitarea suprapunerii unor informatii;

pastrarea consistentei datelor prin propagarea actualizarilor dintr-un fisier la nivelul intregii baze de date;

partajarea datelor intre utilizatorii aceleiasi aplicatii, dar si intre aplicatii diferite;

securitatea datelor prin verificarea accesului utilizatorilor pe baza de parola si prin autorizarea operatiilor de intretinere de catre administratorul bazei de date.

Din definitie rezulta ca bazele de date implica constituirea de colectii de date structurate, dar si existenta unui software de intretinere si de exploatare a acestor structuri. In ceea ce priveste organizarea, bazele de date au evoluat de la simple structuri de date numerice si de tip text la stocarea de imagini, sunete si alte elemente multimedia. Programele de intretinere si de exploatare a bazelor de date au fost cuprinse intr-un ansamblu numit Sistem de Gestiune a Bazelor de Date - SGBD (Database Management System).

Definitie: Sistemul de Gestiune a Bazelor de Date este un software care gestioneaza o baza de date si permite utilizatorului sa interactioneze cu aceasta.

Functiile unui SGBD sunt urmatoarele:

ð     definirea structurii bazei de date si stocarea datelor;

ð     accesarea datelor in regim mono sau multi-user: interogare, modificare, stergere, adaugare;

ð     intretinerea bazei de date: pastrarea consistentei si a integritatii datelor, compactarea si reorganizarea bazei de date;

ð     securitatea bazei de date: salvarea si recuperarea datelor in caz de incident, protectia la acces neautorizat.

Modul conceptual de organizare a datelor folosit de SGBD-uri este descris de modelul de date, care poate fi: ierarhic, retea, relational si orientat obiect.

Modelul ierarhic stocheaza datele in structuri de tip arbore, care stabilesc legaturi de tip parinte-copil. Nivelul de inceput al arborelui, numit radacina, poate avea orice numar de descendenti. La randul lor, acestia pot avea descendenti si asa mai departe. Modelul ierarhic a fost utilizat de catre primele SGBD-uri, dar in prezent este considerat un model depasit.

Modelul retea este extensie a modelului ierarhic, in care un descendent poate avea mai multi parinti. El poate reprezenta structuri complexe de date, dar nu are flexibilitate si este dificil de proiectat.

Modelul relational se bazeaza pe organizarea datelor sub forma de tabele, constituite din inregistrari, formate la randul lor din campuri. Tabelele sunt legate intre ele prin campuri speciale, numite chei. Bazele de date relationale sunt cel mai frecvent folosite, datorita modului simplu de realizare si a flexibilitatii lor.

Exemple de SGBDR: Oracle, Sybase, SQL Server, Access.

Modelul orientat pe obiecte este cel mai nou tip de SGBD, care integreaza principiile programarii orientate pe obiecte si ale bazelor de date. Introducerea conceptului de obiect in cadrul SGBD-urilor a permis utilizarea tipurilor de date neconventionale. Acest model constituie suportul logic pentru gestiunea obiectelor complexe (texte, grafice, imagini, sunete) si a obiectelor dinamice (programe, simulari).

1.2 Securitatea datelor

La proiectarea unei baze de date, asigurarea securitatii este o cerinta importanta si este dependenta de nivelurile de securitate ale SGBD-ului in care se lucreaza:

protectia prin identificator si parola pentru autentificarea utilizatorilor;

restrictionarea drepturilor anumitor grupuri de utilizatori si acordarea de privilegii altora;

in Oracle orice obiect al bazei de date este proprietatea unui utilizator si poate fi accesat numai de acei useri care au privilegiile corespunzatoare.

O sursa posibila de erori in functionarea bazelor de date o constituie managementul defectuos in gestionarea multiuser. Concurenta se defineste in acest caz prin accesul simultan al mai multor utilizatori la acelasi set de date, in aceeasi perioada de timp. SGBD-ul are sarcina de a face vizibile modificarile operate de unul dintre utilizatori celorlalti (consistenta) si de a impiedica modificarile incorecte ale datelor (integritatea bazei de date).

Pentru rezolvarea accesului concurent, SGBD-ul blocheaza unitatea de date (locking). Se poate face blocajul la nivel de tabela sau la nivel de rand (inregistrare), eficienta fiind mai buna cu cat unitatea de blocare este mai mica.

1.3 Modelul relational al bazelor de date

Se caracterizeaza prin reprezentarea datelor sub forma de structuri bidimensionale, asemanatoare tabelelor.

Avantajele pe care le prezinta acest model sunt:

asigura metode si tehnici eficiente de verificare a coerentei si redundantei datelor;

dispune de un suport teoretic puternic din punct de vedere matematic;

asigura un grad inalt de independenta in raport cu sistemele de calcul;

ofera posibilitatea utilizarii de limbaje procedurale bazate pe algebra relationala;

defineste modul de manipulare a datelor la nivel de relatie (limbajul SQL).

Componentele de baza ale modelului relational sunt:

  1. Structura relationala a datelor: datele sunt organizate sub forma de tablouri bidimensionale (tabele), denumite entitati sau relatii. Liniile tabelelor se numesc inregistrari, iar coloanele constituie atributele. Asocierile dintre tabele se fac prin atributele de legatura, denumite chei primare si externe.

Numarul de atribute ale unei entitati se numeste aritatea entitatii.

O entitate trebuie sa satisfaca mai multe conditii:

F     fiecare atribut trebuie sa aiba un nume, unic in cadrul entitatii; este posibil ca doua atribute din doua entitati diferite sa poarte acelasi nume;

F     fiecare atribut poate avea doar valori atomice, care nu se pot descompune din punct de vedere logic;

F     fiecare inregistrare a entitatii este unica, unicitatea fiind obtinuta cu ajutorul cheilor primare. Cand este necesar mai mult decat un atribut pentru identificarea unica a unei inregistrari, avem o cheie compusa.

F     Nici unul dintre atributele care alcatuiesc cheia primara nu poate avea valoarea Null. Null este o valoare conventionala care indica o valoare necunoscuta sau neaplicabila.

  1. Operatorii sistemului relational: se refera la setul de operatii care se pot efectua asupra entitatilor. In algebra relationala introdusa de Codd exista 8 operatori care actioneaza asupra entitatilor si creaza tot o entitate. Acesti operatori sunt implementati in cadrul limbajului SQL (Structured Query Language), cel mai frecvent folosit pentru interogarea bazelor de date relationale. Sunt operatori ai algebrei relationale clasice (de exemplu: Union - reuniunea, Intersect - intersectia) si operatori relationali speciali (de exemplu: Select - selectia, Join - compunerea).
  1. restrictiile de integritate: reprezinta cerintele impuse tabelelor, astfel incat baza de date sa fie corecta si coerenta.

Restrictiile (constrangerile) de integritate sunt de doua tipuri:

Ø      Constrangeri structurale: exprima proprietati fundamentale, care tin de definirea BD. Ele sunt realizate cu ajutorul cheii primare.

Cheia primara (Primary key-PK) este un atribut sau un grup de atribute care asigura diferenta intre oricare doua inregistrari dintr-un tabel. Nici unul dintre atributele care alcatuiesc cheia primara nu poate avea valoarea Null pentru nici una dintre inregistrarile tabelei.

Ø      Constrangeri de referentialitate: se stabilesc intre doua tabele cu ajutorul cheilor primare si straine.

Se defineste cheie straina (Foreign Key-FK) un atribut sau o multime de atribute ale unei entitati E2, care exista si intr-o alta entitate E1 si care formeaza cheia primara a entitatii E1.

E1

E2

Camp1 E1 - PK

Camp1 E2 - PK

Camp2 E1

Camp2 E2 - FK

Campul2 din entitatea E2 este cheie straina (FK), daca exista si intr-o alta entitate E1, unde formeaza cheia primara. Campul2 din E2 face referinta la cheia primara din E1. Valorile pe care le ia cheia straina, daca nu sunt Null, trebuie sa se regaseasca printre valorile cheii primare la care face referinta.

Exemple de sisteme de gestiune a bazelor de date relationale (SGBDR) consacrate sunt: Oracle, SQL Server, Sybase, Microsoft Access, FoxPro, Paradox.

Proiectarea unei baze de date inseamna transformarea cerintelor utilizatorului intr-o structura care contine tabele, interogari, rapoarte, module de program. Pentru o proiectare eficienta, datele sunt separate in tabele in scopul minimizarii spatiului de stocare si al imbunatatirii performantelor. Conectarea informatiilor disparate se face ulterior prin intermediul relatiilor dintre tabele.

Etapele de proiectare a bazelor de date sunt:

Crearea schemei conceptuale - se descriu datele si relatiile independent de orice model de date. Schema are un caracter general si este o traducere a cerintelor beneficiarului intr-un sistem de ansamblu.

Crearea schemei logice a bazei de date - se transforma schema conceptuala in structuri specifice unui SGBD. Se definesc elementele de date specifice si se face gruparea lor in inregistrari. In cazul modelului relational, schema logica va contine dictionarul de date, structurile tabelelor, definirea legaturilor si precizarea modurilor de manipulare a datelor necesare sistemului.   

Crearea design-ului fizic al bazei de date - schema logica se transforma intr-o baza de date coerenta si se construiesc modulele de program pentru exploatarea ei.

Desi s-au inregistrat salturi spectaculoase in acest domeniu si au aparut nenumarate metode si tehnici, ramanem la concluzia ca proiectarea unei baze de date nu inseamna incadrarea intr-un tipar (sablon) si ca performantele ei depind intr-o mare masura de inteligenta si    imaginatia proiectantului.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1437
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved