DROP DATABASE bd_1;
DROP DATABASE bd_2;
DROP DATABASE bd_3;
DROP DATABASE dm;


/*Creación de las 3 bases de datos*/
CREATE DATABASE IF NOT EXISTS bd_1 CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE IF NOT EXISTS bd_2 CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE IF NOT EXISTS bd_3 CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE IF NOT EXISTS dm CHARACTER SET utf8 COLLATE utf8_general_ci;

/*Creando las tablas de la base de datos_1*/
USE bd_1;

CREATE TABLE clasificacion_cliente(
curp VARCHAR(15) PRIMARY KEY,
clasificacion VARCHAR(15)
)ENGINE=InnoDB;

/*Creando las tablas de la base de datos_2*/
USE bd_2;

CREATE TABLE datos_cliente(
curp VARCHAR(15) PRIMARY KEY,
nombre VARCHAR(30),
primer_apellido VARCHAR(30),
segundo_apellido VARCHAR(30),
direccion VARCHAR(40)
)ENGINE=InnoDB;

CREATE TABLE datos_cliente_extra(
curp VARCHAR(15) PRIMARY KEY,
edad INT,
practica_deporte VARCHAR(15),
hijos INT,
salario FLOAT
)ENGINE=InnoDB;

/*Creando las tablas de la base de datos_3*/
USE bd_3;
CREATE TABLE salario_viejo(
curp VARCHAR(15) PRIMARY KEY,
salario VARCHAR(8)
)ENGINE=InnoDB;

USE dm;
CREATE TABLE estadistica(
id_dato INT PRIMARY KEY AUTO_INCREMENT,
curp VARCHAR(10),
edad VARCHAR(8),
hijos VARCHAR(3),
deporte VARCHAR(3),
salario VARCHAR(10),
buen_cliente VARCHAR(3)
)ENGINE=InnoDB;


/*Llenado las tablas de bd_1*/
USE bd_1;
INSERT INTO clasificacion_cliente (curp,clasificacion)VALUES
('CURP_C1','BUENO'),
('CURP_C2','MALO'),
('CURP_C3','MALO'),
('CURP_C4','BUENO'),
('CURP_C5','BUENO'),
('CURP_C6','BUENO'),
('CURP_C7','BUENO'),
('CURP_C8','BUENO'),
('CURP_C9','BUENO'),
('CURP_C10','MALO');
SELECT * FROM clasificacion_cliente;

/*Llenado las tablas de bd_2*/
USE bd_2;
INSERT INTO datos_cliente(curp,nombre,primer_apellido,segundo_apellido,direccion)VALUES 
('CURP_C1',	'Nombre Cliente 1',	'Primer Apellido Cliente 1','Segundo Apellido Cliente 1','Direccion del Cliente 1'),
('CURP_C2',	'Nombre Cliente 2',	'Primer Apellido Cliente 2','Segundo Apellido Cliente 2','Direccion del Cliente 2'),
('CURP_C3',	'Nombre Cliente 3',	'Primer Apellido Cliente 3','Segundo Apellido Cliente 3','Direccion del Cliente 3'),
('CURP_C4',	'Nombre Cliente 4',	'Primer Apellido Cliente 4','Segundo Apellido Cliente 4','Direccion del Cliente 4'),
('CURP_C5',	'Nombre Cliente 5',	'Primer Apellido Cliente 5','Segundo Apellido Cliente 5','Direccion del Cliente 5'),
('CURP_C6',	'Nombre Cliente 6',	'Primer Apellido Cliente 6','Segundo Apellido Cliente 6','Direccion del Cliente 6'),
('CURP_C7',	'Nombre Cliente 7',	'Primer Apellido Cliente 7','Segundo Apellido Cliente 7','Direccion del Cliente 7'),
('CURP_C8',	'Nombre Cliente 8',	'Primer Apellido Cliente 8','Segundo Apellido Cliente 8','Direccion del Cliente 8'),
('CURP_C9',	'Nombre Cliente 9',	'Primer Apellido Cliente 9','Segundo Apellido Cliente 9','Direccion del Cliente 9'),
('CURP_C10','Nombre Cliente 10','Primer Apellido Cliente 10','Segundo Apellido Cliente 10','Direccion del Cliente 10');

INSERT INTO datos_cliente_extra(curp,edad,practica_deporte,hijos,salario)VALUES
('CURP_C1',	20,'Ninguno',	1,15000),
('CURP_C2',	22,	'Ninguno',	0,	8000),
('CURP_C3',	25,	'Fútbol Soccer',2,8500),
('CURP_C4',	28,	'Ninguno',	2,4800),
('CURP_C5',	40,	'Ninguno',	1,5000),
('CURP_C6',	45,	'Natación',	0,6000),
('CURP_C7',	22,	'Otro',	0,	6500),
('CURP_C8',	26,	'Basquetbol',1,14000),
('CURP_C9',	50,	'Ninguno',	3,	9000),
('CURP_C10',38,	'Ninguno',	0,	4800);

SELECT * FROM datos_cliente;
SELECT * FROM datos_cliente_extra;

/*Llenado las tablas de bd_3*/
USE bd_3;
INSERT INTO salario_viejo(curp,salario)VALUES 
('CURP_C1',	'ALTO'),
('CURP_C2',	'MEDIO'),
('CURP_C3',	'MEDIO'),
('CURP_C4',	'BAJO'),
('CURP_C5',	'BAJO'),
('CURP_C6',	'MEDIO'),
('CURP_C7',	'ALTO'),
('CURP_C8',	'MEDIO'),
('CURP_C9',	'BAJO'),
('CURP_C10','ALTO');
SELECT * FROM salario_viejo;

/********************************************/

USE dm;

DROP PROCEDURE transformacion_bueno;
DROP PROCEDURE transformacion_extras;

DROP TABLE estadistica;

CALL transformacion_bueno();
CALL transformacion_extras();
CALL buen_cliente('MAYOR','NO','NO','MEDIO');


SELECT * FROM estadistica;
DELETE FROM estadistica;