[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/