Caso de uso libreria

Post on 22-Jul-2015

687 views 2 download

Transcript of Caso de uso libreria

Base de Datos para Aplicaciones

M.C. Jaime Lara Alvarez

Contenido

• UTPBookStore

– Definición

– Modelo Relacional

– SQL

• Creación de Tablas

• Consultas

UTPBookStore

• UTPBookStore requiere un catálogo de sus libros, el objetivo del catálogo es permitir consultas de libros, ya sea por su ISBN, editorial, nombre del libro o autor.

• De cada libro se desea almacenar su ISBN, Nombre, Autor(es), editorial, resumen y catalogación.

Solución

SQL

Creación de Tablas

SQL – Creación de la tabla Genero

SQL – Creación de la tabla Editorial

SQL – Creación de la tabla Libro

SQL – Creación de la tabla Autor

SQL – Creación de la tabla Autor_Libro

SQL

Datos insertados

SQL – Valores insertados a la tabla genero

SQL – Valores insertados a la tabla editorial

SQL – Valores insertados a la tabla autor

SQL – Valores insertados en la tabla libros

SQL – Valores insertados en la tabla

SQL

Consultas

SQL– Consultas

1) Obtener el total de libros

2) Obtener el total de autores

3) Obtener el total de editoriales

SQL – Consultas

4) Obtener el numero de libros de cada editorial

5) Obtener el numero de libros escritos por Gabriel García Márquez y William Shakespeare

SQL – Consultas

6) Mostrar el nombre de los libros de la editorial trillas

7) Cantidad de libros que pertenecen al genero novela

SQL - Consultas

8) Mostrar el nombre de los libros ordenados de forma ascendente

9) Mostrar el nombre de los libros ordenados de forma descendente

SQL - Consultas

10)Mostrar los autores que tienen solamente un libro registrado.

SQL - Consultas

11) Mostrar la siguiente información: ISBN, nombre del libro, nombre de editorial y nombre del genero; de los libros escritos por Gabriel García Márquez.

12) Mostrar ISBN, nombre y resumen de los últimos tres libros.

SQL

Solución a consultas

1) SELECT count( * ) AS 'Cantidad de libros'FROM libro

2) SELECT count( * ) AS 'Cantidad de Autores'FROM autor

3) SELECT count( * ) AS 'Cantidad de editoriales‘FROM editorial

4) SELECT editorial.Nombre, count( * ) AS 'Cantidad de libros‘FROM editorial JOIN libro

ON editorial.idEditorial = libro.editorial

GROUP BY editorial.Nombre

5) SELECT autor.Nombre, count( * ) AS 'Libros escritos'

FROM

( autor JOIN autor_libroON autor.idAutor = autor_libro.idAutor)

JOIN libro ON libro.ISBN = autor_libro.idLibro

WHERE autor.idAutor =2 OR autor.idAutor =3

GROUP BY autor.Nombre

6) SELECT count( * ) AS 'Cantidad de Novelas'

FROM libro

WHERE Genero =1

7) SELECT nombre

FROM libro

WHERE genero =1

8) SELECT nombre AS 'Obra Literaria'

FROM libro

ORDER BY nombre

9) SELECT nombre AS 'Obra Literaria'

FROM libro

ORDER BY nombre DESC

10) SELECT autor.Nombre

FROM (

autor JOIN autor_libroON autor.idAutor = autor_libro.idAutor

)

JOIN libro ON libro.ISBN = autor_libro.idLibro

GROUP BY autor.Nombre

HAVING count( * ) = 1

11) SELECT ISBN, Nombre AS 'Titulo del libro', Resumen

FROM libro

LIMIT 2 , 4

12) SELECT libro.ISBN, libro.Nombre AS Titulo,

editorial.Nombre AS Editorial, genero.Nombre AS Genero

FROM ( (autor_libro JOIN libro ON libro.ISBN = autor_libro.idLibro )JOIN editorial ON editorial.idEditorial = libro.Editorial )JOIN genero ON genero.idGenero = libro.genero

WHERE autor_libro.idAutor =3