Proyecto Final 

1.Definir el enunciado del problema a sistematizar según las necesidades detectadas. 


En la actualidad la información de los diferentes grupos o personas vinculados con la empresa se encuentra almacenada en archivos diferentes. Como consecuencia de ello, no es posible establecer relaciones entre los distintos grupos de interés como son clientes , proveedores, contratistas, además al encontrarse la información dispersa, se hace más complejo el procedimiento para buscar un determinado dato. 


Por tal motivo se propone la creación de una base de datos donde se puedan integrar la información correspondiente a: proyectos(nombre,fecha inicio y final), clientes(nombre,dirección,teléfono,email), proveedores(nombre,dirección,teléfono,email), contratistas(nombre,dirección,teléfono,email),producto(nombre,marca),servicio(nombre) que facilite la gestión del gerencia y demás personas que puedan ser usuarias del sistema.


2 . Realizar:

2.1. Darle un nombre a la base de datos

Sistema de Información para la prestación de Servicios Ambientales

2.2. Listado de tablas que llevara la BD. 

Tablas principales

  • Clientes
  • Proveedores
  • Contratistas
  • Proyectos
  • Productos
  • Servicios

Tablas relacionales
  • Proyecto_Clientes
  • Proyecto_Contratistas
  • Compras

2.3. Diseñar el diccionario de datos de cada tabla (campo, nombre el campo, tipo, tamaño y descripción).

2.4. Montar o diseñar el modelo entidad relación.

2.5. Dibujar el Diagrama relacional.


Enlace a archivo en excel

https://drive.google.com/drive/folders/1wg3M3s5ct6q2ll1PwapPSzA4CEN0W85a?usp=sharing


3. Crear la BD y las tablas respectivas en mysql

https://drive.google.com/drive/folders/1wg3M3s5ct6q2ll1PwapPSzA4CEN0W85a?usp=sharing


4. Diseñar ejercicios en los que se apliquen los diferentes comandos que se utilizaron durante el semestre con su respectivo análisis y resultados.

Visualizar los proyectos que se realizarán en Espinal

  • Que información se desea mostrar o visualizar: 
     Proyectos del Espinal
  • Cual es el nombre de la tabla de la cual se necesita la información:
     Tabla proyectos
  • Condición: se realicen en el Espinal

select*from proyecto where municipio='Espinal';


Visualizar los proyectos cuyo valor inicial>=20 mill

  • Que información se desea mostrar o visualizar: 
      Todos los proyectos
  • Cual es el nombre de la tabla de la cual se necesita la información:proyecto_cliente
  • Condición: proyectos con valor inicial>=20 mill

select*from proyecto_cliente where valor_inicial>=20000000;


Visualizar los proyectos cuyo valor inicial>=50000000 and valor ejecutado <=42000000

  • Que información se desea mostrar o visualizar: 
      todos los proyectos
  • Cual es el nombre de la tabla de la cual se necesita la información:proyecto_cliente
  • Condición: valor_inicial>=50.000.000 y valor_ejecutado <=42000000
select*from proyecto_cliente where valor_inicial>=50000000 and valor_ejecutado<=42000000;



Crear una consulta que visualice la información de los clientes 002,005 y 008
  • Que información se desea mostrar o visualizar: 
      Todos los clientes
  • Cual es el nombre de la tabla de la cual se necesita la información:clientes
  • Condición:clientes con codigo 002,005 y 008

select*from cliente where Idcliente in('002','005','008');

Visualizar la información de los proyectos que comienzan con la letra m.

  • Que información se desea mostrar o visualizar: todos los proyectos 

  • Cual es el nombre de la tabla de la cual se necesita la información:proyectos
  • Condición:Nombre de proyectos que empiecen con la letra m
select*from proyecto where nombre like 'm%';

Visualizar el código del proyecto, el nombre del cliente, el municipio y el valor ejecutado


  •  Que se desea consultar y de que tablas
     proyecto.Idproyecto
     cliente.nombre
     proyecto.municipio
     proyecto_cliente.valor_ejecutado
  •  Que tablas se ven afectadas o involucradas
      cliente,proyecto y proyecto_cliente
  • Condición:
      Ninguna

  • Como se relacionan las tablas
      cliente.Idcliente=proyecto_cliente.Idcliente
     proyecto_cliente.Idproyecto=proyecto.Idproyecto

  •  Que comando se debe utilizar
     select


 select proyecto.Idproyecto, cliente.nombre, proyecto.municipio, proyecto_cliente.valor_ejecutado from cliente,proyecto,proyecto_cliente where cliente.Idcliente=proyecto_cliente.Idcliente and proyecto_cliente.Idproyecto=proyecto.Idproyecto;

Consultar que contratista(s) participan en el proyecto 110


  •  Que se desea consultar y de que tablas
     contratista.Idcontratista
     proyecto_compra.Idproyecto
     contratista.nombre
  •  Que tablas se ven afectadas o involucradas
      Contratista y proyecto_compra
  • Condición:
      Contratista del proyecto 110
  • Como se relacionan las tablas
      contratista.idcontratista=proyecto_compra.Idcontratista


  •  Que comando se debe utilizar
     select

