E:\Bd\Parcial 2do Corte\Bases De Datos

17
En la página de internet www.mudansas.com se encuentra alojada la información de múltiples empresas dedicadas a ese servicio. En la misma página se puede hacer la solicitud de servicios a las distintas empresas q posteriormente pueden ser aceptadas o rechazadas tanto por el cliente como por la empresa. Esta página web necesita almacenar toda la información en una base de datos, después de múltiples entrevistas se recogió la siguiente información: De las empresas de mudanzas nos interesa guardar información sobre el nombre de la empresa du dirección teléfono de contacto y lista de ciudades con municipios debe ofrece los servicios. La empresa puede ofrecer múltiples 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 q el cliente tendrá q mirar bien con q empresa contacta. Todos los servicios se identificas con un nombre de servicio (común para todo el sector de mudanzas), se maneja una misma tarifa dependiendo de la población (suponemos q todas las mudanzas salen de Bogotá). Los distinto servicios de transporte q la empresa pueda ofertar están regulados por la ley en base a los kg 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 Kg q fija cada una de la empresas en forma independiente. Por ejemplo el 15% adicional si la carga supera los 1000kgs. 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 q 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, así como los precio de cada servicio solicitado. Del cliente nos interesa almacenar información de nombre completo teléfono de contacto y dirección. Una vez realizado el servicio la empresa debe registrar la fecha real en la q se realizaron los servicios solicitados tiempo q se tardo en cada servicio y q empleado fue responsable de la solicitud en cuanto a los empleados adicional a la información básica nos interesa saber el cargo y el sueldo, esto con el fin de garantizar q solo alguien q solo es conductor pueda conducir el vehículo, a un servicio puede ser asignado múltiples empleados pero el responsable siempre será el conductor del vehículo. Para facilitar la gestión eco de esta BD se supone q todos los pagos se realizan después de haber realizado el servicio. 1. Apartados a revisar elabore un instrumento que pudo haber sido el indicado para recolectar información de la BD 2. Realice el diseño utilizando el modelo entidad relación

Transcript of E:\Bd\Parcial 2do Corte\Bases De Datos

Page 1: E:\Bd\Parcial 2do Corte\Bases De Datos

En la página de internet www.mudansas.com se encuentra alojada la información de múltiples

empresas dedicadas a ese servicio. En la misma página se puede hacer la solicitud de servicios a las

distintas empresas q posteriormente pueden ser aceptadas o rechazadas tanto por el cliente como

por la empresa. Esta página web necesita almacenar toda la información en una base de datos,

después de múltiples entrevistas se recogió la siguiente información:

De las empresas de mudanzas nos interesa guardar información sobre el nombre de la empresa du

dirección teléfono de contacto y lista de ciudades con municipios debe ofrece los servicios.

La empresa puede ofrecer múltiples 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 q el cliente tendrá q mirar bien con q empresa contacta. Todos los servicios se

identificas con un nombre de servicio (común para todo el sector de mudanzas), se maneja una

misma tarifa dependiendo de la población (suponemos q todas las mudanzas salen de Bogotá). Los

distinto servicios de transporte q la empresa pueda ofertar están regulados por la ley en base a los

kg 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 Kg q fija cada una de la empresas en forma independiente. Por ejemplo el 15%

adicional si la carga supera los 1000kgs.

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 q 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, así como los precio de cada

servicio solicitado.

Del cliente nos interesa almacenar información de nombre completo teléfono de contacto y

dirección.

Una vez realizado el servicio la empresa debe registrar la fecha real en la q se realizaron los

servicios solicitados tiempo q se tardo en cada servicio y q empleado fue responsable de la

solicitud en cuanto a los empleados adicional a la información básica nos interesa saber el cargo y

el sueldo, esto con el fin de garantizar q solo alguien q solo es conductor pueda conducir el

vehículo, a un servicio puede ser asignado múltiples empleados pero el responsable siempre será

el conductor del vehículo.

Para facilitar la gestión eco de esta BD se supone q todos los pagos se realizan después de haber

realizado el servicio.

1. Apartados a revisar elabore un instrumento que pudo haber sido el indicado para recolectar

información de la BD

