::: Introducción Este proyecto está enfocado a la resolución de problemas de programación que sirven de apoyo especialmente como para los estudiantes que inician sus primeros pasos en el mundo de la programación. De manera de ayuda se presentan cada uno de los pasos que se deben de ejecutar para realizar la programación una base de datos que se la puede implementar en un lugar especifico cumpliendo con las necesidades requeridas por los clientes interesados en el uso de una base de datos que le ayude en su convivir diario.
::: Antecedentes Para la realización del proyecto se ha tenido muy en cuenta que para elaborar una base de datos tenemos que tener muy claro que datos debemos registrar en nuestra base de datos y los usos que se le van a dar a cada una de las tablas que integran una base de datos. Para cumplir con este fin debemos de investigar sobre el entorno donde se va a implementar nuestra base de datos, los personajes que van a interactuar y las funciones que debe cumplir
Objetivo general Desarrollar una base de datos como muestra del aprendizaje adquirido durante las tutorías de administración de base de datos.
Objetivos específicos:
Diseñar una base de datos “ billetes de avión”
Elaborar tablas que integran una base
de datos “ billetes
de avión”
Establecer relaciones entre tablas de una base de datos “billetes de avión”
Realizar consultas en las tablas diseñadas
:::::::::: PROBLEMA DE DISEÑO DE BASES DE DATOS :::::::::::: Desarrollar una aplicación que se encargue de gestionar la reserva de billetes de avión en una agencia de viajes. Tras analizar el problema con nuestros clientes hemos recopilado la siguiente lista de requisitos: · La agencia de viajes desea mantener información de contacto relativa a cada cliente que ha utilizado los servicios de reserva de billetes a través de la agencia. · Cuando un cliente hace una reserva, compra un billete para trasladarse de una ciudad a otra. El billete ha de incluir, aparte del nombre del viajero y las ciudades de origen y destino, su fecha de emisión y su precio total. · Los billetes pueden (business, turista …).
ser
de
distintas
categorías
· Dado que no siempre hay vuelos directos entre dos ciudades, el trayecto realizado por el cliente puede estar formado por distintos tramos. Cada tramo corresponde a un vuelo concreto entre dos aeropuertos y viene definido por el código de vuelo, la fecha y la hora de salida. En algunas ocasiones, la agencia es capaz de reservar un asiento concreto dentro del avión. · En el caso de los billetes de ida y vuelta, lo único que tenemos que hacer es incluir los tramos que sean necesarios para realizar el recorrido completo.
:::TABLA AEROPUERTO
:::TABLA BILLETES
:::TABLA CATEGORIAS
:::TABLA CLIENTES
:::TABLA COMPANIA_AEREA
:::TABLA PAGOS
:::TABLA TRAMOS
::: DIAGRAMA DE RELACIONES
::::::::::::::::::::: PROYECTO DE BASE DE DATOS :::::::::::::::::::::: CODIFICACION execute sp_helpdb /*consulta de todas las bases existentes*/ execute sp_helpdb 'boletos_avion'/*consulta de la base boletos_avion*/ ********************************************************************** CODIGO DE CREACION DE LA BASE DE DATOS (BOLETOS DE AVION) ********************************************************************** /*Crear base de datos*/ create database boletos_avion on primary ( name = 'boletos_avion', filename = 'c:\ericka\boletos_avion.mdf' , size = 4mb, maxsize = 10mb, filegrowth = 1mb ) log on( name = 'boletos_avion_log' , filename = 'c:\ericka\boletos_avion.ldf' , size = 2mb, maxsize = 6mb, filegrowth = 1mb ) ********************************************************************** CREACION DE TABLAS ********************************************************************** use boletos_avion /*crear tablas aeropuerto */ create table aeropuerto ( id_aeropuerto int not null, nombre char(30) null, pais char(30) null, ciudad char(30) null, direccion char(40) null, telefono nchar(10) null, cod_compania int not null ) alter table aeropuerto /* definición de clave primaria */ add primary key (id_aeropuerto) select * from aeropuerto /*crear tablas billetes
*/
create table billetes ( id_billete int not null, id_cliente int not null, fecha_emision datetime null, id_categoria int not null )
alter table billetes /* definición de clave primaria */ add primary key (id_billete) select * from billetes
/*crear tablas categorias
*/
create table categorias ( id_categorias int not null, descripcion char(40) null, ) alter table categorias /* definición de clave primaria */ add primary key (id_categorias) select * from categorias /*crear tablas clientes */ create table clientes ( id_clientes int not null, nombres char(30) null, cedula nchar(10) null, direccion char(30) null, nacionalidad char(40) null, telefono nchar(10) null, correo char(30) null, ) alter table clientes /* definición de clave primaria */ add primary key (id_clientes) select * from clientes /*crear tablas compania_aerea */ create table compania_aerea ( cod_compania int not null, nombres char(30) null, direccion char(30) null, id_cliente int not null ) alter table compania_aerea add primary key (cod_compania) select * from compania_aerea /*crear tablas tramos */ create table tramos ( id_tramo int not null, ciudad_origen char(30) null, ciudad_destino nchar(30) null, fecha_salida datetime null, numero_asiento char(3) null, id_billete int not null )
/* definición de clave primaria */
alter table tramos /* definición de clave primaria */ add primary key (id_tramo) select * from tramos /*crear tablas pagos */ create table pagos ( /*tabla temporal*/ id_clientes int not null, id_billete int not null, ciudad_origen char(30) null, precio real null, forma_pago char(30) null, ) select * from pagos /* CONSULTAS sql */ select select select select select select select
* * * * * * *
from from from from from from from
aeropuerto billetes categorias clientes compania_aerea pagos tramos
********************************************************************** INGRESO DE DATOS A LAS TABLAS ********************************************************************** /* ingreso de datos a tablas */ /*ingreso de datos tabla aeropuerto*/ insert into aeropuerto (id_aeropuerto,nombre,pais,ciudad,direccion,telefono,cod_compania) values(1,'Simon Bolivar', 'Ecuador', 'Guayaquil', 'Avda. Las Americas', '042515231', '1') insert into aeropuerto (id_aeropuerto,nombre,pais,ciudad,direccion,telefono,cod_compania) values(2,'Ministro Pistarini', 'Argentina', 'Buenos Aires', 'Calle 201 y Oeste', '25125325', '2') insert into aeropuerto (id_aeropuerto,nombre,pais,ciudad,direccion,telefono,cod_compania) values(3,'El Alt', 'Bolivia', 'La Paz', 'Se ubica a 8 millas (14km)', '23562355', '3') insert into aeropuerto (id_aeropuerto,nombre,pais,ciudad,direccion,telefono,cod_compania) values(4,'Santos Dumont', 'Brasil', 'Rio de Janeiro', 'Praca Senador Salgado ', '215615615', '4') insert into aeropuerto (id_aeropuerto,nombre,pais,ciudad,direccion,telefono,cod_compania) values(5,'Arturo Merino Benitez', 'Chile', 'Santiago', '13 millas (21km) al noroeste', '2515231', '5') select * from aeropuerto select * from aeropuerto where nombre = 'simon bolivar'
/*ingreso de datos tabla billetes*/ insert into billetes (id_billete, id_categoria) values(1,'1', '', '1') insert into billetes (id_billete, id_categoria) values(2,'2', '', '2') insert into billetes (id_billete, id_categoria) values(3,'3', '', '3') insert into billetes (id_billete, id_categoria) values(4,'4', '', '4') insert into billetes (id_billete, id_categoria) values(5,'5', '', '5')
id_cliente, fecha_emision, id_cliente, fecha_emision,
id_cliente, fecha_emision, id_cliente, fecha_emision,
id_cliente, fecha_emision,
select * from billetes /*ingreso de datos tabla clientes*/ insert into clientes (id_clientes, nombres, cedula, direccion, nacionalidad, telefono, correo) values(1,'Edison Parra Barahona', '0602597668', '9 de Octubre 907 y Rumichaca', 'Ecuatoriana', '2515231', '
[email protected]' ) insert into clientes (id_clientes, nombres, cedula, direccion, nacionalidad, telefono, correo) values(2,'Aaron Rueda', '092652526', 'Duran Eloy Alfaro', 'Ecuatoriana', '2515233', '
[email protected]' ) insert into clientes (id_clientes, nombres, cedula, direccion, nacionalidad, telefono, correo) values(3,'Pricila Zalazar Villalva', '092575689', 'Urdesa Central', 'Peruana', '25365895', '
[email protected]' ) insert into clientes (id_clientes, nombres, cedula, direccion, nacionalidad, telefono, correo) values(4,'Cilda Lara Vásconez', '0825659865', 'Guasmo Sur', 'Ecuatoriana', '2545789', '
[email protected]' ) insert into clientes (id_clientes, nombres, cedula, direccion, nacionalidad, telefono, correo) values(5,'Monica Cornejo', '0145769238', 'Av. Amazonas', 'Ecuatoriana', '25252352', '
[email protected]' ) select * from clientes /*ingreso de datos tabla compania_aerea*/ insert into compania_aerea (cod_compania, nombres, direccion,id_cliente) values(1,'lan Chile', 'Av. Las americas', '1') insert into compania_aerea (cod_compania, nombres, direccion,id_cliente) values(2,'Aerogal', 'noroeste de Quito', '2') insert into compania_aerea (cod_compania, nombres, direccion,id_cliente) values(3,'Avianca', 'Lomas de Urdesa', '3') insert into compania_aerea (cod_compania, nombres, direccion,id_cliente) values(4,'Iberia', 'Av. Las americas', '4') insert into compania_aerea (cod_compania, nombres, direccion,id_cliente) values(5,'Continental', 'Av. Las americas', '5')
select * from compania_aerea
/*ingreso de datos tabla tramo*/ insert into tramos (id_tramo, ciudad_origen, ciudad_destino, fecha_salida,numero_asiento,id_billete) values(1,'Guayaquil', 'Quito', '', '24', '1') insert into tramos (id_tramo, ciudad_origen, ciudad_destino, fecha_salida,numero_asiento,id_billete) values(2,'Quito', 'Guayaquil', '', '36', '2') insert into tramos (id_tramo, ciudad_origen, ciudad_destino, fecha_salida,numero_asiento,id_billete) values(3,'Santiago', 'Quito', '', '38', '3') insert into tramos (id_tramo, ciudad_origen, ciudad_destino, fecha_salida,numero_asiento,id_billete) values(4,'Venezuela', 'Guayaquil', '', '45', '4') insert into tramos (id_tramo, ciudad_origen, ciudad_destino, fecha_salida,numero_asiento,id_billete) values(5,'Guayaquil', 'Santiago', '', '86', '5') select * from tramos /*ingreso de datos tabla pagos*/ insert into pagos (id_clientes, id_billete, ciudad_origen, forma_pago) values(1,'1', 'Quito', '236', 'Efectivo') insert into pagos (id_clientes, id_billete, ciudad_origen, forma_pago) values(2,'2', 'Guayaquil', '356', 'Bonos') insert into pagos (id_clientes, id_billete, ciudad_origen, forma_pago) values(3,'3', 'santiago', '458', 'Debito Bancario') insert into pagos (id_clientes, id_billete, ciudad_origen, forma_pago) values(4,'4', 'Venezuela', '569', 'Mastercad') insert into pagos (id_clientes, id_billete, ciudad_origen, forma_pago) values(5,'5', 'Guayaquil', '254', 'Cheque') select * from pagos /*ingreso de datos tabla Categorias*/ insert into categorias values(1,'Economica') insert into categorias values(2,'Basica') insert into categorias values(3,'Mediana') insert into categorias values(4,'Promoción') insert into categorias values(5,'VIP')
(id_categorias,descripcion) (id_categorias,descripcion) (id_categorias,descripcion) (id_categorias,descripcion) (id_categorias,descripcion)
select * from Categorias
precio,
precio, precio,
precio, precio,