Sunteți pe pagina 1din 48

Universitatea Al.I.

Cuza Iai Facultatea de Economie i Administrarea Afacerilor Catedra de Informatic Economic

BAZE DE DATE
Prezentarea cursului

Ce sunt bazele de date ?


Pn la un punct, sunt analoage memoriei umane Pstreaz (stocheaz) informaii legate de tranzacii, ntmplri, procese, operaiuni derulate etc. Permit prelucrri de date: calcule, comparaii, analize, sinteze etc. Se folosesc n toate domeniile (chiar dac de obicei trec neobservate)

Exist baze de date fr calculatoare ?

n sens larg (de arhiv), da

Propriu-zis, nu !

Putem tri fr baze date ?

Bineneles !

Tehnologii concurente de stocarea a informaiilor


Procesoare de texte (Word) Programe de calcule tabelare (Excel) Tehnologii web

HTML, XML, ...

Dezavantajele bazelor de date - 1


Sunt rigide (pe multe alocuri), datorit gradului nalt de structurare Cer eforturi considerabile de proiectare (vezi i Analiza i proiectarea SI sau SIFC1+2) i implementare n aplicaii, nu sunt vizibile (uneori nici accesibile) BD necesit echipamente scumpe, iar cele mai bune SGBD-uri cost i trebuie ntreinute de personal specializat

Dezavantajele bazelor de date - 2


