Your SlideShare is downloading. ×
2 parcial
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

2 parcial

380

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
380
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. TALLER: 2PARCIAL PROBLEMA En la página de Internet www.mudansas.com se encuentra alojada la informacion de múltiples empresas dedicadas a ese servicio. En la misma pagina se puede hacer la solicitud de servicios a las distintas empresas que posteriormente pueden ser aceptadas o rechazadas tanto por el cliente como por la empresa. Esta página web necesita almacenar toda la info en una base de datos, después de múltiples entrevistas se recogió la siguiente informacion: De las empresas de mudanzas nos interesa guardar informacion sobre el nombre de la empresa su dirección, telefono de contacto y lista de ciudades con municipios debe ofrece los servicios. La empresa puede ofrecer multiples servicios como trasporte, trasteo, monte y desmote de muebles etc. No todas la empresas ofertan los mismos servicios ni en las mismas ciudades (municipio), por lo que el 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), se maneja una misma tarifa dependiendo de la población (suponemos que todas las mudanzas salen de bogota). Los distintos servicios de transporte que la empresa pueda ofertar están regulados por la ley en base a los kilogramos definiendo intervalos por peso para cada transporte de forma estándar; el precio del servicio a demás de contar con el precio por hora genera un plus de aumento si la carga supera una cantidad de kilogramos que fija cada una de la empresas en forma independiente. Por ejemplo el 15% adicional si la carga supera los 1000kg. Cuando un cliente quiera hacer una mudanza este ha de llenar una solicitud la cual genera un código único en la página web indicando a que empresa solicita el servicio, ciudad de origen y destino y la dirección de origen y destino. A demás de la fecha de solicitud se desea almacenar la fecha de resolución de solicitud indicando si fue aceptada o no y el precio total, asi como los precios de cada servicio solicitado. Del cliente nos interesa almacenar la informacion de nombre completo, telefono de cotacto y dirección.Una vez realizado el servicio la empresa debe registrar la fecha real en la que se realizaron los servicios solicitados, el tiempo que se tardo en cada servicio y que empleado fue responsable de dicha solicitud. En cuanto a los empleados adicional a la informacion básica nos interesa saber el cargo y el sueldo, esto con el fin de garantizar que solo alguien que es conductor pueda conducir el vehiculo; a un servicio puede ser asignados multiples empleados, pero el responsable siempre será el conductor del vehiculo. Para facilitar la gestión economica de esta BD se supone que todos los pagos se realizan después de haber realizado el servicio. Apartados a realizar: Elabore un instrumento que pudo haber sido el indicado para recolectar la informacion de la BD ENCUESTA A TRAVES DE LA PÁGINA DE INTERNET DE SU EMPRESA SE DESEA OBTENER DATOS TALES COMO: a. Información completa de la empresa. b. Solamente la información del cliente. c. Realizar la solicitud. d. Solamente la Información del empleado.
  • 2. A PARTE DE LOS DATOS COMPLETOS DE LA EMPRESA, SE DESEA SABER EL SERVICIO QUE OFRECE Y BAJO QUE PRECIO: SI______________. NO _______________. LAS EMPRESAS ESTARAN A DISPOSICION DEL CLIENTE PARA QUE EL PUEDA DECIDIR CON QUE EMPRESA ELIJE EL SERVICIO: SI________. NO_______ PARA LA SOLICITUD SE DESEA ALMACENAR LA INFORMACION COMPLETA DEL CLIENTE: SI__________. NO____________. DE LA INFORMACION DE LOS EMPLEADOS SE INTERESA CONOCER: a. Solamente el nombre. b. Solamente su numero de documento. c. Información completa más el cargo y el sueldo. d. Fecha de nacimiento. A TRAVES DE QUE INFORMACION QUEDA REGISTRADO LO QUE EL CLIENTE DESEA OBTENER DE LA EMPRESA: a. Solicitud. b. Formulario. c. Informe. d. Documento Escrito. SE ASUMIRA UN COSTO ADICIONAL SI LA CARGA DEL CLIENTE SOBREPASA EL LIMITE QUE INDICA SU EMPRESA: SI__________. NO________ EL COSTO DE DEMAS QUE TENDRA EL SERVICIO SI SE PASA DE LA CARGA ESTABLECIDA SERA PARA TODAS LA EMPRESAS DE: a. 20% b. 50% c. 15% d.30%
  • 3. Realice el diseño utilizando el MER. Id_Cl Nombre_Cl CLIENTE Direccion_Cl Telefono_Cl Nit_E Nombre_E Telefono_Em Id_Emp Nombre_Em Cargo_Em EMPRESA Direccion_Em Ubicación_E EMPLEADO Telefono_Em Id_Emp Direccion_Emp Sueldo_Emp Nit_E Id_Cl Id_Sol SOLICITUD Id_Ciu Nombre_Ci Nit_E Id_Ciu Departamento_Ci Fecha_Sol CIUDAD EMPRESA_SERVICI Id_Ser Id_Car Id_Ser SERVICIO CARGA Id_Car Recargo_C Id_Ser Nombre_Se Peso_Car MUNICIPIO Id_Mu Id_Ciu Nombre_Mun
  • 4. Transforme el esquema E-R a un diseño físico de tablas con tres registros. Escriba el codigo Sql que genera cada una de esats tablas DICCIONARIO DE DATOS CAMPO TIPO DESCRIPCION Nit_Em Numérico Codigo uico que identifica a la emresa. Nombre_Em Texto Nombre que representa la empresa. Direccion_Em Texto Direccion de la empresa. Telefono_Em Texto Telefono de la empresa. Ubicacion Texto Ciudad-Municipio en la que se ubica la empresa. Id_Cl Numérico Numero de identificacion personal del Cliente.(Cedula) Nombre_Cl Texto Nombre completo del Cliente. Telefono_Cl Texto Telefono del cliente. Direccion_Cl Texto Direccion del cliente. Id_Emp Numerico Numero de identificacion personal del empleado.(Cedula) Nombre_Emp Texto Nombre completo del empleado. Direccion_Emp Texto Direccion del Empleado. Telefono_Emp Texto Telefono del Empleado. Cargo Texto Cargo que desempeña el empleado. Sueldo Numerico Sueldo a ganar del empleado. Id_Ser Numerico Codigo unico que identifica el servicio. Nombre_Ser Texto Nombre del servicio que se presta. Id_Car Numerico Codigo unico que identifica la carga. Peso Numerico Peso que contiene la carga en Kg. Recargo Numerico. Porcentaje adicional que se cobra cuando la carga supera un maximo de 1000kg en peso. Id_Ciu Numerico Codigo unico que identifica a la ciudad. Nombre_Ciu Texto Nombre de la Ciudad. Departamento Texto Departamento que pertenece a la Ciudad. Id_Mun Numerico Codigo unico que identifica al municipio. Nombre_Mun Texto Nombre del municipio deacuerdo a la ciudad correspondiente. Id_Sol Numerico Codigo unico que identifica la Solicitud. Fecha_Sol Fecha Fecha en la que se realiza la solicitud.
  • 5. Relaciones. Tablas. EMPRESA CLIENTE EMPLEADO
  • 6. CIUDAD *MUNICIPIO SERVICIO *CARGA SOLICITUD SERVICIO_EMPRESA EMPRESA_CIUDAD 4. Cree la BD en Access, Oracle, SQL o MySQL. mysql>create database MUDANZAS; mysql>use MUDANZAS mysql>create table empresa (Nit_empresa varchar(20) not null, Nombre_em varchar(100) not null,Direccion_em varchar (100) not null, Telefono_em int(20) not null, Ubicacion_em varchar (100) not null, primary key (Nit_em)); Query OK, 0 rows affected (0.05 sec) mysql>create table cliente (id_cl int(10) not null, nombre_cl varchar(100) not null, direccion_cl varchar(100) not null, telefono_cl int(10) not null, primary key (id_cl)); Query OK, 0 rows affected (0.05 sec)
  • 7. mysql>create table empleado (id_empleado in(10) not null, nombre_emp varchar(100) not null, direccion_emp varchar (100) not null,telefono_emp int (20) not null, cargo_emp varchar(100) not null, sueldo_emp float(100) not null, primary key (id_emp)); Query OK, 0 rows affected (0.05 sec) mysql>create table ciudad (id_ciu int(10) not null, nombre_ciu varchar(100) not null, departamento_ciu varchar(100) not null,primary key (id_ciu)); Query OK, 0 rows affected (0.05 sec) mysql>create table municipio (id_mun int(10) not null, id_ciu int(10) not null, nombre_mun varchar(100) not null, primary key (id_mun), foreign key (id_ciu) references ciudad (id_ciu)); Query OK, 0 rows affected (0.05 sec) mysql>create table carga (id_car int(10) not null, peso float(100) not null, recargo float (100) not null,primary key (id_car)); Query OK, 0 rows affected (0.05 sec) mysql>create table servicio (id_ser int(10) not null, nombre_ser varchar(100) not null, primary key (id_ser)); mysql>create table solicitud (id_sol in(10) not null, Nit_empresa varchar(20) not null, id_cl int(10) not null, id_empleado in(10) not null, id_ciu int(10) not null, id_mun int(10) not null, id_car int(10) not null, id_ser int(10) not null, primary key (id_sol), key foranea1 (Nit_em), key foranea2 (id_cl), key foranea3 (id_emp), key foranea4 (id_ci), key foranea5 (id_mun), key foranea6 (id_car), key foranea7(id_ser), foreign key (Nit_em) references empresa (Nit_em), foreign key (id_cl) references cliente (id_cl), foreign key (id_emp) references empleado (id_emp), foreign key (id_ciu) references ciu (id_ciu), foreign key (id_mun) references municipio (id_mun), foreign key (id_car) references carga (id_car), foreign key (id_ser) references servicio (id_ser)); mysql> show tables; +--------------------+ | Tables_in_mudanzas | +--------------------+ | ciudad | | cliente | | empleado |
  • 8. | empresa | | servicio | +--------------------+ 5 rows in set (0.00 sec) 5- Realice el diseño de las interfaces de entrada y salida. A-7 INTERFAZ DE ENTRADA (FORMULARIOS)
  • 9. B-8 INTERFAZ DE SALIDA (INFORMES) 1.CLIENTE 2. SERVICIO MUNICIPIO
  • 10. 3. CLIENTE EMPLEADO
  • 11. 4. SOLICITUDES APROBADAS
  • 12. 6. Se deben tener en cuenta como minimo las siguientes consultas. Servicios solicitados por un cliente dado (Juan Mendez) en el último mes. SELECT CLIENTE.Nombre_Cl, SERVICIO.Nombre_Ser, SOLICITUD.Fecha_Sol FROM SERVICIO INNER JOIN (CLIENTE INNER JOIN SOLICITUD ON CLIENTE.Id_Cl = SOLICITUD.Id_Cl) ON SERVICIO.Id_Ser = SOLICITUD.Id_Ser WHERE (((CLIENTE.Nombre_Cl)= [Digite nombre del Cliente]) AND ((SOLICITUD.Fecha_Sol)>=#3/1/2010#)); Cual es la empresa que ofrece sus servicios a un mayor número de municipios SELECT SOLICITUD.Id_Sol, EMPRESA.Nombre_Em, MUNICIPIO.Nombre_Mun FROM MUNICIPIO, EMPRESA INNER JOIN SOLICITUD ON EMPRESA.Nit_Em = SOLICITUD.Nit_Em; Que empleados trabajaron en el servicio solicitado por Juan Mendez en el último mes. SELECT CLIENTE.Nombre_Cl, SERVICIO.Nombre_Ser, EMPLEADO.Nombre_Emp, SOLICITUD.Fecha_Sol FROM SERVICIO INNER JOIN (EMPLEADO INNER JOIN (CLIENTE INNER JOIN SOLICITUD ON CLIENTE.Id_Cl = SOLICITUD.Id_Cl) ON EMPLEADO.Id_Emp = SOLICITUD.Id_Emp) ON SERVICIO.Id_Ser = SOLICITUD.Id_Ser WHERE (((CLIENTE.Nombre_Cl)=[Digite nombre del cliente]) AND ((SOLICITUD.Fecha_Sol)>=#3/1/2010#)); Cuantas solicitudes se han aceptado en el último año, indicando nombre cliente, municipios de origen y destino y el precio total de cada solicitud. (Generando el código en sql). SELECT CLIENTE.Nombre_Cl, MUNICIPIO.Nombre_Mun, SERVICIO.Precio, SOLICITUD.Fecha_Sol, SOLICITUD.Aprobacion FROM SERVICIO INNER JOIN (CLIENTE INNER JOIN ((CIUDAD INNER JOIN MUNICIPIO ON CIUDAD.Id_Ciu = MUNICIPIO.Id_Ciu) INNER JOIN SOLICITUD ON CIUDAD.Id_Ciu = SOLICITUD.Id_Ciu) ON CLIENTE.Id_Cl = SOLICITUD.Id_Cl) ON SERVICIO.Id_Ser = SOLICITUD.Id_Ser; *TRANSFORM Count(SOLICITUD_Aceptada.Aprobacion) AS CuentaDeAprobacion SELECT SOLICITUD_Aceptada.Nombre_Cl, Count(SOLICITUD_Aceptada.Aprobacion) AS [Total de Aprobacion] FROM SOLICITUD_Aceptada GROUP BY SOLICITUD_Aceptada.Nombre_Cl PIVOT Format([Fecha_Sol],"yyyy"); 9. Genere un documento soporte con todos los pasos anteriores en formato pdf y cree un block personal donde se pueda consultar dicho documento haciendo uso de paginas slideshare.

×