航空售票系统的界面上传到我的资源中了,界面是用C#做的,不怎么美观,重点在于数据库。

在航空售票系统中我觉得最重要的两点就是视图和存储过程的创建。

表的创建一般学了数据库的都会

视图是根据具体要求来的,这里就不细说。

重点讲下退票和购票的存储过程,因为它们涉及到购票表,退票表,机票表之间的关系。

购买一张机票,机票表中总数-1;

退订一张机票,机票表中总数+1;

代码如下:

--退订机票存储过程
if exists (select *from sysobjects where name = 'CountTICKET')drop proc CountTICKET
go
create proc CountTICKET
@a varchar(50)
asdeclare @err int =0declare @updateticket_numble intselect @updateticket_numble=SEAT_NUMBLE from TICKET where TICKET_ID=@aupdate  TICKET set SEAT_NUMBLE =@updateticket_numble+1 where TICKET_ID=@aset @err = @err + @@error return @err
go--购买机票存储过程
if exists (select *from sysobjects where name = 'CountsubTICKET')drop proc CountsubTICKET
go
create proc CountsubTICKET
@a varchar(50)
asdeclare @err int =0declare @updateticket_numble intselect @updateticket_numble=SEAT_NUMBLE from TICKET where TICKET_ID=@aupdate  TICKET set SEAT_NUMBLE =@updateticket_numble-1 where TICKET_ID=@aset @err = @err + @@error return @err
go

这里@err是返回给C#代码做判断的。

整个数据库代码如下:

