Oracle Lessons

Lezioni Pratiche in Italiano

Creato da Pietro_Bonfigli il 11/03/2009

Area personale

 

Tag

 

Archivio messaggi

 
 << Luglio 2024 >> 
 
LuMaMeGiVeSaDo
 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
 
 

Cerca in questo Blog

  Trova
 

FACEBOOK

 
 

Ultime visite al Blog

marcop1973pixfaxhellingen666RiukaTerzo_Blog.GiusFDMDMFqwerty_alnicola.cambaraFilippoPaganellifrancocapoluanadiciommoaleale78alebherryraffaelesoldanoio_brina
 

Chi puņ scrivere sul blog

Solo l'autore puņ pubblicare messaggi in questo Blog e tutti gli utenti registrati possono pubblicare commenti.
 
RSS (Really simple syndication) Feed Atom
 
 

 

« Oracle Tipi Dati Astratt...Oracle Tipi Dati Astratt... »

Oracle Tipi Dati Astratti Lezione 4

Post n°30 pubblicato il 16 Agosto 2010 da Pietro_Bonfigli
 

 Implementazione di Viste Oggetto.

Supponiamo di essere in possesso di un database relazionale classico e di volerlo riorganizzare logicamente secondo lo schema Object Oriented. In questo caso l’operazione da fare è quella di riuscire a sovrapporre strutture orientate agli oggetti, come i tipi di dato astratti, su tabelle relazionali esistenti già esistenti. Oracle mette a disposizione delle Object View per la definizione di oggetti su tabelle relazionali già esistenti.

Nota

In tutti gli esempi successivi, i nomi delle Object View termineranno sempre con il suffisso “OV”.

Supponiamo che nella nostra base di dati sia presente la seguente tabella CLIENTE:

create table CLIENTE

(Cliente_ID number primary key,

Nome varchar2(25),

Via varchar2(50),

Citta varchar2(25),

Prov varchar2(2),

Cap number);

 

Riprendiamo i nostri due tipi di dato astratti:

create type IDIRIZZO_TY as object

( Via varchar2(50),

Città varchar2(25),

Provincia varchar2(2),

CAP number

);

create type PERSONA_TY as object

(Nome varchar2(25),

Indirizzo INDIRIZZO_TY

);

che devono essere perfettamente coincidenti con tutti o parte delle colonne della tabella CLIENTE.

A questo punto è possibile creare una Object View sulla tabella CLIENTE, utilizzando i tipi di dato definiti:

create view CLIENTE_OV (Cliente_ID, Persona) as

select Cliente_ID,

PERSONA_TY(Nome,INDIRIZZO_TY(Via, Citta, Prov, Cap))

From CLIENTE.

Una Object View la si crea con il comando Create View, al suo interno occorre specificare la query che costituirà la base della Object View.

Si analizzi in dettaglio questo comando:

Nella prima linea si assegna un nome alla Object View:

create view CLIENTE_OV (Cliente_ID, Persona) as

la vista in questione è composta da due colonne:

Cliente_ID e Persona;

Persona è definita come tipo PERSONA_TY; nella sezione successiva del comando viene definita la query che formerà la base della vista:

select Cliente_ID,

PERSONA_TY(Nome,INDIRIZZO_TY(Via, Citta, Prov, Cap))

From CLIENTE.

Dove le colonne della tabella cliente vengono raggruppate utilizzando i tipi definiti.

Questo esempio mostra alcuni utilizzi interessanti della sintassi: quando si crea una tabella su tipi di dato astratti già esistenti, i valori delle colonne vengono selezionati dalla tabella facendo riferimento ai nomi delle colonne invece che ai loro Constructor Method; invece per la creazione di una Object View occorre fare riferimento ai nomi dei Constructor Method (Persona_TY, INDIRIZZO_TY).

Inoltre nella query è anche possibile utilizzare una clausola where che limita la visualizzazione dei CLIENTI.

Quando si crea una Object View, la clausola where della query di base non fa riferimento al tipo di dati astratto. La clausola where fa riferimento direttamente alle colonne della tabella perché la tabella in questione non si basa su tipi di dato astratti.

Vantaggi sull’uso di Object View.

L’uso di Object View presenta alcuni vantaggi:

  • Consentono di creare tipi di dati astratti capaci di operare su tabelle già esistenti; dato che si possono utilizzare gli stessi tipi di dato in più tabelle dell’applicazione, si potrà migliorare l’aderenza dell’applicazione alla rappresentazione standard dei dati e la capacità di riutilizzare gli oggetti già esistenti;

  • Dal momento che si possono definire metodi per i tipi di dato astratti, questi verranno applicati sia ai dati contenuti nelle nuove tabelle, sia ai dati delle tabelle preesistenti.

  • Le Object View offrono due modi diversi per inserire i dati nella tabella base. Le flessibilità nella manipolazione dei dati per tali viste, ossia la possibilità di trattare la tabella base sia come tabella relazionale, che coma tabella ad oggetto, rappresenta un vantaggio significativo per gli sviluppatori di applicazioni.

 
 
 
Vai alla Home Page del blog
 
 

© Italiaonline S.p.A. 2024Direzione e coordinamento di Libero Acquisition S.á r.l.P. IVA 03970540963