Newsgroup: it.comp.software.database
Titolo: [ORACLE] Relazioni da stampare

Salve,
da poco mi sono avvicinato ad oracle e avrei la necessità di avere una
stampa su carta delle tabelle che mi interessano (elencandone i campi) e le
relazioni che le collegano.
Su SQL Server avevo trovato il metodo giusto, definendo le relazioni fra
tabelle era possibile stamparle su carta, ma qui non trovo niente che faccia
al caso mio.
Il database in questione ha un migliaio di tabelle ma io dovrei usarne solo
una decina.
La versione di Oracle è la 8.0.5
Grazie per l'attenzione.

 relazioni che le collegano.
Esistono svariati tools che ti forniscono un'interfaccia visuale sul
database, altrimenti c'e' un'arnese chiamato 'FOT' (Famous Oracle
Toolbox) che permette di 'interrogare' il database ed avere una
stampa su file delle relazioni in formato non-grafico.
Fai una ricerca sui vari motori e ne troverai di sicuro.
Davide


Grazie per l'interessamento.
Sinceramente mi accontenterei di molto meno, dato che ho la possibilità di
usare il server dove è installato oracle.
Volevo solo sapere se nel pacchetto c'era quello di cui avevo bisogno, senza
scomodare altri tool che, fra l'altro, non sono nemmeno riuscito a trovare
in ore ed ore di ricerche sul web.
La mia domanda era rivolta a chi già usa Oracle e magari lo amministra.
L'unica cosa che mi sembrava essere utile è lo Schema Manager trovato
nell'enterprise manager, ma non sono riuscito a fare ciò che volevo.
Comunque grazie per la risposta.

 ha scritto nel
messaggio news:a1mkb8$kd9$1...@fe1.cs.interbusiness.it...

A livello client Oracle è ancora al medioevo( il loro tool di riferimento
per interrogare il DB è SQL*PLUS....tutto e' dire!)
Per fare quello che vuoi esistono diversi Tool i più famosi sono :
Computer Associated ERWIN
Embarcadero ER Studio
Hanno l'unico difetto di costare svariati milioni!
Ciao Matteo

Francesco Piantini wrote:

Se vuoi stampare saltuariamente delle tabelle (o meglio, il risultato di select
sulle stesse) lo puoi anche fare utilizzando lo spool su un file e poi inviarlo
in stampa.
Per questo ti basta un SQLPlus.
Ciao
--
La teoria è quando si sa tutto ma non funziona niente.
La pratica è quando funziona tutto, ma non si sa perché.
Noi siamo andati oltre e abbiamo realizzato entrambi gli obiettivi:
non funziona niente e non sappiamo perché
(in un bar di via Gattamelata, zona Fiera - MI)

 Hanno l'unico difetto di costare svariati milioni!
...anche Oracle. Se lo usi per lavoro e' un'investimento, non una spesa.
Nota: io non uso nessun tool grafico, pero' faccio qualunque cosa con
il "medioevale" SQL*Plus.
Davide

 La versione di Oracle è la 8.0.5
Usa uno script per realizzare un report delle tabelle che ti interessano,
salvalo in un file e mandalo in esecuzione con start mioscript. Nello script 
utilizza lo spool su un file e poi inviarlo
in stampa come ti aveva già suggerito AbAcAb. 
Salvatore
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Davide
Matteo

dav...@yahoo.com
 wrote:

Sono del tuo stesso parere, nonostante sia "medioevale", ogni giorno trovo
qualcosa di nuovo e molto utile!
:-))


 Salve,

ti mando uno script non mio, il mio era sulla stessa falsariga ma 
molto + comodo da visionare, il risultato, comunque ti fa capire dove cercare
per creare un report sulle relazioni tra tabelle, naturalmente 
setti spool nome file, siamo al propmt di sql*plus,
e come vedi questo lo fa per ogni tabella, per cui farlo sull'intero schema
non ti dovrebbe essere difficile reimpostarlo, 
set lines 132
set pages 90
break on p_owner on p_table on f_owner skip 1 on f_table on p_constraint
col p_owner format a15 heading "Parent|Table Owner"
col p_table format a25 heading "Parent Table"
col f_owner format a15 heading "Child|Table Owner"
col f_table format a25 heading "Child Table"
col p_constraint format a20 heading "Referencing|Constraint"
col p_col format a20 heading "Referencing|Column"
accept 1 prompt "Enter Owner Name For Parent Tables [Enter For All]:"
accept 2 prompt "Enter owner Name For Child Tables [Enter For All]:"
select	
	a.owner				p_owner
,	a.table_name			p_table
,	b.owner				f_owner
,	b.table_name			f_table
,	b.r_constraint_name		p_constraint
,	c.position||' '||c.column_name	p_col
from	dba_constraints  a
,	dba_constraints  b
,	dba_cons_columns c
where	a.owner = nvl(upper('&&1'), a.owner)
and	b.owner = nvl(upper('&2'),  b.owner)
and	c.owner = nvl(upper('&&1'), c.owner)
and	a.constraint_name = b.r_constraint_name
and	b.r_constraint_name = c.constraint_name
and	a.constraint_type = 'P'
and	b.constraint_type = 'R'
order by  a.owner, 
          a.table_name, 
          b.owner,
          b.table_name,
	  c.position||' '||c.column_name
/
ti ripeto se hai tempo da dedicargli, o meglio se trovo la vecchia versione,
ti viene fuori un vero manuale da consultare per verificare i constraints
e gli indici, da gestire, e il tutto da ordinare a piacimento
