You are on page 1of 10

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD

FASE 2 IMPLEMENTACIÓN

BASES DE DATOS AVANZADA


GRUPO 51

DIEGO ARMANDO TORRES C


1056955004

TUTORA
HELENA CLARA ISABEL ALEMAN

OCTUBRE 2018
TUNJA
ACTIVIDAD
a. Realizar una consulta por cada join, cada enlace lo lleva aun ejemplo que puede tomar de
referencia para el desarrollo de la actividad:
[INNER] JOIN ... ON
LEFT [OUTER] JOIN
RIGHT [OUTER] JOIN
FULL [OUTER] JOIN
CROSS JOIN
NATURAL JOIN
[INNER] JOIN ... USING

SOLUCIÓN
Para realizar esta actividad, se va a emplear los datos incorporados en la fase 1 para el caso de la
tienda de internet con las siguientes tablas.
 Tabla libros poblada

 Tabla clientes poblada

 Tabla pedidos poblada


El modelo relacional de las anteriores tablas es el siguiente:

A continuación se presentan las diversas consultas multitabla

Consulta del tipo Inner Join


 Determinar los libros que se han pagado con tarjeta y los que no
La consulta sql queda de la siguiente manera:

Luego de haber realizado la consulta, el resultado que arroja esta es el siguiente:

En la anterior consulta se observa como algunos campos de dos tablas se unieron en una sola
consulta.
Consulta del tipo Left Join
 Determinar los clientes que han realizado pedidos y los que no han hecho pedidos.
La consulta sql queda de la siguiente manera:

Luego de haber realizado la consulta, el resultado que arroja esta es el siguiente:

En la anterior consulta se observa que los clientes que no han hecho pedidos aparecen con valor
de null que significa que no han realizado ningún pedido, lo que hace el left Join es tener en cuenta
todos los registros de la tabla cliente y cuando un registro de la tabla cliente no se encuentra en la
tabla pedidos, lo deja como null.

Consulta del tipo Right Join


 Determinar la fecha y cantidad de pedidos de los libros así como los libros que no han
sido pedidos
La consulta sql queda de la siguiente manera:

Luego de haber realizado la consulta, el resultado que arroja esta es el siguiente:


En la anterior consulta se muestran los pedidos de los libros sin embargo, también se muestran
los libros que no han sido pedidos, lo que hace el right Join es tener en cuenta todos los registros
de la tabla libros y cuando un registro de la tabla libro no se encuentra en la tabla pedidos, lo deja
como null.

Consulta del tipo Outer Join o Full Outer Join


Este tipo de consulta multitabla no está soportado directamente por MySQL, por lo tanto no se
presenta ejemplo de aplicación para este tipo de consulta. Para realizarla se debería unir dos las
consultas del tipo left Join y Right Join a través de unión o unión all.
Este tipo de consulta lo que haría es como una fusión entre el Left Join y el Right Join apareciendo
valores null si se presentara el caso en las dos tablas relacionadas.

Consulta del tipo natural Join


Funciona como in inner join pero se evita colocar on para indicar cuales son los campos comunes.
Si no hay un campo común entre las dos tablas, produce una consulta del tipo Cross Join.
Ejemplo:

Este caso funcionaría si en ambas tablas el nombre del campo que es común en las dos tablas se
llamara exactamente isbn, sin embargo, en la tabla libros se llama isbn y en la tabla pedidos
libros_isbn, por lo tanto, para esta base de datos no se puede emplear directamente natural Join.
Consulta del tipo Cross Join
 Cruzar las tablas Libros con clientes, de tal manera que cada libro pueda ser asignado a
cada uno de los clientes.
La consulta sql queda de la siguiente manera:

Luego de haber realizado la consulta, el resultado que arroja esta es el siguiente:

En la anterior tabla solo se presenta una parte del cruce de las dos tablas con Cross Join.
Consulta del tipo Inner Join using
 Determinar los libros que se han pagado con tarjeta y los que no.
Normalmente esta consulta se realiza con un inner join de la siguiente manera:

Sin embargo, la anterior consulta se puede realizar empleando en lugar de on, using, lo cual
abrevia la instrucción sql
La consulta sql con using queda de la siguiente manera:

Este caso funcionaría si en ambas tablas el nombre del campo común de las dos tablas se llamara
exactamente isbn, sin embargo, en la tabla libros se llama isbn y en la tabla pedidos libros_isbn,
por lo tanto, para esta base de datos no se puede emplear Inner Join con Using.
b. Realizar una consulta avanzada por cada función agregada.
Consulta con la función count
Ejemplo: Contar el número de libros que posee la tabla libros.
La consulta sql queda de la siguiente manera:

Luego de haber realizado la consulta, el resultado que arroja esta es el siguiente:

Consulta con la función sum


Ejemplo: Determinar el número de pedidos realizados.
La consulta sql queda de la siguiente manera:

Luego de haber realizado la consulta, el resultado que arroja esta es el siguiente:

Consulta con la función avg


Ejemplo: Determinar el promedio de pedidos realizados.
La consulta sql queda de la siguiente manera:

Luego de haber realizado la consulta, el resultado que arroja esta es el siguiente:


Consulta con la función min
Ejemplo: Determinar el libro que menos ejemplares tiene en la tienda.
La consulta sql queda de la siguiente manera:

Luego de haber realizado la consulta, el resultado que arroja esta es el siguiente:

Consulta con la función max


Ejemplo: Determinar el libro o libros que más ejemplares tiene en la tienda.
La consulta sql queda de la siguiente manera:

Luego de haber realizado la consulta, el resultado que arroja esta es el siguiente:

c. Realizar cinco procedimientos almacenados y cinco disparadores o triggers

You might also like