Sistemul de gestiune Oracle 10g/11g - ofera o infrastructura software completa bazata pe tehnologia
"g" - Grid computing - care realizeaza o mai usoara administrare a resurselor si aplicatiilor.
SGBD ORACLE a fost definit ca: un ansamblu complex de programe care asigura interfata intre o baza
de date si utilizatorii acesteia.
-sistem de gestiune a bazelor de date complet relational, extins cu facilitati din tehnologia orientata
obiect(OO).
-principalele criterii care trebuie indeplinite de SGBD ORACLE pentru a fi considerat un SGBD
relational, sunt urmatoarele:
Relatia se defineste prin schema relatiei – multimea atributelor prin care se descrie o relatie,
impreuna cu domeniile asociate acestora si numele atributelor. Relatia ca variabila, se modifica
in cursul existentei sale, prin inserarea sau stergerea tuplurilor, sau prin modificarea
(actualizarea) valorilor atributelor tuplurilor.
R5!CHEIA UNEI RELATII „R” reprezinta ansamblul minimal de ATRIBUTE prin care se poate
identifica in mod unic orice tuplu din R.
CHEIE SIMPLA vs CHEIE COMPUSA(CANDIDATI CHEIE -> CHEIE PRIMARA VS CHEI ALTERNATE)
Intr-o relatie pot exista mai multe combinatii de atribute cu proprietate de identificare unica a
tuplurilor
In acest caz se poate spune ca relatia are mai multi candidati cheie (sau mai mutle chei
candidate)
In aceasta situatie, administraotrul bazei de date va alege dintre cheile candidate una care sa
serveasca in mod efectiv la identificarea tuplurilor si care va primi numele de cheie primara, iar
restul cheilor candidate vor purta numele de chei alternate.
B)operatorii relationali implementati in SGBD Oracle, provin din Algebra relationala. Acestia sunt:
- reuniunea, diferenta si intersectia(tabele identice)
- selectia si proiectia
- jonctiunea
!! Toti operatorii relationali, sunt implementati in limbajul SQL prin clauze specifice din comanda
SELECT din limbajul SQL*PLUS.
a. 6 OPERATII DE BAZA
b. 2 OPERATII DERIVATE
R6.1 ! REUNIUNEA: Notatii uzuale: OR(R1,R2); APPEND(R1,R2); pt Oracle-> UNION(R1,R2);
UNION ALL – realizeaza de asemenea reuniunea a doua tabele, dar fara eliminarea dublurilor.
Pentru a realiza operatiunea de UNION, tabelele implicate trebuie sa fie compatibile (acelasi numar
de coloane iar coloanele sa corespunda acelorasi domenii)
OPERATORUL UNION – returneaza rezultatele a doua interogari, mai putin inregistrarile duplicate.
In SQBD Oracle optiunea UNION permite combinarea a doua sau mai multe tabele.
Aceste interogari au ca efect returnarea tuturor valorilor campului Denumire din cele 2
tabele – fara a elimina duplicatele.
Aceste operatii returneaza doar randurile ce se afla in prima tabela dar nu si in a doua.
Ex:
SELECT * FROM tabela1
MINUS
SELECT * FROM tabela2
Sa se afiseze codurile produselor care nu au fost contractate:
SELECT CodP FROM produse
MINUS
SELECT DISTINCT CodP FROM produse_contractate
R6.3! INTERSECTIA:
Reprezinta o operatie definita pe doua relatii: R1 si R2 ambele cu o aceeasi schema, operatie care
consta in construirea unei noi relatii R3, cu schema identica cu a operanzilor R1 si R2, si avand drept
extensie tuplurile comune din R1 si R2.
Returneaza numai liniile gasite de ambele interogari. Combina doua tabele si pastreaza doar
valorile comune.
De ex: se poate considera o propozitie logica de tip AND (sa se extraga toate inregistrarile
din prima tabela care sunt comune cu inregistrarile din a doua tabela)
SELECT * FROM tabela1
INTERSECT
SELECT * FROM tabela2
R6.4! SELECTIA
Reprezinta o operatie a AR definita asupra relatiei R, operatie care consta in construirea unei relatii
S, a carei schema este identica cu cea a relatiei R, dar a carei extensie este constituita din acele
tupluri din R care satisfac o conditie mentionata explicit in cadrul operatiei.
Intrucat cel mai adesea nu toate tuplurile din R stisfac aceasta conditie, SELECTIA inseamna
efectuarea unor "taieturi orizontale" asupra relatiei R, adica: eliminarea de tupluri:
Conditia din cadrul operatiei este de forma: atribut -> operator de comparatie -> valoare
WHERE pop>350;
R6.5! PROIECTIA
Reprezinta o operatie a AR definita asupra relatiei R, operatie care consta din construirea unei noi
relatii P, in care se regasesc numai acele atribute din R specificate explicit in cadrul operatiei.
Suprimarea unor atribute din R ins efect unor „taieturi verticale” asupra lui R, care pot avea ca efect
aparitia unor tupluri duplicate, ce se cer a fi eliminate!
Prin op. De PROIECTIE se trece de la o relatie de „grad n” la o relatie de „grad p” mai mic decat cel
initial (p<n).
WHERE REXERVARI.CODCL=CLIENTI.CODCL;
R6.6! JONCTIUNEA
Exemplu Interogarea „Să se găsească numele angajaţilor şi oraşele în care aceştia lucrează” se poate
rescrie sub forma
on a.Dept = d.Dept
In cazul unei joncţiuni, liniile dintr-un tabel ce nu au linii corespondente în celălalt tabel vor fi
eliminate din rezultat. Pentru a forţa apariţia unor astfel de linii în rezultat se poate apela la
joncţiunea externă, cu cele trei variante: • left join – furnizează acelaşi rezultat ca şi inner join, dar
include şi liniile tabelului ce apare în stânga joncţiunii pentru care nu există linii corespondente în
tabelul din dreapta; • right join – păstrează liniile tabelului din dreapta ce nu au corespondent în
tabelul din stânga; • full join – furnizează acelaşi rezultat ca şi inner join, suplimentat cu liniile
excluse din ambele tabele.
C)RESTRICTIILE DE INTEGRITATE se implemeteaza prin comenzile LDD din SQL. Aceste restrictii sunt:
CHAR(2)
VARCHAR(2)
NUMBER(2)
NUMBER(3,2) - 3 pozitii, ultimele 2 numere zecimale
DATE(8)
Constrangeri:
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
CLEAR Screen;
-- <- comentariu
DESCRIBE numeTabela
Restrictii de integritate minimale: sunt obligatoriu de definit si de respectat atunci cand se lucreaza
cu modelul relational;
Alte restrictii de integritate: nu definesc o categorie obligatoriu de respectat, dar exista cazuri cand
aplicarea lor este impetuos necesara pentru rafinarea si coerenta modelului.
(R9!)1. RESTRICTIA DE UNICITAE A CHEII: Intr-o relatie nu pot exista doua tupluri cu o aceeasi
valoare pentru atributele cheie. t1(k) =/ t2(k).
Repr restrictia de integritate care impune ca intr-o relatie, R care are cheia K, oricare ar fi tuplurile t1,
t2 sa fie satisfacuta inegalitatea: 𝑡1 (𝐾) ≠ 𝑡2 (𝐾)
Reprezinta restrictia de integritate care impune ca intr-o relatie R1, care refera o relatie R2, valorile
cheii externe sa figureze printre valorile cheii primare din relatie R2 sau sa fie valori "null"
(nedefinite)
Semnificatia restrictiei: o asociere nu poate exista decat intre parteneri cunoscuti,
adica parteneri deja definiti. Atunci cand intr-o anumita situatie, asocierea nu este aplicabila, unul
dintre parteneri va fi desemnat prin valoarea "null", cu semnificatia de "partener inexistent"
Reprezinta restrictia de integritate care impune ca intr-o relatie, atributele cheii primare sa fie
nenule.
Cheie externa: CONSTRAINT fk_codfz FOREIGN KEY (CodFz) REFERENCES Furnizori (CodFz);
(CodT Varchar2(5),
DenT Varchar2(1)
IN ('Livrari',"Receptie')),
CodF Varchar2(5),
CodC Varchar2(5),
ON DELETE CASCADE,
Prin specificarea optiunii ON DELETE CASCADE la nivelul coloanei "CodF" este permisa stergerea
liniilor "parinte" din tabela de baza "Furnizori" si se realizeaza stergerea automata a tuturor
tranzactiilor efectuate de furnizorul respectiv, inregistrate in tabela "Tranzactii"
2.Indeplineste functiile unui SGBD(descriere, manipulare, utilizare si administrare) – implementate
prin:
c. Interfetele sunt produse software care permit dezvoltarea aplicatiilor cu baze de date.
TO_DATE ('data','format_data')
TO_DATE('05/11/2018','DD-MM-YYYY')
-Partajarea datelor;
In Oracle este implementata o varianta extinsa de SQL standard, numita SQL*PLUS (limbajul
relational de regasire).
Pentru a suplini lista facilitatilor procedurale din SQL, SGBD ORACLE prezinta un limbaj imperativ
propriu - numit PL/SQL (Programming Language SQL).
La instalarea sistemului Oracle, exista definite componente pentru Server si componente pentru
arhitectura Client.
6.Functioneaza in mediu distribuit, respectand cele 12 reguli ale lui CHRIS.J.Date, dar are si versiuni
de lucru pe statii individuale(work stations).
12 reguli conform carora se poate stabili daca un SGBD este dsitribuit sau nu.
Ca o sinteza a regulilor, se poate afirma ca distribuirea datelor nu trebuie sa afecteze in niciun fel
utilizatorii. (SGBD-ul va asigura o transparenta totala a distribuirii datelor).
R3.Continuitatea
R5.Independenta fragmentarii
R6.Independenta replicarii
R7.Interogari distribuite
R8.Tranzactii distribuite
7.Detine instrumente CASE (Computer Aided Software Engineering) pentru activitatile de analiza si
proiectare a aplicatiilor cu baze de date: ORACLE DESIGNER.
9. Indeplineste cele 13 reguli ale lui Codd, privind cerintele ca un SGBD sa fie complet relational.
R1-R13 EDGAR F. CODD (cercetator la IBM) a formulat 13 reguli care exprima cerintele maximale
pentru ca un SGBD sa fie relational.
-Limbajele utilizate
Lucrul distribuit in retea globala de calculatoare, facilitati de lucru orientate obiect, facilitati
multimedia, gestionarea bazei pentru Internet;
Gestionare baze de date de mare volum(DataWarehouse);
Implementare tehnologii pentru analize complexe ale datelor(OLAP, Data Mining)
Baza de date
Interfete de dezvoltare
Developer
Designer
Express
Nucleul Oracle
SQL*PLUS
PL/SQL
Java
Instrumente de intretinere
Administrator tools
Net products
Browsere editoare
1.Nucleul sistemului oracle
Contine componentele care implementeaza tipul relational in SGBD ORACLE
Limbajul relational de regasire - SQL
Limbajul procedural propriu - PL/SQL