Caso de uso libreria
-
Upload
jaime-lara -
Category
Education
-
view
687 -
download
2
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