empresa de mudanzas

34

Upload: guest7cda664

Post on 18-Dec-2014

753 views

Category:

Design


0 download

DESCRIPTION

el diseño de la creacion de una base de datos, con la creacion de sus respectivas tablas en sql y ademas con varias consutas especificamente esplicadas

TRANSCRIPT

Page 1: Empresa De Mudanzas
Page 2: Empresa De Mudanzas
Page 3: Empresa De Mudanzas

En la pagina web http://www.puealfianlmemudo.dadbd se publicitan distintas empresas de mudanza que ofrecen sus servicios y productos en España. En la misma pagina 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 pagina web necesita almacenar toda esa 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 ofrecen sus servicios o productos.

Page 4: Empresa De Mudanzas

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 poblaciones. Es decir, cada empresa puede ofrecer distintos servicios en distintas poblaciones, por lo que un cliente tendrá que mirar bien con que 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 mudanza en cada población (puede tener diferentes precios de servicos dependiendo de la poblacion).

Page 5: Empresa De Mudanzas

Los servicios de transporte que las empresas `pueden ofertar esta regulado por la 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 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 que espacios se puede utilizar; y alto de la grúa, para ver a que pio puede llegar).También existe una 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 un mudanza, este ha rellanar un solicitud (identificada por un código en nuestra web) indicando que empresa de Mudanzas le pide que servicios y las direcciones de inicio del servicio y destino si el servicio lo quiere.

Page 6: Empresa De Mudanzas

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 deseara almacenar información sobre la fecha real en la que realizaron los servicios solicitud, el tiempo que se ha tardado en cada servicio y que 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 empleados, cada con uno con su especialidad, en las empresas de mudanza todos pueden realizar cualquier trabajo en algún momento dado, por lo que no sea necesario comprobar que únicamente los conductores son los que conducen 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.

Page 7: Empresa De Mudanzas
Page 8: Empresa De Mudanzas
Page 9: Empresa De Mudanzas

Código:

create table poblacion (idpoblacion single(10),nombre char (15)primary key (idpoblacion));

Page 10: Empresa De Mudanzas

Código:

create table empresa(idempresa single (10),nombre char (20),direccion char (25),teléfono single(10)primary key(idempresa));

Page 11: Empresa De Mudanzas

Código:

create table servicios (idservicio single(10),nombre char (25),costo single (50)primary key (idservicio));

Page 12: Empresa De Mudanzas

Código:

create table solicitud

(

idsolicitud int(10),

fecha_solicitud char(20),

direccion_inicio char (10),

destino char(10),

fecha_resolucion char (20),

admision char(20),

idservicios int (10),

peso_objeto int (20),

valor_peso int(20),

idcliente int (10),

idempresa int (10),

primary key (id_solicitud));

Page 13: Empresa De Mudanzas
Page 14: Empresa De Mudanzas

Código:

create table clientes (idcliente single(10),nombre char (15),direccion char (50),telefono single (50),primary key (idclientes));

Page 15: Empresa De Mudanzas

Código:

create table vehiculo (idvehiculo single(10),tipo_de_vehiculo varchar (15),tamaño single (15),capacidad single (15),

peso single (15),primary key (idvehiculo));

Page 16: Empresa De Mudanzas

Código:

create table empleados (idempleado single(10),tipo_de_empleado char(15),nombre char (15),salario single (15),

telefono single (15),primary key (idvehiculo));

Page 17: Empresa De Mudanzas

Código:

create table rel_poblacion_empresa(idempresa single(10),idpoblacion single (10),

Page 18: Empresa De Mudanzas

Código:

create table rel_servicios_empresa(idempresa single(10),idservicio single (10),

)

Page 19: Empresa De Mudanzas

Código:

create table rel_solicitud_empresa(idempresa single(10),idsolicitud single (10),

)

Page 20: Empresa De Mudanzas

Código:

create tablerel_solicitud_empleados(idsolicitud single(10),idempleado single (10),

)

Page 21: Empresa De Mudanzas

Código:

create table rel_solicitud_vehiculo(idsolicitud single(10),idvehiculo single (10),

)

Page 22: Empresa De Mudanzas

Código:

create table rel_solicitud_cliente(idsolicitud single(10),idcliente single (10),

)

Page 23: Empresa De Mudanzas
Page 24: Empresa De Mudanzas

Primera consulta es sacar el promedio del costo del servicio donde la tabla se llama servicio Y su código es:

SELECT Avg(costo) AS promedio

FROM SERVICIO

WHERE (((SERVICIO.[costo])>100000));

Page 25: Empresa De Mudanzas

La segunda consulta es sacar el numero total de registros de la tabla de solicitudes y su código es:

SELECT count(*) AS total_registros

FROM SOLICITUD;

Page 26: Empresa De Mudanzas

La tercera consulta es sacar el número total de registros que no tienen un valor null en admisión, de la tabla solicitud.

SELECT Count(admision & fecha_servicio) AS total

FROM SOLICITUD

WHERE (((SOLICITUD.admision)=Yes));

Page 27: Empresa De Mudanzas

La cuarta consulta es sacar el número mayor de la tabla solicitud en el campo de valor peso.

SELECT max(VALOR_PESO) AS MAYOR

FROM SOLICITUD;

Page 28: Empresa De Mudanzas

La quinta consulta es sacar el número menor de la tabla solicitud en el campo de valor peso.

SELECT min(valor_peso) AS menor

FROM SOLICITUD;

Page 29: Empresa De Mudanzas

Servicio de embalaje hecho en la ruta Bogotá Cali:

SELECT SERVICIO.nombre, SOLICITUD.direccion_inicio, SOLICITUD.destino, SERVICIO.costo

FROM SERVICIO INNER JOIN SOLICITUD ON SERVICIO.idservicio = SOLICITUD.idservicio

WHERE (((SOLICITUD.direccion_inicio)="bogota") AND ((SOLICITUD.destino)="cali"));

Page 30: Empresa De Mudanzas

Muestra el listado de empleados y el servicio que ofrecen:SELECT EMPLEADO.nombre, EMPLEADO.salario, EMPLEADO.tipo_empleado, EMPRESA.nombreFROM (EMPRESA INNER JOIN SOLICITUD ON EMPRESA.idempresa=SOLICITUD.idempresa) INNER JOIN (EMPLEADO INNER JOIN [RELACION SOLICITUD-EMPLEADO] ON EMPLEADO.idempleado=[RELACION SOLICITUD-EMPLEADO].idempleado) ON SOLICITUD.idsolicitud=[RELACION SOLICITUD-EMPLEADO].idsolicitud;

Page 31: Empresa De Mudanzas

SELECT EMPRESA.nombre, SERVICIO.nombre, POBLACION.nombreFROM POBLACION INNER JOIN ((EMPRESA INNER JOIN (SERVICIO INNER JOIN SOLICITUD ON SERVICIO.idservicio = SOLICITUD.idservicio) ON EMPRESA.idempresa = SOLICITUD.idempresa) INNER JOIN [RELACION POBLACION-EMPRESA] ON EMPRESA.idempresa = [RELACION POBLACION-EMPRESA].idempresa) ON POBLACION.Idpoblacion = [RELACION POBLACION-EMPRESA].idpoblacion;

Page 32: Empresa De Mudanzas

SELECT SERVICIO.costo, SOLICITUD.fecha_solicitud, SOLICITUD.direccion_inicio, SOLICITUD.destino, SOLICITUD.[peso_objeto(kg)], SOLICITUD.idsolicitud, CLIENTE.nombreFROM CLIENTE INNER JOIN (SERVICIO INNER JOIN SOLICITUD ON SERVICIO.idservicio = SOLICITUD.idservicio) ON CLIENTE.idcliente = SOLICITUD.idclienteWHERE (((SOLICITUD.direccion_inicio)="bogota") AND ((SOLICITUD.destino)="barranquilla"));

Page 33: Empresa De Mudanzas

SELECT SERVICIO.nombre, CLIENTE.nombre, SOLICITUD.fecha_solicitud, SERVICIO.nombre

FROM CLIENTE INNER JOIN (SOLICITUD INNER JOIN SERVICIO ON SOLICITUD.idservicio = SERVICIO.idservicio) ON CLIENTE.idcliente = SOLICITUD.idcliente

WHERE (((SOLICITUD.fecha_solicitud)<#2/15/2009#));

Page 34: Empresa De Mudanzas

SELECT SOLICITUD.idsolicitud, EMPLEADO.nombre, SOLICITUD.direccion_inicio, SOLICITUD.destino, SOLICITUD.valor_peso

FROM SOLICITUD INNER JOIN (EMPLEADO INNER JOIN [RELACION SOLICITUD-EMPLEADO] ON EMPLEADO.idempleado= [RELACION SOLICITUD-EMPLEADO].idempleado) ON SOLICITUD.idsolicitud = [RELACION SOLICITUD-EMPLEADO].idsolicitud

WHERE (((SOLICITUD.idsolicitud)=151813));