SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
DISEÑO DE UNA BASE DE
            DATOS


ONEIDA MARSEL CAMACHO FORERO



      INGENIERA DE SISTEMAS



     FUNDACION UNIVERSITARIA
         PANAMERICANA
CONTENIDO
 1. Problema propuesto ¨Empresa de mudanzas¨
 2. Diagrama Entidad Relación ¨DER¨

 3. Tablas SQL

 4. Consultas.

 5. Diagrama de relaciones.

 6. Interfaz de entrada.

 7. Interfaz de salida.

 8. Agradecimientos.
1. EMPRESA DE MUDANZAS
   En la página Web http://www.puealfinalmemudo.dadbd se pub licitan distintas
    empresas de mudanza que ofrecen sus servicios y productos en España.
   En la misma página Web puedes rellenar solicitudes de servicios a las distintas
    empresas que, posteriormente, pueden ser aceptadas o rechazadas tanto por el
    cliente como por la empresa de mudanzas. Esta página Web necesita
    almacenar toda esta información en una base de datos y por eso nos ha pedido
    ayuda.
   Después de varias entrevistas con los gerentes de las empresas de mudanza,
    pudimos recoger la siguiente información:
   De las empresas de mudanza nos interesa guardar información sobre el nombre
    de la empresa (único), su dirección completa, teléfonos de contacto y una lista
    de poblaciones (nombre de población y provincia) a las que ofrece sus servicios o
    productos.
   Las empresas de mudanza pueden ofertar distintos servicios, como transporte,
    embalaje,
   desmontar/montar muebles, grúas, etc. No todas las empresas ofertan los
    mismos servicios ni en las mismas poblaciones. Es decir, cada empresa puede
    ofrecer distintos servicios en distintas poblaciones, por lo que un cliente tendrá
    que mirar bien con qué empresa contacta.
   Todos los servicios se identifican con un nombre de servicio (común para todo el
    sector de mudanzas). Además, de todos ellos se desea almacenar el precio/hora
    del servicio ofrecido por cada empresa de mudanzas en cada población (puede
    tener diferentes precios de servicios dependiendo de la población).
Los distintos servicios de transporte que las empresas pueden ofertar está regulado
por ley en base a los kg, definiéndose unos intervalos por peso para cada transporte de
forma estándar. Respecto al precio de los servicios de transporte, además de contar
con el precio/hora del servicio, existe un plus de aumento de precio si la carga supera
una cantidad de kg que fija cada empresa independientemente de la población donde
se realice el servicio. Por ejemplo, 10% más si la carga supera los 500kg, 15% más si la
carga supera los 750kg, etc.
En cuanto a las grúas, interesa almacenar el tamaño de las mismas (tamaño de la
base, para comprobar en qué espacios se puede utilizar; y alto de la grúa, para ver a
qué piso puede llegar).
También existe un plus de aumento de precio según el alto de la grúa
independientemente de la población donde se realiza el servicio.
Cuando un cliente quiere hacer una mudanza, éste ha rellenar una solicitud
(identificada por un código único en nuestra Web) indicando a qué empresa de
mudanzas le pide qué servicios y las direcciones de inicio del servicio y que destino si
el servicio lo requiere. Estas direcciones deberán, por supuesto, estar dentro de las
poblaciones donde la empresa presta sus servicios. Además de la fecha de solicitud, se
desea almacenar la fecha de resolución de la solicitud, indicando si la solicitud ha sido
aceptada o no y el precio total, así como los precios de cada servicio solicitado.
Los clientes están identificados por un código único y se desea
conocer su NIF, dirección, nombre completo y teléfonos de contacto.
Una vez aceptada la solicitud, también se deseará almacenar
información sobre la fecha real en la que realizaron los servicios
solicitados, el tiempo que se ha tardado en cada servicio y qué
empleados de la empresa de mudanza han trabajado en los
servicios de dicha solicitud.
En cuanto a los empleados, la empresa almacena información
sobre su NIF, dirección, nombre completo, teléfono de contacto,
teléfono de empresa, tipo de empleado (conductor, grúa, jefe de
mudanza, etc.) y el sueldo. Aunque existen muchos tipos de
empleado, cada uno con su especialidad, en las empresas de
mudanza todos pueden realizar cualquier trabajo en algún
momento dado, por lo que no será necesario comprobar que
únicamente los conductores son los que conducen los vehículos en
las mudanzas. Además, un mismo empleado puede serlo de varias
empresas de mudanza en distintos momentos, por lo que será
necesario guardar esta información.
   Para facilitar la gestión económica de esta base de datos, suponemos que todos
    los pagos de los
   clientes se efectúan a priori.
   II. APARTADOS A REALIZAR
   1. (4 puntos) Realizar el diseño utilizando el modelo E/R, indicando todos los
   supuestos semánticos complementarios al enunciado que sea necesario
    introducir,
   así como todos aquellos que no pueden ser recogidos en el diagrama E/R.
   NOTA: Es necesario entregarlo en formato electrónico utilizando cualquier
    programa
   mientras que respete la notación del modelo E/R estudiado en clase. Para los
   alumnos que utilicen Visio Microsoft, en la página de la asignatura se ofrece
    una
   biblioteca con los símbolos del modelo E/R.
   2. (2 puntos) Transformar el esquema E/R en un esquema relacional (grafo
    relacional),
   en el que se han de indicar las claves primarias, candidatas y las claves ajenas
    con
   sus opciones de integridad referencial, así como si el atributo permite valores
    nulos.
