Sunteți pe pagina 1din 23

BAZE DE DATE

Concepte de baz
Mihaela Elena Breabn
FII 2013-2014

Baz de date

O colecie de date (operaionale) relaionate logic,


proiectat pentru a deservi necesarul de informaii al unei
organizaii

Sistem de gestiune a bazelor de date


(SGBD)

Ansamblu:

Hardware
Software
Date
Utilizatori

pune la dispoziie metode eficiente si sigure de regasire si


furnizare a datelor catre un numar mare de utilizatori

SGBD
Funcii

Ofer

Acces controlat la baza de date


Stocarea, regsirea, actualizarea datelor
Securitate
Integritate
Suport pentru tranzacii
Control concurent
Recuperare a datelor
Catalog (dicionarul de date)

SGBD
Hardware

Datele au caracter persistent


Volumul de date este ridicat
Accesul se realizeaz rapid

Poate varia de la un simplu PC la o reea de calculatoare

SGBD
Software

Interaciunea dintre utilizatori si sistem se realizeaz prin


limbaje de interogare:

DDL (data definition language)

DML (data manipulation language)

Definirea datelor - genereaz meta-date


Regsirea i actualizarea datelor

abordare neprocedural

SGBD
Utilizatori

Administratorul bazei de date


Proiectantul bazei de date
Utilizatorii finali
Programatorii de aplicaii

SGBD
Arhitectura

Funcional:

Managerul de memorie
Procesorul de interogri
Managerul de tranzacii

La nivel de aplicaie

Client-server

SGBD
Istoric

Modelele ierarhic (IBMs IMS, sf. 60)


Modelul reea (CODASYL 1971)
Modelul relaional (Codd, 70)
Modelul obiect-relaional (90)

Modelul ierarhic

Modelul reea

Modelul relaional

Modelul relaional

Componente:

O clas de structuri de date denumite tabele

Constrngeri impuse asupra datelor din tabele

Asocieri ntre tabele

Metode pentru a construi noi tabele (operaii n algebra


relaional)

Baze de date relaionale


Terminologie

Relaie = Tabel

Atribute = Coloane = Cmpuri

Domeniu mulimea de valori permise pentru atribute

Tuplu = nregistrare o linie dintr-o relaie

Baz de date relaional o colecie de relaii cu nume distincte

Schema unei relaii o relaie cu nume definit de perechi atribut-domeniu

Schema unei baze de date relaionale - mulime de scheme de relaii

Instana bazei de date coninutul bazei de date la un anumit moment

Proprieti ale relaiilor

Numele relaiilor sunt unice n schema relaional

Fiecare celul a unei relaii conine exact o valoare atomic

Fiecare atribut are nume unic

Valorile unui atribut sunt toate din acelai domeniu

Fiecare tuplu este distinct; nu exist tuple duplicat

Ordinea atributelor i a tuplelor nu are semnificaie

Chei

Supercheie un atribut sau o mulime de atribute care identific


unic un tuplu ntr-o relaie

Cheie candidat o supercheie cu proprietatea c nici o


submulime proprie a sa nu este supercheie

Cheie primar o cheie candidat selectat pentru a identifica n


mod unic tuplele ntr-o relaie

Cheie alternativ Chei candidat care nu au fost selectate pentru

a juca rolul de cheie primar

Cheie strin un atribut sau o submulime de atribute dintr-o


relaie care face referin la o cheie candidat a altei relaii

Constrngeri de integritate

Nici un atribut al cheii primare nu poate fi NULL

Valoarea cheii strine trebuie s se potriveasc cu valoarea


cheii candidat pentru mcar un tuplu din relaia refereniat,
altfel trebuie s aib valoarea NULL.

Alte constrngeri

View-uri

Relaiile de baz au tuplele stocate fizic n baza de date

View-ul este rezultatul unor operaii cu tabelele existente,


nu e stocat efectiv n baza de date.

Arhitectura pe 3 nivele
ANSI-SPARC
View_1

View_2

View_3

Conceptual level

Internal level

physical storage

19

View_n

Mapare nivel extern/conceptual

Finance Department
ID

Name

Age

Switchboard
FirstName LastName Job_title Number

Salary

FirstName = FName
LastName = SName
Job_title = J_Title
Number = Tel_no

ID = Id
Name : Fname X Sname
String
Age : DoB
Int
Salary : Empl_date X Scale
Int

20

Id

Fname

Sname

(Num)

(Text)

(Text)

DOB

J_title

Empl_date

Scale

(Date)

(Text)

(Date)

(Num)

Tel_no
(Text)

Mapare nivel conceptual/intern

Id

Fname

Sname

(Num)

(Text)

(Text)

DOB

J_title

Empl_date

Scale

(Date)

(Text)

(Date)

(Num)

Tel_no
(Text)

Table_Employees <implemented as>


ARRAY[n] OF struct STAFF

struct STAFF Table_Employees [5000];

21

struct STAFF {
int
ID;
char
Fname[20];
//
char
Tel_no[15];
};

the information about staff


is physically implemented
by means of an array

struct INDEXS {
int
ID;
int
Index ;
} Index_Employees [n];

other structures, not derived


from the logical level, might
be used at the physical level
(e.g. indexes)

Arhitectura pe 3 nivele
Scheme

22

SGBD avantaje

Consistena datelor
Partajarea datelor
Securitate
Acces mbuntit
Concuren crescut
Servicii de backup i recuperare

S-ar putea să vă placă și