O bază de date este o colectie de informatii interrelationate gestionate ca o singură unitate. Această definitie este foarte largă, deoarece există mari diferente intre conceptiile diferitilor producători care pun la dispozitie sisteme de baze de date.
De exemplu, Oracle Corporation defineşte o bază de date ca fiind o colectie de fişiere fizice gestionate de o singură instantă (copie) a produsului software pentru baze de date, în timp ce Microsoft defineşte o bază de date SQL Server ca fiind o colectie de date şi alte obiecte.
Un obiect al bazei de date este o structură de date denumită, stocată în bază de
date, cum ar fi un tabel, o vizualizare sau un index.
Există mari diferente între implementările furnizorilor de baze de date. În majoritatea sistemelor de baze de date, datele sunt stocate în mai multe fişiere fizice, dar în Microsoft Access toate obiectele bazei de date, împreună cu datele care apartin unei baze de date sunt stocate într-un singur fişier fizic.(Un fişier este o colectie de înregistrări înrudite stocate ca o singură untiate de sistemul de operare al calculatorului.) Totuşi, unul dintre principalele avantaje ale bazelor de date relationale este faptul că detaliile de implementare fizică sunt separate de definitiile logice ale obiectelor bazei de date, astfel încât majoritatea utilizatorilor bazei de date nu au nevoie să ştie unde (şi cum) sunt stocate obiectele bazei de date în sistemul de fişiere al calculatorului. De fapt, pe măsură ce veti învăta limbajul SQL , veti vedea că nu este nevoie să specificati numele unui fişier fizic într-o instruciune SQL decât atunci când definiti sau modificati obiectele bazei de date.
Sistem de gestionare a bazei de date (DBMS)
Un sistem de gestionare a bazei de date (DBMS database management system) este un produs software furnizat de producătorul bazei de date. Produse software precum Microsoft Access, Microsoft SQL Server, Oracle Database,Sybase,
DB2,INGRES, MySQL şi Postgre SQL fac parte din categoria DBMS sau, mai corect, DBMS relaŃionale (RDBMS).
RDBMS-urile sunt cunoscute şi sub numele de SGBD-uri. Ambele prescurtări vor fi folosite în acestă expunere.
Sistemul DBMS pune la dispoziiet toate serviciile de bază necesare pentru organizarea şi întretinerea bazei de date, inclusiv următoarele:
- Transferarea datelor în şi din fişierele fizice de date, în functie de cerinte.
- Gestionarea accesului concurential la date al mai multor utilizatori , inclusiv
prevenirea conflictelor care ar putea fi cauzate de actualizările simultane. - Gestionarea tranzactiilor, astfel încât toate modificările făcute asupra bazei de
date printr-o tranzactie să fie executate ca o singură unitate.Cu alte cuvinte, dacă
tranzactia reuşeşte, toate modificările efectuate de tranzactie sunt înregistrate în bază
de date; dacă tranzactia eşuează, nici una dintre modificări nu este înregistrată în bază
de date.Totuşi, retineti ca unele sisteme RDBMS nu asigură suportul pentru tranzactii. - Acceptă un limbaj de interogare, care reprezintă sistemul de comenzi folosit
de utilizator pentru a obtine date din bază de date.SQL este principalul limbaj folosit
pentru sistemele DBMS relationale şi subiectul principal al acestui articol. - Functii pentru salvarea bazei de date şi pentru refacerea bazei de date în urma erorilor.
- Mecanisme de securitate pentru împiedicarea accesului neautorizat la date şi modificare acestora.
Bază de date relatională
O bază de date relatională este o bază de date care respectă modelul relational, dezvoltat de Dr.E.F.Codd. Modelul relational prezintă datele sub forma familiarelor tabele bidimensionale, similar cu o foaie de calcul tabelar. Spre deosebire de o foaie de calcul tabelar, nu este obligatoriu ca datele să fie stocate într-o formă tabelară, iar modelul permite şi combinarea tabelelor (crearea uniunilor (joining), în terminologia relatională) pentru formarea vizualizarilor, care sunt prezentate tot ca tabele bidimensionale. Flexibilitatea extraordinară a bazelor de date relationale este dată de posibilitatea de a folosi tabelele independent sau în combinatii, fără nici o ierarhie sau secventa predefinita în care trebuie să se facă accesul la date.
Un model este o reprezentare a obiectelor şi evenimentelor lumii reale şi a asocierilor dintre ele. De fapt, el reprezinta o abstractie asupra aspectelor semnificative ale unei „întreprinderi“, ale unui sistem real, ignorând proprietătile accidentale. Modelul este cel pe care utilizatorii trebuie să-l cunoască; implementarea unui model este cea pe care utilizatorii nu este necesar să o cunoască. Diferenta dintre model şi implementare este, de fapt, un caz special şi important al deosebirii uzuale dintre logic şi fizic.
Modelele se impun prin sintaxa şi prin semantica lor şi, din acest punct de vedere, există trei tipuri fundamentale de modele:
- modele care descriu aspectele statice ale procesului modelat
- modele care descriu aspectele dinamice ale procesului modelat
- modele care descriu aspectele functionale ale procesului modelat
Un model de date reprezintă o colectie integrată de concepte necesare
descrierii:
- datelor
- relatiilor dintre ele
- constrângerilor existente asupra datelor sistemului real analizat
Modelarea unei baze de date permite trecerea de la perceptia unor fapte din lumea reală la reprezentarea lor prin date. Modelul de date trebuie să reflecte fidel fenomene ale lumii reale, să urmărească evolutia acestei lumi şi comunicarea dintre fenomenele lumii reale.
Modelul trebuie să asigure conceptele de bază care permit proiectantului bazei de date şi utilizatorilor să comunice, fără ambiguităti, cunoştintele lor privind functionarea şi organizarea modelului real analizat. Prin urmare, un model de date
trebuie să reprezinte datele şi să le facă întelese.
În esentă, modelul de date are trei componente:
- multime de reguli conform cărora sunt construite bazele de date (partea structurală);
- multime de operatii permise asupra datelor, care sunt utilizate pentru reactualizarea sau regăsirea datelor (partea de prelucrare);
- multime de reguli de integritate, care asigură coerenta datelor.
- Abordarea generală a problemei modelării semantice a datelor se face în patru etape.
- Se identifică o multime de concepte semantice care sunt utile în descrierea lumii reale. Se presupune că lumea reală (modelul real analizat) este formată din entităti care au anumite proprietăti, că fiecare entitate are o identitate, că există legături, corelatii între entităti. Conceptul de corelatie,ca şi cel de entitate, este util, în mod intuitiv, la descrierea modelului.
- Se caută o multime de obiecte formale, simbolice care sunt utilizate pentru reprezentarea conceptelor semantice anterioare.
- Se dau reguli de integritate formale şi generale (constrângeri) care să reflecte restrictiile la care este supus modelul
- Se defineşte o multime de operatori formali prin care pot fi prelucrate şi analizate obiectele formale.
Modelul entitate-relatie
Diagramele E/R constituie o tehnică de reprezentare a structurii logice a bazei
de date, într-o manieră grafică. Aceste diagrame oferă un mijloc simplu şi inteligibil
de comunicare a caracteristicilor importante ale designului unei anumite baze de date.
Diagrama E/R este un model de date conceptual de nivel înalt, independent de
platforma hardware utilizată şi de tipul SGBD-ului. Modelul este constituit din
concepte care descriu structura bazei de date şi tranzactiile de regăsire sau
reactualizare asociate.
Baza de date poate fi definită ca o multime de date ce modelează un sistem
real. Acest sistem este format din obiecte legate între ele. Modelul E/R împarte
elementele unui sistem real în două categorii: entitati şi relatii (legături, asocieri)
între aceste entităti. Entitatiile şi legăturile au anumite caracteristici, numite atribute.
Nu trebuie confundat conceptul de relatie, în sensul de asociere, care intervine în
definirea diagramei E/R cu conceptul de relatie care este specific modelului relational.
Entitate
Entitatea este un obiect sau un concept, care este semnificativ pentru modelul
real analizat. O entitate poate fi dependentă (slabă), existenta sa depinzând de altă
entitate sau independentă (tare), caz în care ea nu depinde de existenta altei entităti.
Entitatea poate fi persoană, loc, concept, activitate etc. Prin urmare, ea poate fi
un obiect cu existentă fizică, reală sau poate fi un obiect cu existentă conceptuală,
abstractă.
Cheia primară este un identificator unic în cadrul entitatii, făcând distinctie
intre valori diferite ale acesteia.
Cheia primară:
- trebuie să fie unică şi cunoscută la orice moment;
- trebuie să fie controlată de administratorul bazei;
- trebuie să nu contină informatii descriptive, sa fie simpla si fara ambiguitati;
- să fie stabilă;
- să fie familiară utilizatorului
Observatii
- Entitătile devin tabele în modelele relationale.
- In general, entitatile se scriu cu litere mari.
- Entitatile sunt substantive, dar nu orice substantiv este o entitate.
Trebuie ignorate substantivele nerelevante. - Pentru fiecare entitate este obligatoriu să se dea o descriere detaliată.
Nu pot exista, în aceeaşi diagramă, două entitati cu acelaşi nume, sau o aceeaşi
entitate cu nume diferite.
- to be continued…:)