Sunteți pe pagina 1din 24

BAZE DE DATE

Curs 1
Lect.dr. Elena Butu
Facultatea de Matematic i Informatic
Universitatea Ovidius, Constana

INTRODUCERE
Baz de date o colecie de informaii (date)
relaionate logic
Sistem de gestiune a bazelor de date (SGBD)

un mediu de stocare pentru date de dimensiuni mari


(e.g. terabytes)
pune la dispoziie metode eficiente i sigure de regsire
i furnizare a datelor ctre un numr mare de utilizatori
Ansamblu

Hardware
Software
Date
Utilizatori

SGBD - SCOP

Pentru a elimina problemele sistemelor clasice de


procesare a informaiilor bazate pe fiiere din
sistemele de operare

Redundana i inconsistena datelor


Accesul dificil la date
Date izolate n fiiere multiple i de diferite formate
Probleme cu integritatea datelor
Atomicitatea actualizrilor
Acces concurent al mai multor utilizatori
Probleme de securitate a datelor

SGBD - CARACTERISTICI

Hardware
Caracter persistent pentru date de volum ridicat, accesate
rapid
Siguran (dpdv hardware, software, al utilizatorilor)

Software

Acces multi-utilizator controlat


Mecanisme de control al accesului concurent (simultan) la
date
Independent de mediul fizic de stocare
Eficient (Sute/mii de interogari pe secund)
Protecie la disctrugeri accidentale ale datelor
Menine integritatea datelor (coninutul bd trebuie s fie valid
n orice moment de timp ntre dou tranzacii)

Aplicaiile de baze de date pot fi programate prin


intermediul unor framework-uri

SGBD - UTILIZATORI

Proiectantul bazei de date

Stabilete schema bazei de date

Programatorul bazei de date

Implementeaz schema

Administratorul bazei de date


Programatorii de aplicaii

Implementeaz aplicaii ce folosesc bd


Exemple de aplicaii: gestionarea tranzaciilor bancare,
sistem de rezervri bilete, gestiunea informaiilor despre
studenii unei universiti, gestiunea produselor ntr-un
magazin, etc.

SGBD - ARHITECTURA

Dpdv funcional
Managerul de memorie
Procesorul de interogri
Managerul de tranzacii

Dpdv al aplicaiei
Client-Server
Centralizat
Distribuit

BAZE DE DATE - CONCEPTE

Modelul de date
Mulime de nregistrri
XML
Graf

Schema bazei de date

Tipurile de date

NIVELE DE ABSTRACTIZARE

Nivelul fizic

Nivelul logic

Descrie datele stocate


n baza de date i
relaiile dintre acestea

Nivelul vizualizare
Aplicaiile ascund
detaliile legate de date
Vederi diferite pot
ascunde informaii, n
funcie de scop

Sursa: Database System Concepts, Silberschatz et al.

Descrie cum este


stocat o nregistrare

BAZE DE DATE INSTANE I SCHEME


n limbajele de programare tipuri i variabile
Schema structura logic a unei baze de date

Similar cu tipul de date (al variabilelor) din lb. de progr.


Exexmplu: baza de date const n informaii despre
studenii unei universiti, despre cursurile pe care
acetia le urmeaz i despre profesori, i relaiile dintre
acetia

Instan coninutul concret al bd la un moment


dat
Independena de mediul fizic

Posibilitatea modificrii mediului fizic fr a afecta


structura logic a datelor
Aplicaiile depind de schema logic

BAZE DE DATE - MODELE

Model colecie de unelte ce descriu

Date
Relaii ntre date
Semantica datelor
Constrngeri pentru date

Modelul ierarhic (sf. anilor 60)


Modelul reea (C.W. Bachman, 1969)
Modelul relaional (E.F. Codd, 1970)
Modelul Entiti Asociaii (Chen, 1976)
Modelul Matematic Elementar al Datelor (Manca, 1985,
2013)
Modele de date orientate obiect
Modele semistructurate (ex. XML)

PROIECTAREA BAZELOR DE DATE

Modelul Entiti Asociaii (MEA)


Eng. Entity Relationship Model
Modeleaz universul problemei ca o mulime de entiti
i asociaii ntre acestea
Reprezentare grafic sugestiv
Independent de orice consideraii de memorare ori
eficien a implementrii

Teoria normalizrii (MRD)


Formalizeaz idei de proiectare
Propune teste pentru a depista design-uri care nu sunt
bune

PROIECTAREA BAZELOR DE DATE METODOLOGIE


