sábado, 6 de noviembre de 2010

Descripción Base de Datos

La Base de Datos a desarrollar consiste en el almacenamiento de datos de los contratos realizados por ELECTROMÁQUINAS LTDA, una gran empresa conformada por 25 ingenieros contratistas que necesitan registrar los numerosos contratos desarrollados hasta la fecha, llevando un registro constante sobre la empresa contratante, la descripción del proyecto, el contratista que se hizo cargo de  la obra dependiendo de su profesión y detalles sobre el contrato. En la base de datos se debe mostrar la fecha de inicio y término del contrato y la fecha de inicio y término del proyecto. También es necesario registrar el valor de cada contrato y el valor real del proyecto. Los contratos que se registran incluyen contratos por prestamos de dinero, adquisición de cualquier clase de servicio, compra y venta de equipos y herramientas, suministros de material, y contratos por proyectos de construcción.



Elementos en la Base de Datos


Los siguientes son los elementos que conforman el esquema E-R:



Diagrama de Entidad-Relación (E-R)

A continuación se muestra el Diagrama de Entidad-Relación :
En Access

Tabla Modelo E-R

viernes, 5 de noviembre de 2010

CONJUNTO DE DATOS : Tablas Access

Proyecto


Contrato

Empresa Contratante

Contratista




CONSULTAS A MI BASE DE DATOS


1. Listar los contratos de los proyectos realizados con el nombre de las partes que firman el contrato.
    Sintaxis 
    SELECT Numero_Cont, Nombre_emp,Nombre_Contr, Descripcion FROM EmpresaContratante, Contrato, Proyecto, Contratista WHERE (Contrato.Numero_Project=Proyecto.Numero_Proy) AND (Nit_Contratist=Nit_Contratista) AND (Nit_emp=Nit_empresa)

    Resultado




      2. Cual o cuales contratos realizados con empresas españolas estuvieron a cargo de un ingeniero industrial, listar  el nombre del contratista y el número del contrato.


      Sintaxis
      SELECT Contratista.Profesion, Contratista.Nombre_Contr, Contrato.Numero_Cont, EmpresaContratante.Pais_emp
      FROM Proyecto INNER JOIN (EmpresaContratante INNER JOIN (Contratista INNER JOIN Contrato ON Contratista.Nit_Contratista = Contrato.Nit_Contratist) ON EmpresaContratante.Nit_emp = Contrato.Nit_Empresa) ON Proyecto.Numero_Proy = Contrato.Numero_Project WHERE (((Contratista.Profesion)="Ingeniero Industrial") AND ((EmpresaContratante.Pais_emp)="España"));

      Resultado


      3. Mostrar los proyectos realizados en el año 2009.
         Sintaxis
        SELECT Numero_Proy, Descripcion, FechaInicio_Proy, FechaTermino_Proy FROM Proyecto WHERE (Year(FechaInicio_Proy)=2009) AND (Year(FechaTermino_Proy)=2009);

        Resultado

        4. Listar todos los proyectos que correspondan a arrendamientos mayores a $500,000,000.

          Sintaxis
          SELECT Proyecto.Numero_Proy, Proyecto.Descripcion, Proyecto.Valorenpesos_Proy
          FROM Proyecto
          WHERE (((Proyecto.Descripcion) Like 'ARRENDA*') AND ((Proyecto.Valorenpesos_Proy)>500000000));

          Resultado


          5. Encontrar las ganancias recibidas en cada contrato.

            Sintaxis
            SELECT Numero_Cont, Valorenpesos_Contr, Valorenpesos_Proy, (Valorenpesos_Contr - Valorenpesos_Proy)AS Ganancias FROM Proyecto, Contrato WHERE Contrato.Numero_Project=Proyecto.Numero_Proy;

            Resultado


            6. Mostrar los contratistas que han firmado contrato con la empresa REMEL S.A.

              Sintaxis

              SELECT Numero_Cont, Nombre_emp, Nombre_Contr FROM Contrato, EmpresaContratante, Contratista  WHERE  Nit_emp=Nit_Empresa AND Nombre_emp='REMEL S.A.' AND Nit_Contratist=Nit_Contratista;

              Resultado


              7. Listar las empresas que han firmado contrato con Ingenieros Civiles

                Sintaxis 
                SELECT Numero_Cont, Nombre_emp, Nombre_Contr, Profesion FROM Contrato, Contratista, EmpresaContratante WHERE  Profesion='Ingeniero Civil' AND Contrato.Nit_Empresa=EmpresaContratante.Nit_emp AND Contrato.Nit_Contratist=Contratista.Nit_Contratista;

                Resultado


                8. Mostrar los contratistas que firmaron contratos con un valor superior a $1;000,000,000 ordenando de menor a mayor la cantidad de dinero. 
                Sintaxis 
                SELECT Nombre_Contr, Numero_Cont, Valorenpesos_Contr FROM Contratista INNER JOIN Contrato ON Contrato.Nit_Contratist=Contratista.Nit_Contratista WHERE Valorenpesos_Contr>1000000000 ORDER BY Valorenpesos_Contr;

                Resultado




                9. Listar los contratos adquiridos para proyectos con lugar de ejecución Cartagena en el transcurso del año 2010.

                  Sintaxis
                  SELECT Numero_Cont, Numero_Proy, Lugarejecucion_Proy,FechaInicio_Proy,FechaTermino_Proy  FROM Contrato, Proyecto WHERE Proyecto.Numero_Proy=Contrato.Numero_Project AND Year (FechaInicio_Proy)=2010 AND Lugarejecucion_Proy='Cartagena' AND Year(FechaTermino_Proy)=2010;

                  Resultado


                  10. Mostrar las ciudades en las cuales se han ejecutado proyectos  con ganancias mayores a $500;000,000 en orden alfabético.

                    Sintaxis
                    SELECT Lugarejecucion_Proy, Valorenpesos_Contr, Valorenpesos_Proy, (Valorenpesos_Contr- Valorenpesos_Proy) AS Ganancia FROM Proyecto INNER JOIN Contrato ON (Contrato.Numero_Project=Proyecto.Numero_Proy) WHERE (Valorenpesos_Contr- Valorenpesos_Proy)> 500000000 ORDER BY  Lugarejecucion_Proy;

                    Resultado






















                    jueves, 4 de noviembre de 2010

                    INTERFAZ BD: Access

                    A continuación se muestra una imagen del formulario desarrollado en Access, el cual me permite realizar consultas de una forma más amigable y rápida, sólo se requiere realizar una búsqueda simple del campo de nuestro interés oprimiendo el botón Buscar y de inmediato se muestran automáticamente los valores de los demás campos correspondientes. También es posible conocer los demás datos oprimiendo en los botones Contratista, Empresa Contratante, Contrato o Proyecto según se desee, e inclusive realizar nuevas consultas de manera independiente en los nuevos formularios.
                    Access relaciona los datos buscados en el formulario General con los datos mostrados en cada una de las tablas  permitiendo ver información mas detallada según sea nuestro parámetro de búsqueda.