You are on page 1of 44

Ao del buen servicio al ciudadano

FACULTAD DE INGENIERA, ARQUITECTURA Y


URBANISMO
ESCUELA ACADMICO PROFESIONAL DE
INGENIERA DE SISTEMAS

PROYECTO FUNDAMENTOS DE BASE DE DATOS


DISEO Y IMPLEMENTACION DE LA BASE DE DATOS DE LA
EMPRESA TURISMO SANTA CRUZ S.A.C

AUTORES:
VALLEJOS RAMOS FERNANDO RAFAEL
QUIROZ VSQUEZ MANUEL FERNANDO
MUOZ SEGURA LUIS ENRIQUE
DOCENTE:
ING. BRAVO RUIZ JAIME

Chiclayo Per
I. ESTUDIO INICIAL DE LA BASE DE DATOS

1.1 Anlisis de la situacin actual de la organizacin

Descripcin de la organizacin

La empresa Turismo Santa Cruz S.A.C es una empresa ubicada


en la av. Jorge Chvez N# 1368 Campodnico. La empresa fue
creada el 28 de noviembre del 2011, inscrita en el asiento N#
B00001 por escritura pblica otorgada ante el notario en la ciudad
de Lima como socios fundadores Armando Rafael Daz y Nelly
Leonila Pueyes. Actualmente el representante de la empresa
Turismo Santa Cruz S.A.C es el seor Vctor Hugo Pueyes quien
toma el cargo de gerente General.

Turismo Santa Cruz, es una empresa dedicada a brindar un buen


servicio que cubre las necesidades de transporte terrestre de
personas, cargas, encomiadas, mercaderas y servicios tursticos
y personalidad bajo la modalidad de traslados o excursiones de
instituciones locales, a diferentes circuitos a nivel nacional e
internacional. Cubriendo las rutas de Chiclayo Sata Cruz y
viceversa.

Organizacin actual de la empresa

Empresa: Turismo Santa Cruz S.A.C.


Rubro Comercial: Transporte
Ruc: 20546334831
Licencia: C16724211
Razn social:

Fecha De Fundacin: 28 de noviembre del 2011


Direccin: Av. Jorge Chaves 1368
Representante: Vctor Hugo Pueyes Prado
Telfonos: 957 530 792
Horario De Atencin: 6: 30 am 8: 00 pm
1
Nuestra Misin:

Ser una empresa de transporte de viajeros que ofrece un servicio de


calidad, en tiempo y seguridad, preocupndose en todo momento por las
necesidades de nuestros clientes y usuarios para saber adaptarse a
estas y poder mantenerles satisfechos.

Nuestra Visin:

Ser la empresa de transporte de viajeros ms confiable en el mbito local


y preferida por los clientes y usuarios, situndose como un referente en
el sector.

Organigrama actual de la empresa

Gerencia

Administracin

Personal de Taller Conductores Auxiliar Boletera


Contable

Ayudantes Servicio de
Envos

2
Descripcin de la Organizacin

La Empresa tiene organizado el personal de la siguiente manera.

Gerente: Es la persona que necesita estar ms informada,


teniendo un control y seguimiento de las actividades de la
empresa. Encargado de dirigir el personal y autorizar todas las
operaciones dentro de la empresa y tambin de administrar los
diferentes recursos de la misma.

Funciones:
- Revisar agenda de cobros y pagos.
- Elaborar cartera de clientes.
- Realizar operaciones bancarias.
- Supervisin de inventarios y cotizaciones.
- Autorizacin de procesos en la organizacin.

Auxiliar Contable: Encargado de la contabilidad.


Funciones:
- Lleva el registro contable de la empresa.
- Pagos a la sunat.

Asistente de Ventas: Encargado de realizar las ventas de los


pasajes.
Funciones:
- Atencin de clientes.
- Dar informes detallado de ventas.
- Vender pasajes para las distintas salidas de la empresa.
- Elaborar reportes de actividades en el rea de ventas.
- Realizar el registro de los pasajes vendidos.

Asistente de Envos y Encomiendas: Encargado de recibir y


dar servicio a los clientes que realizan envos de encomiendas o
otros tipos de cargos.
Funciones:
- Atencin y recepcin de las encomiendas de los clientes.
- Realizar el registro de los envos a diferentes destinos.

3
- Elaborar informes de detallado sobre las entregas de los
diferentes envos.

Choferes: Encargados de la conduccin de los mnibus.


Ayudantes: Los que se encargan de asistir y relevar a los
choferes.
Personal de taller: Brindan soporte mecnico a los diferentes
mnibus de la empresa.

Descripcin de los procesos a modelar

- Proceso de Registro de clientes.

Es el proceso mediante el cual la secretaria registra los datos de un


cliente para guardar su informacin para posteriormente consultar
informacin en caso de que fuese cliente frecuente.

- Proceso de registro de encomiendas

Este proceso hace el registro de los datos del remitente, tales


como nombre de la persona a quien se le va ser l envi, lugar,
fecha de entrega, costo del envo, etc.

- Proceso de registro de venta de pasajes

La secretaria registra la informacin bsica de un cliente y separa el


nmero de asiento, turno, fecha, y destino del pasajero.

- Proceso de entrega de encomiendas y otros tipos de cargas

Primero para realizar el servicio de entrega se requiere la verificacin


de la informacin detallada del remitente con el documento de
identificacin de la persona solicitante.

4
1.2 Definicin de problemas

En la empresa de Transportes Turismo Santa Cruz Existen diferentes


problemas como:

Demora en la atencin de los clientes en la bsqueda del plano


correspondiente a la fecha indicada por el cliente, como tambin en
el llenado del pasaje.

Perdida y extravo de datos de boletos por parte de la empresa al no


contar con una base de datos para almacenar y registrar las ventas
de los mismos.

Control deficiente en las ventas y en las reservas de pasajes debido


a la falta de metodologas y formalidad en estos procesos.

Demasiado uso de material de escritorio ya sea en las actas de


registro de pasajeros para cada horario de salida de los buses. Lo
cual involucra tambin calcadores, lapiceros y marcadores.

La organizacin no cuenta con mecanismos para el control de las


entrega y recepcin de encomiendas y otros tipos de carga.

Problemas al solicitar algn determinado pasaje en el rea de


ventas, debido a que estos se hacen en registros de actas de papel.

1.3 Definicin de objetivos generales

El objetivo general es:

Optimizar y mejorar la forma en que la empresa registra y guarda la


informacin de todos sus clientes para que de esta forma pueda obtener
informacin y resultados de todos los clientes frecuentes y en base a estos
ofrecer mejores promociones y mantener satisfechos a sus clientes.

5
1.4 Definicin de objetivos especficos

Los objetivos especficos son:

- Agilizar el proceso de verificacin y entrega de sobres y


encomiendas haciendo uso del nuevo sistema de base de datos.

- Para un mejor y eficiente manejo datos y el conteo de pasajes


vendidos y evitar errores, en la cuantificacin de los mismos.

1.5 Definicin de objetivos para la Base de Datos

Objetivos para la base de datos son los siguientes:

El diseo de la base de datos debe cumplir con todos los


requerimientos y necesidades de la empresa.

Proces de diseo debe de ser claro y conciso en caso de que en un


futuro de haya una actualizacin del sistema.

1.6 Definicin del alcance y los lmites de la Base de Datos

Definicin del alcance:

La realizacin de este proyecto se har bajo el compromiso grupal de


terminar a tiempo en el plazo establecido por el curso de fundamentos de
base de datos, haciendo usos de los conocimientos adquiridos en clase.

Lmites de la base de datos:

Se disear un sistema de base de datos que har los siguientes


procesos en base a los requerimientos de la empresa:

- Registrar clientes o pasajeros


- Registro de recepcin y envos de sobres y encomiendas
- Registro de venta de los boletos segn los turnos de salida
- Modificar y eliminar reservas de pasajes

