create database reserva
on primary (
name='reserva1',
filename='D:bdreservaname=reserva1.mdf',
size=10mb,
maxsize =80mb,
filegrowth=10mb
),
(
name='reserva2',
filename='D:bdreservaname=reserva2.ndf',
size=10mb,
maxsize =60mb,
filegrowth=10mb
)
log on
(
name='reserva3',
filename='D:bdreservaname=reserva3.ldf',
size=10,
maxsize =80,
filegrowth=10%
)
go
create table pais (
idpais char(4) not null primary key,
nombre varchar(30) not null unique
)
go
create table pasajero(
idpasajero char(8)not null,
nombre varchar(20) not null,
apaterno varchar(20) not null,
amaterno varchar(20) not null,
tipo_documento varchar(20) not null,
num_documento varchar(12) not null,
fecha_nacimiento date not null,
idpais char(4) not null,
telefono varchar(15) null,
email varchar(50) not null,
clave varchar(20) not null
)
go
create table aeropuerto (
idaeropuerto char (5)not null,
nombre varchar(50)not null,
idpais char(4)not null
)
alter table pasajero
add constraint pk_pasajero
primary key nonclustered (idpasajero)
go
alter table aeropuerto
add constraint uq_aeropuerto_nombre
unique (nombre)
go
create table aerolinea (
idaerolinea int not null primary key,
ruc char(11) not null,
nombre varchar(40)not null
)
go
create table avion (
idavion char(5) not null primary key,
idaerolinea int not null,
fabricante varchar(40) null,
tipo varchar(3) not null
)
go
alter table avion
add capacidad int not null
go
--alter table avion
--drop column capacidad
--go
alter table avion
alter column tipo varchar(30)not null
create table asiento (
idasiento int primary key not null,
letra char(2) not null,
fila int not null
)
go
create table tarifa (
idtarifa int not null primary key,
clase varchar(20) not null unique,
impuesto money not null
)
go
create table reserva (
idreserva int not null primary key,
costo money not null,
fecha date null,
observacion varchar(200) null
)
go
--restricciones check, default
--restricciones defaul
/*unique
permite determinar que los valores registrados
en una misma columna no sean identicos , es decir se mantengan unicos
por ejemplo el email de una persona es un campo unico */
/* check
permite restringir el rango de valores que pueden
estar permitidos ingresar en una o mas columnas
de una tabla
*/
/* defaul
permite registrar un dato en un cmpo por
defecto cuando el usuario no ingresa ningun
valor , la propiedad del campo de la tabla
necesariamente tiene que ser null.
ejemplo
se puede utilizar para los campos de tipo date(fecha)
,cuando el usuario no ingresa ninguna fecha que
se asigne la fecha actual */
create table vuelo (
idasiento int not null ,
idaeropuerto char(5) not null,
idreserva int not null,
idavion char(5) not null,
idtarifa int not null
)
--implementar las llaves primarioas de la tabla vuelo
alter table vuelo
add primary key (idasiento,idaeropuerto,idreserva, idavion,idtarifa)
go
create table pago (
idpago int not null primary key identity ,
idreserva int not null,
fecha date default getdate(),
idpasajero char(8) not null,
monto money not null,
tipo_comprobante varchar(20)not null,
num_comprobante varchar(15)not null,
impuesto decimal(5,2)not null
)
go
--agregar una restriccion check,va controlar
--que no se ingresen fecha mayores a la fecha actual
alter table pago
add constraint chk_pago_fecha
check(fecha<=getdate ())
go
/*implementar las relaciones entre las tablas
de las bases de datos
*/
-- relacion pais pasajero
alter table pasajero
add constraint fk_pasajero_pais
foreign key(idpais) references pais (idpais)
go
--relacion entre la tabla aeropuerto y pais
alter table aeropuerto
add constraint fk_aeropuerto_pais
foreign key (idpais) references pais (idpais)
go
--relacion entre la tabla pago y pasajero
alter table pago
add constraint fk_pago_pasajero
foreign key (idpasajero) references pasajero (idpasajero)
go
--altere la tabla por que no le puse llave primaria a la
--tabla pasajero al id pasajero
alter table pasajero
add constraint pk_pasajero
primary key nonclustered (idpasajero)
go
-----------------------------------------------------------
create table vuelo (
idasiento int not null ,
idaeropuerto char(5) not null,
idreserva int not null,
idavion char(5) not null,
idtarifa int not null
)
--implementar las llaves primarioas de la tabla vuelo
alter table vuelo
add primary key (idasiento,idaeropuerto,idreserva,
idavion,idtarifa)
go
create table pago (
idpago int not null primary key identity ,
idreserva int not null,
fecha date default getdate(),
idpasajero char(8) not null,
monto money not null,
tipo_comprobante varchar(20)not null,
num_comprobante varchar(15)not null,
impuesto decimal(5,2)not null
)
go
--agregar una restriccion check,va controlar
--que no se ingresen fecha mayores a la fecha actual
alter table pago
add constraint chk_pago_fecha
check(fecha<=getdate ())
go
/*implementar las relaciones entre las tablas
de las bases de datos
*/
-- relacion pais pasajero
alter table pasajero
add constraint fk_pasajero_pais
foreign key(idpais) references pais (idpais)
go
--relacion entre la tabla aeropuerto y pais
alter table aeropuerto
add constraint fk_aeropuerto_pais
foreign key (idpais) references pais (idpais)
go
--relacion entre la tabla pago y pasajero
alter table pago
add constraint fk_pago_pasajero
foreign key (idpasajero) references pasajero (idpasajero)
go
--relacion entre la tabla pago reserva
Alter table pago
add constraint fk_pago_reserva
foreign key (idreserva) references reserva(idreserva)
go
--relacion entre la tabla avion aerolinea
Alter table avion
add constraint fk_avion_aerolinea
foreign key (idaerolinea) references aerolinea(idaerolinea)
go
---eliminar una relacion (elimina la llave secundaria mas no el
campo )
alter table avion
drop constraint fk_avion_aerolinea
go
--1.-relacion entre la tabla vuelo y tabla asiento
alter table vuelo
add constraint fk_vuelo_asiento
foreign key (idasiento) references asiento (idasiento)
go
--2.-relacion entre la tabla vuelo y tabla avion
alter table vuelo
add constraint fk_vuelo_avion
foreign key (idavion ) references avion (idavion )
go
--3-relacion entre la tabla vuelo y tabla reserva
alter table vuelo
add constraint fk_vuelo_reserva
foreign key (idreserva ) references reserva(idreserva)
go
-----------------------------------------
--poniendo clave primaria a eropuerto no
--tenia clave
alter table aeropuerto
add constraint pk_aeropuerto
primary key nonclustered (idaeropuerto)
go
------------------------------------
--4-relacion entre la tabla vuelo y tabla tarifa
alter table vuelo
add constraint fk_vuelo_tarifa
foreign key (idtarifa ) references tarifa(idtarifa)
go
--5-relacion entre la tabla vuelo y tabla aeropuerto
alter table vuelo
add constraint fk_vuelo_aeropuerto
foreign key (idaeropuerto ) references aeropuerto(idaeropuerto)
go
--separar la base de datos reserva del motor sql server
/*click derecho a la base de datos
1.-reserva
2.-tarea
3.-separar
*/
/*para adjuntar base de datos separados del motor
1..-click derecho a bases de datos
2.- adjuntar
3.-agregar
4.-ir a la carpeta donde se encuentra la base de datos
5.-aceptar el nombre de la base de datos el formato .mdf
--con codigos*/
/*separar la base de datos del motor sql
--poner en master
--detach=separar*/
sp_detach_db @dbname='reserva'