use 航空售票系统
if  exists(select * from sysobjects where name = 'FIGHT')drop table FIGHT
go
CREATE TABLE FIGHT--航班表
(
FIGHT_NUMBER VARCHAR(50) NOT NULL PRIMARY KEY,--航班号
FIGHT_DepartureCity VARCHAR(50) NOT NULL,--出发城市
FIGHT_DestinationCity VARCHAR(50) NOT NULL,--抵达城市
FIGHT_DepartureTime VARCHAR(50) NOT NULL,--起飞时间
FIGHT_ArrialTime VARCHAR(50) NOT NULL,--抵达时间
CAMPANY_NUMBER VARCHAR(50) NOT NULL,--公司编号
SEAT_COUNT INT NOT NULL,--座位总数
CONSTRAINT FK_CAMPANY_NUMBER2 FOREIGN
KEY(CAMPANY_NUMBER)references CAMPANY(CAMPANY_NUMBER)
);use 航空售票系统
if  exists(select * from sysobjects where name = 'CAMPANY')drop table CAMPANY
go
CREATE TABLE CAMPANY--航空公司表
(
CAMPANY_NUMBER VARCHAR(50) NOT NULL, --公司编号
COMPANY_NAME VARCHAR(50) NOT NULL,--公司名
COMPANY_TELEPHONE  VARCHAR(50) NOT NULL,--电话
COMPANY_ADDRESS VARCHAR(50) NOT NULL,--地址
CONSTRAINT FK_CAMPANY_NUMBER PRIMARY KEY(CAMPANY_NUMBER)
);
ALTER TABLE CAMPANY ADD  CONSTRAINT CK_CAMPANY_LAN CHECK(LEN(COMPANY_TELEPHONE)=11)use 航空售票系统
if  exists(select * from sysobjects where name = 'TICKET')drop table TICKET
go
CREATE TABLE TICKET--机票表
(TICKET_ID VARCHAR(50) NOT NULL,--机票编号FIGHT_NUMBLE VARCHAR(50) NOT NULL,--航班编号TICKET_TYPE VARCHAR(50) NOT NULL,--机票类型SEAT_NUMBLE INT NOT NULL,--机票数量TICKET_PRICE INT NOT NULL,--机票价格销售状态 VARCHAR(50) NOT NULL,--状态CAMPANY_NUMBER  VARCHAR(50) NOT NULL,--公司编号CONSTRAINT PK_机票 PRIMARY KEY NONCLUSTERED (TICKET_ID),CONSTRAINT FK_TICKET_CAMPANY_NUMBER  FOREIGN KEY(CAMPANY_NUMBER) references CAMPANY(CAMPANY_NUMBER)
);use 航空售票系统
if  exists(select * from sysobjects where name = 'PASSAGER')drop table PASSAGER
go
CREATE TABLE PASSAGER--乘客信息表
(PASSAGER_ID VARCHAR(50) CONSTRAINT FK_PASSAGER_ID PRIMARY KEY(PASSAGER_ID ),--旅客身份证PASSAGER_NAME VARCHAR(50) NOT NULL,--旅客姓名PASSAGER_SEX VARCHAR(4) NOT NULL,--旅客性别PASSAGER_TELEPHONE VARCHAR(50) NOT NULL,--旅客电话);use 航空售票系统
if  exists(select * from sysobjects where name = 'BUY_TICKETS')drop table BUY_TICKETS
go
CREATE TABLE BUY_TICKETS--买票表
(
TICKET_COUNT VARCHAR(50) NOT NULL ,--数量
BUY_TICKETS_TIME DATE NOT NULL,--购买时间
PASSAGER_ID VARCHAR(50) NOT NULL,--旅客身份证号
TICKET_ID VARCHAR(50) NOT NULL,--机票编号
CONSTRAINT PK_旅客机票 PRIMARY KEY NONCLUSTERED (PASSAGER_ID,TICKET_ID),
CONSTRAINT FK_BUY_PASSAGER_ID FOREIGN KEY(PASSAGER_ID) references PASSAGER(PASSAGER_ID),
CONSTRAINT FK_BUY_TICKET_ID FOREIGN KEY(TICKET_ID) references TICKET(TICKET_ID));
ALTER TABLE BUY_TICKETS ADD  CONSTRAINT CK_BUY_TICKETS_LEN CHECK(LEN(PASSAGER_ID)=18)
USE 航空售票系统use 航空售票系统
if  exists(select * from sysobjects where name = 'REFUND')drop table REFUND
go
CREATE TABLE REFUND--退票表
(
REFUND_TIME VARCHAR(50),--退票时间
PASSAGER_ID VARCHAR(50),--旅客身份证号
TICKET_ID VARCHAR(50) NOT NULL,--机票编号
CONSTRAINT PK_退旅客机票 PRIMARY KEY(PASSAGER_ID,TICKET_ID),
CONSTRAINT FK_REFUND_PASSAGER_ID FOREIGN KEY(PASSAGER_ID) references PASSAGER(PASSAGER_ID),
CONSTRAINT FK_REFUND_TICKET_ID FOREIGN KEY(TICKET_ID) references TICKET(TICKET_ID), );
ALTER TABLE REFUND ADD  CONSTRAINT CK_REFND_LEN CHECK(LEN(PASSAGER_ID)=18)  USE 航空售票系统use 航空售票系统
if  exists(select * from sysobjects where name = 'ACCOUNTS1')drop table ACCOUNTS1
go
CREATE TABLE ACCOUNTS1--游客账号
(ACCOUNT1_ID VARCHAR(50) --账号CONSTRAINT FK_ACCOUNT1_ID PRIMARY KEY(ACCOUNT1_ID ),PASSWORD1 VARCHAR(50) NOT NULL,--密码
)use 航空售票系统
if  exists(select * from sysobjects where name = 'ACCOUNTS')drop table ACCOUNTS
go
CREATE TABLE ACCOUNTS--工作人员账号
(ACCOUNT_ID VARCHAR(50) --账号CONSTRAINT FK_ACCOUNT_ID PRIMARY KEY(ACCOUNT_ID ),PASSWORD VARCHAR(50) NOT NULL--密码
)--创建视图
--为显示长沙航空的所有机票创建一个名CX_TICKET的视图
use 航空售票系统
go
create view CX_TICKETasselect *from TICKETwhere CAMPANY_NUMBER=(select CAMPANY_NUMBERfrom CAMPANYwhere COMPANY_NAME ='长沙航空')
go
select * from CX_TICKET--2.为查询航班座位数大于10的航班创建一个名为zw_count视图
use 航空售票系统
go
create view zw_countasselect *from FIGHTwhere SEAT_COUNT>10
go
select * from zw_count
drop view zw_count--在视图CX_TICKET中插入
use 航空售票系统
go
insert into CX_TICKET
Values('T0003','F0003','经济舱','12','560','在售','G0001')--删除视图CX_TICKET
use 航空售票系统
go
drop view CX_TICKET--创建航空公司表的存储过程
if exists(select * from sysobjects where name='CAMPANY1')
drop proc CAMPANY1
use 航空售票系统
go
create proc CAMPANY1
@a varchar(50),
@b varchar(50),
@c varchar(50),
@d varchar(50)
as
insert into CAMPANY values(@a,@b,@c,@d)
go--使用存储过程
exec CAMPANY1 'G0001','长沙航空','15200000000','长沙'
exec CAMPANY1 'G0002','北京航空','15200000001','北京'
exec CAMPANY1 'G0003','天津航空','15200000003','天津'
exec CAMPANY1 'G0004','湖北航空','15200000004','武汉'
go--更新存储过程
update CAMPANY set CAMPANY_NUMBER='G0003' where CAMPANY_NUMBER='G0002'--删除存储过程
drop proc CAMPANY1
go--创建买票表的存储过程(不需要)--创建航班表的存储过程
if exists(select * from sysobjects where name='FIGHT1')
drop proc FIGHT1
use 航空售票系统
go
create proc FIGHT1
@a varchar(50),
@b varchar(50),
@c varchar(50),
@d varchar(50),
@e varchar(50),
@f varchar(50),
@g int
as
insert into FIGHT values(@a,@b,@c,@d,@e,@f,@g)
go--使用存储过程
exec FIGHT1 'F0001','长沙','北京','2016-12-12 09:00','2016-12-12 11:00','G0001','20'
exec FIGHT1 'F0002','北京','长沙','2016-12-12 09:00','2016-12-12 11:00','G0002','22'
exec FIGHT1 'F0003','长沙','天津','2016-12-14 07:00','2016-12-14 09:00','G0003','25'
exec FIGHT1 'F0004','长沙','武汉','2016-12-12 19:00','2016-12-12 20:00','G0004','28'
exec FIGHT1 'F0005','长沙','北京','2016-12-13 09:00','2016-12-13 11:00','G0001','21'
go--更新存储过程
--update CAMPANY set='' where =''--删除存储过程
drop proc FIGHT1
go--创建乘客表的存储过程
if exists(select * from sysobjects where name='PASSAGER1')
drop proc PASSAGER1
use 航空售票系统
go
create proc PASSAGER1
@a varchar(50),
@b varchar(50),
@c varchar(4),
@d varchar(50)
as
insert into PASSAGER values(@a,@b,@c,@d)
go--使用存储过程
exec PASSAGER1 '123456789123456789','小白','男','13700000000'
exec PASSAGER1 '123456789123456788','小黑','男','13700000001'
exec PASSAGER1 '123456789123456787','小红','女','13700000002'
go--更新存储过程
--update CAMPANY set='' where =''--删除存储过程
drop proc PASSAGER1
go--创建退票表的存储过程(不需要)--创建机票表的存储过程
if exists(select * from sysobjects where name='TICKET1')
drop proc TICKET1
use 航空售票系统
go
create proc TICKET1
@a varchar(50),
@b varchar(50),
@c varchar(50),
@d int,
@e int,
@f varchar(50),
@g varchar(50)
as
insert into TICKET values(@a,@b,@c,@d,@e,@f,@g)
go--使用存储过程
exec TICKET1 'T0001','F0001','二等舱','20','560','在售','G0001'
exec TICKET1 'T0002','F0002','头等舱','10','1560','在售','G0002'
exec TICKET1 'T0003','F0003','二等舱','12','560','在售','G0003'
exec TICKET1 'T0004','F0004','二等舱','20','560','在售','G0004'
go--更新存储过程
--update CAMPANY set='' where =''--删除存储过程
drop proc TICKET1
goif exists (select *from sysobjects where name = 'DeleteinTICKET')drop proc DeleteinTICKET
go
create proc DeleteinTICKET
@a varchar(50)
asdeclare @err int =0delete from BUY_TICKETS where TICKET_ID=@adelete from REFUND where TICKET_ID=@adelete from  TICKET where TICKET_ID = @aset @err = @err + @@error return @err
go--退订机票存储过程
if exists (select *from sysobjects where name = 'CountTICKET')drop proc CountTICKET
go
create proc CountTICKET
@a varchar(50)
asdeclare @err int =0declare @updateticket_numble intselect @updateticket_numble=SEAT_NUMBLE from TICKET where TICKET_ID=@aupdate  TICKET set SEAT_NUMBLE =@updateticket_numble+1 where TICKET_ID=@aset @err = @err + @@error return @err
go--购买机票存储过程
if exists (select *from sysobjects where name = 'CountsubTICKET')drop proc CountsubTICKET
go
create proc CountsubTICKET
@a varchar(50)
asdeclare @err int =0declare @updateticket_numble intselect @updateticket_numble=SEAT_NUMBLE from TICKET where TICKET_ID=@aupdate  TICKET set SEAT_NUMBLE =@updateticket_numble-1 where TICKET_ID=@aset @err = @err + @@error return @err
go

