Sunteți pe pagina 1din 19

Universitatea

Politehnica
Bucureti

Facultatea de
Automatic i
Calculatoare

Catedra de
Calculatoare

Laborator 1
Introducere n Oracle
Autori
Conf. Dr. Ing. Alexandru Boicea
As. Drd. Ing. Ciprian-Octavian Truic

Cuprins

Baze de date i Sisteme de gestionare a bazelor de date


Baze de date relaionale
Oracle SGBD
Alte Produse Oracle
SQL*Plus
Modelarea Algebrei Relaionale folosind Oracle Database
Operatorii Algebrei Relaionale
Controlul asupra bazelor de date
Structura unui tabel
Structura unui baze de date
Limbajul SQL

18.02.2015

Laborator 1

Baze de date i Sisteme de gestionare a


bazelor de date
O baz de date (BD, eng. database - DB) este un ansamblu
structurat de date care permite stocarea informaiilor i
prelucrarea eficient a acestora de mai muli utilizatori ntr-un
mod concurent.
Un sistem de gestiune a bazelor de date (SGBD, eng. Data
Base Management System - DBMS) este un produs software
care asigur interaciunea cu o baz de date, permind
definirea, consultarea i actualizarea datelor din baza de date.
Toate cererile de acces la baza de date sunt tratate i
controlate de ctre SGBD.

18.02.2015

Laborator 1

Baze de date relaionale


Conceptul de baze de date relaionale a fost introdus de E.F.
Codd n anii 70 i modeleaz bazele de date sub form de
tabele i relaii ntre acestea.
IBM a fost prima companie care a preluat i dezvoltat acest
concept (SEQUEL - Structured English QUEry Language),
punnd la punct limbajul SQL (SEQUEL2) n anul 1976, ulterior
dezvoltnd DB2 i SQL/DS.
Oracle Corporation lansez n 1979 primul produs SQL,
cunoscut ca limbajul standard de interogare a unei baze de
dare, care a fost standardizat de Institutul Naional American
de Standarde(ANSI), iar ulterior de Organizaia Internaional
de Standarde(ISO).
Standardul curent de SQL este SQL:2011
18.02.2015

Laborator 1

Baze de date i Sisteme de gestionare a


bazelor de date
Exist mai multe tipuri de SGBD-uri:
Relaionale, cele mai cunoscute i utilizate fiind: Oracle, Microsoft SQL
Server, IBM DB2, MySQL, PostgreSQL
NoSQL:

18.02.2015

Orientate document(Document-oriented Database): MongoDB, Apache CouchDB


Graf(Graph Database): Neo4J
Cheie-valoare (Key-Value Database): Riak, Redis
Orientate obiect(Object database): Cach, ObjectDB
Orientate coloana(Column-oriented Database): Apache HBase, Cassandra
etc.

Laborator 1

