Skip to content

Diseño de base de datos

lmexe18 edited this page Apr 19, 2023 · 8 revisions

INTRODUCCIÓN

Para nuestra base de datos, nosotros hemos utilizado la aplicación Xampp. Esta viene incorporada de dos partes, la aplicación y la página web. Además, nuestra base de datos está hecha en SQL Maria DB.

PROCESO DE INSTALACIÓN

Para utilizar la aplicación, la tendremos que tener previamente instalada desde la página oficial: https://www.apachefriends.org/es/index.html

Captura de pantalla 2023-04-16 200031

Ahí, seleccionamos la versión que deseamos y seguimos el proceso de instalación. Es importante destacar que durante el, tenemos que cerciorarnos que instalamos Apache y MySQL. Una vez instalado, iniciamos la aplicación con permisos de administrador. El panel principal es el siguiente:

Captura de pantalla 2023-04-16 200235

Iniciamos los servidores de Apache y MySQL anteriormente mencionados, que son los que necesitamos para conectar la base de datos con el SQL y el programa.

EXPLICACIÓN DE LA BBDD

Para podernos conectar a nuestra base de datos, teniendo conectados los servidores anteriormente mencionados buscamos localhost en cualquier buscador. Tendrá que aparecernos la siguiente página:

Captura de pantalla 2023-04-17 094232

Ahí, tendremos que seleccionar la opción superior derecha "phpMyAdmin". Esta nos redirigirá a nuestra base de datos.

¿CÓMO FUNCIONA?

En el lateral izquierdo aparecen nuestras bases de datos, archivos de configuración para que funcione el programa y una opción llamada "Nueva" para crear bases de datos. Es importante no borrar los archivos de configuración, de lo contrario nos dejará de funcionar el programa y tendremos que realizar nuevamente el proceso de instalación. Si seleccionamos "Nueva" nos redirigirá a una página donde nos mostrará nuestras bases de datos y una opción para crear más bases de datos. Solamente tendríamos que escribir el nombre que queramos y hacer click en "Crear" y ya se generaría, apareciendo en el lateral izquierdo.

Captura de pantalla 2023-04-17 094640

Para poder generar las tablas de la base de datos, seleccionamos la que queramos modificar y tenemos dos formas de hacerlo: mediante la interfaz gráfica o mediante SQL. Nosotros hemos optado por generar nosotros el SQL. Para poder introducir el SQL, basta con seleccionar la opción superior SQL, escribir el SQL y seleccionar "Continuar". Si el SQL contiene errores, Xampp te notificará de ello y el proceso de incorporación de las tablas resultará erroneo.

Captura de pantalla 2023-04-17 095442

Otra opción para crear la BBDD es seleccionar la opción superior "Importar", donde nos llevará a nuestro buscador de archivos donde seleccionaremos el SQL con dicho script, y todo se genera automáticamente.

Nuestra base de datos es de automóviles, y consta de 3 tablas, que son automóviles, clientes y ventas.

La tabla automóviles consta de un ID como clave primaria, la marca, el modelo, el año de lanzamiento, el color del coche y el precio. Todos los datos son obligatorios de rellenar excepto el año.

La tabla clientes consta de un ID como clave primaria, el nombre del cliente, el apellido del cliente, un gmail, y un teléfono. Todos los datos son obligatorios de rellenar excepto el gmail y el telefono.

La tabla ventas consta de un ID como clave primaria, el ID del coche comprado, el ID del cliente que compra el coche, la fecha de la venta y el precio final de la venta. Todos los datos son obligatorios de rellenar.

También hemos realizado algunos inserts en la base de datos para que contuviese datos para empezar.

SQL: 

CREATE TABLE automoviles (

    id INT PRIMARY KEY AUTO_INCREMENT,

    marca VARCHAR(255) NOT NULL,

    modelo VARCHAR(255) NOT NULL,

    ano INT NOT NULL,

    color VARCHAR(255) NOT NULL,

    precio DECIMAL(10,2) NOT NULL

);


CREATE TABLE clientes (

    id INT PRIMARY KEY AUTO_INCREMENT,

    nombre VARCHAR(255) NOT NULL,

    apellido VARCHAR(255) NOT NULL,

    email VARCHAR(255),

    telefono VARCHAR(20)

);


