Está en la página 1de 9

ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS

APELLIDOS Y NOMBRES: RIVERA ESPINOLA, HOLGER ELIAS CURSO: BASES DE DATOS PROFESOR: DR. LUIS BOY CHAVIL TEMA: PRESENTACIN TRABAJO II UNIDAD: MODELADO DE DATOS Y CONSULTAS EN T - SQL

PRACTICA CALIFICADA
CASO: ALQUILER DE UNIDADES MVILES DOCENTE: DR. LUIS BOY CHAVIL

Teniendo en cuenta que nos encontramos desarrollando el sistema de alquiler de unidad es mvil, se desea efectuar el proceso de Normalizacin del documento HOJA DE ALQUILER con el siguiente formato:

EMPRESA DE ALQUILER DE UNIDADES MVILES "EL CHALACO " Av. Las Casuarinas 129-Las Flores-El Golf - Tf: 01-472907 R.U.C. 6354225185

HOJA DE ALQUILER DE UNIDADES MVILES

Nmero: xxxx Cdigo del Cliente : xxxx-xx Nombre completo:x-------------------------------------x D.N.I: xxxxxxxx Domicilio: x------------------------------------------------x Tf: xx-xxxx

Fecha: xx/xx/xxxx

Nacionalidad: 1. Peruano 2. Extranjero (Si es Extranj, indique Cdigo): xxxxx Descripcin de la Nacionalidad: x---------------------x Continente: x (x-------x) Empresa donde Trabaja: x-------------x Direccin: x--------------x TF: xxxxxx Aval: x---------------------------------x Donde Trabaja: x-----------------------x Direccin del Aval: x-----------------------------------x TF del Aval: xxxxxx Detalle de los Pedidos en Alquiler CodUnidad Ao Marca Color Tipo Kmtj KMActual Est Precio/KM Dur Dev MtoGar Tot xxx xx x----x x x x xxx xxx xxxx.xx xx xx/xx/xx xx.xx xx.x xxx xx x----x x x x xxx xxx xxxx.xx xx xx/xx/xx xx.xx xx.x ---------------------------------------------------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -

RESUMEN N Unidades Alquiladas : xx Monto Total de Garanta: xxx.xx Monto Total a Pagar : xxxx.xx

Consideraciones Generales
Datos de la lnea de detalle

CodUnidad . Codigo de la Unidad mvil Ao . Ao de la Unidad mvil Marca Marca de la Unidad Color . Color de la Unidad Tipo ..Tipo de la Unidad (segn se indica ms adelante) Kmtj .. Cantidad de Kilometraje a recorrer segn el contrato KMActual.. Kilometraje Recorrido Est . Estado de la Unidad Precio/KM . Precio por Kilometraje de contrato Dur .. Nmero mximo de das del alquiler Dev . Fecha de devolucin de la Unidad MtoGar ... Monto de pago por garanta Tot ... Es el Total por lnea de detalle.

Consideraciones Adicionales

a. El Continente puede ser: 1, 2, 3, .... (Hay un nmero para cada continente) b. El Tipo de la Unidad (Tipo), puede ser: 1: Camin 2: Auto (2 puertas) 3: Auto (4 puertas) 4: Camioneta 5: Volquete 6: Wolswagen c. El estado de la unidad; puede ser: 1: Llantas nuevas 2: Lunas Polarizadas 3: Faros Neblineros

4: Ruedas Radiales 5: Otros d. El Monto de la Garanta equivale al 20 % del Total. e. El Total es igual a Kmtj * PrecioKM f. Una persona puede ser aval de uno o ms Clientes.

g. Un Cliente puede ser aval de otro Cliente. h. Un Cliente puede alquilar varios vehculos al mismo tiempo.

Se requiere implementar la base de datos identificando:

A) Modelo Normalizado de la base de datos (en Erwin). 6 puntos

AVAL AVA_NOMBRE: varchar(20) AVA_DIRECCION: varchar(50) AVA_TELEFONO: varchar(9)

