Baze de Date

Embed Size (px)

Citation preview

Baze de date.docx

TehnologiaComunicrii iInformaiei

Baze de dateDefinitieO baz de date este o colecie de date organizat. Datele sunt de obicei modelate dup situaii reale pentru a crea o soluie ct mai eficient. De exemplu, o bibliotec. Datele sunt structurate pentru a gsi rapid datele folosind numele crii sau autorul.De ce sunt utile bazele de date

Control centralizat al datelor. Toate nregistrrile dintr-o baz de date pot fi controlate de o singur persoan. Chiar i bazele de date masive, de la CAS, Twitter, Facebook, etc, nu au nevoie dect de o mn de oameni pentru a le gestiona.

Vitez mare. Formatul digital asigur o vitez incredibil, nregistrrile putnd fi citite n milisecunde. Iar aceast vitez crete de la an la an. Comparai ct dura s scoatei un dosar de la pensii acum 20 de ani (zile), i ct dureaz astzi.

Sunt compacte. Din nou, formatul digital este extrem de mic. Bibliotecile sunt cldiri mari, uneori folosind suprafee imense, pentru a stoca informaia ntr-un format uor de accesat de oameni. Dar sunt limite. Acum civa ani, era stabilit un record, ~1300 cuvinte scrise pe un bob de orez (probabil bob lung). Acesta nseamn cteva pagini de carte, dar pe un card Micro SD, de mrimea unei unghii, putem stoca zeci de mii de cri.

Flexibilitate. O baz de date poate fi modificat uor i rapid. Printr-o singur comand, putem aduga un atribut nou fiecrei nregistrri dintr-o baz de date cu milioane, i nu ar dura mai mult de cteva secunde. Dac avem o bibliotec digital, i stocm diverse informaii, un mic paragraf, titlu, autor, gen, dar vrem s adugm i un link ctre o pagin de la GoodReads sau Wikipedia, folosind o baz de date, putem face asta imediat.

Redundan sczut. O singur baz de date poate fi folosit de mai multe aplicaii, fr ca acestea s aib nevoie de o copie proprie. De exemplu, la mersul trenurilor, avem www.infofer.ro i www.cfrcalatori.ro, aplicaii oficiale, dar diferite, www.mersultrenurilor.ro, www.mersultrenurilorcfr.ro i altele care acceseaz aceeai baz de date.

Posibilitatea introducerii standardelor. Bazele de date pot fi accesate de sisteme diferite. Toat infrastructura noastr, pensiile, asigurarrile, cazierul, pot fi accesate de oriunde din UE, pentru c a fost stabilit un standard comun.

Meninerea integritii. O bibliotec are un numr de cri care se nvechesc i trebuiesc nlocuite sau reparate. O baz de date, poate avea nenumrate copii de siguran, i fiecare opraiune asupra acesteia poate fi monitorizat.

Independena de suport fizic. De la primul calculator, pn astzi, datele procesate de acestea au fost ntotdeauna binare, iruri de 1 i 0. De aceea, datele scrise acum zeci de ani, pot fi accesate i de calculatoarele de astzi. Cel mai bun exemplu, n aprilie, s-au recuperat de pe dischete vechi din 1985, poze create de un artist american, Andy Warhol. http://www.pocket-lint.com/news/128584-lost-andy-warhol-original-artworks-found-on-commodore-amiga-floppy-disks-from-1985 Operaiintr-o baz de date, putem accesa nregistrri, putem terge, actualiza sau crea. Cea mai des folosit denumire pentru acest set de operaii, este C.R.U.D. Create - adugarea unei nregistrri noi Read - citire sau accesare nregistrare Update - actualizare Delete - tergereTipurile de dateBazele de date sunt importante pentru viteza mare cu care manipuleaz nregistrrile. Chiar i mici mbuntiri pot avea efecte remarcabile, de aceea datele sunt stocate ct mai eficient. ntr-o baz de date, putem stoca dou tipuri majore de informaii. Text i numere. Cnd o nregistrare este citit, aceasta este copiat n memorie. Dac avem o bucat de text, s zicem, un CNP, cu 13 cifre. Dac l stocm ntr-o coloan, unde mrimea atributului CNP alocat este 20, asta nseamn c, n memorie vor fi pstrate i cele 7 caractere diferen, chiar dac nu le-am definit. De aceea, pentru a minimiza resursele folosite, cel mai bine este s definim exact atributele bazei de date.1. Text, sau STRING, este folosit pentru a stoca orice tip de date. De exemplu, avem o list de cumprturi, coloana care conine denumirea produsului, o sa fie de tip text. Intr-o coloan de acest tip, putem stoca orice, de iniiala tatlui, pn la paragrafe i cri ntregi. Unele baze de date, au i tipul de date DATE, n care se stocheaz o bucat de text care reprezint data. De obicei aceste arat cam aa 2014, 17-04, 10:33:32. Dar avnd fusul orar care schimb aceast bucat de text pentru toi, e imposibil s avem impunem un singur standard pentru ntreaga lume.2. Numerele. n acest tip de date, de obicei stocm date pe care vrem s le prelucrm matematic. De exemplu, cu lista de cumprturi, punem 6 ou, stocm numrul 6. Ca s facem baza de date i mai eficient, specificm la cantitate, nu o s avem numere din cel mult dou cifre. Pentru c nu o s cumprm 150 de portocale, dar poate o s cumprm 5.Numere se mpart n dou categorii, numerele ntregi sau INTEGER, i numere reale, FLOAT. In lista de cumprturi, nu o s putem cumpra jumtate de portocal, aa c o s folosim tipul de date INTEGER.Boolean, reprezint dou valori, TRUE sau FALSE, 1 sau 0, Adevrat sau Fals. Nu exist nu tip de date dedicat, i variaz de la un tip de baze de date la altul cum este reprezentat.Cum funcionazFormal, termenul baz de date, se refer la datele propriu-zise i structurile care le suport.O baz de date, n primul rnd este un fiier, sau un grup de fiiere. Acestea pot fi accesate prin software specializat, numite Database Management Systems sau DBMSs. Cele de uz general sunt sisteme software folosite pentru definirea, crearea, interogarea, actualizarea i administrarea de baze de date. Create pentru vitez, eficien i securitate, de obicei nu sunt folosite dect de programatori.DBMSs mai cunoscute sunt: MySQL MariaDB PostgreSQL SQLite ORACLE dBASE FoxPro