6
II. DISEO DE LA BASE DE DATOS

2.1 DISEO CONCEPTUAL DE DATOS

2.1.1 Anlisis y requerimientos de informacin del negocio

La empresa de transporte Turismo Santa Cruz tiene la necesidad de


contar con un sistema que permita llevar un mejor control de registro y
venta de pasajes, que a su vez sea fcil de manejar; el control consiste
en llevar a cabo un registro de todos los clientes y pasajeros con los que
se cuenta y adems del servicio de encomiendas.

2.1.1.1 Requerimientos

A continuacin, se detalla la lista de Turismo Santa Cruz.


requerimientos que tiene que cumplir este sistema de base de
datos de la empresa

Detalle de Requerimientos:

Reserva y venta de Pasajes.


Registro de todos los servicios de envos
Reportes de todas las ventas (da, mes, ao)
Reportes de estado de los buses

2.1.1.2 Reglas del Negocio

Modelo de negocio:

7
Modelo de negocio de la empresa Transportes Santa Cruz

Reglas de negocio de la empresa

Nombre Requisitos Regla


- Presentar
documento de Si tiene ms de 5
identidad. aos pagan pasaje
Memores de Edad completo y deben
- Documento de tener asignado un
autorizacin asiento
firmado por un
juez de paz letrado
Si se encuentra mal
de salud deber de
- Presentar DNI presentar un acta
Tercera Edad donde la empresa de
libera de
responsabilidad por
algn suceso

Solo podrn viajar


hasta los 7 meses de
Madres Gestantes -Presentar DNI gestacin segn las
polticas de la
empresa

8
2.1.2 Modelo Entidad-Relacin y Normalizacin

2.1.2.1 Definicin de entidades

Tipo Documento
Persona
rea
Empleado
Ciudad
Destinos
Lista Precios
Categora Asiento
Registro Reserva
Pas
Sucursal
Boleto
Tipo Venta
Venta
Forma Pago
Reserva Venta
Bus
Bus Asientos
Temporada
Choferes
Ayudante
Envos
Promocin
Salidas
Tipo Envos
Terminales
Detalle Envos
Tipos Comprobante
Fecha Salidas
Itinerarios

9
2.1.2.2 Definiendo relaciones

10
2.1.2.3 Definiendo atributos

Atributos por cada entidad:

Tipo Documento

- TipoDocumentoID
- Nombre

Persona

- PersonaID
- Nombres
- ApellidoPat
- ApellidoMat
- TipoDocumentoID
- NumDocumentoID
- Sexo
- Fecha Nacimiento
- Direccin
- Celular
- Email
- Razn Social
- Ruc

rea

- AreaID
- Nombre

Empleado

- PersonaID
- CargoID
- AreaID
- Fecha Contrato
- Fecha Finalizacin

Ciudad

- CiudadID
- Nombre

11
Destinos

- DestinoID
- Ciudad Origen
- Ciudad Destino

Lista Precios

- ListaID
- Precio

Tipo Asiento

- TipoAsientoID
- Nombre
- ListaPrecio

Detalle_Venta

- ReservaID
- Fecha Viaje
- Fecha Retorno
- TipoAsiento

Cliente

- PersonaID
- Ultima Compra

Pas

- PaisID
- Nombre
Sucursal

- SucursalD
- Direccin
- CiudadID
- Pas
- Telfono

Boleto

- BoletoID
- ReservaID
- SucursalD

12
Tipo Venta

- TipoVentaID
- Nombre

Venta

- VentaID
- EmpleadoID
- Fecha_Generacion
- Fecha_Reserva
- Cantidad
- TipoVentaID
- SucursalD
- FormaPago
- Itinerario

Forma de Pago

- FormaPagoID
- Nombre

Registro Venta

- RejistroID
- VentaID
- PasajeroID

Bus

- BusID
- PlacaID
- Nmero de asientos
- Marca
- Modelo
- Piso
- Estado

Promocin

- PromocinID
- Fecha da
- Precio

Bus Asiento

- Bus_AsientoID
- BusID
13
- Numero
- Estado
- PromocionID

Temporada

- TemporadaID
- ListaID
- Nombre
- Fecha Inicio
- Fecha Final

Choferes

- ChoferID
- BusID
- EmpleadoID

Ayudante

- AyudanteID
- BusID
- EmpleadoID

Tipo Envi

- TipoEnvioID
- Nombre

Envos

- EnvioID
- VentaID
- Consignatario
- TipoEnvio
- DestinosID
- RemitenteID

Terminales

- TerminalD
- Nombre
- Direccin

14
Salidas

- SalidasID
- DestinosID
- TerminaID
- Hora
- TipoAsiento

Detalle Envos

- EnviosID
- Fecha Legada
- Descripcion
- Estado
- Peso
- Cantidad
- Tarifa Base
- Tarifa Traslado
- Precio Total

Tipo Comprobante

- TipoComprobanteID
- Nombre

Fechas Salidas

- FechaSalidaID
- Dia

Itinerario

- ItinerarioID
- SalidaID
- DestinoID
- FechaID
- Estado
- BusID
- ChoferID
- AyudanteID

15
2.1.2.4 Definiendo Identificadores nicos de Entidades (UID)

- En este caso solo se ha definido numero de documento como campo


nico

Entidad Atributo Restriccin


Persona NumDocumento UNIQUE

2.1.2.5 Diagrama entidad relacin final

16
2.2 DISEO LOGICO

2.2.1 Normalizacin

TipoDocumento
TipoDocum Nombre
1 Carnet de Extranjeria
2 Cedula de Identidad
3 DNI
4 Pasaporte

Persona
Nombres Apellidos Docum_ID N DocumentoID Sexo Edad Direcion Celular Email Razon Social
Fernando Rafael Vallejos Ramos 3 73222360 M 21 ca. Los icas san francisco 972952295 null NULL
Ana Rodas Ramos 4 1047892582 F 25 null 987566445 anar@gmail.com NULL
Sandra Arana Lozada 3 28108798 F 35 av.las palmas de dios 578497598 null NULL
Jorge Belasquez Sanches 3 47595592 M 45 ca los pinos de .. 75814585 null NULL
Jose Rojas Altamirano 3 48592768 M 30 las palmeras 845666 null NULL

EMPLEADOS
PersonaID CargoID Fecha_Con Fecha_Baja Sueldo SucursalID
28108798 1 4/08/2013 null 900 1
47595592 3 5/08/2013 null 900 1
48592768 3 6/08/2013 null 900 1

Area Trabajo
AreaID Nombre Cargos
1 Gerente AreaID Nombre
2 Administracion 2 Secretaria
3 Tesoreria 3 Caja
4 Servicios Generales 4 Chofer
5

Tipo_Asiento
ID_Tipo Nombre
1 Normal

SALIDAS Datos Fijos


ID_salida ID_Destino ID_TERMI Hora Tipo_asiento
1 1 9 06:30 1
2 1 9 07:30 1
3 1 9 08:30 1
4 1 9 09:30 1
5 2 2 05:30 1
6 2 2 07:30 1
7 2 3 08:30 1

17
Fecha_Salidas
FechaID Dia
1 19/11/2017
2 20/11/2017
3 21/11/2017
4 22/11/2017
5 23/11/2017
6 24/11/2017

ITINERARIO Constante Cambio


ItinerarioID ID_Salida ID_Destino Fecha Estado iD_Bus
1 1 1 1 0 Null
2 2 1 1 1 2
3 3 1 1 1 4
4 4 1 1 0 null
5 5 2 1 0 null
6 6 2 1 1 8
7 7 2 1 1 9
8 8 1 1 0 null
9 9 1 1 1 2

Destinos Datos Fijos


