Sunteți pe pagina 1din 3

Curs SGBD

Introducere
O bază de date (BD) este o mulţime structurată de elemente de date şi de legături logice dintre ele ce descriu un univers real sau conceptual (o întreprindere, o
organizaţie, o societate de asigurări, eveniment etc.), ce pot fi accesate simultan de mai mulţi utilizatori.
În sens larg, o bază de date este o colecţie de date organizată (structurată). O bază de date are, în principal, următoarele roluri: stocare (memorare) şi organizarea
datelor (structurare). Ca şi utilitate, bazele de date ne permit (1) memorarea unor cantităţi mari de date, (2) regăsirea datelor pe baza unor criterii ce căutare (ce sunt legate în
mod direct de structurarea datelor), dar şi (3) prelucrarea unor volume mari de date (filtrare, ordonare, agregare).
Un sistem de gestiune al unei baze de date (SGBD) este un software utilizat pentru crearea, întreţinerea si exploatarea unei baze de date şi care dă posibilitatea mai
multor utilizatori să aibă acces simultan la datele care o compun.

Capitolul I. Bazale organizarii datelor


Tema 1. Date. Colectii de date. Structuri de date.
Calculatorul este o unealtă electronică ce vă poate ajuta să prelucraţi informatia ( Procesorul prelucreaza informaţia).
Informatia este păstrată pe diferite medii de memorare (HDD, CD, DVD, USB-Flash, discheta), în diferite formate (numere, text, imagine, sunet), sub formă de date.
Aşadar, orice rezolvare de problemе începe prin definirea datelor, continuă cu prelucrarea lor (de exemplu atribuirea de valori) şi se termină fie cu afişarea valorii lor la
ecran, fie cu stocarea lor pe un mediu de memorare (HDD, flash, discheta, etc.) în vederea prelucrarii lor ulterioare.
Fiecărui tip de informaţie îi corespunde un anumit mod de stocare în mediul de memorare, adică un anumit tip de datе. Tipul datei determină atît operaţiile care se pot
executa cu acele date, cît şi modul în care sunt reprezentate pe mediul de memorare.
Datele sunt şiruri de biţi care sunt prelucrate de calculator. Data este o resursă la dispoziţia programatorului. Orice limbaj de programare permite folosirea mai multor
tipuri de date. Indiferent de tipul de date ales, reprezentarea datei în memoria calculatorului (fie internă - în RAM, fie externă – pe HDD, CD, Flash, Discheta) se face
printr-un şir de biţi. Pentru a realiza această reprezentare sunt implementaţi algoritmi de codificare care asigură corespondenţa dintre tipul de datе şi şirul de biţi atît la
scrierea datelor, cît şi la citirea lor. Tipul de datе ales de către programator influenţează calitatea programului deoarece el determină dimensiunea zonei de memorie (adică
cîtă memeorie va ocupa variabila respectivă în RAM).
Tipuri de date existente:
a) simple – sunt date independente, cărora li se alocă doar cîte o adresă de memorie în RAM
(în C++ : int, float, bool, double, char)
b) compuse – sunt colectii de date, sau structuri de date, cărora li se pot aloca una sau mai
multe adrese in RAM (în C++: struct, union, siruri de caractere, pointeri, tablouri, clase).
Orice obiect, proces sau fenomen din lumea reală poate fi caracterizat printr-o listă de date
(atribute). Valorile atributelor din listă pot fi reprezentate fizic în calculator (lumea virtuală) sub
forma unei structuri de date.
Analiza datelor se poate face în două moduri :
- la nivel logic – analizăm ce tip de date ar putea fi si ce valori maxime si minime ar putea avea, şi ce restrictii ar putea fi.
- la nivel fizic – reprezentarea datelor în memoria internă (în RAM), Exemple în C++ : int, char, float, double.

Tema 2. Baze de date. SGBD.