Si es necesario, se debe incluir las restricciones de verificación (checks), aserciones y
disparadores que permitan captar toda la semántica del enunc iado (no es obligatoria
la sintaxis en SQL).
3. Creación de la base de datos en Oracle, generar el script, introducir datos en las
tablas generadas, suficientes para hacer las pruebas de las siguientes consultas y
disparadores en SQL (sintaxis de Oracle).
· (2 puntos) CONSULTAS:
1. Qué tipo de servicios ha pedido un cliente dado (“Pepito Pérez”) en el
último mes.
2. Cuál es la empresa que ofrece más servicios en la población
“Burguillo” de la provincia de “Toledo”.
3. Qué empleados (nombre y apellidos) han trabajado para “Pepito
Pérez” en el último mes.
4. Cuántas solicitudes se han aceptado en el último año, el nombre del
cliente que la realizó, las poblaciones de origen y destino (en el caso
de que hubiera) y el precio total de cada solicitud.
· (2 puntos) DISPARADORES:
1. Atributo derivado “precio total” en la solicitud de un cliente.
2. Disparador que compruebe la exclusividad en los distintos servicios
que ofrece una empresa de mudanza.
3. Aserción que compruebe que la empresa puede realizar la mudanza
solicitada por un cliente según la dirección de inicio y la dirección de
destino.
2. DIAGRAMA ENTIDAD RELACION
3. TABLAS SQL

 TABLA CLIENTE:                       AGRUPAR DATOS(GROUP BY)
                                      Este método sirve para agrupar
Para crear una tabla solo
                                      Los registros cuando son repetidos.
escribe el nombre de la
                                      Ejemplo:
tabla con sus respectivos
                                      select Nombre
campos y al final en la
                                      from CLIENTE
primary key se coloca el id
                                      group by Nombre;
de la tabla. Ejemplo.
                                      Aquí estamos agrupando el campo Nombre
                                      De la tabla cliente. Fig 1
create table CLIENTE (
Id-cliente int (15),
Id-empresa int 15),
Cedula int (15),
Telefono int (15),
Direccion varchar (15),
Nombre varchar (25),
primary key(Id-cliente));
                              Fig 1
TABLA SERVICIOS:                 (GROUP BY)

 Create Table SERVICIOS (         select Tipo de servicio
 Id-Servicios int (15),           from SERVICIOS
 Id-Empresa int (15),             group by Tipo de servicio;
 Id-Provincia int (15),
 Precio int (15),                 Aquí se esta agrupando
 Hora del servicio string (15),   el tipde servicio dela
 Tipo de servicio string (25),    tabla servicio.
 primary key (Id-Servicios));     Fig 2