select contratista.Idcontratista, proyecto_compra.Idproyecto, contratista.nombre from contratista, proyecto_compra where proyecto_compra.Idproyecto='110' and contratista.idcontratista=proyecto_compra.Idcontratista;

Consultar que proyectos tiene como proveedor a Papeleria La Especial


  •  Que se desea consultar y de que tablas
     proyecto_compra.Idproyecto
     proveedor.Idproyecto
     proveedor.nombre
  •  Que tablas se ven afectadas o involucradas
      Proveedor y proyecto_compra
  • Condición:
      Proyectos donde el proveedor es Papeleria La Especial
  • Como se relacionan las tablas
      proveedor.idproveedor=proyecto_compra.Idproveedor

  •  Que comando se debe utilizar
     select

select proyecto_compra.Idproyecto, proveedor.Idproyecto, proveedor.nombre from proveedor, proyecto_compra where proveedor.nombre='Papeleria La Especial' and proveedor.idproveedor=proyecto_compra.Idproveedor;

Consultar el codigo del proyecto, nombre del proyecto y valor ejecutado


  •  Que se desea consultar y de que tablas
     proyecto_compra.Idproyecto
     proyecto.nombre
     proyecto_compra.valor_ejecutado

 Que tablas se ven afectadas o involucradas
      Proyecto y proyecto_compra
  • Condición:
      Ninguna

  • Como se relacionan las tablas
      proyecto.Idproyecto=proyecto_compra.Idproyecto

  •  Que comando se debe utilizar
     select

select proyecto_cliente.Idproyecto, proyecto.nombre, proyecto_cliente.valor_ejecutado from proyecto_cliente,proyecto where proyecto.Idproyecto=proyecto_cliente.Idproyecto;



Consultar los proyectos donde participa el contratista 009
  •  Que se desea consultar y de que tablas
     proyecto_compra.Idproyecto
     contratista.Idcontratista
     contratista.nombre
    
  •  Que tablas se ven afectadas o involucradas
      contratista y proyecto_compra
  • Condición:
      IdContratista=009

  • Como se relacionan las tablas
                 contratista.Idcontratista=proyecto_compra.Idcontratista

  •  Que comando se debe utilizar
     select?

select  proyecto_compra.Idproyecto, contratista.Idcontratista, contratista.nombre from contratista,proyecto_compra where proyecto_compra.Idcontratista='009' and contratista.Idcontratista=proyecto_compra.Idcontratista;


Cuanto es el valor pagado a los contratistas?


  • Que se desea calcular y de que tablas
      Valor pagado a los contratistas de la tabla                  proyecto_compra

  • Que tablas se ven afectadas o involucradas?
            Proyecto_compra

  • Condiciones


      Valor pagado a contratistas.

  • Como se relacionan las tablas?


     No aplica

  • Cuál es la función que voy a utilizar?


      Suma

select sum(valor_contr)'Valor total' from proyecto_compra;

Cual es el proveedor que ha recibido el pago más alto?


  • Que se desea calcular y de que tablas
       Proveedor con el pago más alto
       Proyecto_compra


  • Que tablas se ven afectadas o involucradas?

      proyecto_compra


  • Condiciones
     Proveedor con el pago más alto
  • Como se relacionan las tablas?
     No aplica
  • Cuál es la función que voy a utilizar?
      Max

select max(valor_prov)from proyecto_compra;


Cual es el contratista con el menor pago?


  • Que se desea calcular y de que tablas
       Contratista con el menor pago
       Proyecto_compra


  • Que tablas se ven afectadas o involucradas?

      proyecto_compra


  • Condiciones
     Contratista con el menor pago


  • Como se relacionan las tablas?
     No aplica
  • Cuál es la función que voy a utilizar?
      min


select min(valor_contr)from proyecto_compra;

Cambiar el municipio del proyecto "Medición huella hidrica empresarial" por Cartagena


Sintaxis: update libro set municipio ='Cartagena' where Idproyecto='180';

Ordenar los proyectos por valor ejecutado

select*from proyecto_cliente order by valor_ejecutado;


Visualizar el codigo del proyecto, el codigo del proveedor, el nombre del proveedor y el valor pagado.


  • Que se desea consultar y de que tablas?
       proyecto_compra.Idproyecto
       proyecto_compra.Idproveedor
       proveedor.nombre
       proyecto_compra.valor_prov


  • Qué tablas se ven afectadas o involucradas?

     Tabla 1: tabla principal= proveedor
     Tabla 2: tabla relacional=proyecto_compra

  •   Condición
       No hay ninguna condición
  •  Como se relacionan las tablas?
     proveedor.Idproveedor=proyecto_compra.Idproveedor

  • Que comando se debe utilizar?
      Select-inner Join 

select distinct proyecto_compra.Idproyecto, proyecto_compra.Idproveedor, proveedor.nombre, proyecto_compra.valor_prov from proveedor inner join proyecto_compra on proveedor.Idproveedor=proyecto_compra.Idproveedor;


Enlace 

https://drive.google.com/drive/folders/1wg3M3s5ct6q2ll1PwapPSzA4CEN0W85a?usp=sharing