Sunteți pe pagina 1din 18

Baze de date

Prof. dr. ing. Dorin Carstoiu Prof. dr. ing. Dorin Carstoiu
Curs 1
BILIOGRAFIE
1. A. Ullman, DataBase Design, 1972
2. D. Carstoiu, Tehnologia bazelor de date, Lit. UPB, 1992
3. D. Carstoiu, Baze de date relationale, Ed Printech, 1999
4. D. Carstoiu, Retele globale, Note de curs an VI SAD, Fac.
Automatica si Calculatoare.
5. F. Radulescu, Baze de date Internet, Ed. Printech, 2000 5. F. Radulescu, Baze de date Internet, Ed. Printech, 2000
6. F. Radulescu, PL1, Ed. Printech, 2005
7. *** Oracle PL1
8. *** Microsoft SQL
9. *** MySql, PHP.
2
INTRODUCERE
1. Definitii (baza de date, mediu de baza
de date, programe de baze de date si
aplicatii)
2. Structuri de date specifice in baze de
date
3. Operatii specifice in baze de date
4. Facilitati suplimentare in medii de baze
de date
5. Clasificari medii de baze de date
6. DataBase Management System (DBMS)
3
DEFINITII
O baza de date este o colectie persistenta de informatii
structurate, organizata si construita pentru facilitarea
accesului si prelucrarii eficiente.
Un mediu de baze de date este constituit din totalitatea
programelor ce permit definirea, manipularea, vizualizarea,
stocarea si gestionarea accesului la date.
Componentele unei aplicatii cu baza de date
Baza de date propriu-zisa
Programe de aplicatie
Proiectarea aplicatiilor necesita respectarea secventei:
proiectarea bazei de date si apoi a programelor de
manipulare.
4
STRUCTURI DE DATE SPECIFICE IN BAZE DE DATE
O baza de date este organizata ca o colectie de tabele, similare
cu tabelele pastrate pe formate tiparite.
Cap de
tabel
Structura
Coloane (field)
5
Randuri
(inregistrari
records)
Top
Bottom
Orice tabela are asociat un nume fizic si un nume logic.
STRUCTURA UNEI TABELE
Prin definirea structurii unei tabele se intelege stabilirea numelui
campurilor, a tipurilor de date si a formatelor asociate.
Nume camp - sir de caractere, similar cu numele variabilelor in
limbajele de programare, limitat ca lungime functie de mediul de
baze de date
Tip data, format tip generic functie de numarul de octeti
necesari pentru stocare (defineste mai mult formatul de afisare
nu cel de stocare) nu cel de stocare)
- Tip sir de caractere
6
String
Caracter
Varchar
Formatul dat de
numarul de caracter
din sir. Ex 20
- Numeric generic
Integer
Float
Real
Serial
Formatul definit ca (m.n)
M nr. Digiti inclusiv punctul
zecimal
N nr. Digiti dupa punctul zecimal
- Data calendaristica format implicit pentru reprezentare an, luna,
zi. Multiple formate de afisare.
- Time format pentru reprezentarea
momentului de timp. Multiple formate de afisare.
- Logical (boolean) Format implicit cu reprezentare pe un octet cu
valori posibile T/F (true/false)
- Blob Format binar pentru dimensiuni mari
(imagini).
- Memo Format implicit prin care in baza se
patreaza un index la continutul unui fisier de tip text. Este format patreaza un index la continutul unui fisier de tip text. Este format
nestructurat si nu permite cautare dupa continut.
7
Camp
memo
Fisier text asociat
OBS. Tipurile definite sunt tipuri generice, ele difera de la un mediu
la altul.
Strucura tabela:
Nume_tabela (nume_camp1 tip_data [format],
nume_camp2 tip_data [format],
.. )
OBS. Campurile pot avea o serie de atribute suplimentare privind
restrictiile de integritate (not null, primary key, forign key etc).
Campurile au asociata ordine fizica/
Fiecare camp este vazut ca o variabila careia ii este atribuita
valoarea corespunzatoare din inregistrarea curenta. La fiecare
tabela se asociaza un indicator de inregistrare. Indicatorul de
inregistrare se modifica functie de inregistrarea curenta.
O baza de date este constituita dintr-o colectie de tabele intre care
exista o serie de asocieri sau relatii:
Ex: Mybase(tabela_1, tabela_2, ., tabela_n)
8
OPERATII SPECIFICE IN BAZE DE DATE
Pentru manipularea datelor o serie de operatii sunt executate:
FIND gasirea inregistrarii ce indeplineste un anumit
criteriu
FIND NEXT gasirea inregistrarii urmatoare
READ vizualizarea inregistrarii
UPDATE reactualizarea continutului unei inregistrari
MODIFY modificarea structurii unei tabele MODIFY modificarea structurii unei tabele
APPEND adaugarea unei noi inregistrari
INSERT inserarea unei noi inregistrari
DELETE stergerea unei inregistrari
SORT reorganizarea continutului unei tabele
OBS. Pentru ca o operatie sa fie executata este nevoie ca utilizatorul
sa aiba drepturi corespunzatoare
9
FACILITATI SUPLIMENTARE IN MEDII DE BAZE DE DATE
O serie de caracteristici diferentiaza mediile de baze de date:
BACKUP
RECOVERY
ROLLBACK
ROLLFORWARD ROLLFORWARD
ARHITECTURA CLIENT/SERVER
SISTEM TRANZACTIONAL1010
ACCES CONCURENT
ADMINISTRARE DREPTURI ACCES
10
CLASIFICARE MEDII DE BAZE DE DATE
1. Dupa modelul datelor
Model relational (peste 90%) -bazat pe modelul entitate asociere
Model distribuit
Model ierarhizat
2. Dupa cost
Medii comerciale (<1000$) Fox, Access,
Medii profesionale (>1000$) Oracle, Progress, Informics, DB2 Medii profesionale (>1000$) Oracle, Progress, Informics, DB2
Atentie: Medii fara costuri - paradigma
3. Dupa arhitectura aplicatie:
Medii monouser (nu acces partajat la aceeasi resursa)
Medii multiuser
4. Dupa limbajul de dezvoltare aplicatii:
Limbaj nativ
Limbaj gazda
11
5. Dupa limbajul de implementare cereri:
Limbaje SQL (Structured Query Language) raspandire mare;
Limbaje QBE (Query By Exemple) Paradox;
Limbaje 4GL Progress
6. Dupa interfata utilizator:
Interfata alfanumerica;
Interfata grafica
7. Dupa platforma
Platforma Windows
Platforma Linux
Platforma Unix
12
DATABASE MANAGEMENT SYSTEM (DBMS)
Nucleul central al oricarui mediu de baze de date este DataBase
Management System (DBMS) sau SGBD.
DBMS consta dintr-o colectie de programe ce asigura definirea
structurilor de date, stocarea datelor, manipularea acestora,
vizualizarea, administrarea accesului.
Componente: Componente:
1. Data Definition Language (DDL)
2. Storage Definition Language (SDL)
3. View Definition Language (VDL)
4. Data Manipulation Language (DML)
5. DataBase Administrator (DBA)
13
DATA DEFINITION LANGUAGE (DDL)
Programe specializate ce permit crearea structurii bazei de date,
a structurii tabelelor si a relatiilor dintre acestea.
Prin DDL se genereaza entitatea baza de date si se permite
modificarea structurii acesteia.
Tipiurile de date permise depind de mediul de implementare.
La operatiile de import/export datele sunt convertite in formatul
propriu pentru destinatie. propriu pentru destinatie.
De cele mai multe ori nu se garanteaza integritatea datelor la
migrarea de la un mediu la altul sau chiar la versiuni ale
aceluiasi mediu.
Restrictiile impuse campurilor determina anomalii la migrare.
14
STORAGE DEFINITION LANGUAGE (SDL)
Componenta de regula invazibila utilizatorului
Este inclusa in nucleul mediului si asigura modalitatea de stocare
a bazei in memoria externa.
Structura de stocare nu asociaza pentru fiecare tabela un fisier.
Modalitatea de stocare este dependenta de organizarea memoriei
externe si de facilitatile de acces oferite.
Lucreaza in conjunctie cu DBA pentru a restrictiona accesul Lucreaza in conjunctie cu DBA pentru a restrictiona accesul
nepermis la date.
Utilizatorii pot utiliza propriile mecanisme de stocare fara a
garanta ca sunt superioare celor folosite de mediu.
La bazele de date comerciale componenta lipseste si este suplinita
de resurse ale sistemului de operare.
15
VIEW DEFINITION LANGUAGE (VDL)
Destinata vizualizarii datelor stocate in baza de date.
Permite crearea de tabele view prin care se faciliteaza procesarile
ulterioare.
Tabelele view nu sunt tabele permanente dar pot fi utilizate
similar cu acestea.
Pot fi realizate cereri in care sunt invocate tabele view.
Nu se regaseste in toate mediile de baze de date.
16
DATA MANIPULATION LANGUAGE (DML)
Componenta esentiala in stabilirea performantelor unui mediu de
baze de date
Determina modul de implementare a limbajului de cereri
Este singura componenta standardizata (modele SQL, QBE, 4GL)
Limiteaza dimensiunea bazei de date
Include algoritmi de optimizare a executiei cererilor
Are facilitati suplimentare la baze de date distribuite
17
DATABASE ADMINISTRATOR (DBA)
Nu se regaseste in toate mediile de baze de date
Asigura stabilirea drepturilor de acces ale utilizatorilor la baza de
date
Implementeaza concepte de securitatea datelor
Opereaza impreuna cu STL Opereaza impreuna cu STL
Asigura securizare intrinseca plus securizare bazata pe sistemul
de operare
18