Caso de uso libreria

31
Base de Datos para Aplicaciones M.C. Jaime Lara Alvarez

Transcript of Caso de uso libreria

Page 1: Caso de uso libreria

Base de Datos para Aplicaciones

M.C. Jaime Lara Alvarez

Page 2: Caso de uso libreria

Contenido

• UTPBookStore

– Definición

– Modelo Relacional

– SQL

• Creación de Tablas

• Consultas

Page 3: Caso de uso libreria

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.

Page 4: Caso de uso libreria

Solución

Page 5: Caso de uso libreria

SQL

Creación de Tablas

Page 6: Caso de uso libreria

SQL – Creación de la tabla Genero

Page 7: Caso de uso libreria

SQL – Creación de la tabla Editorial

Page 8: Caso de uso libreria

SQL – Creación de la tabla Libro

Page 9: Caso de uso libreria

SQL – Creación de la tabla Autor

Page 10: Caso de uso libreria

SQL – Creación de la tabla Autor_Libro

Page 11: Caso de uso libreria

SQL

Datos insertados

Page 12: Caso de uso libreria

SQL – Valores insertados a la tabla genero

Page 13: Caso de uso libreria

SQL – Valores insertados a la tabla editorial

Page 14: Caso de uso libreria

SQL – Valores insertados a la tabla autor

Page 15: Caso de uso libreria

SQL – Valores insertados en la tabla libros

Page 16: Caso de uso libreria

SQL – Valores insertados en la tabla

Page 17: Caso de uso libreria

SQL

Consultas

Page 18: Caso de uso libreria

SQL– Consultas

1) Obtener el total de libros

2) Obtener el total de autores

3) Obtener el total de editoriales

Page 19: Caso de uso libreria

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

Page 20: Caso de uso libreria

SQL – Consultas

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

7) Cantidad de libros que pertenecen al genero novela

Page 21: Caso de uso libreria

SQL - Consultas

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

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

Page 22: Caso de uso libreria

SQL - Consultas

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

Page 23: Caso de uso libreria

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.

Page 24: Caso de uso libreria

SQL

Solución a consultas

Page 25: Caso de uso libreria

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

Page 26: Caso de uso libreria

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

Page 27: Caso de uso libreria

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

FROM libro

WHERE Genero =1

7) SELECT nombre

FROM libro

WHERE genero =1

Page 28: Caso de uso libreria

8) SELECT nombre AS 'Obra Literaria'

FROM libro

ORDER BY nombre

9) SELECT nombre AS 'Obra Literaria'

FROM libro

ORDER BY nombre DESC

Page 29: Caso de uso libreria

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

Page 30: Caso de uso libreria

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

FROM libro

LIMIT 2 , 4

Page 31: Caso de uso libreria

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