Fig 2
TABLA EMPLEADO:                  GROUP BY:
                                   select Direccion
  Create Table EMPLEADO (          from EMPLEADO
  Id-Empleado int (15),            group by Direccion;
  Id-Empresa int (15),             En esta tabla se esta agrupando
  Tipo- de- emplado string (15),   La direccion.
  Direccion int (15),              Fig 3
  Sueldo int (25),
  Nombre string (15),
  Telefono int (25),
  primary key (Id-Empleado));




Fig 3
TABLA VEHICULO:
                             GROUP BY:
create table VEHICULO(
                             SELECT Placa
Id-Vehiculo int (15),
                             FROM VEHICULOS
Id-Empresa int 15),
                             GROUP BY Placa;
Id-Servicios int (15),
                             En esta tabla se esta agrupando
Placa int (15),
                             el campo placa.
Altura int (15),
                             Fig 4.
primary key(Id-Vehiculo));




                     Fig 4
TABLA PROVINCIA:               GROUP BY:

Create Table PROVINCIA (       SELECT Nombre
Id-Provincia int (15),         FROM PROVINCIA
Departamento (25),             GROUP BY Nombre;
Nombre string (25),
primary key (Id-Provincia));   Aqui estamos
                               agrupando el campo
                               nombre de la tabla
                               provincia.
                               Fig 5.




 Fig 5
TABLA SOLICITUD:                  GROUP BY:

create table SOLICITUD (          SELECT Destino
Id-Solicitud int (15),            FROM SOLICITUD
Id-Empleado int 15),              GROUP BY Destino;
Id-Servicio int (15),
Id-Provincia int (15),            En esta tablase esta agrupando
Id-Cliente (15),                  El destino de la tabla solicitud.
Destino varchar (25),             Fig 6
Peso int (15),
Fecha de servicio string (25),
Solicitud aceptada string (15),
primary key(Id-Solicitud));




 Fig 6
TABLA EMPRESA:               GROUP BY:

Create Table EMPRESA (       SELECT Direccion
Id-Empresa int (15),         FROM EMPRESA
Id-Empleado int (15),        GROUP BY Direccion;
Direccion int (15),
Nombre string (15),          Aqui estamos agrupando la direccion
Telefono int (25),           De la tabla empresa. Fig 7
primary key (Id-Empresa));




 Fig 7
4. CONSULTAS
1. Solicitudes de mudanzas que se hicieron antes del 15 de febrero de
2009.
SELECT SOLICITUD.[Id-Solicitud], SOLICITUD.[Fecha de servicio],
SOLICITUD.Destino
FROM SOLICITUD
WHERE (((SOLICITUD.[Id-Solicitud])=151813));

Para crear este tipó de consultas hacer clic en crear que se encuentra en la
parte superior de la base de datos, luego se hace clic en diseño de consultas
ver fig 01
Despues te aparecerá una ventana como la fig 02
Y tu eliges las tablas que necesitas para hacer tus consultas y al finalizar le
das depurar y te aparecen tus consultasen una tabla como esta fig 11.


                                                               Fig 01

                               Fig 11



Fig 02
2. Nombre del empleado que cubrió la solicitud 151813 indicando el
origen, destino y monto cobrado.

SELECT SOLICITUD.[Id-Solicitud], EMPLEADO.Nombre,
SOLICITUD.Destino, SERVICIOS.Precio
FROM SERVICIOS INNER JOIN (EMPLEADO INNER JOIN SOLICITUD
ON EMPLEADO.[Id-Empleado] = SOLICITUD.[Id-Empleado]) ON
SERVICIOS.[Id-Servicios] = SOLICITUD.[Id-Servicio]
WHERE (((SOLICITUD.[Id-Solicitud])=151813));
3. Empresa que ofrece el servicio de embalaje Bogotá-Cali y su tarifa.

SELECT EMPRESA.[Id-Empresa], EMPRESA.Nombre, SERVICIOS.[Tipo de
servicio], SERVICIOS.Precio, SOLICITUD.Destino
FROM (EMPRESA INNER JOIN SERVICIOS ON EMPRESA.[Id-
Empresa]=SERVICIOS.[Id-Empresa]) INNER JOIN SOLICITUD ON
SERVICIOS.[Id-Servicios]=SOLICITUD.[Id-Servicio]
WHERE (((EMPRESA.[Id-Empresa])=111)) OR (((EMPRESA.[Id-
Empresa])=222));
4. Tarifa cobrada en el servicio Bobota-Barranquilla el día 15 de
febrero de 2009 cuyo peso era de 600 kg indicando el numero de la
solicitud, nombre del cliente y hora en la que se realizo el servicio.

