bd_curs01_2

24
BAZE DE DATE Curs 1 Lect.dr. Elena Băutu Facultatea de Matematică și Informatică Universitatea Ovidius, Constanța

Upload: fmiovidius

Post on 08-Nov-2015

220 views

Category:

Documents


6 download

DESCRIPTION

curs bd2

TRANSCRIPT

  • 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?