Вы находитесь на странице: 1из 7

;

CREATE TABLE actividad (


cod_actividad varchar(50) NOT NULL,
descripcion varchar(200) NOT NULL,
unidad_medida varchar(50) NOT NULL,
cantidad decimal(10,2) NOT NULL,
precio_unitario decimal(10,2) NOT NULL,
costo_total decimal(10,2) NOT NULL,
cod_categoria varchar(50) NOT NULL,
cod_obra varchar(50) NOT NULL,
estado varchar(50) NOT NULL
);
CREATE TABLE administra (
cod_obra varchar(50) NOT NULL,
cod_personal varchar(50) NOT NULL
);
CREATE TABLE avance_obra (
cod_avance_obra varchar(50) NOT NULL,
descripcion varchar(200) NOT NULL,
fecha date NOT NULL,
und varchar(50) NOT NULL,
cant decimal(10,2) NOT NULL,
uni decimal(10,2) NOT NULL,
total decimal(10,2) NOT NULL,
cod_personal varchar(50) NOT NULL,
cod_obra varchar(50) NOT NULL,
cod_categoria varchar(50) NOT NULL,
cod_actividad varchar(50) NOT NULL
);
CREATE TABLE categoria (
cod_categoria varchar(50) NOT NULL,
descripcion varchar(50) NOT NULL,
cod_obra varchar(50) NOT NULL
);
CREATE TABLE cliente (
cod_cliente varchar(50) NOT NULL,
ci varchar(50) NOT NULL,
nombre varchar(50) NOT NULL,
sexo char(10) NOT NULL,
direccion varchar(50) NOT NULL,
telefono varchar(50) NOT NULL,
razon_social varchar(50) NOT NULL,
cod_fiscal varchar(50) NOT NULL
);
CREATE TABLE contrato (
cod_contrato varchar(50) NOT NULL,
descripcion varchar(300) NOT NULL,
fecha_inicial date NOT NULL,
fecha_final date NOT NULL,
monto_total_contato decimal(10,2) NOT NULL,
cod_cliente varchar(50) NOT NULL
);
CREATE TABLE contrato_modificatorio (

cod_contrato_modificatorio varchar(50) NOT NULL,


descripcion varchar(300) NOT NULL,
cantidad decimal(10,2) NOT NULL,
fecha date NOT NULL,
cod_observacion varchar(200) NOT NULL,
cod_contrato varchar(50) NOT NULL,
monto decimal(10,2) NOT NULL
);
CREATE TABLE desembolso (
cod_desembolso varchar(50) NOT NULL,
fecha date NOT NULL,
emisor varchar(50) NOT NULL,
monto decimal(10,2) NOT NULL,
descripcion varchar(50) NOT NULL,
cod_obra varchar(50) NOT NULL
);
CREATE TABLE detalle_modificatorio (
cod_detalle varchar(50) NOT NULL,
descripcion varchar(50) NOT NULL,
unidad_medida varchar(50) NOT NULL,
cantidad decimal(10,2) NOT NULL,
precio_unitario decimal(10,2) NOT NULL,
costo_total decimal(10,2) NOT NULL,
cod_contro_modificatorio varchar(50) NOT NULL,
cod_obra varchar(50) NOT NULL,
cod_categoria varchar(50) NOT NULL,
cod_actividad varchar(50) NOT NULL
);
CREATE TABLE director_obra (
cod_director varchar(50) NOT NULL,
ci varchar(50) NOT NULL,
nombre varchar(50) NOT NULL,
contrasena varchar(50) NOT NULL,
sexo char(10) NOT NULL,
direccion varchar(50) NOT NULL,
telefono varchar(50) NOT NULL,
fecha_entrada date NOT NULL,
estado varchar(50) NOT NULL,
cod_gerente varchar(50) NOT NULL
);
CREATE TABLE equipo_maquinaria (
cod_equipo varchar(50) NOT NULL,
descripcion varchar(200) NOT NULL,
unidad varchar(50) NOT NULL,
cantidad decimal(10,2) NOT NULL,
precio_productivo decimal(10,2) NOT NULL,
costo_total decimal(10,2) NOT NULL,
cod_obra varchar(50) NOT NULL,
cod_categoria varchar(50) NOT NULL,
cod_actividad varchar(50) NOT NULL
);
CREATE TABLE fiscal_obra (
cod_fiscal varchar(50) NOT NULL,
ci varchar(50) NOT NULL,
nombre varchar(50) NOT NULL,

sexo char(10) NOT NULL,


direccion varchar(50) NOT NULL,
telefono varchar(50) NOT NULL,
estado varchar(50) NOT NULL
);
CREATE TABLE gastos_generales_impuestos (
cod_gastos varchar(50) NOT NULL,
herrarmientas_menores decimal(10,2) NOT NULL,
gastos_generales decimal(10,2) NOT NULL,
utilidad decimal(10,2) NOT NULL,
impuestos decimal(10,2) NOT NULL,
costo_total decimal(10,2) NOT NULL,
cod_obra varchar(50) NOT NULL,
cod_categoria varchar(50) NOT NULL,
cod_actividad varchar(50) NOT NULL
);
CREATE TABLE gerente (
cod_gerente varchar(50) NOT NULL,
ci varchar(50) NOT NULL,
nombre varchar(50) NOT NULL,
contrasena varchar(50) NOT NULL,
sexo char(10) NOT NULL,
direccion varchar(50) NOT NULL,
telefono varchar(50) NOT NULL,
fecha_ingreso date NOT NULL,
estado varchar(50) NOT NULL
);
CREATE TABLE mano_obra (
cod_mano_obra varchar(50) NOT NULL,
descripcion varchar(200) NOT NULL,
unidad varchar(50) NOT NULL,
cantidad decimal(10,2) NOT NULL,
precio_productivo decimal(10,2) NOT NULL,
sub_total decimal(10,2) NOT NULL,
carga_sociales decimal(10,2) NOT NULL,
iva decimal(10,2) NOT NULL,
costo_total decimal(10,2) NOT NULL,
cod_obra varchar(50) NOT NULL,
cod_categoria varchar(50) NOT NULL,
cod_actividad varchar(50) NOT NULL
);
CREATE TABLE materiales (
cod_material varchar(50) NOT NULL,
descripcion varchar(200) NOT NULL,
unidad varchar(50) NOT NULL,
cantidad decimal(10,2) NOT NULL,
precio_productivo decimal(10,2) NOT NULL,
costo_total decimal(10,2) NOT NULL,
cod_obra varchar(50) NOT NULL,
cod_categoria varchar(50) NOT NULL,
cod_actividad varchar(50) NOT NULL
);
CREATE TABLE obra (
cod_obra varchar(50) NOT NULL,
nombre varchar(50) NOT NULL,

tipo_obra varchar(50) NOT NULL,


estado varchar(50) NOT NULL,
cod_contrato varchar(50) NOT NULL
);
CREATE TABLE observacion (
cod_observacion varchar(200) NOT NULL,
descripcion varchar(300) NOT NULL,
fecha date NOT NULL,
tipo varchar(50) NOT NULL,
cod_fiscal varchar(50) NOT NULL,
cod_avance varchar(50) NOT NULL
);
CREATE TABLE orden_cambio (
cod_orden_cambio varchar(50) NOT NULL,
descripcion varchar(300) NOT NULL,
cantidad decimal(10,2) NOT NULL,
fecha date NOT NULL,
cod_director varchar(50) NOT NULL,
cod_obra varchar(50) NOT NULL,
cod_observacion varchar(200) NOT NULL,
cod_categoria varchar(50) NOT NULL,
cod_actividad varchar(50) NOT NULL
);
--CREATE TABLE personal (
-cod_personal varchar(50) NOT NULL,
-ci varchar(50) NOT NULL,
-nombre varchar(50) NOT NULL,
-sexo char(10) NOT NULL,
-direccion varchar(50) NOT NULL,
-telefono varchar(50) NOT NULL,
-contrasena varchar(50) NOT NULL,
-fecha_ingreso date NOT NULL,
-cargo varchar(50) NOT NULL,
-estado varchar(50) NOT NULL
--);
CREATE TABLE personal (
cod_personal varchar(50) NOT NULL,
ci varchar(50) NOT NULL,
nombre varchar(50) NOT NULL,
contrasena varchar(50) NOT NULL,
sexo varchar(50) NOT NULL,
direccion varchar(50) NOT NULL,
telefono varchar(50) NOT NULL,
fecha_ingreso varchar(50) NOT NULL,
cargo varchar(50) NOT NULL,
estado varchar(50) NOT NULL,
cod_del_administrador varchar(50)
);
ALTER TABLE personal ADD CONSTRAINT FK_personal_personal
FOREIGN KEY (cod_del_administrador) REFERENCES personal (cod_personal);