SELECT SOLICITUD.[Id-Solicitud], SOLICITUD.[Fecha de servicio],
SOLICITUD.Destino, SOLICITUD.Peso, SERVICIOS.[Hora del servicio],
SERVICIOS.Precio, CLIENTE.Nombre
FROM CLIENTE INNER JOIN (SERVICIOS INNER JOIN SOLICITUD ON
SERVICIOS.[Id-Servicios] = SOLICITUD.[Id-Servicio]) ON CLIENTE.[Id-
cliente] = SOLICITUD.[Id-Cliente]
WHERE (((SOLICITUD.[Id-Solicitud])=151814 Or (SOLICITUD.[Id-
Solicitud])=151815));
5. Solicitud de los empleados con sueldo y cargo y nombre de las
empresas en la que trabaja.

SELECT EMPRESA.[Id-Empresa], EMPRESA.Nombre, EMPLEADO.[Tipo de
empleado], EMPLEADO.Nombre, EMPLEADO.Sueldo
FROM EMPRESA INNER JOIN EMPLEADO ON EMPRESA.[Id-Empresa] =
EMPLEADO.[Id-Empresa]
WHERE (((EMPRESA.[Id-Empresa])=111 Or (EMPRESA.[Id-Empresa])=222
Or (EMPRESA.[Id-Empresa])=333 Or (EMPRESA.[Id-Empresa])=444 Or
(EMPRESA.[Id-Empresa])=555 Or (EMPRESA.[Id-Empresa])=666));
6. Consulta de la fotocopia (4). Cuantas solicitudes se han aceptado en el
ultimo año, el nombre del cliente que la realizo, las poblaciones de origen
y destino (en el caso que hubiera) y el precio total de cada solicitud.

SELECT SOLICITUD.[Solicitud aceptada], SOLICITUD.[Fecha de servicio],
SOLICITUD.Destino, CLIENTE.Nombre, PROVINCIA.[Id-Provincia],
PROVINCIA.Departamento, PROVINCIA.Nombre, SERVICIOS.Precio
FROM ((CLIENTE INNER JOIN SOLICITUD ON CLIENTE.[Id-cliente] =
SOLICITUD.[Id-Cliente]) INNER JOIN PROVINCIA ON SOLICITUD.[Id-
Provincia] = PROVINCIA.[Id-Provincia]) INNER JOIN SERVICIOS ON
(PROVINCIA.[Id-Provincia] = SERVICIOS.[Id-Provincia]) AND (SOLICITUD.[Id-
Servicio] = SERVICIOS.[Id-Servicios])
WHERE (((SOLICITUD.[Solicitud aceptada])="Si" Or (SOLICITUD.[Solicitud
aceptada])="Si"));
5. DIAGRAMA DE RELACIONES
6. INTERFAZ DE ENTRADA
7. INTERFAZ DE SALIDA
8. AGRADECIMIENTOS




     INGENIERA ALBENIS CORTES




FUNDACION UNIVERSITARIA PANAMERICANA




                  2009

Weitere ähnliche Inhalte

Ähnlich wie Proyectobd

Ähnlich wie Proyectobd (20)

B D
B DB D
B D
 
Bd
BdBd
Bd
 
Bd
BdBd
Bd
 
Bd
BdBd
Bd
 
bases de datos
bases de datosbases de datos
bases de datos
 
Bd
BdBd
Bd
 
E:\Bd\Parcial 2do Corte\Bases De Datos
E:\Bd\Parcial 2do Corte\Bases De DatosE:\Bd\Parcial 2do Corte\Bases De Datos
E:\Bd\Parcial 2do Corte\Bases De Datos
 
Empresa De Mudanzas
Empresa De MudanzasEmpresa De Mudanzas
Empresa De Mudanzas
 
Empresa de Mudanzas
Empresa de MudanzasEmpresa de Mudanzas
Empresa de Mudanzas
 
