Control N°6 ARNOLDO EYZAGUIRRE SOTO Fundamento de Base de Datos Instituto IACC 4 de junio del 2018
Desarrollo
Fase I: Se tienen las siguientes tablas que re gistran para una librería los datos de los libros, así como los datos de la editorial y autor. CODIGO_AUT
CODIGO_LIBRO
NOMBR
CODIGO_EDITORI
PRECIO
PORC_DESCUEN
0001
0001
SOLUCIONES DE PROGRAMAC ION
0001
45.200,16
10
0001
0002
GUIA COMPLETA DE PROGRAMA CION EN
0001
33.520,52
5
0001 0001
0003 0004
INTRODUCCION A LA INFO RMATICA HARDWARE Y SOF TWAR E
0002 0001
51.000,33 26.700,25
0 25
0002
0005
INTRO DUCCION A LOS ALGO RIT MOS
0003
36.000,87
30
0002
0006
INTRO DUCCION A LAS BASES DE DATO S
0004
52.100,17
40
0003
0007
FUNDAMENTO S DE PROG RAMA CIO N
0001
46.500,29
15
0003
0008
¿COMO PROGRAMAR EN JAV A?
0002
48.000,33
10
0004
0009
ADMINI STRAC ION DE BASES DE DAT OS
0005
36.500,41
20
0005
0010
ESTRUCTURAS DE DATO S
0002
29.200,27
5
0005 0006
0011 0012
BASES DE DAT OS INTRO DUCCION A .N ET
0003 0001
32.000,39 46.500,14
0 10
CODIGO_EDITORIAL
NOMBRE
0001
BONUM
0002
SIR IO
0003
BI BLI OGRAFI C
0004
GRUPO EDITORIAL ROND A
0005
MCGRAW-HI LL
CODIGO_AUTOR
NOMBRE
0001 0002
LUIS JOYANES CATERINA VELASQUEZ
0003
CARMEN GIL
0004
ALVARO GOMEZ
0005
LUIS ANGULO
0006
ANA MARIA VILLAR
Según los datos anteriormente mostrados, entregue las siguientes consultas, incluyendo las subconsultas en la cláusula que considere adecuada: 1. Liste el código del autor, nombre y la cantidad de libros que tiene en el registro de la librería. 2. Liste el código de la editorial, nombre y la cantidad de libros que tiene en el registro de la librería. 3. Liste el código de autor, código de libro, nombre, código de editorial y precio, de aquellos libros que tengan un porcentaje de descuento igual o mayor al 15%. 4. Liste el código de autor, código de libro, nombre, código de editorial y precio, de aquellos libros que tengan un porcentaje de descuento menor al 20%. 5. Liste el código de autor, y la suma de los precios de los libros que le pertenecen.
6. Liste el código de autor, y la suma de los precios de los libros que le pertenecen, mostrando sólo aquellos donde la suma de sus precios sea menor a 40.000 pesos.
Desarrollo:
1. Liste el código del autor, nombre y la cantidad de libros que tiene en el registro de la librería.
SELECT Codigo_autor, Nombre, FROM autor WHERE (select COUNT (*) FROM libreria WHERE codigo_libro);
2. Liste el código de la editorial, nombre y la cantidad de libros que tiene en el registro de la librería. SELECT Codigo_editorial, Nombre, FROM editorial WHERE (select COUNT (*) FROM libreria WHERE codigo_libro);
3. Liste el código de autor, código de libro, nombre, código de editorial y precio de aquellos libros que tengan un porcentaje de descuento igual o mayor al 15%. SELECT Codigo_autor, codigo_libro Nombre, Codigo_editorial FROM editorial WHERE porcent_descuento = < 0,15;
4. Liste el código de autor, código de libro, nombre, código de editorial y precio de aquellos libros que tengan un porcentaje de descuento menor al 20%. SELECT Codigo_autor, codigo_libro Nombre, Codigo_editorial FROM editorial WHERE porcent_descuento > 0,20;
5. Liste el código de autor, y la suma de los precios de los libros que le pertenecen. SELECT código_autor, SUM(precio) FROM librería GROUP BY código_autor
6. Liste el código de autor, y la suma de los precios de los libros que le pertenecen, mostrando solo aquellos donde la suma de sus precios sea menor a 40.000 pesos SELECT código_autor, SUM(precio) FROM librería GROUP BY código_autor HAVING SUM(precio) > 40.000
Fase II: Lea determinadamente y fundamente su respuesta: 1. Suponga que un Instituto Profesional tiene en su base de datos una tabla de ESTUDIANTES (con los datos de estos), una de ASIGNATURAS_ESTUDIANTES (con los datos de las asignaturas tomadas por cada estudiante y la calificación obtenida). De acuerdo a este esquema, ¿cree usted que sea útil el SELECT con múltiples tablas?, ¿para qué caso lo utilizaría? Fundamente su respuesta.
2. Imagínese que la biblioteca de una Universidad tiene en su base de datos una tabla de ESTUDIANTES (con los datos de estos), una de LIBROS_ESTUDIANTES (con los datos de los libros solicitados por cada estudiante y la fecha de cada préstamo). De acuerdo a este esquema, ¿cree usted que sea útil el SELECT con múltiples tablas?, ¿para qué caso lo utilizaría? Fundamente su respuesta
Desarrollo: Ambas preguntas anteriores están relacionadas, ambas trabajan con tablas que debemos consultar en algún momento para obtener diversas respuestas. Un base de datos permite tener información que puede ser requerida en cualquier momento, pero esta información puede estar almacenada en distintas tablas, para esto bastará utilizar los comandos adecuados en las tablas correspondientes, este es el caso del comando SELECT Básicamente el comando SELECT se utiliza para recuperar datos. Es uno de los más importantes ya que permite trabajar con los datos que están almacenados. Existen muchas formas de utilizarlo, algunas más complejas que otras, y que además pueden involucrar la consulta de varias tablas a la vez, es decir, podemos hacer una subconsulta. Las subconsultas son aquellas sentencias SELECT que se incluyen en otras cláusulas de una sentencia SELECT previa, relacionándolas de alguna forma. Para esto, debemos delimitar entre paréntesis la subconsulta, y esta se ejecutará primero que la consulta principal. Los diversos tipos de subconsultas varían de acuerdo a la cláusula en donde se encuentren. Por ejemplo, se tienen dentro de un mismo SELECT, también pueden estar dentro de un WHERE y dentro del HAVING. El comando SELECT permite la obtención de los datos de la forma jerarquizada que nosotros invoquemos, por ejemplo, podemos hacer un SELECT en la tabla ESTUDIANTES y consultamos por los libros que ha solicitado en b iblioteca, o podemos hacer la consulta por el título de un libro para saber si está dentro de los que solicitado. De la misma manera podemos hacer la selección en la tabla LIBROS_ESTUDIANTES, donde podemos consultar por un libro en particular, por los alumnos que lo han solicitado o incluso, podría ser que podamos consultar por el apellido en particular, ingresando ese dato y nos podría indicar la selección el listado de alumnos con ese apellido que ha solicitado el libro en cuestión.
Bibliografía
Contenido de la semana