TÉCNICA RZ
[Volver]

Para resolver cualquier query (consulta) nivel básico e intermedio, es posible ser resuelto a través de la técnica RZ, que consiste en responder 4 simples preguntas. El requisito fundamental para aplicar esta técnica es disponer del esquema de tablas y relaciones de la base de datos. En este esquema de la base de datos, deben estar cláramente especificadas las llaves primarias, las llaves foráneas y el tipo de relación existente entre las tablas, es decir, de uno a uno, de uno a muchos, etc.

A continuación se presentan las cuatro preguntas.

1) Qué campos vamos a mostrar, especificar los campos antecediendo el nombre de la tabla a la que pertenece el campo seleccionado.
Por ejemplo:
      CLIENTES.NOMBRES,  VENDEDORES.NOMBRES, PRODUCTOS.DESCRIPCION, 
      FACTURAS.CANTIDAD, FACTURAS.TOTAL
2) Que tablas serán necesarias consultar, para obtener la información solicitada por el query. Especificar las tablas en orden de importancia, es decir, primero las tablas que tienen la información buscada y luego las tablas de complemento.
Por ejemplo:
                FACTURAS, CLIENTES, VENDEDORES, PRODUCTOS
3) Cómo se relacionan las tablas especificadas en la pregunta 2? Para este caso es importante especificar todas las relaciones necesarias.
Por ejemplo:
 
                    FACTURAS.CARNET = CLIENTES.CARNET 
AND
FACTURAS.CODVEN = VENDEDORES.CODVEN
AND
FACTURAS.CODPROD = PRODUCTOS.CODPROD
4) Existe alguna condición adicional? Es decir, si piden que cumplan alguna condición tal como que sea los movimientos del mes de mayo tendríamos: MONTH(FACTURAS.FECHA) = 5

Una vez respondidas las 4 preguntas, es necesario trasladar las respuestas al siguiente esquema:

SELECT ( 1 ) FROM ( 2 ) WHERE ( 3 ) AND ( 4 )

Por ejemplo: Trasladando las respuestas de los ejemplos tendríamos:

SELECT CLIENTES.NOMBRES,  VENDEDORES.NOMBRES, 
       PRODUCTOS.DESCRIPCION, FACTURAS.CANTIDAD, FACTURAS.TOTAL
    FROM FACTURAS, CLIENTES, VENDEDORES, PRODUCTOS
        WHERE  FACTURAS.CARNET = CLIENTES.CARNET 
                              AND
               FACTURAS.CODVEN = VENDEDORES.CODVEN
                              AND 
               FACTURAS.CODPROD = PRODUCTOS.CODPROD
          AND  MONTH(FACTURAS.FECHA) = 5
Con la práctica, podrás responder directamente las preguntas sobre el esquema solución, además podrías utilizar directamente los alias de tablas para no escribir tanto:
SELECT B.NOMBRES,  C.NOMBRES, D.DESCRIPCION, A.CANTIDAD, A.TOTAL
    FROM FACTURAS A, CLIENTES B, VENDEDORES C, PRODUCTOS D
       WHERE  A.CARNET = B.CARNET 
                      AND
              A.CODVEN = C.CODVEN
                      AND 
              A.CODPROD = D.CODPROD
         AND  MONTH(A.FECHA) = 5
Sigue paso a paso estos consejos para resolver consultas básicas e intermedias.

[Volver]