Sunteți pe pagina 1din 48

Universitatea Al.I.

Cuza Iai
Facultatea de Economie i Administrarea Afacerilor
Departamentul de Contabilitate, Informatic economic i
Statistic

BAZE DE DATE
Prezentarea cursului
Marin Fotache

Ce sunt bazele de date ?


Pn

la un punct, sunt analoage memoriei


umane
Pstreaz (stocheaz) informaii legate de
tranzacii, ntmplri, procese, operaiuni
derulate etc.
Teoretic, perioada de pstrare este
nelimitat
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) 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
(administratori BD)

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

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
Dicionar
de date

Fiier de date 2

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 propriuzise

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

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, Romnia 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

Dezvoltator

Analist/proiectant

Administratorul
BD

Utilizator
ocazional

Baza de date

Aplicaie-program

Evoluia (incomplet a) bazelor de date


Fiiere
independente

Reea

Relaionale

Orientate
pe obiecte

Cod unic
Cod reutilizabil

Cod unic

Date

Cod reutilizabil

Cod unic

Citire/Scriere
din/n Fiiere

Metoda de acces

Cod reutilizabil

Cod unic

Fiiere

SGBD reea

SGBD relaionale

SGBD obiectuale

Date

Metoda de acces

Cod reutilizabil

Date

Metoda de acces

1950-1960
1960-1970

1970-1990

Date

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

Majoritatea posturilor de piaa IT (dezvoltare,


testare, administrare... solicit cunotine de BD
Studeni

ai specializrii Statistic...

Ceva mai reticeni la nceput (dac m


pricep la SPSS, la ce-mi mai trebuie SQL?)
n mare parte, datele economice de
analizat nu se iau din chestionare, ci din
BD
Bonus: introducere n R

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

Octavian
Dospinescu

Georgiana
Olaru

Ctlin Strmbei
(bonus: admin)

Echipa BD la specializarea
Statistic
Marin Fotache (curs)

Bogdan Diaconu

Hidden

(frizura nu a ncput
n poz)

Moment publicitar

Disciplina BD a avut ntodeauna


priz la public !

Imagine de la un curs din anii trecui

Cteva tutoriale video


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

Introduction to Databases, Part 1


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

Database Management Systems - Part 1


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

S-ar putea să vă placă și