--ALTER TABLE personal ADD CONSTRAINT FK_personal_personal

--

FOREIGN KEY (cod_del_administrador) REFERENCES personal (cod_personal);

ALTER TABLE actividad ADD CONSTRAINT PK_actividad


PRIMARY KEY CLUSTERED (cod_obra, cod_categoria, cod_actividad);
ALTER TABLE administra ADD CONSTRAINT PK_administra
PRIMARY KEY CLUSTERED (cod_obra, cod_personal);
ALTER TABLE avance_obra ADD CONSTRAINT PK_avance_obra
PRIMARY KEY CLUSTERED (cod_avance_obra);
ALTER TABLE categoria ADD CONSTRAINT PK_categoria
PRIMARY KEY CLUSTERED (cod_categoria, cod_obra);
ALTER TABLE cliente ADD CONSTRAINT PK_cliente
PRIMARY KEY CLUSTERED (cod_cliente);
ALTER TABLE contrato ADD CONSTRAINT PK_contrato
PRIMARY KEY CLUSTERED (cod_contrato);
ALTER TABLE contrato_modificatorio ADD CONSTRAINT PK_contrato_modificatorio
PRIMARY KEY CLUSTERED (cod_contrato_modificatorio);
ALTER TABLE desembolso ADD CONSTRAINT PK_desembolso
PRIMARY KEY CLUSTERED (cod_desembolso);
ALTER TABLE detalle_modificatorio ADD CONSTRAINT PK_detalle_modificatorio
PRIMARY KEY CLUSTERED (cod_detalle);
ALTER TABLE director_obra ADD CONSTRAINT PK_director_obra
PRIMARY KEY CLUSTERED (cod_director);
ALTER TABLE equipo_maquinaria ADD CONSTRAINT PK_equipo_maquinaria
PRIMARY KEY CLUSTERED (cod_equipo);
ALTER TABLE fiscal_obra ADD CONSTRAINT PK_fiscal_obra
PRIMARY KEY CLUSTERED (cod_fiscal);
ALTER TABLE gastos_generales_impuestos ADD CONSTRAINT PK_gastos_generales_impues
tos
PRIMARY KEY CLUSTERED (cod_gastos);
ALTER TABLE gerente ADD CONSTRAINT PK_gerente
PRIMARY KEY CLUSTERED (cod_gerente);
ALTER TABLE mano_obra ADD CONSTRAINT PK_mano_obra
PRIMARY KEY CLUSTERED (cod_mano_obra);
ALTER TABLE materiales ADD CONSTRAINT PK_materiales
PRIMARY KEY CLUSTERED (cod_material);
ALTER TABLE obra ADD CONSTRAINT PK_obra
PRIMARY KEY CLUSTERED (cod_obra);
ALTER TABLE observacion ADD CONSTRAINT PK_observacion
PRIMARY KEY CLUSTERED (cod_observacion);

