Código:
USE dep
GO
-- TABLA DEPARTAMENTO
CREATE TABLE DEPARTAMENTO(
NOMBRED VARCHAR(15) NOT NULL,
NUMEROD INT NOT NULL,
NSSGTE CHAR(9),
FECHAINICGTE DATE,
PRIMARY KEY (NUMEROD),
UNIQUE(NOMBRED),
FOREIGN KEY (NSSGTE) REFERENCES EMPLEADO (NSS),
)
GO
--TABLA EMPLEADO
CREATE TABLE EMPLEADO(
NOMBREP VARCHAR(15) NOT NULL,
INIC CHAR NULL,
APELLIDO VARCHAR (15)NOT NULL,
NSS CHAR(9)NOT NULL,
FECHAN DATE,
DIRECCION VARCHAR (30) NULL,
SEXO CHAR NULL,
SALARIO DECIMAL (10,2) NULL,
NSSUPER CHAR(9) NULL,
ND INT NULL,
PRIMARY KEY (NSS),
FOREIGN KEY (NSSSUPER)REFERENCES EMPLEADO(NSS),
FOREIGN KEY (ND) REFERENCES DEPARTAMENTO (NUMEROD),
)
GO
-- TABLA LUGARES_DEPTOS
CREATE TABLE LUGARES_DEPTOS(
NUMEROD INT NOT NULL,
LUGARD VARCHAR (15) NOT NULL,
PRIMARY KEY (NUMEROD, LUGARD),
FOREIGN KEY (NUMEROD) REFERENCES DEPARTAMENTO (NUMEROD),
)
GO
-- TABLA PROYECTO
CREATE TABLE PROYECTO(
NOMBREPR VARCHAR(15) NOT NULL,
NUMEROP INT NOT NULL,
LUGARP VARCHAR(15) NULL,
NUMD INT NOT NULL,
PRIMARY KEY (NUMEROP),
UNIQUE (NOMBREPR),
FOREIGN KEY (NUMD) REFERENCES DEPARTAMENTO (NUMEROD),
)
GO
--TABLA TRABAJA_EN
CREATE TABLE TRABAJA_EN(
NSSE CHAR(9) NOT NULL,
NUMP INT NOT NULL,
HORAS DECIMAL (3,1) NOT NULL,
PRIMARY KEY (NSSE, NUMP),
FOREIGN KEY (NSSE) REFERENCES EMPLEADO (NSS),
FOREIGN KEY (NUMP) REFERENCES PROYECTO (NUMEROP),
)
GO
--TABLA DEPENDIENTE
CREATE TABLE DEPENDIENTE(
NSSE CHAR(9)NOT NULL,
NOMBRE_DEPENDIENTE VARCHAR(15)NOT NULL,
SEXO CHAR,
FECHAN DATE,
PARENTESCO VARCHAR (8) NULL,
PRIMARY KEY (NSSE,NOMBRE_DEPENDIENTE),
FOREIGN KEY (NSSE) REFERENCES EMPLEADO (NSS),
)
GO
Errores
Código:
Mens. 1767, Nivel 16, Estado 0, Línea 4
La clave externa 'FK__DEPARTAME__NSSGT__4D94879B' hace referencia a la tabla no válida 'EMPLEADO'.
Mens. 1750, Nivel 16, Estado 0, Línea 4
No se pudo crear la restricción. Consulte los errores anteriores.
Mens. 1769, Nivel 16, Estado 1, Línea 4
La clave externa 'NSSSUPER' hace referencia a una columna no válida 'NSSSUPER' en la tabla que hace la referencia 'EMPLEADO'.
Mens. 1750, Nivel 16, Estado 0, Línea 4
No se pudo crear la restricción. Consulte los errores anteriores.
Mens. 1767, Nivel 16, Estado 0, Línea 5
La clave externa 'FK__LUGARES_D__NUMER__52593CB8' hace referencia a la tabla no válida 'DEPARTAMENTO'.
Mens. 1750, Nivel 16, Estado 0, Línea 5
No se pudo crear la restricción. Consulte los errores anteriores.
Mens. 1767, Nivel 16, Estado 0, Línea 6
La clave externa 'FK__PROYECTO__NUMD__59FA5E80' hace referencia a la tabla no válida 'DEPARTAMENTO'.
Mens. 1750, Nivel 16, Estado 0, Línea 6
No se pudo crear la restricción. Consulte los errores anteriores.
Mens. 1767, Nivel 16, Estado 0, Línea 5
La clave externa 'FK__TRABAJA_EN__NSSE__5EBF139D' hace referencia a la tabla no válida 'EMPLEADO'.
Mens. 1750, Nivel 16, Estado 0, Línea 5
No se pudo crear la restricción. Consulte los errores anteriores.
Mens. 1767, Nivel 16, Estado 0, Línea 4
La clave externa 'FK__DEPENDIENT__NSSE__6383C8BA' hace referencia a la tabla no válida 'EMPLEADO'.
Mens. 1750, Nivel 16, Estado 0, Línea 4
No se pudo crear la restricción. Consulte los errores anteriores.