CLIENTE CLI_CODIGO: varchar(10) CLI_NOMBRE: varchar(30) CLI_DNI: varchar(9) CLI_DOMICILIO: varchar(50) CLI_TELEFONO: varchar(9) CLI_NACION: char(2) NAC_CODIGO: char(2) (FK) NACIONALIDAD NAC_CODIGO: char(2) NAC_DESCRIPCION: varchar(20) CON_NUMERO: char(2) (FK)

EMPRESA EMP_NOMBRE: varchar(20) EMP_DIRECCION: varchar(50) EMP_TELEFONO: varchar(9) HOJA_DE_ALQUILER HOJ_NUMERO: varchar(5) HOJ_FECHA_DEVOLUCION: datetime CLI_CODIGO: varchar(10) (FK) EMP_NOMBRE: varchar(20) (FK) AVA_NOMBRE: varchar(20) (FK) CONTINENTE CON_NUMERO: char(2) CON_DESCRIPCION: varchar(20)

DETALLE_HOJA_ALQUILER HOJ_NUMERO: varchar(5) (FK) VEH_CODIGO: char(2) (FK) DET_KM_RECORRIDO: decimal(5,3) DET_KM_ACTUAL: decimal(5,3) DET_ESTADO: varchar(20) DET_PRECIO_X_KM: decimal(5,3) DET_DURACION: smallint DET_FECHA_DEVOLUCION: datetime DET_MONTO_GARANTIA: decimal(5,3) DET_TOTAL_PAGO: decimal(5,3)

VEHICULOS VEH_CODIGO: char(2) VEH_AO: smallint VEH_MARCA: varchar(20) VEH_COLOR: varchar(15) TIP_NUMERO: char(2) (FK) TIPOS TIP_NUMERO: char(2) TIP_DESCRIPCION: varchar(20)

B) Script de los dominios y valores por defecto 4 puntos

TABLA CONTINENTE

La condicin dada es: El Continente puede ser: 1, 2, 3, .... (Hay un nmero para cada continente) El script de dominios y valores por defecto:
CREATE TABLE CONTINENTE ( CON_NUMERO CON_DESCRIPCION ) go

char(2) NOT NULL , varchar(20) NULL

ALTER TABLE CONTINENTE ADD CONSTRAINT XPKCONTINENTE PRIMARY KEY CLUSTERED (CON_NUMERO ASC), CONSTRAINT[C_CON_NUMERO] CHECK(CON_NUMERO='1' OR CON_NUMERO='2' OR CON_NUMERO='3' OR CON_NUMERO='4' OR CON_NUMERO='5'), CONSTRAINT[M_CON_NUMERO] DEFAULT('1') FOR[CON_NUMERO] go

TABLA TIPOS

La condicin dada es: El Tipo de la Unidad (Tipo), puede ser: 1: Camin 4: Camioneta 2: Auto (2 puertas) 5: Volquete 3: Auto (4 puertas) 6: Wolswagen

El script de dominios y valores por defecto:


CREATE TABLE TIPOS ( TIP_NUMERO TIP_DESCRIPCION ) go

char(2) NOT NULL , varchar(20) NULL

ALTER TABLE TIPOS ADD CONSTRAINT XPKTIPOS PRIMARY KEY CLUSTERED (TIP_NUMERO ASC), CONSTRAINT[C_TIP_NUMERO] CHECK(TIP_NUMERO='1' OR TIP_NUMERO='2' OR TIP_NUMERO='3' OR TIP_NUMERO='4' OR TIP_NUMERO='5' OR TIP_NUMERO='6'), CONSTRAINT[M_TIP_NUMERO] DEFAULT('1') FOR[TIP_NUMERO]

go

TABLA DETALLE_HOJA_ALQUILER

La condicin dada es: El estado de la unidad; puede ser: 1: Llantas nuevas 4: Ruedas Radiales 2: Lunas Polarizadas 5: Otros 3: Faros Neblineros

El script de dominios y valores por defecto:


