Documente Academic
Documente Profesional
Documente Cultură
Curs
Specializarea Electronic Aplicat - anul III
Bibliografie
Felicia Ionescu, Baze de date relationale si aplicatii, Editura Tehnica, Bucureti, 2004 C. J. Date, An Introduction to Database Systems, 8th Edition, 2004 R. Elmasri and S. B. Navathe, Fundamentals of Database Systems, Fourth Edition, 2004 J. Ullman, J. Windom, A First Course In Database Systems, Prentice Hall, 1997 Kevin Kline, Daniel Kline, SQL In A Nutshell, OReilly, 2001 Oracle 11g Documentation http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html
MySQL Documentation - http://dev.mysql.com/doc/ PostgreSQL Documentation - http://www.postgresql.org/docs/manuals/ Microsoft SQL Server Books Online MSDN - Academic Alliance
Prof. Felicia Ionescu Cap.1 - Introducere in Baze de date 2
Capitolul 1: Introducere
Definitii baze de date, sisteme de baze de date Componentele sistemelor de baze de date Arhitectura interna a sistemelor de baze de date Avantajele oferite de sistemele de baze de date Clasificari ale sistemelor de baze de date
Clasificare dupa modelul de date Clasificare dupa numarul de utilizatori Clasificare dupa numarul de statii pe care este memorata baza de date
Modelarea datelor
Modele conceptuale de nivel inalt Modele specifice de date
Definitie (in sens larg): O baza de date (database) este o colecie de date corelate din punct de vedere logic, care reflecta un anumit aspect al lumii reale i este destinata unui anumit grup de utilizatori. In acest sens pot fi considerate ca fiind baze de date:
Fise de evidenta (mentinute manual) Fisiere de documente sau foi de calcul tabelar (Microsoft Word, Microsoft Excel) Baze de date mentinute computerizat
Definitie (in sens restrans): O baz de date este o colecie de date creat i meninut computerizat, care permite operaii de:
Introducere (insert) Stergere (delete) Actualizare (update) Interogare (query) Cap.1 - Introducere in Baze de date 4
Software:
Sisteme de operare, biblioteci, instrumente de dezvoltare, interfete Sistemul de Gestiune a Bazelor de Date (SGBD) (Database Management System DBMS) - recepioneaz cererile utilizatorilor de acces la baza de date, le interpreteaz, execut operaiile corespunztoare i returneaz rezultatul Aplicatii de baze de date: (Database Applications) sunt programe care ofer anumite utilizari ale unei baze de date
Utilizator final
Program aplicaie
SGBD
Date Date
Utilizatori:
Programatori de aplicatii Utilizatori finali Administratorul bazei de date Analisti si proiectanti ai bazelor de date
Datele persistente sunt memorate in fisiere pe hard-disk Limbaje conceptuale pentru lucrul cu bazele de date:
Limbaje pentru Definirea Datelor(LDD) (Data Definition Languages DDL) Limbaje pentru Manipularea Datelor (LMD) (Data Manipulation Languages DML)
Prof. Felicia Ionescu Cap.1 - Introducere in Baze de date 6
Nivelul extern
Nivelul conceptual
Nivelul intern
Schema intern
Date memorate
Arhitectura client-server:
Server (back-end): SGBD-ul si baza de date Client (front-end): program (programe) de aplicatie
Prof. Felicia Ionescu Cap.1 - Introducere in Baze de date 9
Modelarea datelor
Un model este o abstractizare a unui sistem:
capteaz cele mai importante trsturi caracteristice ale sistemului (concepte) conceptele trebuie sa fie relevante din punct de vedere al scopului pentru care se definete modelul respectiv
Tehnica de identificare a trsturilor caracteristice eseniale ale unui sistem se numete abstractizare Un model de date stabilete regulile de organizare i interpretare a unei colecii de date. n proiectarea bazelor de date se folosesc 2 categorii de modele:
Modele conceptuale de nivel nalt (modelul Entitate-Asociere, modelul Entitate-Asociere Extins) descriu concis colectiile de date care modeleaz activitatea dorit fr s detalieze modul de reprezentare sau de prelucrare a datelor - schem conceptual de nivel nalt Modele specifice (modelul ierarhic, modelul reea, modelul relaional, etc.) descriu reprezentarea mulimilor de entiti i a asocierilor dintre acestea prin structuri de date specifice implement[rii - schem conceptual (logic)
Trecerea de la modelul conceptual de nivel nalt la un model de date specific proiectare logic a bazei de date.
Prof. Felicia Ionescu Cap.1 - Introducere in Baze de date 11
Modelul Entitate-Asociere
Modelul Entitate-Asociere (Entity-Relationship Model) defineste multimile de entiti i asocierile dintre ele, dar nu impune nici un mod specific de structurare i prelucrare (gestiune) a datelor; Introdus n 1976 de P.S. Chen O entitate (entity) este orice exista in realitatea obiectiva si poate fi identificat n mod distinctiv
Exemple: o persoana, o planta, o activitate, un concept etc.
Un atribut (attribute) este o proprietate care descrie un anumit aspect al unei entiti
Exemple: persoanele au nume, prenume, adresa etc.
Tip de entitate (entity type): se refera la entittile similare, care pot fi descrise prin aceleasi atribute
Exemple: tipul persoana, tipul planta
Multime de entitati (entities set): colecia tuturor entitilor de acelai tip dintr-o baz de date constituie o mulime de entiti
Exemple: multimea tuturor persoanelor, multimea tuturor plantelor
O entitate este o instanta a unui tip de entitate si un element al multimii de entitati de acel tip In exprimarea curenta, adeseori nu se face diferentierea dintre entitate, tip de entitate si multime de entitati, dar diferenta este evidenta Asemanare cu modelul obiect: tip de entitate - clasa; entitate - obiect
Prof. Felicia Ionescu Cap.1 - Introducere in Baze de date 12
Asocieri
O asociere (relationship) este o legtur (coresponden) ntre entiti din dou sau mai multe mulimi de entiti; asocierile pot avea atribute Tipul asocierii (relationship type) se refera la asocierile similare, care pot fi definite intre entitati din 2 sau mai multe multimi de entitati Multime de asocieri (relationship set): multimea asocierilor de acelasi tip O asociere este o instanta a unui tip de asociere si un element al multimii de asocieri de acel tip In exprimarea curenta, adeseori nu se face diferentierea dintre asociere, tip de asociere si multime de asocieri, dar diferenta este evidenta Gradul unui (tip de) asociere (degree): numrul de (mulimi de) entiti asociate; dupa grad, asocierile pot fi:
binare (de gradul 2, ntre 2 mulimi de entiti) majoritatea asocierilor multiple (ntre k mulimi de entiti, k > 2)
Categorii (tipuri) de asocieri binare - dup numrul elementelor din fiecare dintre cele dou mulimi puse n coresponden:
unul-la-unul (one-to-one) 1:1; exemplu: sot-sotie unul-la-multe (one-to-many) 1:N; exemplu: parinte-fii multe-la-unul (many-to-one) N:1; exemplu: fii-parinte multe-la-multe (many-to-many) M:N; exemplu: profesori-studenti
Cap.1 - Introducere in Baze de date 13
unul-la-unul 1:1
unul-la-multe- 1:N
multe-la-unul- N:1
multe-la-multe- M:N
Cardinalitatea asocierilor
Cardinalitatea (multiplicitatea) unei asocieri fa de o mulime de entiti (cardinality, multiplicity) este numrul maxim de elemente din acea mulime care pot fi asociate cu un element din alt mulime a asocierii
Exemplu: asocierea unul-la-multe dintre mulimile A i B prezint multiplicitatea 1 fa de mulimea A i multiplicitatea N (se nelege o valoare oarecare N > 1) fa de mulimea B
Raport de cardinalitate (cardinality ratio): raportul dintre valorile cardinalitilor unei asocieri fa de dou din mulimile de entiti asociate
Exemple pentru asocieri binare: 1:1, 1:N, N:1, M:N Asocierile multiple (k-are, k > 2) prezint cte un raport de cardinalitate pentru fiecare pereche de mulimi de entiti pe care le asociaz.
16
Diagrama Entitate-Asociere
Diagrama Entitate-Asociere (Entity-Relationship Diagram) reprezint grafic modelul Entitate-Asociere prin mulimile de entiti i asocierile dintre acestea Multimi (tipuri) de entitati:
Puternice (de sine statatoare) Slabe (depind de alte multimi de entitati)
Notatii:
Tip entitate Tip de entitate puternic
Tip entitate
Nume atribut
Atribut
17
1 SECTII Cuprind
N 1 Intretin N DEPENDENTI
Nume
GradRudenie
Denumire
Buget
18
Raportul de cardinalitate al unei asocieri este stabilit de proiectant astfel nct s reflecte ct mai corect modul de organizare a activitii modelate Modul de stabilire a tipurilor de entiti i a asocierilor nu este unic: aceeai funcionalitate se poate obine printr-o varietate de diagrame E-A O mulime de entiti se denumeste printr-un substantiv, iar o asociere se denumeste (de regul) printr-un verb, deoarece o asociere reprezint o interaciune ntre entiti Modelul E-A nu precizeaz modul cum sunt realizate asocierile ntre mulimile de entiti: acest aspect depinde de modelul de date specializat utilizat pentru definirea bazei de date
Exemple: n modelul ierarhic asocierile sunt realizate explicit, prin pointeri de la o entitate la entitile asociate; n modelul relaional asocierile se realizeaz prin egalitatea valorilor unor atribute comune ale multimilor de entiti (chei)
Prof. Felicia Ionescu Cap.1 - Introducere in Baze de date 19
ANGAJAT d
SECRETARA
TEHNICIAN
INGINER
VitezaRedactare
Calificare
Specialitate
20
O nregistrare de date n modelul ierarhic este o instan a unui tip de nregistrare (record type) i const dintr-o colecie de cmpuri (fields), fiecare cmp coninnd valoarea unui atribut. Un tip de legtur n modelul ierarhic: tip de asociere cu raportul de cardinalitate 1:N (printe-fiu) ntre dou tipuri de nregistrri Schema conceptual a unei baze de date n modelul ierarhic se reprezint printr-un numr oarecare de scheme ierarhice O schem ierarhic este un arbore direcionat, reprezentat pe mai multe niveluri, n care nodurile sunt tipuri de nregistrri, iar arcele sunt tipuri de legturi
Prof. Felicia Ionescu Cap.1 - Introducere in Baze de date 21
Numai legturi de tipul printe-fiu, care corespund asocierilor 1:1 i 1:N din modelul E-A Asocierile M:N se pot reprezenta prin multiplicarea nregistrrilor de tip fiu, atunci cnd sunt referite de mai multe nregistrri de tip printe
mare redundan a datelor
23
Modelul obiect-orientat
Modelul obiect (Object Model) este un concept unificator Necesar in domenii n care se manipuleaz date de tipuri complexe:
proiectarea sistemelor de calcul: programare, hardware, interfete proiectarea asistat de calculator (CAD-CAM) sisteme de informaii geografice fizic, biologie, medicin i altele
Dificultati:
Complexitate in dezvoltare a bazei de date i a aplicaiilor Interogarile trebuie s fie prevzute explicit in structura datelor
Modelul obiect-relational
Modelul obiect-relaional (Object-Relational Model) reprezint extinderea modelului relaional cu caracteristici ale modelului obiect Modelul obiect-relaional pstreaz structurarea datelor n relaii, si, in plus:
permite definirea unor noi tipuri de date, ca domenii ale atributelor permite extinderea tipurilor de date prin motenire
Sistemele de gestiune a bazelor de date obiect-relaionale (SGBDOR) se realizeaz prin extinderea sistemelor relaionale, de regula n mod gradat, adugndu-se de la o versiune la alta ct mai multe caracteristici posibile ale modelului obiect Aceasta abordare asigur rularea n continuare a aplicaiilor relaionale existente n noile versiuni de sisteme SGBDOR, ceea ce permite productorilor s-i pstreze clienii i domeniile de utilizare Limbajele de programare pentru SGBDOR sunt implementri de standarde mai recente ale limbajului SQL: SQL3 (SQL-1999), SQL-2003, SQL-2006
26
SGBDR
SGBDOR
Sisteme de fiiere
SGBDOO
Complexitatea datelor
SGBDR prelucreaz tipuri simple de date, dar permit interogri complexe SGBDOO prelucreaz tipuri de date complexe, dar n care rezolvarea interogrilor este destul de dificil SGBDOR permit prelucrarea datelor complexe i rezolvarea interogrilor complexe; sistemele de baze de date obiect-relaionale sunt considerate sisteme de baze de date universale
Prof. Felicia Ionescu Cap.1 - Introducere in Baze de date 27
1970
1980
1990
2000
29
30