-
Notifications
You must be signed in to change notification settings - Fork 0
Diseño de base de datos
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.
Para utilizar la aplicación, la tendremos que tener previamente instalada desde la página oficial: https://www.apachefriends.org/es/index.html
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:
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.
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:
Ahí, tendremos que seleccionar la opción superior derecha "phpMyAdmin". Esta nos redirigirá a nuestra base de datos.
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.
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.
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:
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".
Para poder hacer esto, hay que realizar dos procedimientos: implementar el conector y crear una clase de Conexion BD
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.
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.