[Pgsql-ayuda] Optimizando PostgreSQL

jota machuca jotamachuca@hotmail.com
Sat, 19 Jul 2003 10:55:48 -0400


Hola

Me he quedado sorprendido... el query resulto excelenbte con tu ayuda 
alvaro, lo que si me asalta una duda con respecto a esre mismo query... El 
postgresql , es el unico motor que permite hacer consultas asi como la que 
pedi... por lo que yo se , Access (que no se puede considerar un motor) no 
lopermite.. y creo que interbase, tampoco.... espero que no este 
equivocado... Me gustaria saber eso... y como implementa ese query a grandes 
rasgos..

Otra consulta, con respecto a lo mismo.... el query quedo de la siguiente 
manera...


select a.nombre_asignatura , c.nombre_curso , n.nombre_nivel
from asignatura as a , curso as c , nivel as n ,
(   select codigo_curso , codigo_nivel , acn.codigo_asignatura
    from asignatura_curso_nivel acn , asignatura a
    where acn.codigo_asignatura = a.codigo_asignatura
    except
    select codigo_curso , codigo_nivel , codigo_asignatura
    from profesor_dicta_asignatura
    where rut_profesor = 09808299 and
    estado_prof_dicta_asignatura = true ) as r
where r.codigo_asignatura = a.codigo_asignatura
and c.codigo_curso = r.codigo_curso
and n.codigo_nivel = r.codigo_nivel

Esta es una forma optima de tener el query , o puedo optimizarlo mas

Gracias de antemano

Jota Giardino


>From: Alvaro Herrera <alvherre@dcc.uchile.cl>
>To: jota machuca <jotamachuca@hotmail.com>
>CC: pgsql-ayuda@tlali.iztacala.unam.mx
>Subject: Re: [Pgsql-ayuda] Optimizando PostgreSQL
>Date: Tue, 15 Jul 2003 14:38:09 -0400
>
>On Sat, Jul 12, 2003 at 01:39:57PM -0400, jota machuca wrote:
> > Te cuento...
> >
> > La estructura de las tablas es la siguiente
> >
> > ASIGNATURAS_DISPONIBLES (AD)
> >  (pfk) codigo_asignatura
> >  (pfk) codigo_nivel
> >  (pfk) codigo_curso
> >
> > PROFESOR_DICTA_ASIGNATURA (PDA)
> >  (pfk) codigo_asignatura
> >  (pfk) codigo_nivel
> >  (pfk) codigo_curso
> >  (pfk) rut_profesor
> >  estado_asign_profesor
>
>Supongo que tienes
>ASIGNATURAS
>(pk) codigo_asignatura
>nombre_asignatura
>
>NIVELES
>(pk) codigo_nivel
>nombre_nivel
>
>Entonces,
>select nombre_asignatura, nombre_nivel
>FROM asignaturas JOIN
>(
>  select codigo_asignatura, codigo_nivel, codigo_curso
>  from ASIGNATURAS_DISPONIBLES
>  EXCEPT
>  select codigo_asignatura, codigo_nivel, codigo_curso
>  from PROFESOR_DICTA_ASIGNATURA
>  WHERe rut_profesor = [rut_profesor]
>  and estado_asign_profesor = true
>) as foo USING (codigo_asignatura)
>JOIN niveles USING (codigo_nivel)
>
>O algo por el estilo.
>
>--
>Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
>"La grandeza es una experiencia transitoria.  Nunca es consistente.
>Depende en gran parte de la imaginación humana creadora de mitos"
>(Irulan)
>_______________________________________________
>Pgsql-ayuda mailing list
>Pgsql-ayuda@tlali.iztacala.unam.mx
>http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda

_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger: 
http://messenger.yupimsn.com/