Baze de Date Avansate - Oracle

Previzualizare curs:

Extras din curs:

I. Modelul relaţional-obiectual

Necesitatea gestionării obiectelor complexe (precum texte foarte lungi, grafice, hărţi, imagini, sunete, etc.) a condus la introducerea conceptului de obiect în cadrul schemelor relaţionale. În prezent tehnologia bazelor de date orientate obiect este încă la început, neexistậnd un model general de SGBD orientat obiect. S-a impus însă un model relaţional care suportă majoritatea principiilor modelării orientate pe obiect. Începậnd cu versiunea Oracle 8 putem vorbi de SGBD-uri relaţional-obiectuale ce facilitează integrarea tehnologiei orientate pe obiect în modelul relaţional.

Un obiect este un model informaţional al unei entităţi reale, care posedă o mulţime de proprietăţi şi care are în acelaşi timp un anumit comportament. Avậnd în vedere proprietăţile comune şi comportamentul similar al entităţilor pe care le modelează, obiectele pot fi împărţite în mulţimi. Dacă în limbajele de programare orientate obiect avem noţiunea de clasă pentru a desemna o mulţime de obiecte de acelaşi fel, în sistemul Oracle se poate defini un tip obiect, obiectele individuale similare constituind manifestări/realizări/instanţieri ale acestuia. Proprietătile obiectelor se pot defini cu ajutorul atributelor din definiţia tipului obiect, iar comportamentul acestora va fi stabilit prin metodele precizate.

Tipul obiect poate fi folosit în modelul relaţional pentru a defini tabele obiect sau câmpuri intr-un tabel relaţional. Oracle permite abordarea tabelelor obiect în două maniere :

- ca şi tabele cu o singură coloană, în care fiecare linie este un obiect de tipul obiect ce a stat la baza definirii acestora ;

- ca şi tabele cu mai multe coloane, în care acestea corespund atributelor din definiţia tipului obiect considerat.

Totodată se pot defini vederi obiect, ce reunesc într-un singur obiect date din mai multe relaţii şi care permit navigarea orientată obiect prin structurile relaţionale existente.

Exemplu : Se va creea tabela « personal » ce va conţine obiectul coloană « angajat ». Codul angajatului va constitui cheia primară a tabelei.

CREATE TYPE tip_adresa AS OBJECT (

strada VARCHAR2 (20),

numar NUMBER (3),

oras VARCHAR2 (20),

tara VARCHAR2 (20));

CREATE TYPE tip_angajat AS OBJECT (

cod_personal NUMBER (9),

nume VARCHAR2 (20),

prenume VARCHAR2 (20),

salar NUMBER (8),

adresa tip_adresa);

CREATE TABLE personal (

angajat tip_angajat,

titlu VARCHAR2 (10),

functie VARCHAR2 (10),

CONSTRAINT pk_cod PRIMARY KEY (angajat.cod_personal ));

Obiectele definite în exemplul anterior sunt obiecte relativ simple avậnd numai atribute specificate. Comportamentul lor poate fi descris însă cu ajutorul unor metode. Acestea vor fi funcţii sau proceduri PL/SQL şi stocate în baza de date .

Popularea cu date a tabelelor relaţionale ce conţin obiecte coloană sau a tabelelor obiect se realizează cu ajutorul unor metode specifice predefinite – constructori. Se va crea un nou obiect după specificaţia tipului obiect utilizat. Constructorul are acelaşi nume ca şi tipul obiect, iar parametrii săi vor fi de acelaşi tip cu atributele tipului obiect.

Exemplu : Se va insera în tabela « personal » angajatul « Georgescu Bogdan ».

INSERT INTO personal (angajat, titlu, functie) VALUES (

tip_angajat (111111, ‘Georgescu’,’Bogdan’,24000000,

tip_adresa (‘Iuliu Maniu’, 18, ‘Timisoara’, ‘Romania’)),

‘Economist’, ‘Director economic’);

Pentru a referi într-o interogare atributele unui obiect din componenţa unei tabele se va folosi un alias al acesteia.

Exemplu : Se vor afişa informaţiile referitoare la angajatul «111111».

SELECT p.angajat.nume, p.angajat.prenume, salar

FROM personal p

WHERE p.angajat.cod_personal = 111111;

O bază de date relaţional-obiectuală este o fuziune a tehnologiilor relaţionale şi a celor orientate obiect, ea permiţậnd utilizatorilor să integreze gradat tehnologia obiect cu aplicaţiile relaţionale deja existente.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • c1_recap.ppt
  • c10_8mai.doc
  • c2.doc
  • c3.doc
  • c4.doc
  • c5.doc
  • c6.doc
  • c7.doc
  • c8.doc
  • c9.doc
Alte informații:
Tipuri fișiere:
doc, ppt
Nota:
7/10 (1 voturi)
Nr fișiere:
10 fisiere
Pagini (total):
51 pagini
Imagini extrase:
40 imagini
Nr cuvinte:
8 748 cuvinte
Nr caractere:
50 283 caractere
Marime:
192.17KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Inteligența Artificială
Predat:
la facultate
Materie:
Inteligența Artificială
Profesorului:
Mihaela Muntean
Sus!