O baz de date, de obicei nu poate fi accesat ntre diferite DBMS-uri, dar pot folosi standarde, pentru a permite unei aplicaii s lucreze cu mai multe baze de date. Cele mai utilizate sunt: SQL - Structured Query Language ODBC - Open Database Connectivity JDBC - Java Database ConnectivityAplicaiileOK, OK, avem baze de date, i DBMS-uri, dar cum putem noi, utilizatorii s le folosim? Prin intermediul unei aplicaii. Aplicaiile pot fi orice, de la pagini web i apps de iPhone i Android, pn la aplicaii ntregi de desktop. Au interfee grafice, nu necesit cunotine speciale, i ajut la validarea i securitatea datelor.

Mecanisme ale bazelor de date

Validri. Ziceam c avem o list de cumprturi, o facem printr-un telefon. Adugm din greeal, la cantitate scriem ou, n loc de numr. Aplicaia pe care o folosim, nu sesizeaz, dar baza de date o s returneze imediat o eroare. Sau, avem dou liste de preuri. Dac este weekend, este aplicat una, dac nu, atunci este aplicat cealalt. La introducerea preului bunului de cumprat, baza de date poate s verifice ce dat este i s returneze preul potrivit. amd

Limitare acces. Cel mai des folosit n contabilitate, avem de exemplu un supermarket, cu 5 case. Programul din calculatoare, gestioneaz stocul ntregului magazin, dar i pe partea contabil, elibereaz bonuri sau facturi cu serie unic. n momentul n care o cas ncepe o factur sau un bon, seria este alocat, i nici o alt cas nu o poate utiliza, n schimb, acestea pot atepta pn este nchis bonul respectiv, sau le este alocat urmtoarea serie.Clasificare dup modelul de date.Modelul de date relaional (Relational Model) se bazeaz pe noiunea de relaie din matematic, care corespunde unei entiti de acelai tip i are o reprezentare uor de neles i de manipulat, ce const dintr-un tabel bidimensional, compus din linii i coloane. Fiecare linie din tabel reprezint o entitate i este compus din mulimea valorilor atributelor entitii respective, fiecare atribut corespunznd unei coloane a tabelului.Chiar dac noiunile de relaie i tabel difer n esena lor, relaia reprezentnd o mulime de entiti i tabelul o reprezentare vizual a acesteia, cele dou denumiri se pot folosi, n general pentru acelai scop.Pe baza acestor noiuni, se poate sintetiza esena modelului relaional prin urmtoarele caracteristici: Datele sunt percepute de utilizatori ca tabeleOperatorii relaionali care pot fi folosii pentru prelucrarea datelor genereaz un tabel rezultat din tabelele operanzi Asocierea dintre tabele se realizeaz prin intermediul egalitii valorilor unor atribute comune, ceea ce permite rezolvarea oricrei interogri.Pe lng avantajul unui model de date precis i simplu, sistemele de baze de date relaionale mai beneficiaz i de un limbaj de programare recunoscut i acceptat, limbajul SQL (Structured Query Language), pentru care au fost emise mai multe standarde de ctre Organizaia Internaional de Standardizare (International Standardization Office-ISO). Majoritatea sistemelor de gestiune a bazelor de date relaionale actuale implementeaz versiunea din anul 1992 a standardului pentru limbajul SQL, denumit SQL 92 sau SQL2.Modelul de date orientat obiect (Object Model) este un concept unificator n tiina calculatoarelor, fiind aplicabil n programare, n proiectarea hardware, a interfeelor, a bazelor de date etc. Sistemele de baze de date orientate obiect se bazeaz pe limbaje de programare orientate obiect cu capaciti de persisten, n care datele sunt independente de timpul de via al programelor care le creeaz sau acceseaz.n programarea orientat obiect, programele sunt organizate ca i colecii de obiecte cooperante, fiecare obiect fiind o instan a unei clase. Fiecare clas reprezint abstractizarea unui tip de entitate din realitatea modelat, iar clasele sunt membre ale unei ierarhii de clase, corelate ntre ele prin relaii de motenire. Orice obiect este ncapsulat, ceea ce nseamn c reprezentarea lui (adic structura intern a acelui obiect) nu este vizibil utilizatorilor, care au acces doar la funciile (metodele) pe care acel obiect este capabil s le execute. Clasele i obiectele unui program orientat obiect sunt grupate n module, care pot fi compilate separat i ntre care exist granie bine definite i documentate, ceea ce reduce complexitatea de manevrare a datelor.Modelul de date obiect-relaional (Object-Relational Model) reprezint extinderea modelului relaional cu caracteristici ale modelului obiect, extindere necesar pentru realizarea bazelor de date care definesc i prelucreaz tipuri de date complexe. n esen, modelul obiect-relaional pstreaz structurarea datelor n relaii (reprezentate ca tabele), dar adaug posibilitatea definirii unor noi tipuri de date, pentru domeniile de valori ale atributelor. Tipurile de date definite de utilizator pot fi extinse prin mecanismul de motenire i pentru fiecare tip sau subtip se pot defini metode pe care le pot executa obiectele de acel tip.n modelul de date ierarhic (Hierarchical Model) o baz de date se reprezint printr-o structur ierarhic de nregistrri de date (records) conectate prin legturi (links). Modelul ierarhic a fost primul model folosit pentru dezvoltatea bazelor de date. Schema conceptual a unei baze de date n modelul ierarhic se reprezint printr-un numr oarecare de scheme ierarhice. O schem ierarhic este un arbore direcionat, reprezentat pe mai multe niveluri, n care nodurile sunt tipurile de nregistri, iar arcele sunt tipurile de legturi. Fiecare nod (cu excepia nodului rdcin) are o singur legtur ctre un nod de pe un nivel superior (nodul printe) i fiecare nod (cu excepia nodurilor frunz) are una sau mai multe legturi ctre noduri de pe nivelul imediat inferior (noduri fii).Modelul de date reea (Network Model) folosete o structur de graf pentru definirea schemei conceptuale a bazei de date; nodurile grafului sunt tipuri de entiti (nregistrri, records), iar muchiile grafului reprezint n mod explicit asocierile (legturile, links) dintre tipurile de entiti.La fel ca i modelul ierarhic, dezavantajul principal al modelului reea este acela c fiecare interogare trebuie s fie prevazut nc din faza de proiectare, prin memorarea explicit a legturilor ntre tipurile de entiti. n plus, complexitatea reprezentrii datelor n modelul reea este deosebit de ridicat, iar programatorii trebuie s o cunosasc pentru a putea realiza aplicaiile necesare.Clasificare dup numrul de utilizatori.Majoritatea sistemelor de baze de date sunt sisteme multiutilizator, adic permit accesul concurent (n acelai timp) a mai multor utilizatori la aceeai baz de date. Exist i un numr redus de sisteme monoutilizator, adic suport accesul doar al unui utilizator (la un moment dat).Clasificare dup numrul de staii pe care este stocat baza de dateO alt clasificare este cea dup numrul de staii 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 (Centralized Database System) este un sistem de baze de date n care datele i sistemul de gestiune sunt stocate pe un singur calculator.Un sistem de baze de date distribuit (Distributed Database System) poate avea att datele, ct i sistemul de gestiune, distribuite pe mai multe calculatoare interconectate printr-o reea de comunicaie.Acest document poate fi accesat online la:https://docs.google.com/document/d/1Sdwl4M51rk7NGPZ0TCahFGTYZMsYkgOq2Qc24F3iPTo/edit?usp=sharing sauhttp://goo.gl/YKJHc2Mircea Valentin -> 0766 458 398 sau [email protected]/6