ALTER TABLE orden_cambio ADD CONSTRAINT PK_orden_cambio


PRIMARY KEY CLUSTERED (cod_orden_cambio);
ALTER TABLE personal ADD CONSTRAINT PK_personal
PRIMARY KEY CLUSTERED (cod_personal);

ALTER TABLE actividad ADD CONSTRAINT FK_actividad_categoria


FOREIGN KEY (cod_categoria, cod_obra) REFERENCES categoria (cod_categori
a, cod_obra);
ALTER TABLE administra ADD CONSTRAINT FK_administra_obra
FOREIGN KEY (cod_obra) REFERENCES obra (cod_obra);
ALTER TABLE administra ADD CONSTRAINT FK_administra_personal
FOREIGN KEY (cod_personal) REFERENCES personal (cod_personal);
ALTER TABLE avance_obra ADD CONSTRAINT FK_avance_obra_actividad
FOREIGN KEY (cod_obra, cod_categoria, cod_actividad) REFERENCES activida
d (cod_obra, cod_categoria, cod_actividad);
ALTER TABLE avance_obra ADD CONSTRAINT FK_avance_obra_personal
FOREIGN KEY (cod_personal) REFERENCES personal (cod_personal);
ALTER TABLE categoria ADD CONSTRAINT FK_categoria_obra
FOREIGN KEY (cod_obra) REFERENCES obra (cod_obra);
ALTER TABLE cliente ADD CONSTRAINT FK_cliente_fiscal_obra
FOREIGN KEY (cod_fiscal) REFERENCES fiscal_obra (cod_fiscal);
ALTER TABLE contrato ADD CONSTRAINT FK_contrato_cliente
FOREIGN KEY (cod_cliente) REFERENCES cliente (cod_cliente);
ALTER TABLE contrato_modificatorio ADD CONSTRAINT FK_contrato_modificatorio_cont
rato
FOREIGN KEY (cod_contrato) REFERENCES contrato (cod_contrato);
ALTER TABLE contrato_modificatorio ADD CONSTRAINT FK_contrato_modificatorio_obse
rvacion
FOREIGN KEY (cod_observacion) REFERENCES observacion (cod_observacion);
ALTER TABLE desembolso ADD CONSTRAINT FK_desembolso_obra
FOREIGN KEY (cod_obra) REFERENCES obra (cod_obra);
ALTER TABLE detalle_modificatorio ADD CONSTRAINT FK_detalle_modificatorio_activi
dad
FOREIGN KEY (cod_obra, cod_categoria, cod_actividad) REFERENCES activida
d (cod_obra, cod_categoria, cod_actividad);
ALTER TABLE detalle_modificatorio ADD CONSTRAINT FK_detalle_modificatorio_contra
to_modificatorio
FOREIGN KEY (cod_contro_modificatorio) REFERENCES contrato_modificatorio
(cod_contrato_modificatorio);
ALTER TABLE director_obra ADD CONSTRAINT FK_director_obra_gerente
FOREIGN KEY (cod_gerente) REFERENCES gerente (cod_gerente);
ALTER TABLE equipo_maquinaria ADD CONSTRAINT FK_equipo_maquinaria_actividad
FOREIGN KEY (cod_obra, cod_categoria, cod_actividad) REFERENCES activida

