Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Partiendo del siguiente modelo relacional que corresponde al Restaurante Mouro escribe
las instrucciones en SQL necesarias para crear la base de datos:
Nota: Las claves primarias se indican en subrayado y las claves ajenas se denotan en
cursiva.
USE Restaurante_Mouro;
Nombre VARCHAR( 25 ) ,
Apellidos VARCHAR( 25 ) ,
Direccion VARCHAR( 50 ) ,
Ciudad VARCHAR( 50 ) ,
Telefono INTEGER( 9 ) ,
CP INTEGER(5) ,
FECHA_ALTA DATE ,
Categoria VARCHAR( 25 ) ,
ENGINE = InnoDB;
USE Restaurante_Mouro;
Puesto VARCHAR( 25 ) ,
Especialidad VARCHAR( 25 ) ,
ENGINE = InnoDB;
USE Restaurante_Mouro;
Cargo VARCHAR( 25 ) ,
PRIMARY KEY (DNI) ,
ENGINE = InnoDB;
USE Restaurante_Mouro;
Turno VARCHAR( 25 ) ,
Dni_Encargado Char ( 9 ) ,
PRIMARY KEY(DNI) ,
ENGINE = InnoDB;
USE Restaurante_Mouro;
Nombre VARCHAR( 25 ) ,
Capacidad INTEGER( 4 ) ,
ENGINE = InnoDB;
USE Restaurante_Mouro;
Nasientos INTEGER( 3 ) ,
Dni_Camarero VARCHAR( 9 ) ,
ENGINE = InnoDB;
USE Restaurante_Mouro;
Fhreserva DATE,
Nombre VARCHAR( 25 ) ,
Fhreservada DATE,
ENGINE = InnoDB;
USE Restaurante_Mouro;
NasientosR INTEGER ( 4 ) ,
ENGINE = InnoDB;
USE Restaurante_Mouro;
FechaF DATE,
CodigoM VarChar(9) ,
CodigoC VarChar(9) ,
PRIMARY KEY (NFactura),
ENGINE = InnoDB;
USE Restaurante_Mouro;
Nombre VarChar(25) ,
Descripcion VarChar(50) ,
ENGINE = InnoDB;
USE Restaurante_Mouro;
ENGINE = InnoDB;
USE Restaurante_Mouro;
Direccion VARCHAR( 50 ) ,
CP INTEGER(5) ,
Telefono INTEGER( 9 ) ,
FAX INTEGER(9) ,
Contacto VARCHAR ( 25 ) ,
ENGINE = InnoDB;
USE Restaurante_Mouro;
Descripcion VARCHAR( 50 ) ,
Stock INTEGER(5) ,
UnidadBase INTEGER( 3 ) ,
Categoria VARCHAR ( 25 ) ,
CodigoPRO INTEGER(4),
ENGINE = InnoDB;
USE Restaurante_Mouro;
Cantidad INTEGER(5) ,
ENGINE = InnoDB;
EJERCICIO 2
Tabla EMPLEADOS
2.1. Añade un índice que facilite búsquedas frecuentes por Apellidos y Nombre sin
duplicados.
USE Restaurante_Mouro;
USE Restaurante_Mouro;
Tabla CAMAREROS
2.3. El turno de trabajo sólo puede tomar 3 valores: mañana, tarde y noche. Añade esa
restricción teniendo en cuenta que un camarero puede tener más de un turno (no utilices
CHECK).
USE Restaurante_Mouro;
USE Restaurante_Mouro;
Tabla MESAS
USE Restaurante_Mouro;
Tabla PRODUCTOS
2.6. Añade un índice por Categoría. Muestra todos los índices de la tabla.
USE Restaurante_Mouro;
2.7. Añade una restricción en la tabla, de forma que el Stock sea entero de 4 cifras, sin
signo y que no admita nulos.
USE Restaurante_Mouro;
USE Restaurante_Mouro;
Tabla PLATOS
2.9. Borra la tabla PROVEEDORES. ¿Qué ocurre?. Borra previamente las claves
ajenas.
DROP TABLE Productos Error Code: 1217. Cannot delete or update a parent row: a
foreign key constraint fails 0.000 sec
No se puede borar al contener una clave ajena que la relaciona con otra table.
USE Restaurante_Mouro;
USE Restaurante_Mouro;