航空售票系统--数据库代码部分相关推荐

  1. java计算机毕业设计航空售票系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计航空售票系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计航空售票系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  2. 重庆北大青鸟解放碑校区 A08班 张海龙组 作品名称:航空售票系统

    作品赏析 用户登录界面 用户界面 订票流程界面 项目介绍:航空售票系统是一个针对客户根据自身需求订购机票的服务系统.在这个系统里,客户可以根据自己出行计划,除了选择订购适合自己的机票以外,还可以自主购 ...

  3. 北京邮电大学2021年C语言航空售票系统

    程序设计课程设计 李 晶 lijingjing@bupt.edu.cn 孙鹏飞 sunpengfei@bupt.edu.cn 杨金翠 jincuiyang@bupt.edu.cn 刁婷 diaotin ...

  4. 地铁售票系统java代码_VHDL 地铁自动售票系统

    [实例简介] VHDL 地铁自动售票系统 等待状态 自检状态 详细注释 状态机编写 [实例截图] [核心代码] d74c0e52-4d27-45b1-8cb8-de3249072b91 └── sal ...

  5. Java课设:火车售票系统(代码)

    文章目录 登陆界面Access.java 注册Register.java 注册界面RegisterFrame.java 查找主界面FindMain.java 输入起点终点查找车次Find1.java ...

  6. 《MySQL数据操作与查询》- 综合项目 - 航空售票系统

    Mysql & SqlServer综合项目需求 1.系统整体功能 系统需支持以下功能: 维护客户信息.航班信息和票务信息 支持客户按多种条件组合查询航班信息和票务信息 支持客户根据票务信息订购 ...

  7. 航空购票系统源码java_航空售票系统 - WEB源码|JSP源码/Java|源代码 - 源码中国

    文件名大小更新时间 airOnLine\.classpath2262008-05-23 airOnLine\log.txt1092008-05-23 airOnLine\.project3852008 ...

  8. ssm基于微信小程序的航空售票管理系统191111

    目  录 摘要 1 绪论 1.1 选题目的及意义 1.2开发现状 1.3论文结构与章节安排 2基于微信小程序的航空售票管理系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流 ...

  9. java毕业设计电影推荐网站mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计电影推荐网站mybatis+源码+调试部署+系统+数据库+lw java毕业设计电影推荐网站mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S架构 开 ...