Reprezentarea datelor în fisiere duce la apariţia unui sir de probleme: redundanţa datelor (unele date sunt memorate de mai multe ori), incomodităţi în actualizarea
datelor, integritatea datelor(in cazul in care se sterge un fisier), programele depind de conţinutul fisierelor de date (in cazul în care se modifica structura datelor din
fisier atunci va trebui modificat programul). Organizarea datelor în baza de date rezolvă aceste probleme.
Baza de date (database) este o colecţie de fişiere şi înregistrări legate între ele.
Avantajele folosirii bazelor de date în locul fisierelor de date:
a) Partajarea informaţiilor – accesul tuturor utilizatorilor la date (fiecare utilizator are senzatia că este beneficiarul unic al colectiei de date), pot fi create noi
programe care vor utiliza anumite colectii de date din baza de date.
b) Posibilitate de a controla accesul la date pentru diferite categorii de utilizatori – ceea ce poate fi controlat de către administratorul bazei de date.
c) Micşorarea redundanţei datelor – este posibil da a micşora repetarea unor date de mai multe ori în baza de date.
d) Consistenţa datelor – actualizarea datelor (UPDATE).
e) Integritatea datelor – in urma eliminării redundanţei datelor dispare si problema integritătii datelor, si anume că datele sunt pastrate într-un singur loc în baza de
date. Pot fi adăugate proceduri pentru validarea datelor. Astfel date invalide sau eronate nu vor fi introduse in baza de date
f) Securitatea datelor – posibilităţi ca doar anumiţi utilizatori sa aibă acces la anumite colectii de date.
g) Controlul centralizat al datelor – posibilităţi de stabilire a unui administrator al bazei de date pentru controlul datelor.
h) Transparenţa – utilizatorul poate să obţină date din baza de date fără ca să cunoască structura ei complexă.
i) Dezvoltarea standardelor – permite dezvoltarea de noi standarde referitor la manipularea şi interogarea datelor.
j) Independenţa datelor – independenţa fizică ( adică orice modificare efectuată asupra structurii datelor nu afectează programul de aplicaţie şi reciproc), independenţa
logică (adică în orice moment în baza de date pot fi definite noi cîmpuri si pot fi adăugate înregistrări)
Stratificarea BD: Bază de date, Sistem de gestiunea bazelor de date, Software de aplicaţii, Utilizator
(SGBD) Sistemul de gestiune a bazelor de date (database management) este un software specializat pentru crearea, întreţinerea şi consultarea bazelor de date.
Cele mai importante instrumente furnizate de SGBD pentru manipularea datelor sunt:
a) Căutarea uneia sau a mai multor entităţi care îndeplinesc anumite criterii,
b) sortarea în diferite moduri a diferitelor entităţi din baza de date,
c) generarea unor rapoarte folosind datele stocate în baza de date,
d) generarea unor formulare pentru introducerea şi validarea datelor.

Tema 3. Arhitectura sistemelor de gestiune a bazelor de date