Mudanzas.com
Mudanzas.comMudanzas.com
Mudanzas.com
 
Access
AccessAccess
Access
 
Accesspracticacompleta 110430082154-phpapp02
Accesspracticacompleta 110430082154-phpapp02Accesspracticacompleta 110430082154-phpapp02
Accesspracticacompleta 110430082154-phpapp02
 
Access practicacompleta
Access practicacompletaAccess practicacompleta
Access practicacompleta
 
Consulta
ConsultaConsulta
Consulta
 
Ti. Sql.Caso1al9.Consultas
Ti. Sql.Caso1al9.ConsultasTi. Sql.Caso1al9.Consultas
Ti. Sql.Caso1al9.Consultas
 
Bases De Datos
Bases De DatosBases De Datos
Bases De Datos
 
Tablas dinamicas y Filtros - EJERCICIOS excel
Tablas dinamicas y Filtros - EJERCICIOS excelTablas dinamicas y Filtros - EJERCICIOS excel
Tablas dinamicas y Filtros - EJERCICIOS excel
 
146020993 ejercicio-access-parte-2-2
146020993 ejercicio-access-parte-2-2146020993 ejercicio-access-parte-2-2
146020993 ejercicio-access-parte-2-2
 
base de datos
base de datos base de datos
base de datos
 
PP GUIA GENERAR CONTRATO SAP EXIROS.pptx
PP GUIA GENERAR CONTRATO SAP EXIROS.pptxPP GUIA GENERAR CONTRATO SAP EXIROS.pptx
PP GUIA GENERAR CONTRATO SAP EXIROS.pptx
 