CREATE TABLE ventas (

    id INT PRIMARY KEY AUTO_INCREMENT,

    automovil_id INT NOT NULL,

    cliente_id INT NOT NULL,

    fecha VARCHAR(10) NOT NULL,

    precio_venta DECIMAL(10,2) NOT NULL,

    FOREIGN KEY (automovil_id) REFERENCES automoviles(id) ON DELETE CASCADE,

    FOREIGN KEY (cliente_id) REFERENCES clientes(id) ON DELETE CASCADE

);


INSERT INTO automoviles (marca, modelo, ano, color, precio) VALUES ('Chevrolet', 'Spark', 2020, 'Rojo', 10000.00);

INSERT INTO automoviles (marca, modelo, ano, color, precio) VALUES ('Toyota', 'Corolla', 2021, 'Blanco', 20000.00);

INSERT INTO automoviles (marca, modelo, ano, color, precio) VALUES ('Ford', 'Mustang', 2019, 'Negro', 30000.00);

INSERT INTO automoviles (marca, modelo, ano, color, precio) VALUES ('Honda', 'Civic', 2018, 'Gris', 15000.00);

INSERT INTO automoviles (marca, modelo, ano, color, precio) VALUES ('Nissan', 'Versa', 2022, 'Azul',18000.00);


INSERT INTO clientes (nombre, apellido, email, telefono) VALUES ('Juan', 'Pérez', 'juanperez@gmail.com', '555-1234');

INSERT INTO clientes (nombre, apellido, email, telefono) VALUES ('María', 'González', 'mariagonzalez@yahoo.com', '555-5678');

INSERT INTO clientes (nombre, apellido, email, telefono) VALUES ('Pedro', 'López', NULL, '555-9012');

INSERT INTO clientes (nombre, apellido, email, telefono) VALUES ('Ana', 'Martínez', 'anamartinez@hotmail.com', NULL);

INSERT INTO clientes (nombre, apellido, email, telefono) VALUES ('Carlos', 'García', 'carlosgarcia@gmail.com','555-3456');


INSERT INTO ventas (automovil_id, cliente_id, fecha, precio_venta) VALUES (1, 1, '2022-01-05', 11000.00);

INSERT INTO ventas (automovil_id, cliente_id, fecha, precio_venta) VALUES (2, 2, '2022-02-10', 22000.00);

INSERT INTO ventas (automovil_id, cliente_id, fecha, precio_venta) VALUES (3, 3, '2022-03-15', 32000.00);

INSERT INTO ventas (automovil_id, cliente_id, fecha, precio_venta) VALUES (4, 4, '2022-04-20', 17000.00);

INSERT INTO ventas (automovil_id, cliente_id, fecha, precio_venta) VALUES (5, 5, '2022-05-25',20000.00);

Para ver las tablas en la base de datos, podemos seleccionar la tabla deseada en el lateral izquierdo o podemos entrar al menú principal de nuestra base de datos desde el lateral izquierdo también y seleccionar la tabla deseada una vez estemos en este.

Nuestras tablas se ven de la siguiente manera:

Captura de pantalla 2023-04-17 101313 Captura de pantalla 2023-04-17 101337 Captura de pantalla 2023-04-17 101405

Desde Xampp, podemos ver el esquema ER de dichas tablas con la conexión entre ellas mediante foráneas explicado anteriormente. Esto se hace desde la opción en la barra superior "Diseñador".

Captura de pantalla 2023-04-19 100625

CONECTIVIDAD DEL PROGRAMA CON LA BBDD

Para poder hacer esto, hay que realizar dos procedimientos: implementar el conector y crear una clase de Conexion BD

IMPLEMENTACIÓN CONECTOR

Hay que instalar el conector MySQL desde la página oficial en este link: https://dev.mysql.com/downloads/connector/j/

Después, en el proyecto deseado, seleccionamos en la parte superior File > Project Structure > Module > Dependencies. Ahí, seleccionamos + y seleccionamos la opción "JARs or directories...". Buscamos donde tengamos instalado el conector y guardamos los cambios.

Captura de pantalla 2023-04-19 102935 Captura de pantalla 2023-04-19 103346

EXPLICACIÓN CLASE CONEXION BD

En esta clase, tenemos las siguientes partes:

  • Enlace al conector.

  • Enlace a la base de datos.

  • Usuario desde las que nos conectamos.

  • Contraseña de dicho usuario.

  • Funciones de conexión a la base de datos, desconexión e implementación de SQL desde código con el getStatement y getPreparedStatement.

Captura de pantalla 2023-04-19 105225 Captura de pantalla 2023-04-19 105252