Create database reservacodigos

  • 1.
    create database reserva onprimary ( name='reserva1', filename='D:bdreservaname=reserva1.mdf', size=10mb, maxsize =80mb, filegrowth=10mb ), ( name='reserva2', filename='D:bdreservaname=reserva2.ndf', size=10mb, maxsize =60mb, filegrowth=10mb ) log on ( name='reserva3', filename='D:bdreservaname=reserva3.ldf', size=10, maxsize =80, filegrowth=10% ) go create table pais ( idpais char(4) not null primary key, nombre varchar(30) not null unique ) go create table pasajero( idpasajero char(8)not null, nombre varchar(20) not null, apaterno varchar(20) not null, amaterno varchar(20) not null, tipo_documento varchar(20) not null, num_documento varchar(12) not null, fecha_nacimiento date not null, idpais char(4) not null, telefono varchar(15) null, email varchar(50) not null, clave varchar(20) not null ) go create table aeropuerto ( idaeropuerto char (5)not null, nombre varchar(50)not null, idpais char(4)not null ) alter table pasajero add constraint pk_pasajero primary key nonclustered (idpasajero) go
  • 2.
    alter table aeropuerto addconstraint uq_aeropuerto_nombre unique (nombre) go create table aerolinea ( idaerolinea int not null primary key, ruc char(11) not null, nombre varchar(40)not null ) go create table avion ( idavion char(5) not null primary key, idaerolinea int not null, fabricante varchar(40) null, tipo varchar(3) not null ) go alter table avion add capacidad int not null go --alter table avion --drop column capacidad --go alter table avion alter column tipo varchar(30)not null create table asiento ( idasiento int primary key not null, letra char(2) not null, fila int not null ) go create table tarifa ( idtarifa int not null primary key, clase varchar(20) not null unique, impuesto money not null ) go create table reserva ( idreserva int not null primary key, costo money not null, fecha date null, observacion varchar(200) null ) go
  • 3.
    --restricciones check, default --restriccionesdefaul /*unique permite determinar que los valores registrados en una misma columna no sean identicos , es decir se mantengan unicos por ejemplo el email de una persona es un campo unico */ /* check permite restringir el rango de valores que pueden estar permitidos ingresar en una o mas columnas de una tabla */ /* defaul permite registrar un dato en un cmpo por defecto cuando el usuario no ingresa ningun valor , la propiedad del campo de la tabla necesariamente tiene que ser null. ejemplo se puede utilizar para los campos de tipo date(fecha) ,cuando el usuario no ingresa ninguna fecha que se asigne la fecha actual */ create table vuelo ( idasiento int not null , idaeropuerto char(5) not null, idreserva int not null, idavion char(5) not null, idtarifa int not null ) --implementar las llaves primarioas de la tabla vuelo alter table vuelo add primary key (idasiento,idaeropuerto,idreserva, idavion,idtarifa) go create table pago ( idpago int not null primary key identity , idreserva int not null, fecha date default getdate(), idpasajero char(8) not null, monto money not null, tipo_comprobante varchar(20)not null, num_comprobante varchar(15)not null, impuesto decimal(5,2)not null ) go --agregar una restriccion check,va controlar --que no se ingresen fecha mayores a la fecha actual alter table pago add constraint chk_pago_fecha check(fecha<=getdate ()) go
  • 4.
    /*implementar las relacionesentre las tablas de las bases de datos */ -- relacion pais pasajero alter table pasajero add constraint fk_pasajero_pais foreign key(idpais) references pais (idpais) go --relacion entre la tabla aeropuerto y pais alter table aeropuerto add constraint fk_aeropuerto_pais foreign key (idpais) references pais (idpais) go --relacion entre la tabla pago y pasajero alter table pago add constraint fk_pago_pasajero foreign key (idpasajero) references pasajero (idpasajero) go --altere la tabla por que no le puse llave primaria a la --tabla pasajero al id pasajero alter table pasajero add constraint pk_pasajero primary key nonclustered (idpasajero) go ----------------------------------------------------------- create table vuelo ( idasiento int not null , idaeropuerto char(5) not null, idreserva int not null, idavion char(5) not null, idtarifa int not null ) --implementar las llaves primarioas de la tabla vuelo alter table vuelo add primary key (idasiento,idaeropuerto,idreserva, idavion,idtarifa) go create table pago ( idpago int not null primary key identity , idreserva int not null, fecha date default getdate(), idpasajero char(8) not null, monto money not null,
  • 5.
    tipo_comprobante varchar(20)not null, num_comprobantevarchar(15)not null, impuesto decimal(5,2)not null ) go --agregar una restriccion check,va controlar --que no se ingresen fecha mayores a la fecha actual alter table pago add constraint chk_pago_fecha check(fecha<=getdate ()) go /*implementar las relaciones entre las tablas de las bases de datos */ -- relacion pais pasajero alter table pasajero add constraint fk_pasajero_pais foreign key(idpais) references pais (idpais) go --relacion entre la tabla aeropuerto y pais alter table aeropuerto add constraint fk_aeropuerto_pais foreign key (idpais) references pais (idpais) go --relacion entre la tabla pago y pasajero alter table pago add constraint fk_pago_pasajero foreign key (idpasajero) references pasajero (idpasajero) go --relacion entre la tabla pago reserva Alter table pago add constraint fk_pago_reserva
  • 6.
    foreign key (idreserva)references reserva(idreserva) go --relacion entre la tabla avion aerolinea Alter table avion add constraint fk_avion_aerolinea foreign key (idaerolinea) references aerolinea(idaerolinea) go ---eliminar una relacion (elimina la llave secundaria mas no el campo ) alter table avion drop constraint fk_avion_aerolinea go --1.-relacion entre la tabla vuelo y tabla asiento alter table vuelo add constraint fk_vuelo_asiento foreign key (idasiento) references asiento (idasiento) go --2.-relacion entre la tabla vuelo y tabla avion alter table vuelo add constraint fk_vuelo_avion foreign key (idavion ) references avion (idavion ) go --3-relacion entre la tabla vuelo y tabla reserva alter table vuelo add constraint fk_vuelo_reserva foreign key (idreserva ) references reserva(idreserva) go ----------------------------------------- --poniendo clave primaria a eropuerto no --tenia clave alter table aeropuerto add constraint pk_aeropuerto primary key nonclustered (idaeropuerto) go ------------------------------------ --4-relacion entre la tabla vuelo y tabla tarifa alter table vuelo add constraint fk_vuelo_tarifa foreign key (idtarifa ) references tarifa(idtarifa) go --5-relacion entre la tabla vuelo y tabla aeropuerto
  • 7.
    alter table vuelo addconstraint fk_vuelo_aeropuerto foreign key (idaeropuerto ) references aeropuerto(idaeropuerto) go --separar la base de datos reserva del motor sql server /*click derecho a la base de datos 1.-reserva 2.-tarea 3.-separar */ /*para adjuntar base de datos separados del motor 1..-click derecho a bases de datos 2.- adjuntar 3.-agregar 4.-ir a la carpeta donde se encuentra la base de datos 5.-aceptar el nombre de la base de datos el formato .mdf --con codigos*/ /*separar la base de datos del motor sql --poner en master --detach=separar*/ sp_detach_db @dbname='reserva'