Os dejo como la tengo hecha yo con FOREIGN KEY
Examen paso a oracle.Tipo A
CREATE TABLE COLABORADOR
(
NIF_COLABORADOR NUMBER(10),
NOMBRE VARCHAR2(20),
DOMICILIO VARCHAR2(20),
BANCO VARCHAR2(20),
NUMERO_CUENTA NUMBER(10),
TLF NUMBER(10),
CONSTRAINT PK_COLABORADOR PRIMARY KEY (NIF_COLABORADOR)
)
CREATE TABLE CLIENTE
(
CODIGO_CLIENTE NUMBER(10),
NUM_SOCIAL NUMBER(10),
DOMICILIO VARCHAR2(20),
TLF NUMBER(10),
CONSTRAINT PK_CLIENTE PRIMARY KEY (CODIGO_CLIENTE)
)
CREATE TABLE TIPO_PAGO
(
CODIGO_TIPO_PAGO NUMBER(10),
DESCRIPCION VARCHAR2(20),
CONSTRAINT PK_TIPO_PAGO PRIMARY KEY (CODIGO_TIPO_PAGO)
)
CREATE TABLE PROYECTO
(
CODIGO_PROYECTO NUMBER(10),
DESCRIPCION VARCHAR2(20) CONSTRAINT NONULO NOT NULL,
FECHA_INICIO DATE,
FECHA_FIN DATE,
CUANTIA NUMBER(10,3),
CODIGO_CLIENTE NUMBER(10),
CONSTRAINT FK_PROYECTO_CODIGOCLIENTE FOREIGN KEY (CODIGO_CLIENTE) REFERENCES CLIENTE (CODIGO_CLIENTE),
CONSTRAINT PK_PROYECTO PRIMARY KEY (CODIGO_PROYECTO),
CONSTRAINT NOMISMOVALOR_CODCLIENTE UNIQUE (DESCRIPCION)
)
CREATE TABLE PARTICIPAN
(
NIF_COLABORADOR NUMBER(10),
CODIGO_PROYECTO NUMBER(10),
CONSTRAINT FK_PARTICIPAN_NIF FOREIGN KEY (NIF_COLABORADOR) REFERENCES COLABORADOR (NIF_COLABORADOR),
CONSTRAINT FK_PARTICIPAN_CODPROYECTO FOREIGN KEY (CODIGO_PROYECTO) REFERENCES PROYECTO (CODIGO_PROYECTO) ON DELETE CASCADE,
CONSTRAINT PK_PARTICIPAN PRIMARY KEY (NIF_COLABORADOR,CODIGO_PROYECTO)
)
CREATE TABLE PAGO
(
NUMERO NUMBER(10),
CONCEPTO VARCHAR2(20),
CANTIDAD NUMBER(10,3) CONSTRAINT NONULO_CANTIDAD NOT NULL,
FECHA_PAGO DATE,
NIF_COLABORADOR NUMBER(10),
CODIGO_TIPO_PAGO NUMBER(10),
CONSTRAINT FK_PAGO_NIF FOREIGN KEY (NIF_COLABORADOR) REFERENCES COLABORADOR (NIF_COLABORADOR),
CONSTRAINT FK_PAGO_CODTIPPAGO FOREIGN KEY (CODIGO_TIPO_PAGO) REFERENCES TIPO_PAGO (CODIGO_TIPO_PAGO),
CONSTRAINT PK_PAGO PRIMARY KEY (NUMERO)
)
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.