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);