Documente Academic
Documente Profesional
Documente Cultură
Curs 1 BD
Curs 1 BD
VIN
Chardonnay
Chardonnay
Chardonnay
Joh. Riesling
Fum Blanc
Fum Blanc
Gewurztraminer
Cab. Sauvignon
Cab. Sauvignon
Cab. Sauvignon
Pinot Noir
Pinot Noir
Pinot Noir
Merlot
Zinfandel
Zinfandel
PRODUCTOR
Buena Vista
Geyser Peak
Simi
Jekel
Ch. St. Jean
Robt. Mondavi
Ch. St. Jean
Windsor
Geyser Peak
Robt. Mondavi
Gary Farrell
Fetzer
Dehlinger
Clos du Bois
Cline
Rafanelli
AN
2001
2001
2000
2002
2001
2000
2001
1995
1998
1997
2000
1997
1999
1998
1998
1999
Consultare:
SELECT VIN, RAFT#, PRODUCATOR
FROM VINOTECA
WHERE LANSAT = 2004;
STICLE
1
5
4
1
4
2
3
12
12
12
3
3
2
9
9
2
LANSAT
2003
2003
2002
2003
2003
2002
2003
2004
2006
2008
2003
2004
2002
2004
2007
2007
RAFT#
43
51
58
PRODUCATOR
Windsor
Fetzer
Clos du Bois
ADRESA
NUME
CURS
DEPARTAMENT
SALARIU
INSCRIERE
ctre SGBD. Astfel, o funcie general oferit de ctre SGBD const n ecranarea
detaliilor la nivel de hardware fa de utilizatorii bazei de date.
SGBD poate fi considerat cea mai important component software din sistemul
general, dar nu este singura. Celelalte cuprind programele utilitare, instrumentele pentru
dezvoltarea aplicaiilor, programele de asisten n design, editoarele de rapoarte i (cel
mai important), managerul de tranzacii sau monitorul TP.
Utilizatorii
Exist trei clase mari i oarecum suprapuse de utilizatori:
Programatorii de aplicaii, responsabili de scrierea programelor de aplicaii
pentru bazele de date, ntr-un limbaj de programare oarecare (COBOL, C++, Java etc.).
astfel de programe acceseaz baza de date prin lansarea unei cereri adecvate de obicei o
instruciune SQL ctre SGBD. Programele n sine pot fi aplicaii convenionale sau pot
fi aplicaii on-line, al cror scop este de a permite utilizatorului final s accese interactiv
baza de date.
Utilizatorii finali, care acceseaz interactiv baza de date. Un utilizator final final
poate accesa baza de date prin intermediul unei dintre aplicaiile on-line sau poate utiliza
o interfa furnizat ca parte component a sistemului. Astfel de interfee oferite de
productori sunt accesate, desigur, i prin intermediul aplicaiilor on-line, dar aceste
aplicaii sunt ncorporate, nu scrise de utilizator.
Administratorul bazei de date (DBA) - Analiza atribuiilor administratorului
bazei de date sunt amnate pentru paragraful 1.4.
1.3 Baz de date
Baza de date este o colecie de date persistente, care sunt folosite de aplicaii ale
unei anumite ntreprinderi.
Spunem c datele din baza de date persist deoarece, dup ce au fost acceptate
prima dat de ctre SGBD pentru introducerea n baza de date, ele pot fi terse din baza
de date numai printr-o cerere explicit adresat sistemului SGBD, nu ca un simplu efect
secundar de exemplu, terminarea execuiei unui program.
Entiti i relaii
Termenul de entitate este utilizat n mod curent n domeniul bazelor de date
pentru a desemna orice obiect distinct care va fi reprezentat n baza de date. De exemplu,
o ntreprindere va dori s nregistreze informaii despre proiectele curente, componentele
utilizate n aceste proiecte, furnizorii care au contracte de livrare a acestor componente,
depozitele n care sunt plasate aceste componente, angajaii care lucreaz la aceste
proiecte .a.m.d. Proiectele, componentele, furnizorii, depozitele, angajaii etc. reprezint
astfel entitile de baz despre care ntreprinderea respectiv trebuie s nregistreze
informaii.
n afar de entitile de baz, vor exista i relaii, care s coreleze aceste entiti
de baz. De exemplu, exist o relaie (FC sau livrri) ntre furnizori i componente:
fiecare furnizor ofer anumite componente i invers, fiecare component este oferit de
anumii furnizori. Observm c aceast relaie este bidirecional, adic poate fi parcurs
n ambele direcii. De exemplu, relaia FC dintre furnizori i componente poate fi utilizat
pentru a rspunde la urmtoarele dou interogri:
fiind dat un furnizor, aflai componentele furnizate de ctre acesta;
este prin intermediul canalelor adecvate; poate defini constrngeri de securitate, care
sunt verificate ori de cte ori se ncearc accesarea datelor sensibile. Pot fi definite
constrngeri diferite pentru fiecare tip de acces (consultare, adugare, tergere etc.) la
fiecare informaie din baza de date. Observm totui c, n absena unor astfel de
constrngeri, securitatea datelor poate fi expus, n realitate, unui risc mai mare dect n
cazul unui sistem de fiiere tradiional, adic ntr-un sens natura centralizat a
sistemului de baze de date necesit i existena unui sistem de securitate de calitate.
Cerinele conflictuale pot fi echilibrate
Cunoscnd cerinele generale ale ntreprinderii, administratorul DBA poate structura
sistemul astfel nct s ofere serviciile generale care sunt cele mai bune pentru
ntreprinderea respectiv. De exemplu, poate fi aleas o reprezentare fizic a datelor din
memorie care s permit accesul rapid pentru aplicaiile cele mai importante (posibil, cu
preul unui acces mai lent pentru celelalte).
Standardele pot fi impuse
Deinnd controlul centralizat al bazei de date, DBA poate garanta c, n
reprezentarea datelor, sunt avute n vedere toate standardele aplicabile, printre care
oricare sau toate standardele urmtoare: departamentale, de instalare, generale,
industriale, naionale i internaionale.
Majoritatea avantajelor enumerate mai sus sunt, probabil, destul de evidente.
Totui, mai exist nc un aspect care s-ar putea s nu fie att de evident ce trebuie
adugat n list: realizarea independenei de date.
1.5 Independena de date
Exist dou tipuri de independen de date: fizic i logic; pentru moment, ns,
ne vom ocupa doar de cea fizic.
Independena de date poate fi neleas cel mai uor avnd n vedere mai nti
opusul s. Aplicaiile implementate pe sistemele mai vechi tind s fie dependente de date.
Aceasta nseamn c modul n care datele sunt reprezentate fizic n mediile de stocare i
tehnicile de accesare a acestora sunt dictate de ctre cerinele aplicaiei avute n vedere;
mai mult, nseamn c recunoatere acelei implementri fizice i acelei tehnici de acces
sunt nglobate n codul aplicaiei. Este imposibil s se schimbe reprezentarea fizic
(modul n care datele sunt reprezentate fizic n memorie) i tehnicile de acces (modul n
care datele sunt accesate fizic), fr a afecta - probabil drastic aplicaia.
Administratorul DBA sau, posibil, sistemul SGBD trebuie s beneficieze de
libertatea de a schimba reprezentarea fizic i tehnica de acces, ca rspuns la modificarea
cerinelor, fr a fi necesar s modifice aplicaiile existente. De exemplu, n baza de date
ar putea fi adugate noi tipuri de date, ar putea fi adoptate standarde noi, s-ar putea
schimba prioritile aplicaiilor, ar putea deveni disponibile noi dispozitive de stocare
.a.m.d. Dac aplicaiile sunt dependente de date, atunci aceste modificri vor necesita, de
regul, modificri corespunztoare n codurile programelor, prin aceasta oblignd
programatorul la un efort care, altfel, ar fi consumat pentru crearea unor aplicaii noi.
Realizarea independenei de date constituie un obiectiv major al sistemelor de
baze de date. Independena de date poate fi definit ca imunitatea aplicaiilor fat de
schimbarea reprezentrii fizice i tehnicii de acces ceea ce implic, desigur, c
aplicaiile respective nu depind de vreo anumit reprezentare fizic sau tehnic de acces.
Vom analiza mai detaliat cteva exemple de tipuri de modificri pe care ar putea
dori s le fac administratorul DBA i fa de care am dori ca aplicaiile s fie imune.
Vom ncepe prin a defini trei termeni: cmp stocat, nregistrare stocat i fiier stocat.
C2bolverde17.0
nr. nume culoare masa
comp. comp. comp. comp.
Figura 1.5 Cmpuri, nregistrri i fiiere stocate
ntr-un sens larg, cmpul stocat este cea mai mic unitate de date stocate. Baza
de date conine
multe apariii (sau instane) ale fiecruia dintre tipurile de cmpuri stocate. De exemplu,
o baz de date care conine informaii despre diverse tipuri de componente ar putea
cuprinde un cmp stocat numit numrul componentei i, astfel, va exista cte o apariie
a acestui cmp stocat pentru fiecare fel de component (urub, balama etc.).
O nregistrare stocat este o colecie de cmpuri stocate corelate. Din nou,
putem face diferena ntre tip i apariie. Apariia (sau instana) unei nregistrri stocate
este format dintr-un grup de apariii corelate ale cmpului stocat.
Un fiier stocat reprezint colecia tuturor apariiilor unui tip de nregistrare
stocat, existente n mod curent.
n sistemele fr baze de date, este normal situaia n care orice nregistrare logic,
aa cum este vzut de o aplicaie oarecare, este identic cu o nregistrare stocat
corespunztoare. Dar nu aceasta este neaprat situaia n cazul unui sistem de baze de
date, deoarece s-ar putea s fie necesar ca DBA s poat efectua modificri n
reprezentarea stocat a datelor adic n cmpurile, nregistrrile i fiierele stocate n
timp ce datele, aa cum sunt vzute de aplicaie, nu se modific. De exemplu, cmpul
SALARIUL din fiierul ANGAJAT poate fi stocat n reprezentare binar, pentru a
economisi spaiul de stocare, n timp ce o aplicaie scris n limbajul COBOL ar putea
sa-l vad ca un ir de caractere. Ulterior, dintr-un motiv oarecare, DBA ar putea decide s
schimbe reprezentarea nregistrrilor din cmpul respectiv de exemplu, din binar n
zecimal permind n continuare ca aplicaia n limbajul COBOL s o vad sub forma
unor caractere.
1.6 Sistemele relaionale i alte tipuri de sisteme
Pe scurt, un sistem relaional este acela n care:
1. Datele sunt percepute de ctre utilizator sub forma unor tabele (i nimic altceva
dect tabele).
2. Operatorii pui la dispoziia utilizatorilor (de exemplu) pentru consultare sunt
operatori care genereaz tabele noi din cele vechi. De exemplu, exist un operator,
numit select (selecie), care extrage o submulime din rndurile unei tabele dat, iar altul,
project (proiecie), care extrage o submulime a coloanelor i, desigur c o submulime
a rndurilor i o submulime a coloanelor dintr-o tabel pot fi, la rndul lor, considerate
ele nsele ca tabele.
Aceste sisteme se numesc relaionale deoarece, n esena, relaia este doar un
termen matematic pentru tabel.
n figura 1.6 este prezentat o ilustrare. Datele sunt structurate ntr-o singur
tabel, numit VINOTECA (caseta a). n caseta b din figur sunt prezentate dou
exemple de consultare: unul care presupune o operaie de selecie sau crearea unei
submulimi de rnduri, iar cellalt reprezint o operaie de proiecie sau crearea unei
submulimi de coloane. Exemplele sunt exprimate n limbajul SQL.
a. Tabela dat:
VIN
Zinfandel
Fum Blanc
Pinot Noir
Zinfandel
VINOTECA
b. Operatori (exemple) :
1.
Selecie:
Rezultat:
VIN
Zinfandel
Fum Blanc
AN
1999
2000
1997
1998
AN
1999
2000
STICLE
2
2
3
9
STICLE
2
2
Rezultat:
VIN
Zinfandel
Fum Blanc
Pinot Noir
Zinfandel
STICLE
2
2
3
9
ntr-un sistem relaional, utilizatorul vede datele sub forma unor tabele, i nimic
altceva dect tabele. Spre deosebire de acesta, ntr-un sistem nerelaional utilizatorul vede
alte structuri de date. La rndul lor, aceste structuri necesit ali operatori care s le
manipuleze. De exemplu, ntr-un sistem ierarhic, datele i sunt prezentate utilizatorului
sub forma unor arbori iar operatorii pui la dispoziie pentru manipularea acestor arbori
includ operatorii pentru pointerii de traversare (adic pointerii care implementeaz cile
ierarhice n susul i n josul arborilor). Spre deosebire de acestea, o important
caracteristic distinctiv a sistemelor relaionale este faptul c nu presupun nici un fel de
pointeri.
Sistemele de baze de date pot fi clasificate convenabil dup structurile de date i
operatorii pe care i prezint utilizatorilor. Conform acestei scheme, sistemele cele mai
vechi (pre - relaionale) pot fi clasificate n trei categorii mari, i anume: sisteme de liste
inversate, ierarhice i de tip reea. Nu vom analiza detaliat aceste categorii deoarece cel
puin d.p.d.v. tehnologic ele pot fi considerate nvechite.
Primele produse relaionale au nceput s apar la sfritul anilor 1970 i
nceputul anilor 1980. n prezent, marea majoritate a sistemelor de baze de date sunt
relaionale i pot fi rulate pe aproape orice tip de platform hardware i software
existent. n ordine alfabetic, exemplele cele mai importante sunt: DB2 (diverse
versiuni) de la IBM Corp., Ingress II, de la Computer Associates International Inc.,
Informix Dynamic Server, realizat de Informix Software Inc., Microsoft SQL Server, de
la Microsoft Corp., Oracle 9i realizat de Oracle Corp., i SybaseAdaptive Server, de la
Sybase Inc.
Mai recent au devenit disponibile anumite produse bazate pe obiecte sau obiect
relaionale; sistemele bazate pe obiecte au aprut la sfritul anilor 1980 i nceputul
anilor 1990, iar cele obiect relaionale la sfritul anilor 1990.