ID_Destino Id_Origen ID_destino
1 lima chiclayo
Terminales 2 Chiclayo Lima
ID_TERMI Nombre 3 Lima Arequipa
1 Lima Plaza Norte 4 Lma Cusco
2 Lima javier Prado 5 Arequipa Lima
3 Lima sur otocongo 6 Chiclayo Piura
4 Arequipa Terminal 7 Pirura Lima

VENTA
VentaID EmpleadoID ClienteID Cantidad Fec_Reserva ItinerarioID
1 3 10 3 30/11/2017 10
2 3 11 2 1/12/2017 11

Detalle_Registro
PasajesID ReserVenta Personaid
1 1 10
2 1 12
3 1 13
4 2 20
5 2 21

18
2.2.2 Mapeando las entidades a tablas

2.2.3 Definiendo restricciones

2.2.3.1 Claves: PK

Nombre Indice Tabla Columna Consraint


PK__Detalle__ Detalle_Venta DetalleID Primary Key
PK__Promocio_ Promocion PromocionID Primary Key
PK_Asiento_Bus Bus_Asiento cod_asiento Primary Key
PK_Asiento_Bus Bus_Asiento Bus_BusID Primary Key
PK_Temporada Temporada TemporadaID Primary Key
PK__Detalle_ Detalle_Bus BusID Primary Key
PK__Tipo_Env_ Tipo_Envios TipoEnvioID Primary Key
PK__Envios_ Envios EnvioID Primary Key
PK__Detalle__ Detalle_Envios EnviosID Primary Key
PK_Documento Tipo_Documento DocumentoID Primary Key
PK__Persona_ Persona PersonaID Primary Key
PK_Area Area AreaID Primary Key
PK_Cargo_Area Cargo CargoID Primary Key
PK__Pais__ Pais PaisID Primary Key
PK_Ciudad Ciudad CiudadID Primary Key
PK__Sucursal__ Sucursal SucursalID Primary Key
PK_Persona_Empleado Empleado PersonaID Primary Key
PK__Tipo_Ven__ Tipo_Venta TipoVentaID Primary Key
PK__FormaPag__ FormaPago FormaPagoID Primary Key
PK_Destinos Destinos DestinoID Primary Key
PK_Precios Lista_Precios ListaID Primary Key
PK_TipoAsiento Tipo_Asiento TipoAsientoID Primary Key
PK__Terminal__ Terminales TerminalID Primary Key
PK_Salidas Salidas ID_Salida Primary Key
PK_Salidas Salidas DestinoID Primary Key
PK__Bus_ Bus BusID Primary Key
PK__Fecha_Sa__ Fecha_Salidas FechaSalidasID Primary Key
PK__Choferes__ Choferes ChoferID Primary Key
PK__Ayudante__ Ayudante AyudantesID Primary Key
Pk_Itinerario Itinerario Salidas_ID Primary Key
Pk_Itinerario Itinerario Destino_ID Primary Key
PK__Venta__ Venta VentaID Primary Key
PK__Tipo_Con_ Tipo_Conprobante Tipo_ComprobID Primary Key
PK__Pagos_ Pagos PagosID Primary Key

19
2.2.3.2 Integridad referencial: FK

FK_TABLA FK_COLUMN PK_TABLE PK_COLUMN CONSTRAINT_NAME


Ayudante EmpleadoID Empleado PersonaID FK_Empleado_Ayudante
Boleto Detalle_Venta Detalle_Venta DetalleID FK_DetalleVenta
Bus_Asiento Bus_BusID Bus BusID FK_Buses
Bus_Asiento PromocionID Promocion PromocionID FK_Promocion_Asiento
Cargo AreaID Area AreaID FK_cargo_Area
Choferes EmpleadoID Empleado PersonaID FK_Empleado_Chofer
Ciudad PaisID Pais PaisID FK_Pais_ID
Destinos Ciudad_Destino Ciudad CiudadID FK_destino
Destinos Ciudad_Origen Ciudad CiudadID FK_origen
Detalle_Bus BusID Bus BusID FK_Bus_detalle
Detalle_Envios EnviosID Envios EnvioID FK_Envios_ID_
Detalle_Venta PasajeroID Persona PersonaID FK_Persona_Pasajero
Detalle_Venta VentaID Venta VentaID FK_Detalle_Reserva
Empleado CargoID Cargo CargoID FK_Cargo_Emp
Empleado PersonaID Persona PersonaID FK_Persona_Emp
Empleado SucursalID Sucursal SucursalID FK_Surcursal_Empl
Envios DestinosID Destinos DestinoID FK_DestinosID
Envios EmpleadoID Empleado PersonaID FK_Empleado_Envios
Envios RemitenteID Persona PersonaID FK_Remitente_Envios
Envios TipoComprobanteID Tipo_Conprobante Tipo_ComprobID FK_TipoComprobante_Envio
Envios TipoEnvio Tipo_Envios TipoEnvioID FK_TipoEnvios
Envios VentaID Venta VentaID FK_Venta_Envios
Itinerario AyudanteID Ayudante AyudantesID FK_Ayudante_Itine
Itinerario BusID Bus BusID FK_Bus_ID
Itinerario ChoferID Choferes ChoferID FK_Chofer_Itine
Itinerario Destino_ID Salidas DestinoID FK_Salidas_ID
Itinerario Destino_ID Salidas ID_Salida FK_Salidas_ID
Itinerario FechaID Fecha_Salidas FechaSalidasID FK_Fechas_Salidas
Itinerario Salidas_ID Salidas DestinoID FK_Salidas_ID
Itinerario Salidas_ID Salidas ID_Salida FK_Salidas_ID
Pagos ClienteID Persona PersonaID FK_Persona_ClienteID
Pagos TipoComprobante Tipo_Conprobante Tipo_ComprobID FK_TipoComprobanteID_
Persona TipoDocumentoID Tipo_Documento DocumentoID FK_DocumtoP
Salidas DestinoID Destinos DestinoID FK_Destino_Salidas
Salidas TerminalID Terminales TerminalID FK_Terminal_Salidas
Salidas TipoAsiento Tipo_Asiento TipoAsientoID FK_Tipo_Asiento
Sucursal Ciudad Ciudad CiudadID FK_Ciudad_Suc
Temporada ListaID Lista_Precios ListaID FK_Lista_Precio
Tipo_Asiento ListaPrecio Lista_Precios ListaID FK_ListPrecio
Venta EmpleadoID Empleado PersonaID FK_Empleado
Venta FormaPagoID FormaPago FormaPagoID FK_FormaPago_Venta
Venta Itinerario_Destino Itinerario Destino_ID FK_Itinerario_Venta
Venta Itinerario_Destino Itinerario Salidas_ID FK_Itinerario_Venta
Venta Itinerario_Salida Itinerario Destino_ID FK_Itinerario_Venta
Venta Itinerario_Salida Itinerario Salidas_ID FK_Itinerario_Venta
Venta SucursalID Sucursal SucursalID FK_Sucursal_Venta
Venta TipoVentaID Tipo_Venta TipoVentaID FK_TipoVenta

20
2.2.3.3 Check

ALTER TABLE Venta ADD CONSTRAINT


CHK_Venta_Fecha CHECK(Fecha_Reserva >= GETDATE());

TABLA CAMPO CONSTRAUNT


VENTA FECHA Check(Fecha>=getdate())

2.2.3.4 Valores por defecto

TABLA CAMPO CONSTRAUNT


Itinerario Estado Default 0
Bus_Asiento Estado Default 0
Venta Fecha_Envio Getdate()

2.2.4 Modelo relacional de datos

21
2.2.5 Diccionario de datos