Formele curente (naturale) n care se gsesc informaiile sunt cele de text, imagini, secvene video; preluarea n BD necesit mecanisme de import, copiere, sau introducere manual Funcionarea multor companii i organizaii actuale depinde decisiv de B lor D Nu sunt att de cool precum Facebook, Youtube Constituie subiectul multor migrene (mai

Avantajele bazelor de date - 1


Pot avea dimensiuni orict de mari (muni de informaii, dar i mlatini) Furnizeaz informaii cu mare grad de exactitate, necesare n afaceri (ex. situaii contabile), calcule de structur etc. Permit prelucrri, nsumri, filtrri, cutri avansate n rndul tehnologiile informaionale, BD au probabil cele mai bune mecanisme de securitate

Avantajele bazelor de date - 2


Sunt, ntr-o mare msur, extensibile (scalabile) Oferta de software pentru BD este extrem de vast, unele SGBD-uri sunt chiar gratuite i instalabile pe o gam larg de calculatoare (Windows, Linux, Mac...) Chiar dac rolul lor s-ar putea diminua n arhitecturile de tip SOA, cloud computing, etc. deocamdat (pentru o bun durat de timp) nu au nlocuitor

Prin ce difer esenial BD de foile de calcul sau alte tehnologii?

Schem de principiu a unei baze de date


B A Z A DE D A T E

Fiier de date 1 Fiier de date 2 Dicionar de date

Fiier de date n

Aplicaia 1

Aplicaia 2

Aplicaia 3

O definiie academic (lemnoas)


O BD reprezint o colecie de date utilizat ntr-o organizaie, colecie care este:
persistent, automatizat, partajat, definit riguros (formalizat), controlat la nivel central.

Cele dou aspecte ale BD

Schema (stocat n dicionarul de date) este structura, aspectul constant, organizarea bazei; schema descrie datele, relaiile dintre date, restriciile la care se supun datele
Coninut aspectul variabil, dinamic ale bazei; datele propriu-zise

Sisteme de gestiune a bazelor de date SGBD - 1


Engl. Data Base Management System (DBMS)

Fr.: Systemes de Gestion des Bases de Donnees (SGBD)

Dup cum: Word este software-ul necesar crerii i editrii documentelor (.DOC) Excel este software-ul pt. foi de calcul (.xls),

SGBD-ul este software-ul pt. crearea i folosirea bazelor de date

Sisteme de gestiune a bazelor de date SGBD - 2 Servere de date: o alt denumire pentru unele dintre SGBD-uri Toate serverele de date sunt SGBD-uri, ns reciproca nu este valabil Exemple de SGBD-uri care nu sunt servere de date: Access Visual FoxPro Paradox dBase

Schem simplist de folosire a BD

Servere de baze de date


Un server de date este SGBD mai pretenios, fiind instalat pe un calculator (server) special dedicat (cu resurse (mai) puternice)

Relaionale
Open Source:
MySQL (Oracle) PostgreSQL Ingres

Comerciale:
Oracle

DB2 (IBM) SQL Server (Microsoft)

Post-relaionale
Cache, MongoDB, Cassandra, Neo5j, Versant etc.

Schema simplificat a unui server BDR

Ex. de arhitectur informaional

Un server BD Open Source PostgreSQL

Unul dintre cele mai puternice servere BD IBM DB2

Serverul BD cu cea mai bun dinamic a pieei Microsoft SQL

Server

(Probabil) cel mai bun server BD Oracle

Utilizatori involuntari ai BD
Cea mai mare parte a celor ce folosesc BD nici nu tiu de existena lor (i triesc aa fericii pn la adnci btrnee*) Sunt numii utilizatori cureni ai aplicaiilor (pentru c ignoranii sunt ntotdeauna majoritari) Interacioneaz cu BD prin interfaa aplicaiei (meniuri, formulare, rapoarte) Sunt complet dependeni de aplicaii i informaticieni (care sunt, la rndul lor, dificili)

* Dac nu urmresc Antena 3, Realitatea TV sau OTV

Utilizatori voluntari ai BD-1


Prima categorie: utilizatori ocazionali Sunt inta acestui curs tiu s citeasc schema unei BD i s obin aproape orice raport sau informaie de care au nevoie Nu sunt programatori Nu au nevoie de informaticieni dect pentru asigurarea accesului la BD

Utilizatori voluntari ai BD-2


A doua categorie: analiti/proiectani Au nevoie i de alte cursuri (Analiz, proiectare, SIFC-uri) Nu numai c tiu s citeasc o BD, dar i s proiecteze o schem de BD Nu sunt (de obicei) programatori Lucreaz mpreun cu informaticieni la realizarea (dezvoltarea) aplicaiilor

Utilizatori voluntari ai BD-3


A treia categorie: dezvoltatori de aplicaii Sunt (de obicei) programatori Au nevoie i de alte cursuri (Programare, Siteuri/Aplicaii Web, BD 2/avansate...) Folosesc schema de BD pentru a realiza interfaa (formulare, rapoarte) i logica aplicaiei Ca i profesorii, uneori sunt dificili i introvertii, chiar enervani

Utilizatori voluntari ai BD-4


A patra categorie: administratorul BD Reprezint IL CAPO DI TUTTI CAPI ntr-o BD Creaz obiecte i utilizatori ai BD Acord i revoc drepturi utilizatorilor BD Rspunde de optimizarea BD n capul su se sparg oalele dac BD o ia razna Are nevoie i de alte cursuri (BD 2/ avansate, Administrarea BD, Programare)

Niveluri de abstractizare a datelor


Utilizatori involuntari Utilizator ocazional

Dezvoltator

Analist/proiectant

Administratorul BD

Evoluia (incomplet a) bazelor de date


Aplicaie-program
Fiiere independente
Cod unic Cod reutilizabil Date Citire/Scriere din/n Fiiere Fiiere Cod unic Cod reutilizabil Metoda de acces SGBD reea Date Cod unic Cod reutilizabil SGBD relaionale Metoda de acces Date Cod unic SGBD obiectuale Cod reutilizabil Metoda de acces Date

Reea

Relaionale

Orientate pe obiecte

Baza de date

1950-1960 1960-1970

1970-1990

1990- ...

Modelul ierarhic

Modelul reea

Modelul relaional

Modelul E-R

Modelul de date XML

Sursa: Ponniah 2007

Un model de date NoSQL - MongoDB


db.facturi.insert ( { _id : 1111, datafact : new ISODate("2011-08-01T11:00:00Z"), codcl : myClientId, linii : [ { linie : 1, produs : {_id: 1, denpr : 'Produs 1', um : 'buc', grupa : 'Tigari', procTVA : 0.24 }, cantitate : 50, pretunit : 1000 }, { linie : 2, produs : {_id: 2, denpr : 'Produs 2', um : 'kg', grupa : 'Bere', procTVA : 0.12 }, cantitate : 75, pretunit : 1050 }, { linie : 3, produs : {_id: 5, denpr : 'Produs 5', um : 'buc', grupa : 'Tigari', procTVA : .24 }, cantitate : 500, pretunit : 7060 } ] }) ;

Limbaje de programare pentru BD


Sunt diferite de limbajele clasice (Pascal, C, Basic, Java) sau cele de scripting (Php) De obicei, nu prezint intruciuni (grupate n programe), ci comenzi lansate autonom (sau n grupuri script-uri) Pot fi nvate fr a ti deloc programare Cel mai important: SQL Altele: OQL, LINQ, XQuery, QBE

Limbaje pentru BD Trei tipuri de comenzi


DDL (Data Definition Language)
- Modific schema BD - Creaz, terg i modific obiectele din BD - Ex: CREATE TABLE, DROP INDEX, ALTER VIEW

DML (Data Manipulation Language)


- Destinate editrii i prelucrrii coninutului BD - Ex. INSERT, UPDATE, DELETE, SELECT

DCL (Data Control Language)


-

Controlul drepturilor de acces la obiectele BD Ex. CREATE USER, GRANT, REVOKE

Teme actuale n bazele de date i domenii conexe


Tehnologii i servere NoSQL (Dynamo, MongoDB, CouchDB, Cassandra, Neo4j etc.) Servere NewSQL (VoltDB, MySQL Cluster, Clustrix) BigData Analytics Data Mining Semantic Web

Dou inte (victime) ale cursului

Studeni InfoEc
Cooperani (de obicei) BD reprezint, alturi de programare i analiz/proiectarea, un pilon esenial al cunotinelor de baz pentru un absolvent IE

Statistic
New Kids in Town

Dificulti majore ale cursului


Nu este de tocit, ci de neles Trebuie exersat (lucrat)

Examinare. Cum v-o dorii...

... i cum o s se desfoare

Teste Blackboard

Examen(e) scrise

Echipa BD la InfoEc
Marin Fotache Irina Dan

Diana Neagu

Octavian Dospinescu Ctlin Strmbei

Echipa BD la specializarea Statistic


Marin Fotache (curs)

Hidde n

Bogdan Diaconu

Moment publicitar

Disciplina BD a avut ntodeauna priz la public !

Imagine de la un curs de anul trecut

Cteva tutoriale video


Databases and SQL - an introduction
http://www.youtube.com/watch?v=SVV7HjKmFY4&feature=related

Introduction to Databases, Part 1


http://www.youtube.com/watch?v=mNFQZzvx1VM&feature=related

Database Management Systems - Part 1


http://www.youtube.com/watch?v=1CEQcSSSKfo&feature=related