Anda di halaman 1dari 11

GUIA PARA PRACTICA 9

Realizar el siguiente diagrama para efectos de la prctica


Crear un modelo de diagrama en el workbench. Las tablas y sus
respectivos campos se muestran a continuacin:
Detalle de los campos de la tabla autor

Notar que el campo activo tiene valor por defecto igual a 1, esto
permitir que cada vez que ingresemos un nuevo autor, no ser necesario
agregarle valor al campo activo, ya que automticamente se le agregar
el valor 1.
Lo mismo suceder para cada tabla que tenga el campo activo con valor
por defecto igual a 1.
Detalle de los campos de la tabla usuario

Detalle de los campos de la tabla libro

Detalle de la tabla ejemplar

Detalle de los campos de la tabla prstamo

A continuacin, el diagrama y las relaciones entre las entidades:

CREACION DE LA BASE DE DATOS


Ahora, a partir de este modelo crearemos nuestra base de datos con sus
respectivas tablas.
En nuestro workbench, observamos que las bases de
datos que actualmente tenemos:

Desde la ventatana del modelo (EEr diagrama),


pulsamos en Database Forward Engineer, como se
muestra en la imagen:

En la siguiente ventana damos click en Next:

En esta ventana, damos click en Next:

A continuacin, se muestran los objetos que se exportarn:

Damos click en Next

Seguidamente se muestra el cdigo creado de la base de datos y las


tablas:

Damos click en Next

En la siguiente ventana
se muestra que todo se
ha creado correctamente.
Damos click en Close

Ahora, en la pestaa
Local
instance
MySQL57,
damos
click en icono de
Actualizar

Click en
Actualizar

Luego observaremos que se ha creado


nuestra base de datos a partir del
modelo:

Procedemos llenar datos en las tablas:


Empezamos con la tabla autor. Para ello, seleccionamos la tabla y damos
click en el cono que se muestra en la imagen:

Agregamos los siguientes datos:


En este caso solo se ingresa el campo nombres y apellidos.
En los casos de los campos idAutor,
que
es
automtico
(autoincrementable) y el campo
activo, que tiene valor por defecto,
no es necesario llenar estos este
campo. Luego damos click en en
Apply.

En esta aventana damos click


en Apply.
Luego damos click en Finish.

Finalmente observamos en el resultado de esta operacin.

Como vemos no ha sido necesario ingresar valores para los campos


idAutor y activo.
Procedemos de igual forma para las tablas libro, usuario, prstamo y
ejemplar.
Datos para libro. Luego de ingresados estos datos dar click en Apply,
luego nuevamente
en Apply y Finish

Datos para usuario. Luego de ingresados estos datos dar click en


Apply, luego nuevamente en Apply y Finish

Datos para ejemplar. Luego de


ingresados estos datos dar click
en Apply, luego nuevamente
en Apply y Finish

Datos para prestamo. Luego de ingresados estos datos dar click en


Apply, luego nuevamente en Apply y Finish

Bien una vez llenados los datos, se proceder a ejecutar algunas


consultas de ejemplos:
Nota: ates de ejecutar las consultas debemos abrir nuestra base de
datos:
use biblioteca;

Ahora s, procedamos con las consultas.


1. Seleccionar la fecha de prstamo, cdigo del ejemplar, nombres y
apellidos del usuario que realiz el prstamo.
SELECT p.fechaPrestamo, e.codigo, u.nombres, u.apellidos
FROM prestamo p, ejemplar e, usuario u
WHERE p.idUsuario = u.idUsuario AND
p.idEjemplar = e.idEjemplar;

2. Seleccionar la fecha de prstamo, cdigo del ejemplar, nombres,


apellidos del usuario de los prstamos realizados entre el 01 de
mayo y 31 de mayo del 2016.
SELECT p.fechaPrestamo, e.codigo, u.nombres, u.apellidos
FROM prestamo p, ejemplar e, usuario u
WHERE p.idUsuario = u.idUsuario AND
p.idEjemplar = e.idEjemplar AND
p.fechaPrestamo between '2016-05-1' AND '2016-05-31';

3. Mostrar los nombres, apellidos del usuario, la fecha del prstamo,


cdigo y ttulo del ejemplar prestado entre el 01 y 15 de mayo del
2016

SELECT CONCAT(u.nombres, " ", u.apellidos) as usuario, l.titulo,


p.fechaPrestamo
FROM usuario u, libro l, ejemplar e, prestamo p
WHERE p.fechaPrestamo BETWEEN '2016-05-01' AND '2016-05-15' AND
p.idUsuario = u.idUsuario AND
p.idEjemplar = e.idEjemplar AND
e.idLibro = l.idLibro;

4. Mostrar el ttulo, nombres y apellidos del autor por cada cada


libro.
SELECT l.titulo, a.nombres, a.apellidos
FROM libro l, autor a
WHERE a.idAutor = l.idAutor AND
a.activo = 1 AND l.activo = 1;

5. Mostrar el ttulo del libro, la fecha del prstamo y cdigo del


ejemplar prestado por el usuario LUIS SANCHEZ SOTO.
SELECT p.fechaPrestamo, l.titulo, e.codigo as 'Cdigo
Ejemplar'
FROM prestamo p, libro l, ejemplar e, usuario u
WHERE u.nombres = "LUIS" AND
u.apellidos = "SANCHEZ SOTO" AND
u.idUsuario = p.idUsuario AND
p.idEjemplar = e.idEjemplar AND
e.idLibro = l.idLibro;

Estimados alumnos, con estos ejemplos ustedes pueden guiarse para


realizar la tarea que tienen pendiente. Llenen los datos necesarios en
cada tabla para realizar sus consultas.
Las consultas que deben realizar para la tarea son:
1. Consulta que muestre que clientes compraron entre un rango de
fechas
2. Mostrar los nombres, apellidos y la fecha de la venta realizada por
cada vendedor.
3. Mostrar nombres y apellidos del cliente, la fecha de la venta y los
nombres y apellidos del vendedor que lo atendi.
Nota: Deben enviar el cdigo de la consulta y la captura de los
resultados, tal como se hace en esta gua. La imagen debe mostrar en
forma clara y ntida los resultados.