2012-01-20 12 views
5

Tengo esta complicada consulta SQL para Oracle que quiero visualizar en un diagrama para que sea comprensible para mis compañeros de trabajo. Intenté al http://snowflakejoins.com pero simplemente se ahoga.Herramienta para hacer un diagrama a partir de la consulta SQL

¿Alguien tiene una mejor sugerencia? Prefiero una aplicación web en Internet y, si no es una aplicación de escritorio para 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

¿Has probado la pestaña "Creador de consultas" de Oracle SQL Developer? –

+0

No, algunos colegas usan SQL developer pero yo uso Toad, ¿eso solo se construye o se puede aplicar ingeniería inversa a un diagrama a partir de una consulta? La mayoría de los programas ERD solo construyen una estructura de base de datos. – peter

+0

Si crea la consulta y cambia la pestaña a "generador de consultas", la herramienta creará el diagrama. –

Respuesta

3

Puede usar la pestaña "Creador de consultas" del desarrollador SQL de Oracle.

El resultado de la consulta muestra será:

query in query builder

0

Cada una de las consultas sub son conjuntos de datos, sólo quiero hacer una afirmación clara Inglés de lo que la consulta no, a continuación, describe los conjuntos de datos y cómo se relacionan entre sí de una manera entidad-relación, a continuación, mostrar cómo la consulta satisface la declaración simple en inglés. Puede representar el E-R con cualquier variedad de herramientas.

+0

parece mucho trabajo y ya sabes, una imagen (diagrama) dice más de mil palabras, también preferiría algo reutilizable – peter

0

has encontrado cómo hacerlo en sapo, que yo prefiero por encima de SQL Developer. Abra la ventana del editor, pegue el sql, haga clic con el botón derecho en la ventana del editor y seleccione "Enviar al consultador" Mi sql anterior es demasiado complicado para usar esta técnica, pero es bueno saber que puedo usarlo en el futuro con más consultas "normales". Puntos a Sergio.

Cuestiones relacionadas