TABLA COLUMN TYPE PRECISIN MAX_LENT NULL FOREIGN KEY REFERENCE TABLE REFERENCE COLUM
Area AreaID int NULL 4 NO NULL NULL NULL
Area Nombre varchar NULL 45 NO NULL NULL NULL
Ayudante AyudantesID int NULL 4 NO NULL NULL NULL
Ayudante EmpleadoID int NULL 4 NO FK_Empleado_Ayudante Empleado PersonaID
Boleto IdBoleto int NULL 4 NO NULL NULL NULL
Boleto Detalle_Venta int NULL 4 NO FK_DetalleVenta Detalle_Venta DetalleID
Bus BusID int NULL 4 NO NULL NULL NULL
Bus Placa varchar NULL 15 SI NULL NULL NULL
Bus num_asientos tinyint NULL 1 SI NULL NULL NULL
Bus Marca varchar NULL 20 SI NULL NULL NULL
Bus Modelo varchar NULL 20 SI NULL NULL NULL
Bus Piso tinyint NULL 1 SI NULL NULL NULL
Bus Estado bit NULL 1 SI NULL NULL NULL
Bus_Asiento cod_asiento int NULL 4 NO NULL NULL NULL
Bus_Asiento Bus_BusID int NULL 4 NO FK_Buses Bus BusID
Bus_Asiento Numero tinyint NULL 1 SI NULL NULL NULL
Bus_Asiento Estado bit NULL 1 SI NULL NULL NULL
Bus_Asiento PromocionID int NULL 4 SI FK_Promocion_Asiento Promocion PromocionID
Cargo CargoID int NULL 4 NO NULL NULL NULL
Cargo Nombre varchar NULL 45 NO NULL NULL NULL
Cargo AreaID int NULL 4 NO FK_cargo_Area Area AreaID
Choferes ChoferID int NULL 4 NO NULL NULL NULL
Choferes EmpleadoID int NULL 4 NO FK_Empleado_Chofer Empleado PersonaID
Ciudad CiudadID int NULL 4 NO NULL NULL NULL
Ciudad PaisID int NULL 4 NO FK_Pais_ID Pais PaisID
Ciudad Nombre varchar NULL 45 NO NULL NULL NULL

22
Destinos DestinoID int NULL 4 NO NULL NULL NULL
Destinos Ciudad_Origen int NULL 4 SI FK_origen Ciudad CiudadID
Destinos Ciudad_Destino int NULL 4 SI FK_destino Ciudad CiudadID
Detalle_Bus BusID int NULL 4 NO FK_Bus_detalle Bus BusID
Detalle_Envios EnviosID int NULL 4 NO FK_Envios_ID_ Envios EnvioID
Detalle_Envios Fdcha_Llegada date NULL 3 SI NULL NULL NULL
Detalle_Envios Descripcion varchar NULL 80 SI NULL NULL NULL
Detalle_Envios Estado varchar NULL 45 SI NULL NULL NULL
Detalle_Envios Peso tinyint NULL 1 SI NULL NULL NULL
Detalle_Envios Cantidad int NULL 4 SI NULL NULL NULL
Detalle_Envios TarifaBase float 53 8 SI NULL NULL NULL
Detalle_Envios Tarifa_Traslado float 53 8 SI NULL NULL NULL
Detalle_Envios PrecioTotal float 53 8 NO NULL NULL NULL
Detalle_Venta DetalleID int NULL 4 NO NULL NULL NULL
Detalle_Venta VentaID int NULL 4 NO FK_Detalle_Reserva Venta VentaID
Detalle_Venta PasajeroID int NULL 4 NO FK_Persona_Pasajero Persona PersonaID
Empleado PersonaID int NULL 4 NO FK_Persona_Emp Persona PersonaID
Empleado CargoID int NULL 4 NO FK_Cargo_Emp Cargo CargoID
Empleado Sueldo money NULL 8 SI NULL NULL NULL
Empleado Fecha_Contrato date NULL 3 SI NULL NULL NULL
Empleado Fecha_Finalizacion date NULL 3 SI NULL NULL NULL
Empleado SucursalID int NULL 4 NO FK_Surcursal_Empl Sucursal SucursalID
Empleado Estado bit NULL 1 SI NULL NULL NULL
Envios EnvioID int NULL 4 NO NULL NULL NULL
Envios VentaID int NULL 4 NO FK_Venta_Envios Venta VentaID
Envios Consignatario varchar NULL 80 NO NULL NULL NULL
Envios TipoEnvio int NULL 4 NO FK_TipoEnvios Tipo_Envios TipoEnvioID
Envios Fecha_Envio date NULL 3 SI NULL NULL NULL
Envios DestinosID int NULL 4 NO FK_DestinosID Destinos DestinoID
Envios RemitenteID int NULL 4 NO FK_Remitente_Envios Persona PersonaID
Envios EmpleadoID int NULL 4 NO FK_Empleado_Envios Empleado PersonaID
Envios TipoComprobanteID int NULL 4 NO FK_TipoComprobante_EnvioTipo_Conprobante Tipo_ComprobID
Fecha_Salidas FechaSalidasID int NULL 4 NO NULL NULL NULL
Fecha_Salidas dia date NULL 3 NO NULL NULL NULL
FormaPago FormaPagoID int NULL 4 NO NULL NULL NULL
FormaPago Nombre varchar NULL 45 NO NULL NULL NULL
Itinerario Salidas_ID int NULL 4 NO FK_Salidas_ID Salidas ID_Salida
Itinerario Destino_ID int NULL 4 NO FK_Salidas_ID Salidas DestinoID
Itinerario FechaID int NULL 4 NO FK_Fechas_Salidas Fecha_Salidas FechaSalidasID
Itinerario Estado bit NULL 1 SI NULL NULL NULL
Itinerario BusID int NULL 4 SI FK_Bus_ID Bus BusID
Itinerario ChoferID int NULL 4 NO FK_Chofer_Itine Choferes ChoferID
Itinerario AyudanteID int NULL 4 SI FK_Ayudante_Itine Ayudante AyudantesID
Lista_Precios ListaID int NULL 4 NO NULL NULL NULL
Lista_Precios Precio float 53 8 NO NULL NULL NULL
Pagos PagosID int NULL 4 NO NULL NULL NULL
Pagos VentaID int NULL 4 NO NULL NULL NULL
Pagos Descuento float 53 8 SI NULL NULL NULL
Pagos Total float 53 8 SI NULL NULL NULL
Pagos igv float 53 8 SI NULL NULL NULL
Pagos TipoComprobante int NULL 4 NO FK_TipoComprobanteID_ Tipo_Conprobante Tipo_ComprobID
Pagos ClienteID int NULL 4 NO FK_Persona_ClienteID Persona PersonaID
Pagos PrecioUnitario float 53 8 SI NULL NULL NULL
Pais PaisID int NULL 4 NO NULL NULL NULL
Pais Nombre varchar NULL 80 NO NULL NULL NULL
Persona PersonaID int NULL 4 NO NULL NULL NULL
Persona Nombres varchar NULL 45 SI NULL NULL NULL

23
Persona ApellidoPaterno varchar NULL 45 SI NULL NULL NULL
Persona ApellidoMaterno varchar NULL 45 SI NULL NULL NULL
Persona TipoDocumentoID int NULL 4 SI FK_DocumtoP Tipo_Documento DocumentoID
Persona NumDocumentoID varchar NULL 20 NO NULL NULL NULL
Persona F_Nacimiento date NULL 3 SI NULL NULL NULL
Persona Sexo bit NULL 1 SI NULL NULL NULL
Persona Direcion varchar NULL 100 SI NULL NULL NULL
Persona Celular varchar NULL 12 SI NULL NULL NULL
Persona Telefono varchar NULL 9 SI NULL NULL NULL
Persona Email varchar NULL 60 SI NULL NULL NULL
Persona Razon_Social varchar NULL 150 SI NULL NULL NULL
Persona Ruc varchar NULL 20 SI NULL NULL NULL
Promocion PromocionID int NULL 4 NO NULL NULL NULL
Promocion Fecha_Dia date NULL 3 SI NULL NULL NULL
Promocion Precio float 53 8 SI NULL NULL NULL
Salidas ID_Salida int NULL 4 NO NULL NULL NULL
Salidas DestinoID int NULL 4 NO FK_Destino_Salidas Destinos DestinoID
Salidas TerminalID int NULL 4 NO FK_Terminal_Salidas Terminales TerminalID
Salidas Hora time NULL 3 SI NULL NULL NULL
Salidas TipoAsiento int NULL 4 NO FK_Tipo_Asiento Tipo_Asiento TipoAsientoID
Sucursal SucursalID int NULL 4 NO NULL NULL NULL
Sucursal Direcion varchar NULL 60 NO NULL NULL NULL
Sucursal Ciudad int NULL 4 NO FK_Ciudad_Suc Ciudad CiudadID
Sucursal Telefono varchar NULL 12 NO NULL NULL NULL
Temporada TemporadaID int NULL 4 NO NULL NULL NULL
Temporada ListaID int NULL 4 NO FK_Lista_Precio Lista_Precios ListaID
Temporada Nombre varchar NULL 45 NO NULL NULL NULL
Temporada Fecha_Inicio date NULL 3 SI NULL NULL NULL
Temporada Fecha_Final date NULL 3 SI NULL NULL NULL
Terminales TerminalID int NULL 4 NO NULL NULL NULL
Terminales Nombre varchar NULL 30 SI NULL NULL NULL
Terminales Direcion varchar NULL 60 SI NULL NULL NULL
Tipo_Asiento TipoAsientoID int NULL 4 NO NULL NULL NULL
Tipo_Asiento Nombre varchar NULL 45 NO NULL NULL NULL
Tipo_Asiento ListaPrecio int NULL 4 SI FK_ListPrecio Lista_Precios ListaID
Tipo_ConprobanteTipo_ComprobID int NULL 4 NO NULL NULL NULL
Tipo_ConprobanteNombre varchar NULL 45 NO NULL NULL NULL
Tipo_Documento DocumentoID int NULL 4 NO NULL NULL NULL
Tipo_Documento Nombre varchar NULL 45 NO NULL NULL NULL
Tipo_Envios TipoEnvioID int NULL 4 NO NULL NULL NULL
Tipo_Envios Nombre varchar NULL 45 NO NULL NULL NULL
Tipo_Venta TipoVentaID int NULL 4 NO NULL NULL NULL
Tipo_Venta Nombre varchar NULL 45 NO NULL NULL NULL
Venta VentaID int NULL 4 NO NULL NULL NULL
Venta EmpleadoID int NULL 4 NO FK_Empleado Empleado PersonaID
Venta Fecha_Generacion date NULL 3 NO NULL NULL NULL
Venta Fecha_Reserva date NULL 3 SI NULL NULL NULL
Venta TipoVentaID int NULL 4 NO FK_TipoVenta Tipo_Venta TipoVentaID
Venta SucursalID int NULL 4 NO FK_Sucursal_Venta Sucursal SucursalID
Venta FormaPagoID int NULL 4 NO FK_FormaPago_Venta FormaPago FormaPagoID
Venta Itinerario_Salida int NULL 4 NO FK_Itinerario_Venta Itinerario Salidas_ID
Venta Itinerario_Destino int NULL 4 NO FK_Itinerario_Venta Itinerario Destino_ID

III. DISEO FISICO

24
- Modelo Fsico de la Base de Datos en SQL Server
Detalle_Bus
BusID

Bus_Asiento
cod_asiento
Bus_BusID
Bus
Numero
BusID
Estado
Placa
PromocionID
num_asientos
Marca
Modelo
Piso
Estado

Promocion
PromocionID
Fecha_Dia
Precio

Fecha_Salidas
FechaSalidasID
dia

Tipo_Asiento
Lista_Precios TipoAsientoID
ListaID
Nombre
Precio ListaPrecio

Temporada
TemporadaID
ListaID
Nombre
Fecha_Inicio
Fecha_Final

Salidas
ID_Salida Destinos
DestinoID DestinoID
Detalle_Envios
TerminalID Ciudad_Origen EnviosID
Hora Ciudad_Destino Fdcha_Llegada
TipoAsiento Descripcion
Estado
Peso
Cantidad
TarifaBase
Tarifa_Traslado
Terminales PrecioTotal
TerminalID
Nombre
Direcion

Envios
EnvioID
VentaID
Sucursal Consignatario
Ciudad
CiudadID
SucursalID
TipoEnvio Tipo_Envios
Direcion TipoEnvioID
PaisID Fecha_Envio
Ciudad Nombre
Nombre DestinosID
Telefono
RemitenteID
EmpleadoID
TipoComprobanteID

Cargo
Area
CargoID
Pais Choferes AreaID
PaisID ChoferID Nombre
Itinerario Nombre
Nombre EmpleadoID AreaID
Salidas_ID
Destino_ID
FechaID
Estado
BusID
ChoferID
AyudanteID Empleado
PersonaID
CargoID
Ayudante Sueldo
AyudantesID
Fecha_Contrato
EmpleadoID Fecha_Finalizacion
SucursalID
Estado

Venta
VentaID
EmpleadoID
Fecha_Generacion Tipo_Conprobante
Fecha_Reserva FormaPago Tipo_ComprobID
FormaPagoID
TipoVentaID Nombre
Nombre
SucursalID
FormaPagoID
Itinerario_Salida
Itinerario_Destino

Pagos
PagosID
VentaID
Descuento
Total
Tipo_Venta
igv
TipoVentaID
TipoComprobante
Nombre
ClienteID
PrecioUnitario

Persona
PersonaID
Nombres
ApellidoPaterno
ApellidoMaterno
TipoDocumentoID
NumDocumentoID
F_Nacimiento
Sexo
Direcion
Celular
Telefono
Email
Razon_Social
Ruc

Detalle_Venta Tipo_Documento
Boleto
DetalleID DocumentoID
IdBoleto
VentaID Nombre
Detalle_Venta
PasajeroID

- Determinar el tamao futuro de la Base de Datos

IV. IMPLEMENTACION Y CARGA

25
Instalar el DBMS

Paso 1: Una vez que ha descargado el archivo respectivo para su tipo de


servidor, usted necesita ejecutarlo. Eso lo llevar a la primera pantalla
llamada SQL Server Installation Center,

Paso 2: Una vez que acepta los trminos de licencia, es tiempo de escanear
todas las actualizaciones disponibles para el producto.

26
Paso 3: Una vez que hace clic en el botn Next, se verificarn las reglas de
configuracin y si pasaron, el asistente continuar. Este paso tomar tiempo
para instalar SQL Server Management Studio.

Paso 4: Luego se puede conectar a la base de datos SQL SERVER

Sentencia para crear la Base de Datos

CREATE DATABASE Proyecto_Empresa;


USE Proyecto_Empresa;

Sentencias SQL para crear las tablas, campos y restricciones


27
--CREATE DATABASE BD_Proyecto;
USE BD_Proyecto;

-- -----------------------------------------------------
-- Table TipoDocumento
-- -----------------------------------------------------

CREATE TABLE Tipo_Documento(


DocumentoID int not null IDENTITY(1,1),
Nombre varchar(45) not null,
CONSTRAINT PK_Documento PRIMARy KEY(DocumentoID)
);

-- -----------------------------------------------------
-- Table Persona
-- -----------------------------------------------------
CREATE TABLE Persona(
PersonaID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Nombres VARCHAR(45) NULL,
ApellidoPaterno VARCHAR(45) NULL,
ApellidoMaterno VARCHAR(45) NULL,
TipoDocumentoID INT null,
NumDocumentoID varchar(20) not null unique,
F_Nacimiento date null,
Sexo bit null,
Direcion varchar(100) null,
Celular varchar(12) null,
Telefono varchar(9) null,
Email varchar(60) null,
Razon_Social varchar(150) null,
CONSTRAINT FK_DocumtoP FOREIGN KEY(TipoDocumentoID)
REFERENCES Tipo_Documento(DocumentoID),
);
alter table Persona
add Ruc varchar(20) null;

-- -----------------------------------------------------
-- Table Area
-- -----------------------------------------------------
CREATE TABLE Area(
AreaID int not null IDENTITY(1,1),
Nombre varchar(45) not null,
CONSTRAINT PK_Area PRIMARY KEY(AreaID)
);
-- -----------------------------------------------------
-- Table Cargo
28
-- -----------------------------------------------------
-- Table Cargo
-- -----------------------------------------------------
CREATE TABLE Cargo(
CargoID INT NOT NULL identity(1,1),
Nombre VARCHAR(45) NOT NULL,
AreaID int not null,
CONSTRAINT PK_Cargo_Area PRIMARY KEY(CargoID),
CONSTRAINT FK_cargo_Area FOREIGN KEY(AreaID)
REFERENCES Area(AreaID)
);
-- -----------------------------------------------------
-- Table Pais
-- -----------------------------------------------------
CREATE TABLE Pais(
PaisID int not null IDENTITY(1,1) PRIMARY KEY,
Nombre varchar(80) not null,
)

----------------------------------------------------------
-- Table Ciudad
----------------------------------------------------------
CREATE TABLE Ciudad(
CiudadID INT NOT NULL IDENTITY(1,1),
PaisID INT NOT NULL,
Nombre varchar(45) not null,
CONSTRAINT PK_Ciudad PRIMARY KEY(CiudadID),
CONSTRAINT FK_Pais_ID FOREIGN KEY(PaisID) REFERENCES
Pais(PaisID)
)
-- ------------------------------------------------------
-- Table Sucursal
-- -----------------------------------------------------
CREATE TABLE Sucursal(
SucursalID int not null IDENTITY(1,1) PRIMARY KEY,
Direcion varchar(60) not null,
Ciudad int not null,
Telefono varchar(12) not null unique,
CONSTRAINT FK_Ciudad_Suc FOREIGN KEY(Ciudad)
REFERENCES Ciudad(CiudadID),
)

29
-- Table Empleado
-- -----------------------------------------------------
CREATE TABLE Empleado(
PersonaID INT NOT NULL,
CargoID INT NOT NULL,
Sueldo Money,
Fecha_Contrato DATE,
Fecha_Finalizacion DATE,
SucursalID int not null,
CONSTRAINT PK_Persona_Empleado PRIMARY KEY(PersonaID),
CONSTRAINT FK_Persona_Emp FOREIGN KEY(PersonaID)
REFERENCES Persona(PersonaID),
CONSTRAINT FK_Cargo_Emp FOREIGN KEY(CargoID)
REFERENCES Cargo(CargoID),
CONSTRAINT FK_Surcursal_Empl FOREIGN KEY(SucursalID)
REFERENCES Sucursal(SucursalID),
);
alter table Empleado add Estado bit default 1;

-- Table Tipo_Venta
-- -----------------------------------------------------
CREATE TABLE Tipo_Venta(
TipoVentaID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Nombre varchar(45) not null,
)

-- Table FormaPago
-- -----------------------------------------------------
CREATE TABLE FormaPago(
FormaPagoID int not null IDENTITY(1,1) PRIMARY KEY,
Nombre varchar(45) not null
)

-- Table Destinos
CREATE TABLE Destinos(
DestinoID INT NOT NULL IDENTITY(1,1),
Ciudad_Origen int,
Ciudad_Destino int ,
CONSTRAINT PK_Destinos PRIMARY KEY(DestinoID),
CONSTRAINT FK_origen FOREIGN KEY(Ciudad_Origen)
REFERENCES Ciudad(CiudadID),
CONSTRAINT FK_destino FOREIGN KEY(Ciudad_Destino)
REFERENCES Ciudad(CiudadID),
)

30
-- -----------------------------------------------------
-- Table Lista_Precios
-- -----------------------------------------------------

CREATE TABLE Lista_Precios(


ListaID int not null IDENTITY(1,1),
Precio FLOAT NOT NULL,
CONSTRAINT PK_Precios PRIMARY KEY(ListaID),
);

-- -----------------------------------------------------
-- Table Tipo_asiento
-- -----------------------------------------------------

CREATE TABLE Tipo_Asiento(


TipoAsientoID int not null IDENTITY(1,1),
Nombre varchar(45) not null,
ListaPrecio INT,
CONSTRAINT PK_TipoAsiento PRIMARY KEY(TipoAsientoID),
CONSTRAINT FK_ListPrecio FOREIGN KEY(ListaPrecio)
REFERENCES Lista_Precios(ListaID)
)
-- Table Terminales
-- -----------------------------------------------------
CREATE TABLE Terminales(
TerminalID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Nombre varchar(30),
Direcion varchar(60),
)

-- Table Salidas
-- -----------------------------------------------------
CREATE TABLE Salidas(
ID_Salida INT NOT NULL IDENTITY(1,1),
DestinoID int not null,
TerminalID int not null,
Hora TIME(2) NULL,
TipoAsiento int not null,
CONSTRAINT PK_Salidas PRIMARY KEY(ID_Salida,DestinoID),
CONSTRAINT FK_Destino_Salidas FOREIGN KEY(DestinoID)
REFERENCES Destinos(DestinoID),
CONSTRAINT FK_Terminal_Salidas FOREIGN KEY(TerminalID)
REFERENCES Terminales(TerminalID),
CONSTRAINT FK_Tipo_Asiento FOREIGN KEY(TipoAsiento)
REFERENCES Tipo_Asiento(TipoAsientoID),
)

31
-- -----------------------------------------------------
-- Table Bus
-- -----------------------------------------------------
CREATE TABLE Bus(
BusID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Placa VARCHAR(15) NULL,
num_asientos tinyint NULL,
Marca VARCHAR(20) NULL,
Modelo VARCHAR(20) NULL,
Piso tinyint NULL,
)
alter table Bus add Estado bit null default 1
-- -----------------------------------------------------
-- Table Fechas_Salidas
-- -----------------------------------------------------
CREATE TABLE Fecha_Salidas(
FechaSalidasID int not null IDENTITY(1,1) PRIMARY KEY,
dia DATE NOT NULL
)
-- Table Choferes
-- -----------------------------------------------------
CREATE TABLE Choferes(
ChoferID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
EmpleadoID INT NOT NULL,
CONSTRAINT FK_Empleado_Chofer FOREIGN KEY(EmpleadoID)
REFERENCES Empleado(PersonaID),
)

32
-- Table Ayudante
-- -----------------------------------------------------
CREATE TABLE Ayudante(
AyudantesID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
EmpleadoID INT NOT NULL,
CONSTRAINT FK_Empleado_Ayudante FOREIGN KEY(EmpleadoID)
REFERENCES Empleado(PersonaID),
)
-- -----------------------------------------------------
-- Table Itinerario
-- -----------------------------------------------------
CREATE TABLE Itinerario(
Salidas_ID INT NOT NULL,
Destino_ID int not null,
FechaID INT NOT NULL,
Estado bit NULL DEFAULT 0,
BusID INT NULL,
ChoferID int not null,
AyudanteID int,
CONSTRAINT Pk_Itinerario PRIMARY KEY(Salidas_ID,Destino_ID),
CONSTRAINT FK_Salidas_ID FOREIGN
KEY(Salidas_ID,Destino_ID) REFERENCES Salidas(ID_Salida,DestinoID),
CONSTRAINT FK_Fechas_Salidas FOREIGN KEY(FechaID)
REFERENCES Fecha_Salidas(FechaSalidasID),
CONSTRAINT FK_Bus_ID FOREIGN KEY(BusID) REFERENCES
Bus(BusID),
CONSTRAINT FK_Chofer_Itine FOREIGN KEY(ChoferID)
REFERENCES Choferes(ChoferID),
CONSTRAINT FK_Ayudante_Itine FOREIGN KEY(AyudanteID)
REFERENCES Ayudante(AyudantesID),
)

33
-- -----------------------------------------------------
-- Table Venta
CREATE TABLE Venta(
VentaID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
EmpleadoID INT NOT NULL,
Fecha_Generacion DATE NOT NULL DEFAULT GETDATE(),
Fecha_Reserva DATE NULL,
TipoVentaID INT NOT NULL,
SucursalID INT NOT NULL,
FormaPagoID int not null,
Itinerario_Salida Int not null,
Itinerario_Destino Int not null,
CONSTRAINT FK_Empleado FOREIGN KEY(EmpleadoID)
REFERENCES Empleado(PersonaID),
CONSTRAINT FK_TipoVenta FOREIGN KEY(TipoVentaID)
REFERENCES Tipo_Venta(TipoVentaID),
CONSTRAINT FK_Sucursal_Venta FOREIGN KEY(SucursalID)
REFERENCES Sucursal(SucursalID),
CONSTRAINT FK_FormaPago_Venta FOREIGN KEY(FormaPagoID)
REFERENCES FormaPago(FormaPagoID),
CONSTRAINT FK_Itinerario_Venta FOREIGN
KEY(Itinerario_Salida,Itinerario_Destino) REFERENCES
Itinerario(Salidas_ID,Destino_ID),
)
ALTER TABLE Venta ADD CONSTRAINT CHK_Venta_Fecha
CHECK(Fecha_Reserva >= GETDATE());
-- -----------------------------------------------------
-- Table Tipo_Comprobante
-- -----------------------------------------------------
CREATE TABLE Tipo_Conprobante(
Tipo_ComprobID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Nombre varchar(45) not null,
)

34
-- -----------------------------------------------------
-- Table Pagos
-- -----------------------------------------------------
CREATE TABLE Pagos(
PagosID int not null identity(1,1) primary key,
VentaID int not null,
Descuento FLOAT ,
Total float,
igv float,
TipoComprobante int not null,
constraint FK_TipoComprobanteID_ FOREIGN
KEY(TipoComprobante) References Tipo_Conprobante(Tipo_ComprobID)
)
ALTER TABLE Pagos ADD ClienteID int not null;
ALTER TABLE Pagos ADD PrecioUnitario float null;
ALTER TABLE Pagos ADD CONSTRAINT FK_Persona_ClienteID
FOREIGN KEY(ClienteID) REFERENCES Persona(PersonaID);
-- -----------------------------------------------------
-- Table Detalle_Reserva
-- -----------------------------------------------------
CREATE TABLE Detalle_Venta(
DetalleID INT NOT NULL identity(1,1) Primary key,
VentaID INT NOT NULL,
PasajeroID int not null,
CONSTRAINT FK_Detalle_Reserva FOREIGN KEY(VentaID)
REFERENCES Venta(VentaID),
CONSTRAINT FK_Persona_Pasajero FOREIGN KEY(PasajeroID)
REFERENCES Persona(PersonaID),
)

-- -----------------------------------------------------
-- Table Boleto
-- -----------------------------------------------------
CREATE TABLE Boleto(
IdBoleto INT NOT NULL IDENTITY(1,1),
Detalle_Venta INT NOT NULL,
CONSTRAINT FK_DetalleVenta FOREIGN KEY(Detalle_Venta)
REFERENCES Detalle_Venta(DetalleID)

)
-- -----------------------------------------------------
-- Table Promocion
-- -----------------------------------------------------
CREATE TABLE Promocion(
PromocionID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Fecha_Dia DATE NULL,
Precio FLOAT NULL,
)
35
-- -----------------------------------------------------
-- Table BusAsiento
-- -----------------------------------------------------
CREATE TABLE Bus_Asiento(
cod_asiento INT NOT NULL,
Bus_BusID INT NOT NULL,
Numero tinyint NULL,
Estado BIT NULL DEFAULT 0,
PromocionID int,
CONSTRAINT PK_Asiento_Bus PRIMARY
KEY(cod_asiento,Bus_BusID),
CONSTRAINT FK_Buses FOREIGN KEY(Bus_BusID) REFERENCES
Bus(BusID),
CONSTRAINT FK_Promocion_Asiento FOREIGN KEY(PromocionID)
REFERENCES Promocion(PromocionID)
)

-- -----------------------------------------------------
-- Table Temporada
-- -----------------------------------------------------
CREATE TABLE Temporada(
TemporadaID int not null identity(1,1),
ListaID int not null,
Nombre varchar(45) not null,
Fecha_Inicio date ,
Fecha_Final date,
CONSTRAINT PK_Temporada PRIMARY KEY(TemporadaID),
CONSTRAINT FK_Lista_Precio FOREIGN KEY(ListaID)
REFERENCES Lista_Precios(ListaID)
)
-- Table Detalle_Bus--------------
-- -----------------------------------------------------
CREATE TABLE Detalle_Bus(
BusID int not null PRIMARY KEY,
CONSTRAINT FK_Bus_detalle FOREIGN KEY(BusID)
REFERENCES Bus(BusID)
)

-- Table Tipo_Envios
-- -----------------------------------------------------
CREATE TABLE Tipo_Envios(
TipoEnvioID int not null IDENTITY(1,1) PRIMARY KEY,
Nombre varchar(45) not null
)

36
-- -----------------------------------------------------
-- Table Envios
-- -----------------------------------------------------
CREATE TABLE Envios(
EnvioID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
VentaID INT NOT NULL,
Consignatario VARCHAR(80) NOT NULL,
TipoEnvio INT NOT NULL,
Fecha_Envio date null default getdate(),
DestinosID INT NOT NULL,
RemitenteID INT NOT NULL,
EmpleadoID int not null,
TipoComprobanteID int not null,
CONSTRAINT FK_Venta_Envios FOREIGN KEY(VentaID)
REFERENCES Venta(VentaID),
CONSTRAINT FK_TipoEnvios FOREIGN KEY(TipoEnvio)
REFERENCES Tipo_Envios(TipoEnvioID),
CONSTRAINT FK_DestinosID FOREIGN KEY( DestinosID)
REFERENCES Destinos(DestinoID),
CONSTRAINT FK_Remitente_Envios FOREIGN KEY(RemitenteID)
REFERENCES Persona(PersonaID),
CONSTRAINT FK_Empleado_Envios FOREIGN KEY(EmpleadoID)
REFERENCES Empleado(PersonaID),
CONSTRAINT FK_TipoComprobante_Envio FOREIGN
KEY(TipoComprobanteID) REFERENCES
Tipo_Conprobante(Tipo_ComprobID)
)

-- -----------------------------------------------------
-- Table Detalle_Envios
-- -----------------------------------------------------
CREATE TABLE Detalle_Envios(
EnviosID INT NOT NULL PRIMARY KEY,
Fdcha_Llegada DATE NULL,
Descripcion VARCHAR(80) NULL,
Estado VARCHAR(45) NULL,
Peso tinyint NULL,
Cantidad INT NULL,
TarifaBase FLOAT NULL,
Tarifa_Traslado FLOAT NULL,
PrecioTotal FLOAT NOT NULL,
CONSTRAINT FK_Envios_ID_ FOREIGN KEY(EnviosID)
REFERENCES Envios(EnvioID)
)

Sentencias de creacin de consultas, procedimientos almacenados

37
CREATE PROC dbo.SP_Add_Sucursales
@Direccion varchar(60),
@Ciudad int,
@Telefono varchar(12)
AS
INSERT INTO Sucursal VALUES(
@Direccion,
@Ciudad,
@Telefono
)

--------------------------------------------------------------------
-- Agregar Terminales
CREATE PROC dbo.SP_Add_Terminales
@Nombre varchar(30),
@Direccion varchar(60)
AS
INSERT INTO Terminales values(
@Nombre,
@Direccion
)

-- Agregar Persona
CREATE PROC dbo.SP_Add_Personas
@Nombres varchar(45),
@ApellidoP varchar(45),
@ApellidoM varchar(45),
@TipoDocumentoID INT ,
@NumDocumento varchar(20),
@Fecha_nac date,
@sexo bit,
@Direccion varchar(100),
@Celular varchar(12),
@Telefono varchar(9),
@Email varchar(60),
@Razon_Social varchar(150),
@Ruc varchar(20)
AS
INSERT INTO Persona values(
@Nombres,
@ApellidoP,
@ApellidoM,
@TipoDocumentoID,
@NumDocumento,
@Fecha_nac,
@sexo,
@Direccion,
@Celular,
@Telefono,
@Email,
@Razon_Social,
@Ruc
)

38
-- Agregar Empleado
--
CREATE PROC dbo.SP_Add_Empleado
@PersonaID int,
@CargoID int,
@Sueldo money,
@Fecha_Contrato date,
@SucursalID int

AS
INSERT INTO
Empleado(PersonaID,CargoID,Sueldo,Fecha_Contrato,SucursalID) values(
@PersonaID,
@CargoID,
@Sueldo,
@Fecha_Contrato,
@SucursalID
)

-- ------------------------------------------------------------

-- Agregar Los Destinos

CREATE PROC dbo.SP_ADD_Destinos


@Origen int,
@Destino int
AS
INSERT INTO Destinos values(
@Origen,
@Destino
)
----------------------------------------------
-- Agregar Lista Precios

CREATE PROC dbo.SP_Add_Lista_Precios


@Precio float
AS
INSERT INTO Lista_Precios VALUES(@Precio);

39
CREATE PROC dbo.SP_ADD_Salidas_Turnos
@DestinoID int,
@TerminalID int,
@Hora time,
@TipoAsiento int
AS
INSERT INTO Salidas VALUES(
@DestinoID,
@TerminalID,
@Hora,
@TipoAsiento
)

---------------------------------------------------
--Registrar Buses
CREATE PROC dbo.SP_ADD_Buses
@Placa varchar(15),
@NumAsientos tinyint,
@Marca varchar(20),
@Modelo varchar(20),
@Piso tinyint
AS
INSERT INTO Bus(Placa,num_asientos,Marca,Modelo,Piso) VALUES(
@Placa,
@NumAsientos,
@Marca,
@Modelo,
@Piso
);
-- Agregar Itinerario
CREATE PROC dbo.SP_ADD_Itinerario
@SalidasID int,
@DestinoID int,
@FechaID int,
@BusID int,
@ChoferID INT,
@Ayudante INT
AS
INSERT INTO
Itinerario(Salidas_ID,Destino_ID,FechaID,BusID,ChoferID,AyudanteID)
values(
@SalidasID,
@DestinoID,
@FechaID ,
@BusID,
@ChoferID,
@Ayudante
)
40
CREATE PROC dbo.SP_Venta_Reserva
@EmpleadoID INT ,
@Fecha_Generacion date,
@Fecha_Reserva date,
@tipoVenta int,
@SucursalID int,
@FormaPagoID int,
@Itinerario_Salida int,
@Itinerario_Destino int
AS
INSERT INTO Venta VALUES(
@EmpleadoID,
@Fecha_Generacion,
@Fecha_Reserva,
@tipoVenta,
@SucursalID,
@FormaPagoID,
@Itinerario_Salida,
@Itinerario_Destino
)
CREATE PROC dbo.SP_Rejistro_Pasajes
@VentaID int,
@PasajeroID int
AS
INSERT INTO Detalle_Venta VALUES(@VentaID,@PasajeroID);
CREATE PROC dbo.SP_Pagos_Venta
@VentaID int,
@Descuento float,
@total float,
@igv float,
@TipoComprobante int,
@Cliente INT,
@PrecioUnitario float

AS
INSERT INTO
Pagos(VentaID,Descuento,Total,igv,TipoComprobante,ClienteID,PrecioUnit
ario) VALUES(
@VentaID,
@Descuento,
@total,
@igv,
@TipoComprobante,
@Cliente,
@PrecioUnitario
)

41
Sentencias SQL para carga de Datos

insert into Tipo_Documento (Nombre) values('Dni');


insert into Tipo_Documento (Nombre) values('Pasaporte');
insert into Tipo_Documento (Nombre) values('Carnet Extranjeria');
-----
-- AREAS

INSERT INTO Area (Nombre) values('Gerencia');


INSERT INTO Area (Nombre) values('Administracion');

---
-- CARGOS

INSERT INTO Cargo (Nombre,AreaID) values ('Gerente',1);


INSERT INTO Cargo (Nombre,AreaID) values ('Boleteria',2);
INSERT INTO Cargo (Nombre,AreaID) values ('Conductor',2);
INSERT INTO Cargo (Nombre,AreaID) values ('Ayudante',2);

----
-- TipoVenta
INSERT INTO Tipo_Venta(Nombre) values ('Online');
INSERT INTO Tipo_Venta(Nombre) values ('Agencia');

----
-- Tipo de Envio
INSERT INTO Tipo_Envios(Nombre) values ('Encomineda');
INSERT INTO Tipo_Envios(Nombre) values ('Caja');
INSERT INTO Tipo_Envios(Nombre) values ('Sobre');

---
--Tipo de Pago

INSERT INTO FormaPago(Nombre) values('Efectivo');


INSERT INTO FormaPago(Nombre) values('Targeta');

--
-- Tipo_Conprobante
INSERT INTO Tipo_Conprobante(Nombre) values('Boleta');
INSERT INTO Tipo_Conprobante(Nombre) values('Factura');
--
-- Lista Precicos
INSERT INTO Lista_Precios(Precio) values(15);
INSERT INTO Lista_Precios(Precio) values(20);

42
-- Pais
INSERT INTO Pais(Nombre) values('Peru');

-- Ciudad
INSERT INTO Ciudad(Nombre,PaisID) values('Chiclayo',1);
INSERT INTO Ciudad(Nombre,PaisID) values('Santa Cruz',1);
----------------------------------------------------------------
-- Temporada
INSERT INTO Temporada VALUES(2,'Navidad','2017-12-20','2017-12-
20');
INSERT INTO Temporada VALUES(2,'Ao Nuevo','2017-12-30','2017-01-
05');

------------------------------------------------------------------------
-- Categoria Categoria
INSERT INTO Tipo_Asiento values('Normal',1);
--------------------------------------------------------------
-- Fechas de salidas
INSERT INTO Fecha_Salidas VALUES('2017-12-03');
INSERT INTO Fecha_Salidas VALUES('2017-12-04');
INSERT INTO Fecha_Salidas VALUES('2017-12-05');

---------------------------------------
-- INSERT ASIENTOS
INSERT INTO
Bus_Asiento(cod_asiento,Bus_BusID,Numero,PromocionID)
VALUES(1,1,1,NULL);
INSERT INTO
Bus_Asiento(cod_asiento,Bus_BusID,Numero,PromocionID)
VALUES(2,1,2,NULL);
INSERT INTO
Bus_Asiento(cod_asiento,Bus_BusID,Numero,PromocionID)
VALUES(3,1,3,NULL);
INSERT INTO
Bus_Asiento(cod_asiento,Bus_BusID,Numero,PromocionID)
VALUES(4,1,4,NULL);

-- agregar chofer Y AYUNATES


insert into Choferes values(5);
insert into Ayudante values(6);
V. REFERENCIAS

VI. ANEXOS

43

You might also like