-- Creación de base de datos para hotel alura
CREATE DATABASE IF NOT EXISTS `hotel_alura` 
DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

USE `hotel_alura`;

DELETE FROM `hotel_alura`.`huesped`;
DROP TABLE IF EXISTS `hotel_alura`.`reserva`;
DROP TABLE IF EXISTS `hotel_alura`.`huesped`;

CREATE TABLE IF NOT EXISTS `huesped` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `usuario` varchar(20) NOT NULL UNIQUE,
  `nombre` varchar(20) NOT NULL,
  `apellido` varchar(20) NOT NULL,
  `fecha_nacimiento` date DEFAULT '1000-01-01',
  `nacionalidad` varchar(20) DEFAULT 'chilena',
  `telefono` varchar(20) NOT NULL,
  `password` varchar(60) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `reserva` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `fecha_entrada` date NOT NULL,
  `fecha_salida` date NOT NULL,
  `valor` double NOT NULL,
  `forma_pago` varchar(20) NOT NULL,
  `id_huesped` int(11) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `id_huesped_idx` (`id_huesped`),
  CONSTRAINT `id_huesped` FOREIGN KEY (`id_huesped`) REFERENCES `huesped` (`id`)
  ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Borrado de registros
DELETE FROM `hotel_alura`.`huesped`;

-- Creación de usuarios y reservas de prueba
INSERT INTO `hotel_alura`.`huesped`(usuario, nombre, apellido, telefono, password)
  VALUES('Usuario1', 'Primer', 'Huesped', '+56 123456789',
    '$2a$12$Pt7d9sZxHMZHfGivVgrVvergqz.VBNFY5.oJa8g9CK3lst7/Pqeuu');
INSERT INTO `hotel_alura`.`huesped`(usuario, nombre, apellido, telefono, password)
  VALUES('Usuario2', 'Segundo', 'Huesped', '+56 123456789',
    '$2a$12$Pt7d9sZxHMZHfGivVgrVvergqz.VBNFY5.oJa8g9CK3lst7/Pqeuu');
INSERT INTO `hotel_alura`.`huesped`(usuario, nombre, apellido, telefono, password)
  VALUES('Usuario3', 'Tercer', 'Huesped', '+56 123456789',
    '$2a$12$Pt7d9sZxHMZHfGivVgrVvergqz.VBNFY5.oJa8g9CK3lst7/Pqeuu');

INSERT INTO `hotel_alura`.`reserva`(fecha_entrada, fecha_salida, valor, forma_pago, id_huesped)
  VALUES('2023-09-01', '2023-09-03', 90000.00, 'efectivo', 1);
INSERT INTO `hotel_alura`.`reserva`(fecha_entrada, fecha_salida, valor, forma_pago, id_huesped)
  VALUES('2023-09-04', '2023-09-05', 60000.00, 'crédito', 2);
INSERT INTO `hotel_alura`.`reserva`(fecha_entrada, fecha_salida, valor, forma_pago, id_huesped)
  VALUES('2023-09-07', '2023-09-10', 120000.00, 'débito', 3);
INSERT INTO `hotel_alura`.`reserva`(fecha_entrada, fecha_salida, valor, forma_pago, id_huesped)
  VALUES('2023-09-11', '2023-09-21', 330000.00, 'crédito', 1);