Un sistem de gestiune a bazelor de date (SGBD) este compus din module, fiecare având în cadrul
sistemului sarcini specifice. Anumite funcţii pentru sistemul de baze de date sunt asigurate de
nucleul său şi de nucleul sistemului de operare. Cele mai multe SGBD asigură un minim de funcţii
de bază cu ajutorul cărora sunt dezvoltate alte funcţii. Astfel la conceperea unei baze de date trebuie
să se ţină seama de interfeţele dintre diverse module. Schema alăturată schiţează structura unui
SGBD.
În continuare se prezintă pe scurt funcţiile fiecărui modul din structura SGBD.
- Gestionarul bazei de date realizează interfaţa dintre programele de aplicaţii sau de consultare şi
datele fizice ale bazei de date .
- Gestionarul de fişiere specifică alocările de memorie pe disc şi structurile de memorare care
servesc la reprezentarea informaţiilor pe disc.
- Procesorul de consultare traduce instrucţiunile limbajului de consultare în instrucţiuni înţelese de
gestionarul bazei de date. Transpune interogările utilizatorului într-o forma echivalentă optimizată,
în vederea determinării celor mai bune strategii de căutare.
- Definirea schemelor bazei de date (schemei conceptuale) şi a legăturilor dintre ele se efectuează de administratorul BD, cu ajutorul unui limbaj de definire a datelor
(LDD) prevăzut cu un compilator ce permite crearea dicţionarului de date. LDD =din Engleză DDL(Data Definition Language) - se referă la crearea, modificarea si
stergerea unei baze de date, tabel sau index. Structura de date este o mulţime de elemente de date, de legături care există între ele şi de operaţii efectuate cu ele.
- Precompilatorul LMD (limbaj pentru manipularea datelor (sau DML - Data Manipulation Language)) generează coduri obiect ale programelor realizate cu ajutorul
LMD. LMD permite ca programatorii de aplicaţii şi neinformaticienii să manipuleze date puse în evidenţă de scheme de orice nivel.
Dicţionarul de date este dat de o mulţime de scheme şi de legături dintre schemele asociate ale bazei de date, de descrierile semnificaţiilor datelor şi a restricţiilor pe care
acestea trebuie să le satisfacă. Dicţionarul de date poate fi el însuşi implementat ca o bază de date. El constituie atunci o metabază, adică o bază care descrie o altă bază.
Utilizatorul este o persoană, care de la un terminal are acces la baza de date folosindu-se de o mulţime de programe de aplicaţii sau de comenzile unui limbaj de consultare.
Accesul la baza de date se realizează fie pornind de la un program de aplicaţii redactat într-un limbaj (C, Java ,Pascal, PHP, C#, VFP, etc.) care acceptă primitive (secvenţe
de instrucţiuni de program) ce permit accesul la baza de date, fie de la un terminal utilizând un limbaj specific LMD. Pe de altă parte dacă LMD de nivel înalt este utilizat
într-o manieră interactivă atunci acesta se numeşte limbaj de interogare ( LI), sau din engleză: Query Language (QL).
Administratorul BD răspunde pe lângă activitatea de definire a schemei BD, de creare şi manipulare. Pentru aceasta administratorul BD dispune de un software specializat
şi are următoarele sarcini:
- concepe schema bazei de date ( o descriere prin intermediul LDD). Schema trebuie să fie independentă de structura de memorare (stocarea fizică) şi de limbajul în care
se descriu aplicaţiile. El odată cu schema asociază şi restricţiile de integritate şi ce garantează consistenţa datelor ce sunt înregistrate în BD;
- decide tehnicile de acces şi de implementare fizică;
- stabileşte legăturile SGBD-utilizator prin descrierea subschemelor care sunt derivate din schema BD. Subschema permite definirea autorizaţiilor de acces;
- defineşte strategiile de reluare în caz de incident;
- realizează în consecinţă modificarea structurii BD.
SGBD trebuie să permită utilizatorului să genereze versiuni de BD performante ţinând cont de înmulţirea utilizatorilor. El dispune de un software care îi restituie descrierea
schemei BD ce este înregistrată în dicţionarul BD.

Tema 4. Baze de date relaţionale. SGBDR.