Oracle SGBD
Oracle este cel mai utilizat SGBD-uri din lume (http://dbengines.com/en/ranking).
Primele versiuni de Oracle au fost dezvoltate pentru
sistemul VAX/VMX, produs de firma Digital; ulterior au
aprut versiuni pentru UNIX (rescris n C),
Windows(ncepnd cu versiunea 8) i Linux.
ncepnd cu versiunea 8i pentru a dezvolta SGBD-ul s-a
folosit limbajul de programare Java.
ncepnd cu versiunea 8i au permis dezvoltarea
aplicaiilor care acceseaz baza de date prin intermediul
Internetului.
18.02.2015

Laborator 1

Oracle SGBD
Pentru a interoga i prelucra informaia stocat ntr-o baz de
date, n Oracle se pot folosi urmtoarele limbaje de
programare:
SQL : este un limbajul de programare dezvoltat special cu scopul de a
procesa informaia pstrat ntr-o baz de date (set-oriented
language).
PL/SQL: este un limbaj procedural, construit ca extensie a limbajului
SQL, care, pe lng interogrile SQL, folosete structuri de control
(if...then, if...then...else, if...then...elsif...else, case ) i bucle (loop,
while, for).

Produsele Oracle s-au impus pe pia datorit instrumentelor


de dezvoltare oferite, siguranei n exploatarea bazelor de
date, gestionarea unui volum mare de date i mai ales
datorit nivelurilor de securitate.
18.02.2015

Laborator 1

Alte Produse Oracle


Pentru dezvoltarea de aplicaii complexe pot fi folosite i
alte produse Oracle, cum ar fi:
Forms Builder pentru generarea de interfee utilizator
Reports Builder pentru generarea de rapoarte
Schema Builder pentru definirea de tabele i relaii ntre
tabele
Procedure Builder pentru dezvoltarea i testarea procedurilor
SQL Developer IDE pentru dezvoltarea interogrilor SQL i
programelor PL/SQL

18.02.2015

Laborator 1

SQL*Plus
SQL*Plus este un interpretor n linie de comand (CLI
command line interpreter) care este utilizat pentru
scrierea i lansarea ctre motorul bazei de date Oracle a
interogrilor SQL i programelor PL/SQL;
Acesta poate fi folosit pentru manipularea datelor i
crearea obiectelor ntr-o baz de date;
De asemenea, se poate folosi pentru dezvoltarea i
testarea interogrilor i procedurilor nainte de a fi
integrate n aplicaii i pentru crearea rapid de rapoarte
complexe.

18.02.2015

Laborator 1

Modelarea Algebrei Relaionale folosind


Oracle Database
Inspirat din Algebra Relaional, modelul bazelor de date
relaionale poate fi considerat drept o colecie de tabele
bidimensionale, definite de urmtoarele concepte:
O entitate din algebra relaional devine un tabel ntr-o baz de
date;
Un tabel este format din coloane i rnduri, iar cmpul este o
valoare care se afl la intersecia dintre o coloan i un rnd;
O relaie(asociere) este o legtur ntre dou sau mai multe
entiti. Existena unei relaii este subordonat existenei
entitilor pe care le leag;
Un atribut este o proprietate descriptiv a unei entiti sau a
unei relaii. Pentru o enitate tipul atributului devine coloan,
reprezentat printr-un nume, iar valoarea efectiv a acestuia,
pentru o nregistrare, devine un cmp n tabel.
18.02.2015

Laborator 1

10

Modelarea Algebrei Relaionale folosind


Oracle Database

18.02.2015

Laborator 1

11

Operatorii Algebrei Relaionale


Modificarea datelor este realizat prin operaiile relaionale efectuate pe
tabele, iar operatorii acioneaz asupra tabelelor pentru a produce noi
relaii.
Operatorii relaionali pot fi definii astfel:
Proiecie () este operaia care afieaz selectiv anumite coloane din una sau
mai multe tabele (submulime vertical);
Selecie sau restricia () este o operaie care preia i afieaz roate rndurile
din una sau mai multe tabele sau doar rnduri care ndeplinesc una sau mai
multe condiii(submulime orizontal);
Produs (x) este rezultatul obinut prin concatenarea rndurilor a dou mulimi
de date conform condiiilor specificate;
Reniunea (U) este rezultatul obinut prin afiarea rndurilor comune i
neconume dintre dou sau mai multe tabele;
Intersecia () este rezultatul obinut prin afiarea rndurilor comune dintre
dou sau mai multe tabele.
18.02.2015

Laborator 1

12

Operatorii Algebrei Relaionale


Diferena (-) este rezultatul obinut prin afiarea rndurilor care aparin numai
unei singure tabele conform condiiilor specificate;
Joinul sau compunerea ()este rezultatul obinut prin concatenarea
coloanelor din una sau mai multe tabele conform condiiilor specificare;
Compunere natural (natural join ) combin rndurile din dou relaii, cu
condiia ca atributele comune s aib valori identice;
Semi-compunere (semi-join ) selecteaz rndurile ce aparin unei singure
relaii, care sunt corelate cu rndurile din cea de a doua relaie;
-compunere (-join) combin rndurile din dou relaii (nu neaparat
corelate), cu condiia ca valorile atributelor specificate s satisfac o anumit
condiie;
Compunere extern (outer join) combin rndurile din dou tabele, astfel
nct condiiile de corelare s fie satisfcute. Rndurile din orice relaie care nu
satisfac aceste condiii sunt completate cu valori null.

18.02.2015

Laborator 1

13

Controlul asupra bazelor de date


Controlul asupra bazelor de date este gestionat de SGBD i
resptect anumite reguli:
O baz de date relaional apare ca o colecie de tabele definite de ctre
utilizator;
Utilizatorii nu controleaz felul cum este organizat fizic informaia;
Controlul fiierelor de date este gestionat exclusiv de catre sistem;
Utilizatorul poate defini anumiti parametri de sistem pentru optimizarea
aplicaiilor sau pentru diferite setri;
Accesul la baza de date este gestionat exclusiv de sistem prin executarea de
comenzi specifice;
Rularea aplicaiilor, att pe server ct i pe maina client , este gestionat
exclusiv de catre sistem.

18.02.2015

Laborator 1

14

Structura unui tabel


Structura unui tabel trebuie s respecte anumite reguli:

18.02.2015

S nu existe duplicare de rnduri i coloane;


Rndurile i coloanele pot s nu respecte o anumit ordine;
Tipul coloanelor trebuie definit n concordan cu tipurile de date;
Relaiile ntre tabele se fac pe coloane de acelai tip;
Valorile sunt atomice.

Laborator 1

15

Structura unui baze de date

18.02.2015

Laborator 1

16

Structura unui baze de date


O/S block reprezint cea mai mic unitate fizic de organizare a datelor
ntr-o baz de date
Data files sunt fiierele de date organizate fizic n limita spaiului alocat.
Fiierele de date stocheaz fizic datele n baza de date;
Data block reprezint cea mai mic unitatre logic de intrare/ieirea i
poate conine unul sau mai multe blocuri fizice;
Extent reprezint o extensie logic a bazei de date reprezentat printr-un
numr continuu de blocuri;
Segment reprezint spaiul logic ntr-un tablespace, acesta pot fi de mai
multe tipuri(segmente de index, segmente temporare, segmente de
rollback).
Tablespace este spaiul logic n caer se creeaz obiectele (tabele, viewuri). O baz de date poate avea mai multe tablespace-uri, iar un
tablespace poate avea alocat fizic mai multe fiiere de date(data-files).

18.02.2015

Laborator 1

17

Limbajul SQL
SQL este un limbaj orientat pe seturi (set-oriented
language);
ntr-un limbaj procedural sau orientat obiect, un
programator proceseaz informaia rnd cu rnd, ns
folosind SQL, un dezvoltator poate s proceseze grupuri
de rnduri.

18.02.2015

Laborator 1

18

Limbajul SQL
Limbajul SQL are urmtoarele 16 comenzi, grupate n 4
categorii:
Data Manipulation Language (DML): SELECT, INSERT, UPDATE,
DELETE, MERGE
Data Definition Language (DDL): CREATE, ALTER, DROP,
RENAME, TRUNCATE, COMMENT
Data Control Language (DCL): GRANT, REVOKE
Transaction Control Language (TCL): COMMIT, ROLLBACK,
SAVEPOINT

18.02.2015

Laborator 1

19

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