2. Realice el diseño utilizando el modelo entidad relación

Page 2: E:\Bd\Parcial 2do Corte\Bases De Datos

3. Transforme el esquema entidad relación a un diseño físico de tablas con tres registros. Escriba el

código SQL genera cada una de estas tablas.

4. Crea la BD en Access, Oracle, SQL.

5. Realice el diseño de las interfaces de entrada y salida.

6. Se deben tener en cuanta como min las siguientes consultas.

Servicios solicitados por un cliente dado (Juan Méndez) último mes.

Cuál es la empresa q ofrece sus servicios a un mayor# de municipios (Nombre de las

empresas y los municipios en los q ofrece los servicios).

Que empleados trabajaron en el servicio solicitado por Juan Méndez.

Cuantas solicitudes se han aceptado en el último año, indicando nombre cliente

municipios de origen y destino y precio total de cada solicitud. Generando el código en

SQL.

7. Elabore los formularios q permiten acceder información a la BD.

8. Genere los informes de las anteriores 4 consultas.

9. Genere un documento soporte con todos los paso anteriores en formato PDF y cree un block

personal donde se pueda consultar dicho documento haciendo uso de pagina slideshare.

Page 3: E:\Bd\Parcial 2do Corte\Bases De Datos

Solución

1. En este proyecto para el levantamiento de información se uso una entrevista con

el cliente en la cual se hizo una serie de preguntas para poder obtener los

requerimientos de nuestra base de datos, después de obtener nuestros

requerimientos se aconseja al cliente de cómo podría tener mejor rendimiento la

base de datos sacando requerimientos no tan necesario.

2. Modelos de Entidad Relacion

Page 4: E:\Bd\Parcial 2do Corte\Bases De Datos
Page 5: E:\Bd\Parcial 2do Corte\Bases De Datos

3.

Ayudante

CREATE TABLE Ayudante (

Id_Em INT NOT NULL,

Id_Ayu INT NOT NULL,

Nom_Ayu VARCHAR (30),)

Ciudad destino

CREATE TABLE Ciudad Destino (

Id_Ciudes INT NOT NULL,

PRIMARY KEY (Id_Ciudes),

Nom_Ciudes VARCHAR (30),)

Page 6: E:\Bd\Parcial 2do Corte\Bases De Datos

Cuidad Origen

CREATE TABLE Cuidad Origen (

Id_Ciudad INT NOT NULL,

PRIMARY KEY (Id_Ciudad),

Nom_Cuiori VARCHAR (30),)

Cliente

CREATE TABLE Cliente (

Id_Cli INT NOT NULL,

PRIMARY KEY(Id_Cli),

Nom_Cli VARCHAR (30),

Tel_Cli INT NOT NULL,

Dir_Cli INT NOT NULL,)

Page 7: E:\Bd\Parcial 2do Corte\Bases De Datos

Empleado

CREATE TABLE Empleado (

Id_Em INT NOT NULL,

PRIMARY KEY (Id_Em),

Nom_Em VARCHAR (30),

Tel_Em INT NOT NULL,

Dir_Em VARCHAR (30),

Cargo_Em VARCHAR (30),)

Empresa

CREATE TABLE Empresa (

Id_Emp INT NOT NULL,

PRIMARY KEY (Id_Emp),

Nom_Emp VARCHAR (30),

Id_Ciudad INT NOT NULL,

Dir_Emp VARCHAR (30),)

Page 8: E:\Bd\Parcial 2do Corte\Bases De Datos

Factura

CREATE TABLE Factura (

Id_Fac INT NOT NULL,

PRIMARY KEY (Id_Fac),

Id_Emp INT NOT NULL,

Id_Soli INT NOT NULL,

Id_Ser INT NOT NULL,

Id_Cli INT NOT NULL,

Id_Em INT NOT NULL,

Tiem_Ser VARCHAR (30),

Fecha_Ser VARCHAR (30),

Tel_Ori INT NOT NULL,

Tel_Des INT NOT NULL,

Id_Cuidad INT NOT NULL,

Id_Cuides INT NOT NULL,)

Page 9: E:\Bd\Parcial 2do Corte\Bases De Datos

Precio