Cele mai răspîndite modele de organizare a bazelor de date sunt următoarele:
1. ierarhice - câmpurile şi înregistrările sunt structurate arborescent prin noduri (nod
părinte, nod copil). În cazul BD ierarhice apar următoarele probleme: dacă se şterge un
nod părinte atunci se şterg toate nodurile copil subordonate, un nod copil poate fi adăugat
doar dacă a fost adăugat nodul părinte, între nodurile copil nu pot fi stabilite relaţii.
2. reţea (network database) - structurare ierarhizată, doar ca aici e posibil ca un nod copil
sa poată avea mai multe noduri părinte
3. relaţionale (relational database) - cel mai flexibil model de organizare a datelor, în care
nu există o cale de acces ierarhizată la oanumită dată. Baza de date este formată din mai
multe tabele, fiecare dintre ele fiind formate din linii şi coloane.
Baza de date relaţională este formată dintr-unul sau mai multe tabele bidimensionale între care se
pot stabili legături.
Tabelul permite gruparea unor date înrudite şi poate fi privit ca o colectie de cîmpuri. Pentru
fiecare cîmp sunt descrise datele care vor fi memorate în el. Descrierea se face prin tipul datelor,
dimensiunea lor şi alte proprietăţi. Ele definesc implicit domeniul de definiţie al datelor memorate în cîmp. Dacă domeniul datelor este inclus implicit în domeniul de
definiţie, se pot defini condiţii de validare a datelor care să controleze corectitudinea datelor introduse
sau modificate.
Tabelul este un fisier structurat de date (cu extensia .dbf în Visual Fox Pro 9,0 ), care conţine
următoarele elemente: nume tabel, coloane (cîmpuri, sau li se mai spune şi atribute) cu numele
coloanei şi tipul de dată corespunzător, rînduri cu înregistrări care se mai numesc tupluri de date
care contine cîte o valoare pentru fiecare coloana în parte, în dependenţă de tipul de date al
coloanei(integer, varchar, ...).
Schema generală a unei baze de date este formată din ansamblul tabelelor şi al legăturilor
dintre ele.
Construirea bazei de date se desfăşoară în două etape: construirea tabelelor (definirea
cîmpurilor şi proprietăţilor lor pentru fiecare tabelă în parte) şi stabilirea relaţiilor între tabele
(chei primare si secundare).
Legătura dintre tabele se realizează prin mecanismul de propagare a cheilor.
Cheie primara:Una sau mai multe coloane ale caror valori identifica in mod unic toate liniile unui
tabel. Într-un tabel trebuie să existe o singură cheie primară.
Cheia secundară este formată dintr-unul sau mai multe cîmpuri dintr-un tabel, care sunt folosite
ca o cheie primară în alt tabel, valorile cîmpurilor din cheie fiind identice în ambele tabele. Se mai
numeşte şi cheie străină. Într-un tabel pot exista mai multe chei secundare.
Pentru ca să fie asigurată legătura dintre două tabele trebuie sa fie respectată conditia de
integritate referenţială, care impune ca mulţimea valorilor unei chei secundare să fie inclusă
în mulţimea valorilor cheii primare din care s-a propagat.
Operaţiile de adăugare, ştergere, modificare pot afecta integritatea referenţială:

Relaţiile între tabele.


Relaţia este o legătură dintre un cîmp sau o combinaţie de cîmpuri dintr-
un tabel (cheia primară) şi cîmpurile corespunzătoare dintr-un alt tabel
(cheia secundară).
Tipuri de relaţii:
SGBDR (SGBD Relaţional) este caracterizat prin prin faptul că gestionează cu baze de date relationale. Exemple SGBDR: Access, FoxPro (de la firma Microsoft), Oracle
(de la firma Oracle Corporation) - este cel mai utilizat.
Funcţiile SGBDR: (a) memorarea, actualizarea (adăugarea, ştergerea şi modificarea) şi regăsirea datelor din BD; (b)crearea şi întreţinerea dicţionarului de date;(c)asigurarea
accesului rapid la datele din colecţia de date;(c)backup – crearea unei copii de siguranţă a BD;(d)asigurarea securităţii datelor; (e)asigurarea accesului simultan al
utilizatorilor la o înregistrare din BD;asigurarea integrităţii datelor(se pot introduce în BD numai date valide, iar operaţiile de actualizare nu distrug relaţiile dintre tabele).
Pentru asigurarea securităţii bazei de date SGBDR pune la dispoziţie următoarele metode: parolă la nivelul întregii baze de date, drepturi specifice acordate
utilizatorilor sau grupurilor de utilizatori, criptarea datelor(împiedică vizualizarea datelor).
Elementele SGBDR: dicţionarul de date(descrie structura datelor folosite în BD, adică structura tabelelor, relaţiilor şi tabele virtuale), DDL(Data Definition Language
=Limbajul de definire a datelor, reflectă conţinutul dicţionarului de date), DML (Data Manipulation Language = Limbajul de manipulare a datelor), QL (Query
Language = Limbajul de interogare).