Documente Academic
Documente Profesional
Documente Cultură
Culegere M3
Culegere M3
BAZE de DATE
Concepte introductive
Cosmina Ivan
cosmina.ivan@cs.utcluj.ro
Departamentul de Calculatoare
UNIVERSITATEA TEHNICA CLUJ NAPOCA
Argument
• Implementarea diverselor sisteme necesita BD ca
parte componenta specifica, BD – solutia optima
pentru stocarea si manipularea informatiei
PERSISTENTE.
• Ca dezvoltator de sistem (arhitect) sunt necesare o serie de
cunostinte
– Interogarea/ actualizarea BD – SQL si algebra relationala
necesare extragerii datelor din BD existente
– Programarea aplicatiilor cu BD – limbaje necesare accesului la BD
in mod programatic cu scopul procesarii tranzactiilor (modificarii
datelor) sau generarii de rapoarte
– Proiectarea BD – conceperea unei noi aplicatii necesita proiectarea
celei mai potrivite BD
– Noi tehnologii de organizare/acces la date – structuri XML,
frameworkuri obiectuale de acces la date (Hibernate Fw, Entity Fw),
baze de date nonrelationale utilizate masiv de gigantii actuali ai
2
domeniului ( Google, Yahoo) -Mongo DB…..
..Argument
• Date electronice cresc exponential – costul stocarii lor scade
drastic
• Seturile de date cresc in diversitate si volum: biblioteci digitale,
video interactiv…structuri cu bilioane de inregistrari
• Integreaza concepte diverse din stiinta calculatoarelor : limbaje,
algoritmi, logica…
• Datele sunt pretioase…. – mai pretioase decat SW, necesita
management eficient (stocare, interogare, protectie)
• Datele necesita structuralitate pentru a fi utile
• Domeniul bazelor de date – contributii remarcabile in
domeniul stiintei calculatoarelor …
• O serie de tehnologii pentru SGBD comerciale , cu larga
raspandire (... MySQL, Oracle, Postgresql, MS-SQL,SQLite)
3
Turing – in CS
4
..Big Data landscape
– Evaluare
• Laborator – 30% =5 teme obligatorii, individual
• Proiect – 30% - individual/echipa, din lista de sugestii/ideii
proprii acceptate
• Examen final – 40% (Examen partial 15%)
7
Obiective
• Model relational /algebra relationala
• Limbaj specific domeniului BD- SQL
• Interogari SQL simple/complexe a datelor dintr-o BD
• Elemente de proiectare a datelor relationale (diagrame EER,
UML)
• Intelegerea mecanismelor/ instrumentelor necesare construirii
aplicatiilor cu baze de date
• Generarea de rapoarte asupra datelor persistate
• Introducere in concepte avansate din domeniul bazelor de
date – securitate, tranzactii, structuri XML si obiectuale
• Familiarizarea cu tooluri utilizate in domeniul bazelor de date
(My SQKL Workbench, Microsoft SQL Server)
8
Asteptari
• Studiu individual ( bibliografie, Internet.. )
10
Terminologie
• Atomicitate • Data Mining
• Atribut • Data Warehouse
• 1NF/2NF/3NF/4NF • Diagrame ER
• Chei • Index
• Izolare
• Concurenta
• Join
• Cardinalitate
• Metadate
• Consistenta • Query
• DDL/DML • Replicare
• Proceduri stocate • Vederi (View)
• Tranzactii
11
Modelul bazei de date
12
…alt model
13
Continut curs
• Introducere in BD : Baze de date , SGBD , utilizatori de BD,
componente SGBD,concepte specifice si arhitecturi
• Limbaje relationale (SQL) si algebra relationala-tool pentru
verificarea corectitudinii formularilor de acces la date
(interogari)
• Constrangeri asupra datelor relationale si exprimarea lor
• Modelarea datelor – Modelul Relational,EER /UML
• Elemente de proiectare a BD relationale - normalizarea
• Procesarea tranzactiilor si controlul concurentei
• Aplicatii cu BD ( interfete de programare)
• Nivelul fizic. Stocare si indexarea datelor.
• Elemente de administrare si de securitate a datelor
• Tendinte/evolutie SGBD… BD-OO, noSQL…
14
Continut curs I
• Utilizari ale sistemelor de baze de date
16
• 1980:
– Cercetarile bazate pe prototipuri relationale au evoluat in sisteme comerciale => SQL
standard industrial
– Sisteme BD Paralele si distribuite,sisteme cu BD OR si OO
• 1990:
– Arhitecturi client server a sistemelor cu BD
– Aplicatii specifice : sistemele suport decizional si pentru data – mining,
data warehouses (terabyte )
– Standardul SQl99, Comert electronic (~2000),
• >2000:
– Arhitecturi pe trei niveluri a sistemelor cu BD
– Standarde XML – Xquery, BD OO si in WWW larg raspandite
– Noi capabilitati pentru noi clase de aplicatii (multimedia, timp real).
BigTable, Hadoop
• SGBD comerciale bazate pe modelul relational cunosc o larga raspandire
: Microsoft SQL Server, Oracle , Sybase Adaptive Server, DB2
– > industrie de >10 billion $
– evolueaza SGBD open source performante si din ce in ce mai larg
utilizate- MySQL, PostgreSQL….
17
BD- definitie
• Baza de date
– O colectie larga , integrata , de date corelate logic
si stocate pentru a mentine info si a oferi suport
pentru analiza (consultare/interogare).
18
SGBD - definitie
• SGBD – sistem software - colectie de programe
destinat crearii, stocarii si managementului bazelor de
date
– Ofera un mediu convenabil si eficient de utilizare
– Gestioneaza diverse aspecte de proiectare/implementare a
sistemelor cu BD
– Permite crearea BD , specificarea schemei sale
– Ofera suport pentru interogarea si modificarea eficienta a
datelor
– Mentine securitatea datelor la accidente sau acces
neautorizat
– Controleaza accesul concurent la date
21
Schema conceptuală
• Schemă logică (conceptuala) , descrie datele
stocate în BD în termenii (conceptele si abstractiunile)
specifice modelului de date al SGBD-ului utilizat.
22
Niveluri de abstractizare
• Nivel fizic (intern) : descrie modul in care sunt stocate
datele (fisiere si indecsi)
• Nivel logic (conceptual) : descrie datele stocate in BD si
relatiile dintre acestea.
• Nivelul vederi (extern): descrie modul in care utilizatorii /
programele vad datele
– ofera o modalitate prin care pot fi ascunse, detaliile
referitoare la tipul datelor, informatiile specifice de
securitate.. User User User
27
Funcţiile SGBD (2)
• Importul şi exportul datelor
– Conversia datelor pentru prelucrarea cu alt SGBD sau cu
aplicaţii terţe (de ex. Excel, CSV, MS-SQL to MySQL…. Etc.)
28
Funcţiile SGBD (3)
• Asigurarea integrităţii datelor
– Restricţii de integritate, de ex. SGBD-ul poate asigura că
vârsta unei persoane la introducerea în BD este cuprinsă
între x si y (tip CHECK)
• Responsabilitati:
31
DDL
• Limbaj de definire a schemei bazei de date (DDL) -
specifica structura de stocare si metodele de
acces utilizate
38
39
Cum funcţionează?
• SGBD-ul acceptă comenzi SQL generate de o varietate de
interfeţe utilizator
41
Clase de arhitecturi
• Arhitectura cu server de fisiere
• Arhitectura client-server (two tier-doua niveluri)
• Arhitectura client server three tier ( trei niveluri)/N tier
• Arhitecturi P2P
Arhitectura cu server de fisiere
• Serverul de fisiere este un computer conectat la retea ce
serveste ca spatiu de stocare partajat pentru acces la BD
• Procesarea este distribuita in retea, WS solicita date
• Serverul de fisiere nu este SQL aware, relatiile sunt
transferate la WS pentru a putea fi procesata
interogarea
• Dezavantaj – trafic in retea, cost ridicad software pe WS,
problematic controlul concurentei, SGBD multiple
aceeseaza aceeasi BD
Client server - Two tier
• comunicare intre C-S (prin IPC –inter process
communication - mecanisme SO, sau peste retea -
protocoale specializate (ODBC/JDBC)
Avantaje – cresc performanta – anumite taskuri se pot executa
in paralel, serverul poate fi optimizat pentru procesare BD
• Reduce costurile de comunicatie – doar anumite date
selectate sunt transferate
• Reduce cost hardware - un singur server ruleaza SGBD
• Creste gradul de consistenta si securitate - separare
functionalitati (verificare constrangeri intr-un singur loc)
Two tier client server
• Dezavantaj
– Limitari sub aspectul scalabilitatii la nivel enterprise - cu
mii de potentiali clienti
– Incarcare semnificativa pe parte de client pentru
administrare
– Deployment (distributia= componentelor aplicatiei
scump pentru o noua logica a aplicatiei
– Clientii pot necesita resurse substantiale pentru
procesare
Three tier client server
Niveluri : nivel prezentare (client) nivel logic (serverul de aplicatie) si
nivel de date (serverul de baze de date) ce pot rula pe platforme
diferite
Nivel prezentare
Prezentarea datelor – interfata utilizator
Validare intrari de date
Trimite cereri serverului si primeste raspunsuri
Nivel logic – logica de business ( a aplicatiei), logica de procesare a
datelor
Nivel de date
validarea datelor ( trigere proceduri)
gestionarea acceselor concurente la date ( tranzactii) si
autorizare acces, control recuperare la caderim, procesare
query
Three tier client server
Avantaje