CREATE TABLE Precio (

Id_Ser INT NOT NULL,

PRIMARY KEY (Id_Ser),

Valor INT NOT NULL,

Id_Cuides INT NOT NULL,

Cargo VARCHAR(30),)

Tabla Solicitud

CREATE TABLE Solicitud (

Id_Soli INT NOT NULL,

PRIMARY KEY (Id_Soli),

Id_Em INT NOT NULL,

Id_Ser INT NOT NULL,

Id_Cli INT NOT NULL,

Fecha_Ori VARCHAR (30),

Fecha_Des VARCHAR (30),

Fecha_Res VARCHAR (30),

Page 10: E:\Bd\Parcial 2do Corte\Bases De Datos

Fecha_Sol VARCHAR (30),

Dir_Ori VARCHAR (30),

Dir_Des VARCHAR (30),

Id_Cuidad INT NOT NULL,

Id_Ciudes INT NOT NULL,)

Page 11: E:\Bd\Parcial 2do Corte\Bases De Datos

Consulta punto 1

SELECT Cliente.Id_Cli, Cliente.Nom_Cli, Cliente.Tel_Cli, Cliente.Dir_Cli, Factura.Id_Ser,

Factura.Fecha_Ser, Servicio.Nom_Ser

FROM Servicio INNER JOIN (Cliente INNER JOIN Factura ON Cliente.Id_Cli = Factura.Id_Cli) ON

Servicio.Id_Ser = Factura.Id_Ser

WHERE (((Cliente.Nom_Cli)="jonas ortiz") AND ((Factura.Fecha_Ser)>#2/28/2010#));

Consulta punto 2

SELECT Solicitud.Id_Emp, Solicitud.Id_Ciudes, Empresa.Nom_Emp, [Ciudad Destino].Nom_Ciudes

FROM Empresa INNER JOIN ([Ciudad Destino] INNER JOIN Solicitud ON [Ciudad Destino].Id_Ciudes

= Solicitud.Id_Ciudes) ON Empresa.Id_Emp = Solicitud.Id_Emp;

Page 12: E:\Bd\Parcial 2do Corte\Bases De Datos

Consulta Punto 3

SELECT Cliente.Nom_Cli, Empleado.Nom_Em, Empleado.Cargo_Em, Ayudante.Id_Em,

Ayudante.Nom_Ayu, Ayudante.Id_Ayu, Servicio.Nom_Ser, Factura.Id_Ser

FROM Servicio INNER JOIN ((Empleado INNER JOIN Ayudante ON

Empleado.Id_Em=Ayudante.Id_Em) INNER JOIN (Cliente INNER JOIN Factura ON

Cliente.Id_Cli=Factura.Id_Cli) ON Empleado.Id_Em=Factura.Id_Em) ON

Servicio.Id_Ser=Factura.Id_Ser

WHERE (((Cliente.Nom_Cli)="jonas ortiz"));

Consulta Punto 4

SELECT Factura.Id_Soli, Solicitud.Fecha_Sol, Solicitud.Fecha_res, Factura.Id_Ser,

Factura.Valor, Cliente.Nom_Cli, Cliente.Tel_Cli, Cliente.Dir_CliFROM (Cliente INNER JOIN

Factura ON Cliente.Id_Cli=Factura.Id_Cli) INNER JOIN Solicitud ON

Cliente.Id_Cli=Solicitud.Id_Cli WHERE (((Solicitud.Fecha_Sol)>#12/31/2009# And

(Solicitud.Fecha_Sol)<#1/1/2011#));

Page 13: E:\Bd\Parcial 2do Corte\Bases De Datos

Formularios

Ayudante

Cuidad Destino

Page 14: E:\Bd\Parcial 2do Corte\Bases De Datos

Cuidad Origen

Cliente

Empleado

Page 15: E:\Bd\Parcial 2do Corte\Bases De Datos

Empresa

Factura

Precio

Page 16: E:\Bd\Parcial 2do Corte\Bases De Datos

Servicio

Solicitud

Page 17: E:\Bd\Parcial 2do Corte\Bases De Datos

Informes

Informe Punto 2

Informe Punto 3

Informe Punto 4