bd_curs01_2
DESCRIPTION
curs bd2TRANSCRIPT
-
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 Descrie cum este
stocat o nregistrare
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.
-
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?