Proyectobd

  • 1. DISEÑO DE UNA BASE DE DATOS ONEIDA MARSEL CAMACHO FORERO INGENIERA DE SISTEMAS FUNDACION UNIVERSITARIA PANAMERICANA
  • 2. CONTENIDO  1. Problema propuesto ¨Empresa de mudanzas¨  2. Diagrama Entidad Relación ¨DER¨  3. Tablas SQL  4. Consultas.  5. Diagrama de relaciones.  6. Interfaz de entrada.  7. Interfaz de salida.  8. Agradecimientos.
  • 3. 1. EMPRESA DE MUDANZAS  En la página Web http://www.puealfinalmemudo.dadbd se pub licitan distintas empresas de mudanza que ofrecen sus servicios y productos en España.  En la misma página Web puedes rellenar solicitudes de servicios a las distintas empresas que, posteriormente, pueden ser aceptadas o rechazadas tanto por el cliente como por la empresa de mudanzas. Esta página Web necesita almacenar toda esta información en una base de datos y por eso nos ha pedido ayuda.  Después de varias entrevistas con los gerentes de las empresas de mudanza, pudimos recoger la siguiente información:  De las empresas de mudanza nos interesa guardar información sobre el nombre de la empresa (único), su dirección completa, teléfonos de contacto y una lista de poblaciones (nombre de población y provincia) a las que ofrece sus servicios o productos.  Las empresas de mudanza pueden ofertar distintos servicios, como transporte, embalaje,  desmontar/montar muebles, grúas, etc. No todas las empresas ofertan los mismos servicios ni en las mismas poblaciones. Es decir, cada empresa puede ofrecer distintos servicios en distintas poblaciones, por lo que un cliente tendrá que mirar bien con qué empresa contacta.  Todos los servicios se identifican con un nombre de servicio (común para todo el sector de mudanzas). Además, de todos ellos se desea almacenar el precio/hora del servicio ofrecido por cada empresa de mudanzas en cada población (puede tener diferentes precios de servicios dependiendo de la población).
  • 4. Los distintos servicios de transporte que las empresas pueden ofertar está regulado por ley en base a los kg, definiéndose unos intervalos por peso para cada transporte de forma estándar. Respecto al precio de los servicios de transporte, además de contar con el precio/hora del servicio, existe un plus de aumento de precio si la carga supera una cantidad de kg que fija cada empresa independientemente de la población donde se realice el servicio. Por ejemplo, 10% más si la carga supera los 500kg, 15% más si la carga supera los 750kg, etc. En cuanto a las grúas, interesa almacenar el tamaño de las mismas (tamaño de la base, para comprobar en qué espacios se puede utilizar; y alto de la grúa, para ver a qué piso puede llegar). También existe un plus de aumento de precio según el alto de la grúa independientemente de la población donde se realiza el servicio. Cuando un cliente quiere hacer una mudanza, éste ha rellenar una solicitud (identificada por un código único en nuestra Web) indicando a qué empresa de mudanzas le pide qué servicios y las direcciones de inicio del servicio y que destino si el servicio lo requiere. Estas direcciones deberán, por supuesto, estar dentro de las poblaciones donde la empresa presta sus servicios. Además de la fecha de solicitud, se desea almacenar la fecha de resolución de la solicitud, indicando si la solicitud ha sido aceptada o no y el precio total, así como los precios de cada servicio solicitado.
  • 5. Los clientes están identificados por un código único y se desea conocer su NIF, dirección, nombre completo y teléfonos de contacto. Una vez aceptada la solicitud, también se deseará almacenar información sobre la fecha real en la que realizaron los servicios solicitados, el tiempo que se ha tardado en cada servicio y qué empleados de la empresa de mudanza han trabajado en los servicios de dicha solicitud. En cuanto a los empleados, la empresa almacena información sobre su NIF, dirección, nombre completo, teléfono de contacto, teléfono de empresa, tipo de empleado (conductor, grúa, jefe de mudanza, etc.) y el sueldo. Aunque existen muchos tipos de empleado, cada uno con su especialidad, en las empresas de mudanza todos pueden realizar cualquier trabajo en algún momento dado, por lo que no será necesario comprobar que únicamente los conductores son los que conducen los vehículos en las mudanzas. Además, un mismo empleado puede serlo de varias empresas de mudanza en distintos momentos, por lo que será necesario guardar esta información.
  • 6. Para facilitar la gestión económica de esta base de datos, suponemos que todos los pagos de los  clientes se efectúan a priori.  II. APARTADOS A REALIZAR  1. (4 puntos) Realizar el diseño utilizando el modelo E/R, indicando todos los  supuestos semánticos complementarios al enunciado que sea necesario introducir,  así como todos aquellos que no pueden ser recogidos en el diagrama E/R.  NOTA: Es necesario entregarlo en formato electrónico utilizando cualquier programa  mientras que respete la notación del modelo E/R estudiado en clase. Para los  alumnos que utilicen Visio Microsoft, en la página de la asignatura se ofrece una  biblioteca con los símbolos del modelo E/R.  2. (2 puntos) Transformar el esquema E/R en un esquema relacional (grafo relacional),  en el que se han de indicar las claves primarias, candidatas y las claves ajenas con  sus opciones de integridad referencial, así como si el atributo permite valores nulos.
  • 7. Si es necesario, se debe incluir las restricciones de verificación (checks), aserciones y disparadores que permitan captar toda la semántica del enunc iado (no es obligatoria la sintaxis en SQL). 3. Creación de la base de datos en Oracle, generar el script, introducir datos en las tablas generadas, suficientes para hacer las pruebas de las siguientes consultas y disparadores en SQL (sintaxis de Oracle). · (2 puntos) CONSULTAS: 1. Qué tipo de servicios ha pedido un cliente dado (“Pepito Pérez”) en el último mes. 2. Cuál es la empresa que ofrece más servicios en la población “Burguillo” de la provincia de “Toledo”. 3. Qué empleados (nombre y apellidos) han trabajado para “Pepito Pérez” en el último mes. 4. Cuántas solicitudes se han aceptado en el último año, el nombre del cliente que la realizó, las poblaciones de origen y destino (en el caso de que hubiera) y el precio total de cada solicitud. · (2 puntos) DISPARADORES: 1. Atributo derivado “precio total” en la solicitud de un cliente. 2. Disparador que compruebe la exclusividad en los distintos servicios que ofrece una empresa de mudanza. 3. Aserción que compruebe que la empresa puede realizar la mudanza solicitada por un cliente según la dirección de inicio y la dirección de destino.
  • 9. 3. TABLAS SQL TABLA CLIENTE: AGRUPAR DATOS(GROUP BY) Este método sirve para agrupar Para crear una tabla solo Los registros cuando son repetidos. escribe el nombre de la Ejemplo: tabla con sus respectivos select Nombre campos y al final en la from CLIENTE primary key se coloca el id group by Nombre; de la tabla. Ejemplo. Aquí estamos agrupando el campo Nombre De la tabla cliente. Fig 1 create table CLIENTE ( Id-cliente int (15), Id-empresa int 15), Cedula int (15), Telefono int (15), Direccion varchar (15), Nombre varchar (25), primary key(Id-cliente)); Fig 1
  • 10. TABLA SERVICIOS: (GROUP BY) Create Table SERVICIOS ( select Tipo de servicio Id-Servicios int (15), from SERVICIOS Id-Empresa int (15), group by Tipo de servicio; Id-Provincia int (15), Precio int (15), Aquí se esta agrupando Hora del servicio string (15), el tipde servicio dela Tipo de servicio string (25), tabla servicio. primary key (Id-Servicios)); Fig 2 Fig 2
  • 11. TABLA EMPLEADO: GROUP BY: select Direccion Create Table EMPLEADO ( from EMPLEADO Id-Empleado int (15), group by Direccion; Id-Empresa int (15), En esta tabla se esta agrupando Tipo- de- emplado string (15), La direccion. Direccion int (15), Fig 3 Sueldo int (25), Nombre string (15), Telefono int (25), primary key (Id-Empleado)); Fig 3
  • 12. TABLA VEHICULO: GROUP BY: create table VEHICULO( SELECT Placa Id-Vehiculo int (15), FROM VEHICULOS Id-Empresa int 15), GROUP BY Placa; Id-Servicios int (15), En esta tabla se esta agrupando Placa int (15), el campo placa. Altura int (15), Fig 4. primary key(Id-Vehiculo)); Fig 4
  • 13. TABLA PROVINCIA: GROUP BY: Create Table PROVINCIA ( SELECT Nombre Id-Provincia int (15), FROM PROVINCIA Departamento (25), GROUP BY Nombre; Nombre string (25), primary key (Id-Provincia)); Aqui estamos agrupando el campo nombre de la tabla provincia. Fig 5. Fig 5
  • 14. TABLA SOLICITUD: GROUP BY: create table SOLICITUD ( SELECT Destino Id-Solicitud int (15), FROM SOLICITUD Id-Empleado int 15), GROUP BY Destino; Id-Servicio int (15), Id-Provincia int (15), En esta tablase esta agrupando Id-Cliente (15), El destino de la tabla solicitud. Destino varchar (25), Fig 6 Peso int (15), Fecha de servicio string (25), Solicitud aceptada string (15), primary key(Id-Solicitud)); Fig 6
  • 15. TABLA EMPRESA: GROUP BY: Create Table EMPRESA ( SELECT Direccion Id-Empresa int (15), FROM EMPRESA Id-Empleado int (15), GROUP BY Direccion; Direccion int (15), Nombre string (15), Aqui estamos agrupando la direccion Telefono int (25), De la tabla empresa. Fig 7 primary key (Id-Empresa)); Fig 7
  • 16. 4. CONSULTAS 1. Solicitudes de mudanzas que se hicieron antes del 15 de febrero de 2009. SELECT SOLICITUD.[Id-Solicitud], SOLICITUD.[Fecha de servicio], SOLICITUD.Destino FROM SOLICITUD WHERE (((SOLICITUD.[Id-Solicitud])=151813)); Para crear este tipó de consultas hacer clic en crear que se encuentra en la parte superior de la base de datos, luego se hace clic en diseño de consultas ver fig 01 Despues te aparecerá una ventana como la fig 02 Y tu eliges las tablas que necesitas para hacer tus consultas y al finalizar le das depurar y te aparecen tus consultasen una tabla como esta fig 11. Fig 01 Fig 11 Fig 02
  • 17. 2. Nombre del empleado que cubrió la solicitud 151813 indicando el origen, destino y monto cobrado. SELECT SOLICITUD.[Id-Solicitud], EMPLEADO.Nombre, SOLICITUD.Destino, SERVICIOS.Precio FROM SERVICIOS INNER JOIN (EMPLEADO INNER JOIN SOLICITUD ON EMPLEADO.[Id-Empleado] = SOLICITUD.[Id-Empleado]) ON SERVICIOS.[Id-Servicios] = SOLICITUD.[Id-Servicio] WHERE (((SOLICITUD.[Id-Solicitud])=151813));
  • 18. 3. Empresa que ofrece el servicio de embalaje Bogotá-Cali y su tarifa. SELECT EMPRESA.[Id-Empresa], EMPRESA.Nombre, SERVICIOS.[Tipo de servicio], SERVICIOS.Precio, SOLICITUD.Destino FROM (EMPRESA INNER JOIN SERVICIOS ON EMPRESA.[Id- Empresa]=SERVICIOS.[Id-Empresa]) INNER JOIN SOLICITUD ON SERVICIOS.[Id-Servicios]=SOLICITUD.[Id-Servicio] WHERE (((EMPRESA.[Id-Empresa])=111)) OR (((EMPRESA.[Id- Empresa])=222));
  • 19. 4. Tarifa cobrada en el servicio Bobota-Barranquilla el día 15 de febrero de 2009 cuyo peso era de 600 kg indicando el numero de la solicitud, nombre del cliente y hora en la que se realizo el servicio. SELECT SOLICITUD.[Id-Solicitud], SOLICITUD.[Fecha de servicio], SOLICITUD.Destino, SOLICITUD.Peso, SERVICIOS.[Hora del servicio], SERVICIOS.Precio, CLIENTE.Nombre FROM CLIENTE INNER JOIN (SERVICIOS INNER JOIN SOLICITUD ON SERVICIOS.[Id-Servicios] = SOLICITUD.[Id-Servicio]) ON CLIENTE.[Id- cliente] = SOLICITUD.[Id-Cliente] WHERE (((SOLICITUD.[Id-Solicitud])=151814 Or (SOLICITUD.[Id- Solicitud])=151815));
  • 20. 5. Solicitud de los empleados con sueldo y cargo y nombre de las empresas en la que trabaja. SELECT EMPRESA.[Id-Empresa], EMPRESA.Nombre, EMPLEADO.[Tipo de empleado], EMPLEADO.Nombre, EMPLEADO.Sueldo FROM EMPRESA INNER JOIN EMPLEADO ON EMPRESA.[Id-Empresa] = EMPLEADO.[Id-Empresa] WHERE (((EMPRESA.[Id-Empresa])=111 Or (EMPRESA.[Id-Empresa])=222 Or (EMPRESA.[Id-Empresa])=333 Or (EMPRESA.[Id-Empresa])=444 Or (EMPRESA.[Id-Empresa])=555 Or (EMPRESA.[Id-Empresa])=666));
  • 21. 6. Consulta de la fotocopia (4). Cuantas solicitudes se han aceptado en el ultimo año, el nombre del cliente que la realizo, las poblaciones de origen y destino (en el caso que hubiera) y el precio total de cada solicitud. SELECT SOLICITUD.[Solicitud aceptada], SOLICITUD.[Fecha de servicio], SOLICITUD.Destino, CLIENTE.Nombre, PROVINCIA.[Id-Provincia], PROVINCIA.Departamento, PROVINCIA.Nombre, SERVICIOS.Precio FROM ((CLIENTE INNER JOIN SOLICITUD ON CLIENTE.[Id-cliente] = SOLICITUD.[Id-Cliente]) INNER JOIN PROVINCIA ON SOLICITUD.[Id- Provincia] = PROVINCIA.[Id-Provincia]) INNER JOIN SERVICIOS ON (PROVINCIA.[Id-Provincia] = SERVICIOS.[Id-Provincia]) AND (SOLICITUD.[Id- Servicio] = SERVICIOS.[Id-Servicios]) WHERE (((SOLICITUD.[Solicitud aceptada])="Si" Or (SOLICITUD.[Solicitud aceptada])="Si"));
  • 22. 5. DIAGRAMA DE RELACIONES
  • 23. 6. INTERFAZ DE ENTRADA
  • 24. 7. INTERFAZ DE SALIDA
  • 25. 8. AGRADECIMIENTOS INGENIERA ALBENIS CORTES FUNDACION UNIVERSITARIA PANAMERICANA 2009