Ejercicio 1 SQL Definicion Datos Solucion
Ejercicio 1 SQL Definicion Datos Solucion
Ejercicio 1 SQL Definicion Datos Solucion
Ejercicio 1:
Se pide escribir los comandos SQL que permitan la creación de las tablas anteriores
teniendo en cuenta las siguientes restricciones:
• Todos los valores son de tipo carácter excepto los campos FECHA_APERTURA
(fecha) , CANTIDAD, PRECIO y COD_LOCALIDAD (numéricos).
• Los únicos campos que no son obligatorios son los campos DOMICILIO.
• Los valores del campo horario sólo pueden ser HOR1, HOR2 y HOR3.
• No es posible dar de alta EXISTENCIAS a precio 0.
• El campo función de la tabla PUB_EMPLEADO sólo puede tener los valores
CAMARERO, SEGURIDAD, LIMPIEZA.
• Se ha de mantener la integridad referencial entre las tablas.
• Las claves primarias vienen marcadas con el símbolo #.
Ejercicio #1 SQL
Solución:
CREATE TABLE pub (
cod_pub VARCHAR(5) NOT NULL,
nombre VARCHAR(60) NOT NULL,
licencia_fiscal VARCHAR(60) NOT NULL,
domicilio VARCHAR(60) ,
fecha_apertura DATE NOT NULL,
horario VARCHAR(60) NOT NULL,
cod_localidad INTEGER NOT NULL ) ;
CREATE TABLE titular (
dni_titular VARCHAR(8) NOT NULL,
nombre VARCHAR(60) NOT NULL,
domicilio VARCHAR(60) ,
cod_pub VARCHAR(5) NOT NULL ) ;
CREATE TABLE empleado (
dni_empleado VARCHAR(8) NOT NULL,
nombre VARCHAR(60) NOT NULL,
domicilio VARCHAR(60) ) ;
CREATE TABLE existencias (
cod_articulo VARCHAR(10) NOT NULL,
nombre VARCHAR(60) NOT NULL,
cantidad INTEGER NOT NULL,
precio DECIMAL NOT NULL,
cod_pub VARCHAR(5) NOT NULL ) ;
CREATE TABLE localidad (
cod_localidad INTEGER NOT NULL,
nombre VARCHAR(60) NOT NULL ) ;
CREATE TABLE pub_empleado (
cod_pub VARCHAR(5) NOT NULL,
dni_empleado VARCHAR(8) NOT NULL,
funcion VARCHAR(9) NOT NULL ) ;
Ejercicio #1 SQL
Sentencias SQL de creación restricciones:
ALTER TABLE pub ADD CONSTRAINT pk_pub
PRIMARY KEY (cod_pub) ;
ALTER TABLE localidad ADD CONSTRAINT pk_localidad
PRIMARY KEY (cod_localidad) ;
ALTER TABLE titular ADD CONSTRAINT pk_titular
PRIMARY KEY (dni_titular) ;
ALTER TABLE empleado ADD CONSTRAINT pk_empleado
PRIMARY KEY (dni_empleado) ;
ALTER TABLE existencias ADD CONSTRAINT pk_existencias
PRIMARY KEY (cod_articulo) ;
ALTER TABLE pub_empleado ADD CONSTRAINT pk_pub_empleado
PRIMARY KEY (cod_pub, dni_empleado, funcion) ;
ALTER TABLE pub ADD CONSTRAINT fk_pub_localidad
FOREIGN KEY (cod_localidad)
REFERENCES localidad (cod_localidad) ;
ALTER TABLE titular ADD CONSTRAINT fk_titular_pu
FOREIGN KEY (cod_pub)
REFERENCES pub (cod_pub) ;
ALTER TABLE existencias ADD CONSTRAINT fk_existencias_pub
FOREIGN KEY (cod_pub)
REFERENCES pub (cod_pub) ;
ALTER TABLE pub_empleado ADD CONSTRAINT fk_pubemple_pub
FOREIGN KEY (cod_pub)
REFERENCES pub(cod_pub) ;
ALTER TABLE pub_empleado ADD CONSTRAINT fk_pubemple_empleado
FOREIGN KEY (dni_empleado)
REFERENCES empleado (dni_empleado) ;
Ejercicio #1 SQL