Ver originalCREATE DATABASE IF NOT EXISTS hotel;GRANT ALL ON hotel.* TO 'root'@'localhost' IDENTIFIED BY '';USE hotel; DROP TABLE IF EXISTS formadepago;DROP TABLE IF EXISTS factura;DROP TABLE IF EXISTS cliente;DROP TABLE IF EXISTS habitacion;DROP TABLE IF EXISTS precio;DROP TABLE IF EXISTS limpia;DROP TABLE IF EXISTS empleado;DROP TABLE IF EXISTS proveedor;DROP TABLE IF EXISTS factura_proveedor;DROP TABLE IF EXISTS servicio;DROP TABLE IF EXISTS usa_a;DROP TABLE IF EXISTS es_incluido; CREATE TABLE formadepago (Id INT(10) NOT NULL,Interes FLOAT(3,2) UNIQUE, CONSTRAINT PK_formadepago PRIMARY KEY (Id) ) ENGINE=INNODB; CREATE TABLE cliente (DNI CHAR(9) NOT NULL,Nombre CHAR(50),Apellidos CHAR(50),Domicilio CHAR(50),Telefono INT(9),Anterioridad ENUM ('Si','No'), CONSTRAINT PK_cliente PRIMARY KEY (DNI) ) ENGINE=INNODB; CREATE TABLE precio (Tipo ENUM ('Individual','Doble') NOT NULL,CONSTRAINT PK_precio PRIMARY KEY (Tipo) ) ENGINE=INNODB; CREATE TABLE habitacion (Numero INT(3) NOT NULL,Superficie INT(3),Bar ENUM ('Si','No'),Terraza ENUM ('Si','No'),Banio ENUM ('Si','No'),TV ENUM ('Si','No'),N_camas INT(1),Fecha_reserva DATE,/*Estancia*/Fecha_salida DATE,Estado ENUM ('Libre','Ocupada') NOT NULL,Tipo ENUM ('Individual','Doble') NOT NULL,DNI CHAR(9) NOT NULL, CONSTRAINT FK_habitacion_precio FOREIGN KEY (Tipo) REFERENCES precio(Tipo), CONSTRAINT FK_habitacion_cliente FOREIGN KEY (DNI) REFERENCES cliente(DNI), CONSTRAINT PK_habitacion PRIMARY KEY (Numero) ) ENGINE=INNODB; CREATE TABLE factura (Codigo_f INT(5) NOT NULL,Fecha_entrada DATE,Fecha_salida DATE,Importe_total FLOAT(6,2),Supletoria ENUM ('Si','No'),Id INT(10) NOT NULL,DNI CHAR(9) NOT NULL,Numero INT(3) NOT NULL, CONSTRAINT PK_factura PRIMARY KEY (Codigo_f), CONSTRAINT FK_factura_formadepago FOREIGN KEY (Id) REFERENCES formadepago(Id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_factura_cliente FOREIGN KEY (DNI) REFERENCES cliente(DNI) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_factura_hab FOREIGN KEY (Numero) REFERENCES habitacion(Numero) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=INNODB; CREATE TABLE proveedor (NIF CHAR(9) NOT NULL,Nombre_comercial CHAR(50) UNIQUE,Direccion CHAR(50),N_registro INT(3) NOT NULL,Codigo_fp INT(5) NOT NULL, CONSTRAINT PK_proveedor PRIMARY KEY (N_registro), CONSTRAINT FK_proveedor_empleado FOREIGN KEY (N_registro) REFERENCES empleado(N_registro), CONSTRAINT FK_proveedor_factura_proveedor FOREIGN KEY (Codigo_fp) REFERENCES factura_proveedor(Codigo_fp) ) ENGINE=INNODB; CREATE TABLE factura_proveedor (Codigo_fp INT(5) NOT NULL,Fecha DATE,Importe FLOAT(6,2),Encargado CHAR(50),NIF CHAR(9) NOT NULL, CONSTRAINT PK_factura_proveedor PRIMARY KEY (Codigo_fp), CONSTRAINT FK_factura_proveedor_proveedor FOREIGN KEY (NIF) REFERENCES proveedor(NIF) ) ENGINE=INNODB; CREATE TABLE servicio (Codigo_s VARCHAR(9),Descripcion CHAR(50) UNIQUE,Fecha DATE,Coste FLOAT(5,2),N_registro INT(3) NOT NULL,CONSTRAINT PK_servicio PRIMARY KEY (Codigo_s),CONSTRAINT FK_servicio_empleado FOREIGN KEY (N_registro) REFERENCES empleado(N_registro) ) ENGINE=INNODB; CREATE TABLE empleado (N_registro INT(3) NOT NULL,Nombre CHAR(50),Fecha_incorporacion DATE,Sueldo FLOAT (6,2) NIF CHAR(9) NOT NULL,Codigo_s INT(5) NOT NULL, CONSTRAINT PK_empleado PRIMARY KEY (N_registro), CONSTRAINT FK_empleado_proveedor FOREIGN KEY (NIF) REFERENCES proveedor(NIF), CONSTRAINT FK_empleado_servicio FOREIGN KEY (Codigo_s) REFERENCES servicio(Codigo_s) ) ENGINE=INNODB; CREATE TABLE limpia (Fecha DATE,Numero INT(3) NOT NULL,N_registro INT(3) NOT NULL, CONSTRAINT PK_limpia PRIMARY KEY (Fecha), CONSTRAINT FK_limpia_habitacion FOREIGN KEY (Numero) REFERENCES habitacion(Numero), CONSTRAINT FK_limpia_empleados FOREIGN KEY (N_registro) REFERENCES empleados(N_registro) ) ENGINE=INNODB; CREATE TABLE usa_a (Fecha DATE NOT NULL,Codigo_s INT(5),Codigo_s_usado INT(5), CONSTRAINT FK_usa_a_servicio FOREIGN KEY (Codigo_s) REFERENCES servicio(Codigo_s), CONSTRAINT PK_usa_a PRIMARY KEY (Fecha) ) ENGINE=INNODB; CREATE TABLE es_incluido (Codigo_f INT(5) NOT NULL,Codigo_s INT(5) NOT NULL,CONSTRAINT FK_es_incluido_factura FOREIGN KEY (Codigo_f) REFERENCES factura(Codigo_f),CONSTRAINT FK_es_incluido_servicio FOREIGN KEY (Codigo_s) REFERENCES servicio(Codigo_s) ) ENGINE=INNODB;