最新文章

  1. 美国再出半导体新法案!1800亿谋求芯片制造振兴
  2. automybatis mysql_mybatis-plus:使用Mybatis-AutoGenerator代码生成器(1)
  3. 什么是 JSON ?
  4. 现代密码学4.2--消息验证码/MAC
  5. cisco 路由器访问权限的设置
  6. ALEIDoc EDI(4)--change point02
  7. Vue的基础认知二---vue的双向绑定/vue获取DOM节点
  8. [luoguP2463] [SDOI2008]Sandy的卡片(后缀数组 + st表)
  9. 力扣--122. 买卖股票的最佳时机 II
  10. Python编程练习:使用 turtle 库完成六边形的绘制
  11. QCon全球软件开发大会:推动创新,实现技术落地
  12. 对模型方差和偏差的解释之二:泛化误差
  13. balabala视频格式转换器
  14. android 360短信拦截,Android版360卫士更威武
  15. 软件的接口设计图_重磅!PKPM 结构设计软件V5.1正式发布
  16. 多方安全计算(MPC)发展脉络及应用实践
  17. 回顾知识点:操作系统篇(二)
  18. bat批量安装软件,完成最后删除文件夹里所有安装包
  19. 教学用计算机怎样关闭系统还原,关闭系统还原好吗 如何关闭系统还原【图文】...
  20. 腾讯云服务器的购买、注册和登录

热门文章

  1. 计算机信息系统集成资质涉密信息系统集成资质
  2. 矩阵求和 c语言 简单易懂
  3. LANDESK8.8版本操作说明书之核心服务器管理
  4. [云计算学习3] Linux基础 : 使用chrony搭建时间服务器并让下游NTP同步时间
  5. 微信小程序绘制地图轨迹线路
  6. 2008年度最佳开源软件大奖
  7. STM32 驱动液晶LCD12864
  8. 特斯拉如何恢复出厂设置_iphone如何恢复手机出厂设置
  9. 基于S3C2440丛SD卡启动WinCE(或其它程序)的实现
  10. DB2 with的定义与用法