CREATE TABLE DETALLE_HOJA_ALQUILER ( DET_KM_RECORRIDO decimal(5,3) NULL , DET_KM_ACTUAL decimal(5,3) NULL , DET_ESTADO varchar(20) NULL , DET_PRECIO_X_KM decimal(5,3) NULL , DET_DURACION smallint NULL , DET_FECHA_DEVOLUCION datetime NULL , DET_MONTO_GARANTIA decimal(5,3) NULL , DET_TOTAL_PAGO decimal(5,3) NULL , HOJ_NUMERO varchar(5) NOT NULL , VEH_CODIGO char(2) NOT NULL ) go ALTER TABLE TDETALLE_HOJA_ALQUILER ADD CONSTRAINT XPKDETALLE_HOJA_ALQUILER PRIMARY KEY CLUSTERED (HOJ_NUMERO ASC,VEH_CODIGO ASC), CONSTRAINT[C_DET_ESTADO] CHECK(DET_ESTADO='LLANTAS NUEVAS' OR DET_ESTADO='LUNAS POLARIZADAS' OR DET_ESTADO='FAROS NEBLINEROS' OR DET_ESTADO='RUEDAS RADIALES' OR DET_ESTADO='OTROS'), CONSTRAINT[M_DET_ESTADO] DEFAULT('OTROS') FOR[DET_ESTADO] go

TABLA NACIONALIDAD

La condicin dada es: Nacionalidad: 1. Peruano 2. Extranjero (Si es Extranj, indique Cdigo) El script de dominios y valores por defecto:
CREATE TABLE NACIONALIDAD ( NAC_CODIGO char(2) NOT NULL , NAC_DESCRIPCION varchar(20) NULL , CON_NUMERO char(2) NULL ) go ALTER TABLE NACIONALIDAD ADD CONSTRAINT XPKNACIONALIDAD PRIMARY KEY CONSTRAINT[NAC_CODIGO] CHECK(NAC_CODIGO='1' OR NAC_CODIGO='2'), CONSTRAINT[M_NAC_CODIGO] DEFAULT('1') FOR[NAC_CODIGO] Go CLUSTERED (NAC_CODIGO ASC),

C) Vista para acceder a los datos de las unidades mviles que actualmente se encuentran alquilados hasta pasado maana 6 puntos

Se han insertado datos de prueba en las tablas:

TABLA CONTINENTE

TABLA TIPOS

TABLA NACIONALIDAD

TABLA VEHICULOS

TABLA CLIENTE

TABLA AVAL

TABLA EMPRESA

TABLA HOJA_DE_ALQUILER

TRABLA DETALLE_HOJA_ALQUILER

Se codifica en T SQL la vista: CREATE VIEW VISTAX AS SELECT V.VEH_CODIGO as Cod_Vehiculo,V.VEH_MARCA as Marca_Vehiculo,V.VEH_COLOR as Color_Vehiculo, D.DET_FECHA_DEVOLUCION as Fecha_Devolucion,H.HOJ_FECHA_DEVOLUCION as Fecha_Entrega FROM VEHICULOS V JOIN DETALLE_HOJA_ALQUILER D ON V.VEH_CODIGO=D.VEH_CODIGO JOIN HOJA_DE_ALQUILER H ON H.HOJ_NUMERO=D.HOJ_NUMERO WHERE D.DET_DURACION=2; RESULTADOS:

El vehculo con estas especificaciones ser el que se entregar pasado maana (2 das despus de la fecha de entrega del vehculo). Fecha de Entrega: 07/11/2013 Fecha de Devolucin: 09/11/2013

D) Listar los clientes que no registran alquileres de unidades mviles en el mes ..4 puntos

Cdigo en T - SQL SELECT C.CLI_NOMBRE FROM CLIENTE C INNER JOIN HOJA_DE_ALQUILER H ON C.CLI_CODIGO=H.CLI_CODIGO WHERE (DATEPART(mm,H.HOJ_FECHA_DEVOLUCION)!=DATEPART(mm,GETDATE()))

Son los que no registran alquileres de unidades mviles en el mes.

También podría gustarte