Analiza cerinelor
Modelarea conceptual

Diagrame EA, UML etc.

Modelarea logic stabilete schema bazei de


date
Pe parte de business: ce atribute sunt de interes?
Pe parte de informatic: ce tabele sunt necesare i care sunt
schemele acestora?

Modelarea fizic - faza de tuning


Depinde de SGBD ales
Va ine cont de

ncrcarea dpdv I/O


Performana ateptat, nivelul de siguran necesar
Cerine hardware care s suporte

MODELUL ENTITI ASOCIAII (MEA)


Modeleaz universul problemei ca o colecie de
entiti i asociaii ntre acestea
Reprezentare grafic

Diagram Entiti Asociaii

Entitate:
Concept de sine stttor ce corespunde unui grup de
obiecte de acelai tip (Chen)
Instan a unui tip de entiti: obiect a crui existen nu
depinde de existena nici unui alt obiect, despre care se
dorete meninerea de date i a crui unicitate
intereseaz
Reprezentare grafic: dreptunghi

Exemple: PERSOANE, ANGAJATI, STUDENTI,


LOCALITI, PRODUSE

MEA - ATRIBUTE
Entitile sunt descrise de mulimi de atribute
(expresie a proprietilor de interes ale entitii)
Matematic: atributele sunt funcii ce asociaz
entitilor valori de anumite tipuri

Sex : PERSOANE -> {m,f}


DataNasterii : PERSOANE -> [01/01/1900, 31/12/2012]
NumeLocalitate : LOCALITI -> ASCII(64)

Reprezentare grafic: elips

MEA ENTITI I ATRIBUTE

MEA ASOCIAII

Asociaie: o conexiune (relaie logic) ntre entiti (chiar


i ntre asociaii, sau ntre entiti de acelai tip)
Reprezentare grafic: romb
Matematic: submulimi ale produsului cartezian

Aritate (nr de entiti implicate)

Asociaiile nsele pot fi de asemenea implicate n asociaii

Cardinalitate etichete ale muchiilor


Many-to-many
One-to-many
Many-to-one
One-to-one

Roluri

Ale mulimilor de entiti n raport cu mulimile de asociaii

MEA ASOCIAII
Entitate1, Entitate2 sunt suporii asociaiei
Rol1, Rol2 sunt denumirile rolurilor pe care le au
entitile respective n asociaie
C1, c2 reprezinta cardinalitatea corespunzatoare

De obicei, cardinalitatea are valorile 0, 1, n (ori m)

MEA ASOCIAIE MANY-TO-ONE

O asociaie many-to-one (n-la-1) ntre PERSOANE


i LOCALITI
O persoan are zero sau mai multe localiti de natere
(de exemplu, pentru anumite persoane, e posibil s nu
fie cunoscut localitatea de natere)
Mai multe persoane pot avea aceeai localitate de
natere

MEA - ASOCIAIE ONE-TO-ONE

Asociaie one-to-one (1-la-1)


O ar poate avea o singur capital
O localitate poate fi capital unei singure tri

MEA NOTAIE SIMPLIFICAT

Dpdv matematic, asociaiile n-la-1 sunt funcii


LocalitateNatere : PERSOANE -> LOCALITI
Jude : LOCALITI -> JUDEE
Capitala : TARI -> LOCALITATI

Reprezentare grafic: sageata (->)

MEA - ASOCIAIE MANY-TO-MANY

Asociaie many-to-many (n-la-n) ntre PERSOANE


i PERSOANE
O persoan poate fi soie pentru oricte alte persoane
(de-a lungul timpului)
Analog, o persoan poate fi so pentru oricte persoane
(de-a lungul timpului)

MEA ASOCIAII MANY-TO-MANY


Dpdv matematic, nu mai pot fi reprezentate ca o
singur funcie
Asociaiile many-to-many reprezint o submulime a
produsului cartezian al mulimilor suport ale
asociaiei

1,
2 cu proprietatea
c e1 este n legtura Asociaie cu e2

Pot avea atribute, care caracterizeaz legtura


dintre entiti

De exemplu, DataInceput i DataSfrit pot fi atribute


ale asociaiei Mariaj

MEA - EXEMPLU

Sursa: Christian Manca, A completely algorithmic approach(cap. 2), Apple Press, 2013.

REZUMAT

Baza de date

Definiie

Sistem de gestiune a bazelor de date

Caracteristici, avantaje

Modele conceptuale
Modelul Entiti Asociaii

Intrebri?

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