Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Modelul relational-obiectual

sql


Modelul relational-obiectual

Necesitatea gestionarii obiectelor complexe (precum texte foarte lungi, grafice, harti, imagini, sunete, etc.) a condus la introducerea conceptului de obiect īn cadrul schemelor relationale. Īn prezent tehnologia bazelor 646f57g de date orientate obiect este īnca la īnceput, neexistậnd un model general de SGBD orientat obiect. S-a impus īnsa un model relational care suporta majoritatea principiilor modelarii orientate pe obiect. Īncepậnd cu versiunea Oracle 8 putem vorbi de SGBD-uri relational-obiectuale ce faciliteaza integrarea tehnologiei orientate pe obiect īn modelul relational.



Un obiect este un model informational al unei entitati reale, care poseda o multime de proprietati si care are īn acelasi timp un anumit comportament. Avậnd īn vedere proprietatile comune si comportamentul similar al entitatilor pe care le modeleaza, obiectele pot fi īmpartite īn multimi. Daca īn limbajele de programare orientate obiect avem notiunea de clasa pentru a desemna o multime de obiecte de acelasi fel, īn sistemul Oracle se poate defini un tip obiect, obiectele individuale similare constituind manifestari/realizari/instantieri ale acestuia. Proprietatile obiectelor se pot defini cu ajutorul atributelor din definitia tipului obiect, iar comportamentul acestora va fi stabilit prin metodele precizate.

Tipul obiect poate fi folosit īn modelul relational pentru a defini tabele obiect sau atribute (coloane) ale unui tabel relational. Oracle permite abordarea tabelelor obiect īn doua maniere :

ca si tabele cu o singura coloana, īn care fiecare linie este un obiect de tipul obiect ce a stat la baza definirii acestora ;

ca si tabele cu mai multe coloane, īn care acestea corespund atributelor din definitia tipului obiect considerat.

Totodata se pot defini vederi obiect, ce reunesc īntr-un singur obiect date din mai multe tabele si care permit navigarea orientata obiect prin structurile relationale existente.

Exemplu :

Se va creea tabela « personal » ce va contine obiectul coloana « angajat ». Codul angajatului va constitui cheia primara 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 īnsa cu ajutorul unor metode. Acestea vor fi functii sau proceduri PL/SQL si stocate īn baza de date[2].

Popularea cu date a tabelelor relationale ce contin obiecte coloana sau a tabelelor obiect se realizeaza cu ajutorul unor metode specifice predefinite - constructori. Se va crea un nou obiect dupa specificatia tipului obiect utilizat. Constructorul are acelasi nume ca si tipul obiect, iar parametrii sai vor fi de acelasi 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 componenta unei tabele se va folosi un alias al acesteia.

Exemplu :

Se vor afisa informatiile referitoare la angajatul «111111».

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

FROM personal p

WHERE p.angajat.cod_personal = 111111;

O baza de date relational-obiectuala este o fuziune a tehnologiilor relationale si a celor orientate obiect, ea permitậnd utilizatorilor sa integreze gradat tehnologia obiect cu aplicatiile relationale deja existente.



Īn referirea unui atribut din componenta unui obiect se utilizeaza notatia: obiect.atribut

PL/SQL este o extensie procedurala a limbajului SQL din Oracle si permite realizarea de proceduri, functii si blocuri ce combina instructiunile SQL cu instructiunile procedurale.


Document Info


Accesari: 3581
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )