Professional Documents
Culture Documents
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
Descripcin de la organizacin
Nuestra Visin:
Gerencia
Administracin
Ayudantes Servicio de
Envos
2
Descripcin de la Organizacin
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.
3
- Elaborar informes de detallado sobre las entregas de los
diferentes envos.
4
1.2 Definicin de problemas
5
1.4 Definicin de objetivos especficos
6
II. DISEO DE LA BASE DE DATOS
2.1.1.1 Requerimientos
Detalle de Requerimientos:
Modelo de negocio:
7
Modelo de negocio de la empresa Transportes Santa Cruz
8
2.1.2 Modelo Entidad-Relacin y Normalizacin
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
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)
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
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
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.1 Claves: PK
19
2.2.3.2 Integridad referencial: FK
20
2.2.3.3 Check
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
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
25
Instalar el DBMS
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.
-- -----------------------------------------------------
-- Table TipoDocumento
-- -----------------------------------------------------
-- -----------------------------------------------------
-- 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
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Table Tipo_asiento
-- -----------------------------------------------------
-- 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)
)
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
)
-- ------------------------------------------------------------
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
---
-- CARGOS
----
-- 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
--
-- 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);
VI. ANEXOS
43