d (cod_obra, cod_categoria, cod_actividad);


ALTER TABLE gastos_generales_impuestos ADD CONSTRAINT FK_gastos_generales_impues
tos_actividad
FOREIGN KEY (cod_obra, cod_categoria, cod_actividad) REFERENCES activida
d (cod_obra, cod_categoria, cod_actividad)
ON DELETE CASCADE;
ALTER TABLE mano_obra ADD CONSTRAINT FK_mano_obra_actividad
FOREIGN KEY (cod_obra, cod_categoria, cod_actividad) REFERENCES activida
d (cod_obra, cod_categoria, cod_actividad);
ALTER TABLE materiales ADD CONSTRAINT FK_materiales_actividad
FOREIGN KEY (cod_obra, cod_categoria, cod_actividad) REFERENCES activida
d (cod_obra, cod_categoria, cod_actividad);
ALTER TABLE obra ADD CONSTRAINT FK_obra_contrato
FOREIGN KEY (cod_contrato) REFERENCES contrato (cod_contrato);
ALTER TABLE observacion ADD CONSTRAINT FK_observacion_avance_obra
FOREIGN KEY (cod_avance) REFERENCES avance_obra (cod_avance_obra);
ALTER TABLE observacion ADD CONSTRAINT FK_observacion_fiscal_obra
FOREIGN KEY (cod_fiscal) REFERENCES fiscal_obra (cod_fiscal);
ALTER TABLE orden_cambio ADD CONSTRAINT FK_orden_cambio_actividad
FOREIGN KEY (cod_obra, cod_categoria, cod_actividad) REFERENCES activida
d (cod_obra, cod_categoria, cod_actividad);
ALTER TABLE orden_cambio ADD CONSTRAINT FK_orden_cambio_director_obra
FOREIGN KEY (cod_director) REFERENCES director_obra (cod_director);
ALTER TABLE orden_cambio ADD CONSTRAINT FK_orden_cambio_observacion
FOREIGN KEY (cod_observacion) REFERENCES observacion (cod_observacion);

Вам также может понравиться