Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecto BBDD IsmaelMB
Proyecto BBDD IsmaelMB
0:1 0:n
USUARIOS Compran LIBROS
1:1
1:1
tienen
tienen
0:1
0:n FACTURAS
Relaciones:
• La tabla usuarios se relaciona con la tabla libros con una relación de 0 a muchos puesto que un usuario puede tener 0 libros o tener
muchos libros
• La tabla libros se relaciona con la tabla usuarios con una relación de 0 a 1 ya que un libro puede tener o 1 usuario o 0.
• La tabla libros se relaciona a su vez con la tabla facturas con una relación de 0 a 1 puesto que un libro puede tener 1 o ninguna factura
asociada.
• La tabla facturas se relaciona con la tabla libros con una relación de 1 a 1 ya que las facturas no pueden estar vacías y tienen que llevar 1
libro. Podría haber sido una relación de 1 a muchos, pero en la forma en la que hemos planteado la web un usuario solo puede comprar
los libros de uno en uno, por lo que cada factura solo contendrá un libro.
• La tabla facturas se relaciona con la tabla usuarios con una relación de 1 a 1 ya que cada factura solo puede tener un usuario.
• La tabla usuarios se relaciona con la tabla facturas con una relación de 0 a muchos, un usuario puede tener muchas facturas o ninguna.
TABLA USUARIOS
APELLIDOS DNI
NOMBRE
CORREO
En la tabla USUARIOS tenemos los datos personales de los usuarios donde la clave primaria es el DNI que también actúa como foránea en la tabla
FACTURAS.
Con el campo DNI vamos a poder “comprar” libros en la web creada, también lo usaremos para realizar consultas de usuarios y facturas.
TABLA LIBROS
AUTOR
TITULO GENERO
ID LIBROS FECHA_PUBLICACION
En la tabla LIBROS tenemos los datos de los libros de la biblioteca, la clave primaria es el ID de cada libro.
El TITULO se usará en la web para realizar búsquedas de libros, que también podrán realizarse por el campo GENERO. En la pestaña de compras tendremos
también un desplegable con todos lo títulos.
FECHA_PUBLICACION YEAR);
TABLA FACTURAS
DNI_USER
En esta tabla FACTURAS tendremos 3 campos, el campo ID_FACTURA se auto incrementa con cada compra de libros que realicemos, el campo DNI_USER
hace referencia al campo DNI de la tabla USUARIOS, y el campo ID_LIBRO hace referencia al campo TITULO de la tabla LIBROS.
Al hacer estas referencias nos aseguramos que a la hora de “comprar” un libro en nuestra web, tendrá que estar registrado como usuario y el libro tiene que
estar en nuestra biblioteca.
WEB CREADA
Para simular el comportamiento de una biblioteca, he creado una web con la posibilidad de comprar libros que tenemos en la base de datos registrados,
para poder realizar esta compra el usuario debe estar registrado en la tabla de USUARIOS. En la web podremos realizar algunas consultas como búsqueda de
libros por título o por género, registrarnos como usuarios, comprar libros, buscar usuarios o buscar facturas.
Tenemos los mismos campos que en la tabla para que aparezcan en el orden correspondiente.
Una vez rellenos los datos del usuario y pulsado el botón enviar se ejecuta la sentencia SQL
"INSERT INTO USUARIOS (NOMBRE, APELLIDO, TELEFONO, EDAD, DNI, CORREO) VALUES
('$nombre','$apellido','$telefono','$edad','$dni','$correo')"
En las variables hemos ido guardando los datos correspondientes para que la sentencia se pueda
ejecutar. Si algún campo no es correcto se nos indicará que no se ha podido crear al usuario y que
vuelva a intentarlo con datos correctos.
Pestaña USUARIOS:
En esta pestaña tendremos la opción de buscar usuarios por DNI, para poder realizar esta búsqueda el usuario debe estar registrado.
Si el DNI es correcto y el usuario está registrado no aparecerá una tabla indicando los datos del usuario.
Consulta SQL:
"SELECT NOMBRE, APELLIDO, TELEFONO, EDAD, CORREO FROM USUARIOS WHERE DNI= '$dni'"
En la variable $dni guardamos el dato introducido por el usuario y buscamos en la tabla USUARIOS la fila que coincide con ese DNI para sacar el resto de los
datos.
Para esta pestaña tenemos dos tipos de consultas, por título o por género.
En el primer formulario, para mostrar por título, debemos introducir algún criterio de búsqueda, desde una letra hasta el título completo, y pulsar en el
botón mostrar. Tenemos también la opción de pulsar el botón mostrar todos para listar todos los libros de la base de datos.
En el segundo formulario tendremos un desplegable de géneros, al seleccionar uno y pulsar en el botón consultar, se nos mostrará una lista de libros que
coincidan con el género seleccionado.
"SELECT TITULO, AUTOR, GENERO, FECHA_PUBLICACION FROM LIBROS WHERE TITULO LIKE '%$titulo%'"
"SELECT TITULO, AUTOR, GENERO, FECHA_PUBLICACION FROM LIBROS WHERE GENERO LIKE '%$genero%'"
En esta pestaña podremos consultar los libros que ha comprado un usuario, la búsqueda se realiza por DNI.
Para realizar la búsqueda solo hay que introducir un DNI que esté registrado en la base de datos para que nos muestre los libros que ha comprado, en el
caso de no estar registrado o no ser válido el DNI, nos mostrará el error indicando que no se ha encontrado ningún registro.
Consulta SQL:
Para la búsqueda se relacionan las tres tablas y se incluyen dos criterios de búsqueda para poder sacar los datos de cada tabla.
En esta pestaña podremos comprar libros desde un desplegable con todos los libros de la biblioteca.
Al seleccionar el libro deseado tendremos que introducir un DNI que sea válido y esté registrado en la Tabla USUARIOS, y pulsar en comprar para que se
vuelquen los datos en la tabla FACTURAS.