Está en la página 1de 12

Bases de Datos IES Padre Suárez

Ismael Martínez Blanco 1 1ºDAM


Bases de Datos IES Padre Suárez

Ismael Martínez Blanco 2 1ºDAM


Bases de Datos IES Padre Suárez

ESQUEMA MODELO ENTIDAD RELACIÓN

0:1 0:n
USUARIOS Compran LIBROS

1:1

1:1

tienen

tienen
0:1

0:n FACTURAS

Ismael Martínez Blanco 3 1ºDAM


Bases de Datos IES Padre Suárez

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.

Ismael Martínez Blanco 4 1ºDAM


Bases de Datos IES Padre Suárez

TABLA USUARIOS

APELLIDOS DNI
NOMBRE

TELEFONO USUARIOS EDAD

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.

CREATE TABLE USUARIOS (

NOMBRE VARCHAR (20) NOT NULL,

APELLIDO VARCHAR (50) NOT NULL,

TELEFONO INT (9) NOT NULL,

EDAD INT (2) NOT NULL,

DNI VARCHAR (9) NOT NULL PRIMARY KEY,

CORREO VARCHAR (50));

Ismael Martínez Blanco 5 1ºDAM


Bases de Datos IES Padre Suárez

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.

La clave foránea es TITULO que se usará en la tabla FACTURAS.

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.

CREATE TABLE LIBROS(

ID INT AUTO_INCREMENT PRIMARY KEY,

TITULO VARCHAR (50) NOT NULL,

AUTOR VARCHAR (40) NOT NULL,

GENERO VARCHAR (20),

FECHA_PUBLICACION YEAR);

Ismael Martínez Blanco 6 1ºDAM


Bases de Datos IES Padre Suárez

TABLA FACTURAS

DNI_USER

ID_FACTURA FACTURAS ID_LIBRO

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.

CREATE TABLE FACTURAS (

ID_FACTURA INT AUTO_INCREMENT PRIMARY KEY,

DNI_USER VARCHAR (9) NOT NULL,

ID_LIBRO INT NOT NULL,

FOREIGN KEY (DNI_USER) REFERENCES USUARIOS (DNI),

FOREIGN KEY (ID_LIBRO) REFERENCES LIBROS (titulo));

Ismael Martínez Blanco 7 1ºDAM


Bases de Datos IES Padre Suárez

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.

En la pestaña nuevo usuario tenemos un formulario de registro:

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.

Si los datos son correctos el nuevo usuario se registrará en la tabla USUARIOS.

Ismael Martínez Blanco 8 1ºDAM


Bases de Datos IES Padre Suárez

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.

Ismael Martínez Blanco 9 1ºDAM


Bases de Datos IES Padre Suárez

Pestaña BUSCAR LIBRO:

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.

Consulta SQL botón Mostrar Todos:

"SELECT TITULO, AUTOR, GENERO, FECHA_PUBLICACION FROM LIBROS ORDER BY ID"

Consulta SQL botón Mostrar por título o parte de él:

"SELECT TITULO, AUTOR, GENERO, FECHA_PUBLICACION FROM LIBROS WHERE TITULO LIKE '%$titulo%'"

Consulta SQL por género:

"SELECT TITULO, AUTOR, GENERO, FECHA_PUBLICACION FROM LIBROS WHERE GENERO LIKE '%$genero%'"

Ismael Martínez Blanco 10 1ºDAM


Bases de Datos IES Padre Suárez

Pestaña Libros Comprados:

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:

SELECT FACTURAS.ID_FACTURA, USUARIOS.NOMBRE, USUARIOS.APELLIDO, LIBROS.TITULO, LIBROS.AUTOR, LIBROS.GENERO FROM


(USUARIOS, LIBROS, FACTURAS) WHERE DNI='$dni' AND LIBROS.TITULO=FACTURAS.ID_LIBRO"

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.

Ismael Martínez Blanco 11 1ºDAM


Bases de Datos IES Padre Suárez

Pestaña COMPRAR LIBRO:

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.

Consulta SQL desplegable:

SELECT * FROM LIBROS

Consulta SQL comprobar DNI:

SELECT DNI FROM USUARIOS WHERE DNI='$dni'

Consulta SQL botón Comprar:

INSERT INTO FACTURAS (DNI_USER, ID_LIBRO) VALUES ('$dni', '$libro_alquiler')

Ismael Martínez Blanco 12 1ºDAM

También podría gustarte