Introducere In Baza de Date
Ce este o bază de date ?
La început calculatoarele au fost utilizate numai pentru calcule aritmetice. Prin
creșterea vitezei de calcul, prin creșterea capacității de memorare a datelor, prin adăugarea unor noi componente de intrare-ieșire, prin dezvoltarea unor limbaje de programe s-a ajuns acum la prelucrarea într-un timp scurt a unei mari cantități de informații. Organizarea și gestionarea acestor informații se face la nivelul bazelor de date.
Prin bază de date întelegem o colecție de date centralizată, creată și menținută
computerizat, în scopul prelucrării datelor în contextul de introducere, ștergere, actualizare și interogare a datelor.
Datele sunt organizate în fișiere (care mai pot fi numite și tabele) interconectate.
Un fișier este un ansamblu de înregistrări fizice, omogene din punct de vedere al conținutului si al prelucrării.
Baza de date conține nu numai datele operaționale ale organizației, ci și o descriere
a acestora. De aceea ea este definită și ca o colecție autodescrisă de înregistrări integrate. Această descriere a datelor este cunoscută sub denumirea de catalog de sistem sau dicționar de date sau meta-date (date despre date). Natura autodescriptivă a bazelor de date este cea care determină independența program-date.
Accesul utilizatorului la informațiile despre structura unei baze de date se realizează
prin intermediul dicționarului de date.
O bază de date este formată dintr-o mulțime structurată de date, accesibile prin
calculator, care pot satisface în timp minim și într-o maniera selectivă mai mulți utilizatori
si un software care să controleze accesul la acestea, cunoscut sub numele de sistem de gestiune al bazelor de date (SGBD). Un SGBD este un sistem de programare care este responsabil cu crearea, manipularea și întreținerea unei baze de date. Funcția centrală a acestuia este de a permite utilizatorilor (prin intermediul programelor lor) sa acceseze date dintr-o bază de date. Pe langă acestă funcție, sistemul mai indeplinește si alte funcții importante precum:
stocarea, regăsirea și actualizarea datelor, astfel un SGBD permite utilizato-
lor să creeze și să manipuleze date într-un mod facil, fără a fi necesar să cunoască structura
internă a datelor;
crearea și întreținerea dicționarului de date (catalogul de sistem);
gestionarea facilităților legate de accesarea simultană a unor înregistrări ale
bazei de date de către mai mulți utilizatori;
păstrarea unei copii de siguranță (“back-up”) și posibilitatea de a recupera
datele în cazul “căderii” sistemului;
probleme de securitate a datelor (parole de acces ale utilizatorilor, verificări,
vizualizări ale datelor;
Gestionarea informației sub forma unor baze de date prezintă o serie de avantaje ce
prezentate în cele ce urmează.
Independența datelor. Într-o bază de date, datele sunt păstrate astfel încât schim-
barea structurii acesteia să nu afecteze nici unul din programele de aplicație ce utilizează
datele din baza de date respectivă, spre deosebire de o abordare orientată spre fișiere, unde o modificare chiar nesemnificativă în structura fișierului poate necesita un effort considerabil din partea programatorului.
Consistența datelor. Modificarea articolelor din baza de date este percepută de
fiecare dintre utilizatorii sistemului de baze de date.
Controlul redundanței. În sistemele de gestiune neorientate spre baze de date,
aceeași informație poate fi păstrată în mai multe fișiere diferite și în consecință crește nejustificat spațiul fizic ocupat pe disc, dar și timpul consumat cu actualizarea datelor redundante
Integritatea datelor. Un SGBD furnizează utilizatorilor posibilita-tea specificării
anumitor restricții. Spre exemplu când se face înregistrarea unui nou produs în baza de date, impunem să fie adăugat și prețul acestuia, astfel că elementul „preț” nu va putea fi niciodată omis.
O mai mare securitate a datelor. Astfel, un SGBD va asigura faptul că doar utili-
zatorii autorizați vor avea acces la date.
Un control centralizat al datelor, prin intermediul unui administrator al bazelor
de date.
O mai mare cantitate de informație disponibilă utilizatorilor. Cu un sistem de
baze de date, utilizatorii accesează informația ce a fost anterior păstrată în fișiere aflate pe sisteme de calcul diferite, chiar incompatibile intre ele.
Orice SGBD modern furnizează un limbaj de interogare a datelor, de obicei tip
SQL (”Structured Data Language”) sau cel puțin câteva instrucțiuni SQL, ce permit utiliza-
torilor să obțină mult mai rapid și mai simplu informațiile dorite, decât dacă ar utiliza un program scris într-un limbaj procedural pentru care efortul de programare nu ar fi fost deloc neglijabil.
Limbajele de interogare pot fi clasificate în două categorii:
Limbaje algebrice, în care interogările asupra relațiilor sunt exprimate prin
intermediul unor operatori aplicați asupra lor. În această categorie se încadreză limbajul SQL.
Limbaje bazate pe calcul relațional, în care interogările asupra relațiilor sunt
exprimate prin intermediul unor condiții (predicate) pe care tuplele relațiilor trebuie să le satisfacă. Această categorie de limbaje se clasifică la randul ei în două categorii, în funcție de obiectul asupra căruia se aplică operația și anume :
b1) Limbaje bazate pe calcul relațional orientat pe tuple, în care predicatele se
aplică asupra tuplelor relațiilor, reprezetativ fiind aici QUEL, limbajul de interogare Ingres.
b2) Limbaje bazate pe calcul relațional orientat pe domenii. Reprezentativ pentru această categorie este QBE, limbajul de interogare dezvoltat de IBM.
Utilizatorii unei baze de date pot fi:
Utilizatori nespecialiști (conversaționali) care au la dispoziție o formă de comu-
nicare cu baza de date apropiată de vorbirea curentă. Ei nu cunosc structura bazei și nici modul efectiv de lucru cu baza de date.
Utilizatori specialiști care cunosc structura bazei, au cunoștințe de programare,
cunosc problemele sistemului de operare și toate acestea le permit să folosească rațional baza de date, obținând avantaje maxime.
Administratorul bazei de date este un utilizator special care definește obiectivele
exploatării bazei, împarte drepturile de acces ale utilizatorilor, elaborează concepția de proiecție a bazei de date, raspunde de toate activitățile și operațiile referitoare la baza de date, ajută la definirea cerințelor utilizatorilor.
Clasificarea sistemelor de baze de date
Pentru reprezentarea structurii logice a datelor dintr-o bază de date s-au impus
de-a lungul ultimelor decenii trei modele si anume, modelul ierarhizat, care presupune crearea unei structuri arborescente de reprezentare a datelor, modelul rețea, în care elementele ce reprezintă datele sunt legate între ele prin pointeri, formându-se astfel o rețea, și modelul relațional, acesta impuându-se net în fața celorlalte doua, fiind la ora actuală la baza realizării majorității produselor software din lumea bazelor de date.
Există mai multe criterii de clasificare ale sistemelor de baze de date.
Clasificarea după modelul de date
Majoritatea sistemelor de baze de date sunt realizate in modelul de date relațional
sau model de date orientat obiect.
Modelul relațional a fost conceput de Codd. El este un model formal de organizare
conceptuală a datelor, destinat reprezentării legăturilor dintre datr, bazat pe teoria matematică a relațiilor. Este modelul cel mai accesibil pentru utilizatorul bazei de date deoarece are aceeasi structură fizică cu datele care trebuie prelucrate. In general, datele se prezintă sub forma unor tabele (relații) în care liniile constituie entități, iar coloanele sunt atribute ce caracterizează aceste entități.
Spre deosebire de modelul ierarhic si rețea unde apar două elemente, și anume tipul
entității si relațiile dintre două entități, modelul relațional este alcătuit numai din relații și prin urmare, orice interogare asupra bazei de date este tot o relație. Modelul relațional a fost definit cu o deosebită rigoare matematică, furnizând un mijloc performant de studiu al proprietăților logice ale unui sistem de baze de date.
Referitor la partea de manipulare a datelor, modelul relațional este orientat spre
spre mulțimi, în timp ce modelele ierarhic si rețea sunt orientate spre fișiere. Pentru modelele ierarhic și rețea, programatorul trebuie să proiecteze programe care să acceseze baza de date, înregistrare cu înregistrare, utilizând legături fizice între înregistrări. Modelul relațional relațional a permis introducerea unor limbaje neprocedurale de manipulare a datelor
Modelul relațional nu este orientat spre sistemul de calcul, deci modelul nu include
regulile, structurile și operațiile referitoare la implementarea fizică a unui sistem de baze de
date. De fapt, unul dintre obiectivele modelului este acela de a face o distincție clară între aspectele fizice și logice ale unei baze de date (independența datelor).
Modelul relațional, deși are unele imperfețiuni, a fost adoptat în ultimul deceniu de
majoritatea programatorilor din domeniu, tocmai datorită acestor trei calități: este simplu,
este riguros din punct de vedere matematic si nu este orientat spre sistemul de calcul.
În modelul ierarhic o bază de date se reprezintă printr-o structură ierarhică de
înregistrări de date conectate prin legături. Modelul ierarhic a fost primul model folosit pentru dezvoltarea bazelor de date.
Schema conceptuală a unei baze de date în modelul ierarhic se reprezintă printr-un
un număr oarecare de scheme. O schemă ierarhică este un arbore direcționat, reprezentat
pe mai multe niveluri, în care nodurile sunt tipurile de înregistrări, iar arcele sunt tipurile
de legături. Fiecare nod, cu excepția nodului rădăcină, are o singură legătură către un nod de pe un nivel superior (nodul părinte) și fiecare nod, cu excepția nodurilor frunză, are una sau mai multe legaturi către nodurile de pe nivelul inferior (noduri fii).
Modelul da date rețea folosește o structură de graf pentru definirea schemei concep-
tuale a bazei de date; nodurile grafului sunt tipuri de entități, iar muchiile grafului reprezintă în mod explicit asocierile dintre tipurile de entități.
La fel ca si modelul ierarhic, dezavantajul principal al modelului rețea este acela că
fiecare interogare trebuie sa fie prevăzută încă din faza de proiectare, prin memorarea explicată a legăturilor între tipurile de entități. În plus, complexitatea reprezentării datelor
în modelul rețea este deosebit de ridicată, iar programatorii trebuie să o cunoască pentru
a putea realiza aplicațiile necesare.
Clasificarea după numărul de utilizatori
Majoritatea sistemelor de baze de date sunt sisteme multiutilizator, adică
permit accesul concurent mai multor utilizatori la aceeași bază de date. Există și un număr redus de sisteme monoutilizator, adică suportă accesul doar al unui utilizator .
Clasificarea după numărul de stații pe care este stocată baza de date
O altă clasificare este cea după numărul de stații pe care este stocată baza de
date.
Există două categorii de sisteme de baze de date: centralizate și distribuite.
Un sistem de baze de date centralizat este un sistem de baze de date îm care datele
și sistemul de gestiune sunt stocate pe un singur calculator.
Un sistem de baze de date distribuit poate avea atât datele, cât și sistemul de gesti-
une, distribuite pe mai multe calculatoare interconectate printr-o rețea de comunicație.
1.3 Securitatea datelor
Asigurarea securității unei baze de date presupune interzicerea accesului la date,
interzicerea modificării și distrugerii datelor de catre utilizatori neautorizați. Referitor la protecția și securitatea datelor, se definesc urmatoarele concepte de bază:
Securitatea datelor. Prin securitatea bazelor de date se înțelege protejarea
bazei de date împotriva amenințărilor intenționate sau neintenționate, prin utilizarea unor
elemente de control bazate sau nu pe calculatoare.
Confidențialitatea. Pentru asigurarea confidențialității datelor pot fi consi-
derate două tipuri de controale: controlul accesului direct și controlul accesului indirect.
Datorită structurii funcționle pe nivele a unui SGBD, accesul direct poate fi făcut la nivel intern sau la nivel extern. Controlul accesului intern solicită ca sistemul de gestiune să utilizeze un mecanism de codificare a datelor și să existe un ssstem de securitate fiabil sistemului de operare. Controlul accesului extern depinde de numele atributelor, de numele relațiilor , de context, de valoarea afectivă a unui atribut, de tipul de acces.
Integritatea datelor. se referă la restricția ca sensul datelor să nu difere față
de cel înscris pe documentul sursă. Impunând totodata ca datele sa nu fie alterate accidental
sau voit. Informația stocată în baza de date trebuie sa fie coerentă, să corespundă realității. Corespunzător situațiilor care pot genera apariția unor date incorecte în baza de date, se disting trei aspecte ale asigurării integrității datelor: asigurarea integrității semantic a datelor, controlul accesului concurrent la date și salvarea și restaurarea bazei de date.
Problema securității datelor poate fi abordată in două moduri:
Abordarea centralizată permite un control mai restrictiv și mai sigur decât
abordarea descentralizată. Această posibilitate este logică, deoarece există o singură persoană (administratorul bazei) care poate să definească relații partajabile și care poate acorda privilegii de acces asupra acestor relații. Dacă doi utilizatori doresc să partajeze relații, ei trebuie să se adreseze administratorului.
Abordarea descentralizată este flexibilă și utilă pentru sisteme distribuite.
Parola, criptarea (codificarea) și matricele de acces reprezintă mecanisme clasice ale
sistemului de operare care asigură securitatea datelor.
Majoritatea sistemelor folosesc parole pentru identificarea utilizatorilor. Parolele
permit accesul la resursele sistemului și sunt asociat cu anumite drepturi de acces la date. Pentru fiecare utilizator, identificat prin parolă, sistemul întreține o listă a privilegiilor acestuia, iar aceste privilegii depind de clasa căreia îi aparține utilizatorul.
Gestionarea privilegiilor se face cu ajutorul matricei de acces. Coloanele acestei
matrici corespund elementelor care definesc un privilegiu: subiectul, obiectul, acțiunea și
restricția. Subiectul poate fi un utilizator, un grup de utilizatori, o aplicație sau un terminal.
Obiectul este reprezentat de datele care trebuie protejate (înregistrare, relație, baza de date etc.). Restricția reprezintă condiții suplimentare care trebuie respectate cand un subiect execută o acțiune asupra unui obiect.
Criptarea este operația de codificare a datelor pe timpul stocarii sau al transportului,
astfel încât descifrarea lor să poată fi făcută numai de posesorii de cod. Problema securității
datelor se rezumă la asigurarea securității cheii de criptare, iar mecanismul gestiunii cheilor de criptare este complex.
Deci, prin securitatea bazei de date se înțelege o multitudine de măsuri destinate
protecției informațiilor conținute în baza de date împotriva unor alterări, distrugeri sau divulgări neautorizate.
Arhitectura sistemelor de programe
Pentru a simplifica viziunea utilizatorilor, SGBD trebuie să asigure abstractizarea
datelor stocate pe diferite suporturi. Grupul ANSI/X3/SPARC a considerat pentru descrie- rea datelor o arhitectură pe trei nivele (conceptual, intern, extern).
Nivelul conceptual corespunde structurii canonice a datelor ce caracterizează
procesul de modelat, adică structura semantică a datelor fără implementarea pe calculator.
Schema conceptuală permite definirea tipurilor de date care caracterizează proprietățile elementare ale entităților, definirea tiputilor de date compuse care permit regruparea atributelor pentru a descrie entitățile modelului și legături între aceste entități, definirea regulilor pe care trebuie sa le respecte datele etc.
Nivelul intern corespunde structurii interne de stocare a datelor. Schema internă
permite descrierea datelor unei baze sub forma în care sunt stocate în memoria calculato-
rului. Sunt definite fișierele care conțin aceste date, articolele din fișiere, drumurile de acces la aceste articole etc.
La nivelul extern, schemele descriu doar o parte din date care prezintă interes
pentru un utilizator sau un grup de utilizatori. Schema externă reprezintă o descriere a unei
părți a bazei de date ce corespunde viziunii unui program sau utilizator. Modelul extern folosit este dependent de utilizat pentru manipularea bazei de date. Schema externă permite asigurarea unei securități a datelor. Un grup de lucru va accesa doar datele descrise în schema sa externă, iar restul datelor sunt protejate împotriva accesului neautorizat sau rău intenționat. Pentru o bază de date particulară există o singură schemă internă, o singură schemă conceptuală, dar există mai multe scheme externe.
Introducere în proiectarea bazelor de date
Proiectarea bazelor de date reprezintă procesul de realizare a unui proiect pentru o
bază de date, care va trata toate operațiile și obiectivele întreprinderii.
Proiectarea corespunzătoare a bazei de date este vitală pentru buna funcționare a
bazei de date și a oricărei aplicații care utilizează baza de date. În lipsa unei proiectări corecte a bazei de date, aceasta poate prezenta următoarele deficiențe,
Integritatea datelor este compromisă deoarece restricțiile de integritate nu pot fi
proiectate sau implementate corect.
Datele devin redundante, iar aplicațiile individuale se aglomerează în încercarea
de a asigura sincronizarea datelor.
Performanțele sunt afectate deoarece este posibil ca pentru finalizarea unei
instrucțiuni select să fie necesare interogari suplimentare.
Principalele scopuri ale proiectării bazelor de date sunt:
Reprezentarea datelor și a relațiilor dintre ele, necesare tuturor domeniilor de
aplicație și grupurilor de utilizatori principale.
Furnizarea unui model de date care să accepte efectuarea oricarei tranzacții
necesare asupra datelor.
Specificarea unui proiect minimal, structurat în mod adecvat pentru realizarea
cerințelor stabilite privind performanțele sistemului, cum ar fi timpul de răspuns.
Din păcate, aceste scopuri nu sunt întotdeauna ușor de atins și necesită uneori
compromisuri, mai ales pentru a obține performanțe acceptabile ale sistemului. Cele două abordări principale în proiectarea unui sistem de baze de date sunt cunoscute sub denumirile de proiectare „de sus în jos”, respectiv „de jos în sus”. Tratarea proiectării „de jos în sus” începe de la nivelul fundamental al atributelor (adică proprietățile entităților) care, prin analiza asociațiilor dintre atribute, sunt grupate în relațiile care reprezintă tipurile de entități și asociațiile dintre acestea.
Tratarea „de jos în sus” este indicată în proiectarea unor baze de date simple, cu un număr relativ mic de atribute. Această abordare devine dificilă atunci când este aplicată în proiectarea unor baze de date mai complexe, cu un număr mai mare de atribute, în care este dificilă stabilirea tuturor dependențelor funcționale dintre acestea. Întrucât modelele de date logice și conceptuale corespunzătoare bazelor de date complexe pot conține sute de mii de atribute, este esențială gasirea unui mod de abordare care va simplifica procedura de proiectare. De asemenea, în stadiile inițiale de stabilire a cerințelor privind datele pentru o bază de date complexă, ar putea fi dificilă identificarea tuturor atributelor care trebuie incluse în modelul de date.
O strategie mai adecavată de proiectare a bazelor de date complexe constă în utiliza-
rea tratării de „sus în jos”. Aceasta începe cu realizarea unor modele de date, care conțin câteva entități și relații de nivel înalt, după care se aplică rafinări succesive de sus în jos, pentru a identifica entitățile, relațiile și atributele asociate de nivel înalt. Abordarea de sus în jos este ilustrată prin utilizarea conceptelor modelului Entitate-Relație (ER). Aceasta începe prin identificarea entităților și relațiilor dintre ele care prezintă interes pentru organizație.
În proiectarea bazelor de date există și alte abordări, cum ar fi cea „din interior spre
exterior” și cea „compusă”. Tratarea „din interior spre exterior” este legată de cea „de jos în sus”, dar diferă de aceasta prin faptul că mai întâi se identifică un set de entități principale, care este ulterior extins pentru a cuprinde și alte entități, relații și atribute asociate celor găsite inițial.
În strategia compusă se utilizează atât abordarea „de sus în jos”, cât și cea „de jos în
sus” pentru diverse părți ale modelului, pentru ca, în final, sa se combine toate componentele.
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: Introducere In Baza de Date (ID: 149952)
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.
