CATEGORII DOCUMENTE |
DOCUMENTE SIMILARE |
|||
|
|||
BAZE DE DATE SI SISTEME DE
GESTIUNE A BAZELOR DE DATE
Sintagma baza de date apare pentru prima data in titlul unei conferinte organizate la Santa Monica, in California, in 1964 de System Developement Corporation. Majoritatea lucrarilor considera ca moment al consacrarii termenului anul 1969, cand CODASYL publica, in cadrul unei conferinte dedicate limbajelor de gestiune a datelor, primul raport tehnic [CODASYL69] in care este prezentat conceptul de "baza de date". Fata de modelul file-based (care functionase pana atunci), noutatea o constituie existenta unui fisier de descriere globala a bazei astfel incat sa se poata asigura independenta programelor fata de date, dupa cum o arata si figura 1:
BAZA DE DATE
Fisier de date n
Aplicatia 1 Aplicatia 2 Aplicatia 3 Fig. 1. Schema
de principiu a unei baze de date
Avantajele organizarii informatiilor in baze de date decurg tocmai din existenta acestui fisier de descriere globala a bazei, denumit, in general, dictionar de date (sau repertoar de date, ori catalog de sistem). Extragerea si modificarea datelor (lucrul cu fisierele de date) se deruleaza exclusiv prin intermediul dictionarului in care se gasesc informatii privitoare la structura datelor si restrictiile indeplinite de acestea.
Avantaje:
un grad redus de redundanta a datelor
evitarea, in mai mare masura, a inconsistentei datelor
facilitatea partajarii informatiilor intre toti utilizatorii acestora din cadrul organizatiei
suport pentru standardizare
implementarea unor mecanisme ameliorate privind asigurarea securitatii informatiilor
imbunatatirea integritatii datelor
un mai bun suport pentru rezolvarea conflictelor ce apar la incercarile de modificare simultana a unei aceleiasi date (de catre doi sau mai multi utilizatori)
structurile de date sunt mai aproape de realitate si mai usor de manipulat
este permisa legatura cu diverse limbaje-gazda
intreprinderea poate fi abordata global, luandu-se in considerare si interactiunile dintre compartimente (productie, marketing, personal, finante, contabilitate)
datele fiind separate de programele de consultare si actualizare a lor, procesul de dezvoltare a aplicatiilor-program este sensibil ameliorat, efortul de scriere a programelor (codarea) diminuandu-se considerabil
sistemele informatice ce utilizeaza date sunt mai flexibile, reflecta mai bine specificul firmei, fiind adaptabile la modificarile ulterioare ale mediului economic
O baza de date reprezinta un ansamblu structurat de fisiere care grupeaza datele prelucrate in aplicatiile informatice ale unei persoane, grup de persoane, intreprinderi, institutii, etc. Formal, baza de date poate fi definita ca fiind o colectie de date aflate in interdependenta, impreuna cu descrierea datelor si a relatiilor dintre ele. Dupa G.D. Everest, o baza de date reprezinta o colectie de date utilizata intr-o organizatie, colectie care este automatizata, partajata, definita riguros (formalizata) si controlata la nivel central.
Bazele de date evolueaza in timp, in functie de volumul si complexitatea proceselor, fenomenelor si operatiunilor pe care le reflecta. Ansamblul informatiilor stocate in baza la un moment dat constituie continutul sau instantierea ori realizarea acesteia. Organizarea bazei de date se reflecta in schema sau structura sa, ce reprezinta un ansamblu de instrumente pentru descrierea datelor, a relatiilor dintre acestea, a semantici lor si a restrictiilor la care sunt supuse. In timp ce volumul prezinta o evolutie spectaculoasa in timp, schema unei baze ramane relativ constanta pe tot parcursul utilizarii acesteia.
Baza de date este un fisier unic care memoreaza toate definitiile tabelelor, precum si datele memorate in baza de date. In fiecare baza de date sunt incluse unul sau mai multe tabele, fiecare structurat pentru a memora informatia intr-un anumit format.
Structura unui tabel este definita printr-o serie de campuri care indica modul in care vor fi inregistrate datele. Definitia tabelului se comporta ca un sablon. Campurile sunt descrise in aceasta definitie pentru a determina formatul fiecarei date inregistrate.
In figura de mai sus se poate vedea care este relatia intre campuri, tabele si baza de date care le include. O baza de date poate contine unul sau mai multe tabele. Datele aferente fiecarui tabel sunt stocate in formatul definit de tabel.
3. IMPORTANTA PLANIFICARII
Dupa ce a fost definita structura unei baze de date, modificarea acesteia devine mai dificila. Pe masura ce cadrul aplicatiei se completeaza, cea mai usoara modificare a structurii bazei de date poate determina un mare volum de schimbari si de rescrieri ale programului.
Prin transformarea planificarii bazei de date intr-o componenta a constructiei unei aplicatii de baze de date, se pot evita majoritatea capcanelor unor modificari de ultim moment. Planificarea nu necesita decat identificarea optiunilor necesare pentru structura bazei de date.
4. RELATII INTRE TABELE
In interiorul unei baze de date, informatiile necesare pentru o aplicatie pot fi rareori stocate in cadrul unui singur tabel. Din acest motiv, informatiile sunt de obicei divizate in mai multe tabele, deseori folosind tabele corelate unul cu altul. Relatiile intre tabele permit conectarea unui tabel la alt tabel prin intermediul unui camp comun.
Cel mai comun exemplu de tabele corelate este alcatuit dintr-u tabel de clienti si unul de comenzi. Nu este de dorit duplicarea tuturor informatiilor de client in inregistrarile de comenzi. Este de preferat ca inregistrarea referitoare la comanda sa indice spre o inregistrare din tabelul cu clienti. De regula, aceasta se realizeaza prin inserarea in interiorul comenzii a unui camp care sa contina un numar de referinta al clientului stocat in celalalt tabel.
In interiorul unei baze de date, tabelele multiple se folosesc pentru separarea unor date diferite. Ca atare, se intampla deseori ca, desi este necesar ca mai multe tabele sa fie pastrate la un loc in cadrul aceleiasi baze de date, intre acestea sa nu existe nici un fel de relatie stricta.
5. INDEXUL
Cunoasterea unei parti din tehnologia care determina eficienta tabelelor constituite reprezinta o componenta importanta a proiectarii eficiente a bazelor de date. Din aceste tehnologii, esentiala este structura tabelara cunoscuta sub numele de index.
Un index este o lista de numere de inregistrari asezate intr-o ordine predefinita, numere care indica spre inregistrari, permitand astfel, o cautare si o sortare rapide. La crearea unei baze de date, inregistrarile sunt sortate si memorate intr-o ordine definita.
Pentru bazele de date, o intrare in index indica spre numarul unei inregistrari. In loc de a sorta toate inregistrarile individuale, se sorteaza numai lista index cu numerele inregistrarilor.
S
D
A
T
A B C D Z |
1
Creare index
Ordinea reducerii Index
Structura
unui index si influenta sortarii asupra performantelor
bazei de date
inregistrarilor
In figura de mai sus, caseta din stanga prezinta inregistrari compuse dintr-o singura litera, stocate in ordinea introducerii acestora. Evident, ordinea de stocare nu este cea alfabetica.
Pe baza acestor inregistrari este creat un index . indexul este, de fapt, o lista lunga cu numere de inregistrari, stocate in ordinea corecta. Cand este necesara afisarea unei liste de inregistrari in ordine alfabetica, motorul pentru baze de date, pur si simplu, acceseaza lista si afiseaza inregistrarile in ordinea indicata de catre index.
De asemenea, indexul reduce in mare masura timpii de cautare.
La inserarea unei inregistrari noi, aceasta este, pur si simplu, adaugata la sfarsitul tabelului. Ulterior, motorul pentru baze de date determina locul in care noul numar de inregistrare trebuie inserat in lista index. Pentru a realiza inseratia este necesara numai rearanjarea listei de numere, nu a tuturor inregistrarilor din tabel.
Pentru a adauga un index la un tabel, se selecteaza, pur si simplu, campurile care trebuie indexate si se executa functia "Create index" (creare index). Dupa creare, baza de date va realiza, in mod automat, intretinerea indexului.
6. CUM SE ALEGE CONTINUTUL UNEI BAZE DE DATE
Deoarece planificarea unei baze de date este unul dintre cele mai importante aspecte ale crearii acesteia, este importanta existenta unei metodologii standard de abordare, care poate fi stabilita folosind urmatoarele cinci etape:
Stabilirea scopului bazei de date
Determinarea tabelelor necesare
Definirea campurilor din interiorul fiecarui tabel
Testarea bazei de date cu date de intrare demonstrative
imbunatatirea structurii bazei de date
Fiecare dintre aceste etape implica diverse activitati. Daca proiectul unei baze de date este mai complicat, in aprobarea acestuia va fi implicat un numar mai mare de persoane decat de obicei.
Ca atare, daca aplicatia pentru baze de date proiectata va mai fi folosita si de alte persoane, aceste cinci etape mai pot fi utilizate pentru ghidarea oricarei persoane care doreste sa colaboreze pentru finalizarea proiectului.
7. NIVELUL DE ABSTRACTIZARE A DATELOR
Intr-un sistem informatic ce utilizeaza baze de date, organizarea datelor poate fi analizata din mai multe puncte de vedere si pe diferite paliere. De obicei, abordarea se face pe trei niveluri: fizic sau intern, conceptual sau global si extern.
Nivelul fizici (sau intern) reprezinta modalitatea efectiva in care datele sunt "scrise" pe suportul de stocare (disc magnetic, disc optic, banda magnetica, etc.).
Structura datelor este descrisa foarte detaliat, fiind accesibila numai specialistilor (ingineri de sistem, programatori in limbaje de asamblare sau alte limbaje apropiate de "masina"). Cele doua parti principale ale bazei la acest nivel sunt:
un set de programe care interactioneaza cu sistemul de operare pentru imbunatatirea managementului bazei de date
fisierele stocate in memoria externa a calculatorului.
Fisierele ce contin datele propriu-zise sunt alcatuite din articole sau inregistrari cu format comun. La acest nivel, structura bazei de date se concretizeaza in schema interna.
Nivelul conceptual (sau global) este nivelul imediat superior celui fizic, datele fiind pregatite prin prisma semanticii lor; intereseaza continutul lor efectiv, precum si relatiile care le leaga de alte date. Reprezinta primul nivel de abstractizare a lumii reale observate. Obiectivul acestui nivel il constituie modelarea realitatii considerate, asigurandu-se independenta bazei fata de orice restrictie tehnologica sau echipament anume.
Intreaga baza este descrisa prin intermediul unui numar restrans de structuri. Toti utilizatorii isi exprima nevoile de date la nivel conceptual, prezentandu-le administratorului bazei de date, acesta fiind cel care are o viziune globala necesara satisfacerii tuturor cerintelor informationale.
La acest nivel, structura bazei de date se concretizeaza in schema conceptuala.
Nivelul extern este ultimul nivel de abstractizare la care poate fi descrisa o baza de date. Structurile de la nivelul conceptual sunt relativ simple, insa volumul lor poate fi deconcertant. Iar daca la nivel conceptual baza de date este abordata in ansamblul ei, in practica un utilizator sau un grup de utilizatori lucreaza numai cu o portiune specifica a bazei, in functie de departamentul in care isi desfasoara activitatea si de atributii.
Simplificarea interactiunii utilizator-baza, precum si cresterea securitatii bazei sunt deziderate ale unui nivel superior de abstractizare, care este nivelul extern.
Astfel, structura bazei de date se prezinta sub diferite machete, cunoscute uneori ca sub-scheme, scheme externe sau imagini, in functie de nevoile fiecarui utilizator sau grup de utilizatori.
Luand in considerare cele trei niveluri de abstractizare, schematizarea unui sistem de lucru cu o baza de date se poate face ca in figura urmatoare:
Utilizator A 1 Utilizator
A 2 Utilizator B 1 Utilizator B 2 Utilizator B 3 ... Schema Schema ..... externa A externa B Interfata
A Interfata
B dintre nivelurile dintre nivelurile global si extern global si extern Schema conceptuala (globala) Interfata dintre
nivelurile fizic
si global Definirea structurii interne de stocare (schema interioara)
automate Aplicatie Aplicatie Aplicatie automate
Comenzi
Aplicatie
Comenzi
Accesul utilizatorului in informatiile din baza este posibil numai prin intermediul sistemului de gestiune a bazei de date. In general, interfata utilizator-SGBD se poate realiza in doua moduri:
printr-un mecanism de apel (cuvant-cheie, ca de exemplu CALL) inserat in programele scrise intr-un limbaj "traditional" (C, COBOL etc.), acesta fiind cazul SGBD-urilor cu limbaj-gazda.
prin comenzi speciale utilizate autonom (in afara aplicatiilor-program), in cazul SGBD-urilor autonome.
Posibilitatea modificarii structurii unui nivel, fara a efectua structura nivelului sau nivelurilor superioare, se numeste autonomie a datelor stocate in baza. Se poate vorbi de doua paliere de autonomie.
Autonomia fizica reprezinta posibilitatea modificarii arhitecturii bazei la nivel intern, fara ca aceasta sa necesite schimbarea schemei conceptuale si rescrierea programelor pentru exploatarea bazei de date.
Asemenea modificari sunt necesare uneori pentru ameliorarea performantelor de lucru (viteza de acces, marirea fisierelor, etc.). Tot autonomia fizica este cea care asigura portarea bazei de date de pe un sistem de calcul pe altul fara modificarea schemei conceptuale si a programelor.
Autonomia logica presupune posibilitatea modificarii schemei conceptuale a bazei (modificare datorata necesitatii rezolvarii unor noi cerinta informationale) fara a rescrie programele de exploatare.
Autonomia logica a datelor este mai greu de realizat decat autonomia fizica, deoarece programele de exploatare sunt dependente, in foarte mare masura, de structura logica a datelor pe care le consulta si actualizeaza, in ciuda existentei dictionarului de date. Fireste, un element important il reprezinta si anvergura modificarii schemei conceptuale.
8. SISTEME DE GESTIUNE A BAZELOR DE DATE
Aparute in anii '60, sistemele de Gestiune a Bazelor de date (prescurtat SGBD-uri) reprezinta un ansamblu de programe ce permit utilizatorilor sa interactioneze cu o baza de date, in vederea crearii, actualizarii si interogarii acesteia. SGBD-ul este cel care asigura si supervizeaza: introducerea de informatii in baza de date; actualizarea si extragerea datelor din baza; autorizarea si controlul accesului la date; pastrarea independentei dintre structura bazei si programe.
Obiectivul esential al unui SGBD este furnizarea unui mediu eficient, adaptat utilizatorilor care doresc sa consulte sau sa actualizeze informatiile continute in baza. Bazele de date sunt concepute pentru a prelua un volum mare de informatii.
Gestiunea acestora impune nu numai o structura riguroasa a datelor, dar si o rationalizare a procedurilor de acces si prelucrare.
Principalele functiuni ale unui SGBD vizeaza:
descrierea ansamblului de date la nivelurile fizic si conceptual;
crearea (initializarea) si exploatarea (consultarea si actualizarea) bazei de date;
controlul integritatii bazei;
confidentialitatea informatiilor continute in baza;
accesul simultan al mai multor utilizatori la informatii;
securitatea in functionare;
furnizarea unui set de comenzi si instructiuni necesare atat utilizatorilor pentru consultarea directa a bazei, prin intermediul unui limbaj de manipulare, cat si a programatorilor, pentru redactarea programelor de lucru cu baza de date;
revizia si restructurarea bazei;
monitorizarea performantelor.
Un SGBD prezinta, in general, urmatoarele module:
gestionarul fisierelor, care se ocupa cu afectarea spatiilor de memorie pe disc si cu structurile fizice de date care servesc la reprezentarea informatiilor pe suport
gestionarul bazei de date face legatura datelor "fizice" din baza cu aplicatii-program de consultare si actualizare
procesorul de consultare "traduce" instructiunile limbajului de consultare in instructiuni elementare, "inteligibile" pentru gestionarul bazei. Mai mult, acesta optimizeaza consultarea, pentru a obtine rezultatele intr-un timp cat mai scurt.
modulele DML (Data Manipulation Language) realizeaza conversia instructiunilor limbajului de manipulare a datelor (DML) inserate intr-un program de aplicatie in proceduri curente ale limbajului-gazda, interactionand cu procesorul de consultare in vederea producerii secventelor de cod adecvate
modulele Limbajului de Definire a Datelor - DDL (data Definition Language) "traduc" (prin compilare sau interpretare) si executa instructiunile DDL, obtinandu-se ansamblul de tabele ce reprezinta metadatele stocate in dictionarul de date
Aceste cinci module interactioneaza cu o serie de componente fizice ale bazei:
fisierele de date reprezinta suportul propriu-zis al bazei
dictionarul de date inmagazineaza informatii relative la structura bazei, fiind solicitat in toate operatiunile de consultare si actualizare
indecsi, intr-un numar suficient pentru marirea vitezei de acces la date
Sintetic, structura unu sistem de lucru cu o baza de date este prezentata in figura urmatoare:
Utilizatori finali Programatori Utilizatori finali Administrator baza
curenti ocazionali
Baza de date
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2427
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved