2012-01-20 8 views
5

Ho questa complicata query SQL per Oracle che desidero visualizzare in un diagramma per renderlo comprensibile per i miei colleghi. Ho provato a http://snowflakejoins.com ma soffoca solo su di esso.Strumento per creare diagrammi dalla query SQL

Qualcuno ha un suggerimento migliore? Preferisco un'app Web su Internet e, in caso contrario, un'app desktop per Windows.

with 
    logs as (
    select 
     l.job_id, 
     l.subjob, 
     sum(l.verwerkt) verwerkt, 
     sum(l.errors) errors, 
     max(l.datum) laatst 
    from 
     dinf_monitor_logs l, 
     dinf_monitor_jobs j 
    where 
     l.datum>sysdate-j.dagen 
     and j.job_id=l.job_id(+) 
    group by 
     l.job_id, 
     l.subjob 
), 
    alllogs as (
    select job_id, subjob, max(datum) laatst from dinf_monitor_logs group by job_id, subjob 
) 
    select row_number() over(order by alllogs.job_id, alllogs.subjob) r, 
    alllogs.job_id, 
    alljobs.naam, 
    alllogs.subjob, 
    logs.verwerkt, 
    logs.errors, 
    alllogs.laatst datum, 
    alljobs.wikilink, 
    alljobs.loglink, 
    alljobs.contact, 
    case 
     when alllogs.laatst is null then 1 
     when round(sysdate-(alllogs.laatst+alljobs.dagen))<0 then 0 
     else round(sysdate-(alllogs.laatst+alljobs.dagen)) 
    end overtijd, 
    case 
     when logs.errors-alljobs.max_errors>0 then 5 
     when logs.verwerkt-alljobs.min_verwerkt<0 then 7 
     when round(sysdate-(alllogs.laatst+alljobs.dagen))>0 then 3 
     else 11 
    end status 
    from logs, alllogs, (select job_id, naam, wikilink, loglink, contact, dagen, min_verwerkt, max_errors from dinf_monitor_jobs) alljobs 
    where 
    logs.job_id(+)=alllogs.job_id 
    and logs.subjob(+)=alllogs.subjob 
    and alllogs.job_id=alljobs.job_id 
    order by alllogs.job_id, alllogs.subjob 
+1

Hai provato la scheda "Query Builder" di Oracle SQL Developer? –

+0

No, alcuni colleghi usano lo sviluppatore SQL ma io uso Toad, solo che costruisci o puoi decodificare un diagramma da una query? La maggior parte dei programmi ERD costruisce solo una struttura di database. – peter

+0

Se si crea la query e si modifica la scheda in "query builder", lo strumento creerà il diagramma. –

risposta

3

È possibile utilizzare la scheda "Query Builder" dello sviluppatore SQL Oracle.

Il risultato della query campione sarà:

query in query builder

0

Ognuna delle query sub sono insiemi di dati, vorrei solo fare una dichiarazione inglese semplice di ciò che la query non, quindi descrive i set di dati e come si relazionano gli uni agli altri in un modo entità-relazione, poi mostra come la query soddisfa la semplice affermazione inglese. È possibile rappresentare l'E-R con qualsiasi varietà di strumenti.

+0

sembra un sacco di lavoro e sai, un'immagine (diagramma) dice più di mille parole, preferirebbe anche qualcosa riutilizzabile – peter

0

hanno trovato come farlo in rospo, che io preferisco sopra SQL Developer. Aprire la finestra dell'editor, incollare lo sql, fare clic destro nella finestra dell'editor e selezionare "Invia a queryviewer" Il mio sql sopra è troppo complicato per usare questa tecnica ma è bello sapere che posso usarlo in futuro con più query "normali". Punta a Sergio.