Está en la página 1de 6

CREATE TABLE asignado

(
id_asignacion integer NOT NULL,
rut_personal character(9) NOT NULL,
rut_cliente character(9) NOT NULL,
id_proyecto integer NOT NULL,
fechai_asignacion date,
fechaf_asignacion date,
horas_asignacion integer,
CONSTRAINT pk_asignado PRIMARY KEY (id_asignacion),
CONSTRAINT fk_asignado_cuenta_co_proyecto FOREIGN KEY (rut_cliente,
id_proyecto)
REFERENCES proyecto (rut_cliente, id_proyecto) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_asignado_esta_personal FOREIGN KEY (rut_personal)
REFERENCES personal (rut_personal) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT)

CREATE TABLE cargo


(
id_cargo integer NOT NULL,
nombre_cargo character(20) NOT NULL,
CONSTRAINT pk_cargo PRIMARY KEY (id_cargo)
)

CREATE TABLE clientes


(
rut_cliente character(9) NOT NULL,
id_sector integer NOT NULL,

nombre_cliente character(45) NOT NULL,


apellidop_cliente character(30) NOT NULL,
apellidom_cliente character(30) NOT NULL,
direccion_cliente character(50) NOT NULL,
mail_cliente character(50),
incorporacio_cliente date NOT NULL,
CONSTRAINT pk_clientes PRIMARY KEY (rut_cliente),
CONSTRAINT fk_clientes_pertenece_sector FOREIGN KEY (id_sector)
REFERENCES sector (id_sector) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
)

CREATE TABLE contempla


(
rut_cliente character(9) NOT NULL,
id_proyecto integer NOT NULL,
id_tipoproyecto integer NOT NULL,
CONSTRAINT pk_contempla PRIMARY KEY (rut_cliente, id_proyecto,
id_tipoproyecto),
CONSTRAINT un FOREIGN KEY (id_tipoproyecto)
REFERENCES tipoproyecto (id_tipoproyecto) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT varios FOREIGN KEY (rut_cliente, id_proyecto)
REFERENCES proyecto (rut_cliente, id_proyecto) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
)

CREATE TABLE estado

(
id_estado integer NOT NULL,
descripcion_estado character(20),
CONSTRAINT pk_estado PRIMARY KEY (id_estado)
)

CREATE TABLE habilidad


(
id_habilidad integer NOT NULL,
descripcion_habilidad character(50) NOT NULL,
CONSTRAINT pk_habilidad PRIMARY KEY (id_habilidad)
)

CREATE TABLE informes


(
id_informe integer NOT NULL,
rut_cliente character(9) NOT NULL,
id_proyecto integer NOT NULL,
rut_personal character(9) NOT NULL,
texto_informe character varying(100) NOT NULL,
fecha_informe date NOT NULL,
fecha_revision date,
CONSTRAINT pk_informes PRIMARY KEY (rut_cliente, id_proyecto, id_informe),
CONSTRAINT fk_informes_redacta_personal FOREIGN KEY (rut_personal)
REFERENCES personal (rut_personal) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_informes_tiene_proyecto FOREIGN KEY (rut_cliente,
id_proyecto)
REFERENCES proyecto (rut_cliente, id_proyecto) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT

CREATE TABLE personal


(
rut_personal character(9) NOT NULL,
per_rut_personal character(9),
id_cargo integer NOT NULL,
nombre_personal character(45) NOT NULL,
apellidop_personal character(30) NOT NULL,
apellidom_personal character(30) NOT NULL,
valor_hora_personal integer,
CONSTRAINT pk_personal PRIMARY KEY (rut_personal),
CONSTRAINT fk_personal_ejerce_cargo FOREIGN KEY (id_cargo)
REFERENCES cargo (id_cargo) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT jefe FOREIGN KEY (per_rut_personal)
REFERENCES personal (rut_personal) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
)
CREATE TABLE posee
(
rut_personal character(9) NOT NULL,
id_habilidad integer NOT NULL,
CONSTRAINT pk_posee PRIMARY KEY (id_habilidad, rut_personal),
CONSTRAINT caracteriza FOREIGN KEY (rut_personal)
REFERENCES personal (rut_personal) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT una FOREIGN KEY (id_habilidad)
REFERENCES habilidad (id_habilidad) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT

CREATE TABLE proyecto


(
rut_cliente character(9) NOT NULL,
id_proyecto integer NOT NULL,
id_estado integer NOT NULL,
nombre_proyecto character(40) NOT NULL,
fechai_proyecto date NOT NULL,
fechat_proyecto date NOT NULL,
descripcion_proyecto character varying(100),
valor_proyecto integer NOT NULL,
CONSTRAINT pk_proyecto PRIMARY KEY (rut_cliente, id_proyecto),
CONSTRAINT fk_proyecto_adopta_estado FOREIGN KEY (id_estado)
REFERENCES estado (id_estado) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_proyecto_solicita_clientes FOREIGN KEY (rut_cliente)
REFERENCES clientes (rut_cliente) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
)

CREATE TABLE sector


(
id_sector integer NOT NULL,
nombre_sector character(25) NOT NULL,
CONSTRAINT pk_sector PRIMARY KEY (id_sector)
)

CREATE TABLE tipoproyecto

(
id_tipoproyecto integer NOT NULL,
nombre_tipoproyecto character(30) NOT NULL,
CONSTRAINT pk_tipoproyecto PRIMARY KEY (id_tipoproyecto)
)

También podría gustarte