火车站票务管理数据库设计说明书Word下载.docx
- 文档编号:21627755
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:14
- 大小:170.61KB
火车站票务管理数据库设计说明书Word下载.docx
《火车站票务管理数据库设计说明书Word下载.docx》由会员分享,可在线阅读,更多相关《火车站票务管理数据库设计说明书Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
二、需求分析
现今世界的发展速度极快,数据量不断增大,人工的管理已经不能精确的管理,或者没有那么多的时间整理,时常可能出现大量的错误,导致数据不一致,数据丢失和混乱现象。
计算机在科技的不断创新和发展中产生并不断更新,存储量和计算次数极大,在火车票销售和火车站的一些管理中,计算机便在这里能起到极大的作用,可以帮助人们实现大量的各种数据的管理,有效的减轻人们的工作量,提高管理效率和精确度,防止数据丢失和错误等,便利了我们的生活节约了大量时间和精力。
在此,利用计算机建立火车票务管理系统显得由为重要。
三、概念模型设计
1火车站票务管理系统我设计了九张表来存储所有有用信息:
●管理员表(包含属性:
工号,姓名,密码,联系电话)
●车次表(包含属性:
车次号,发车时间,座位数)
●业务员表(包含属性:
●火车票表(包含属性:
票号,车次号,发车时间,座位号,车站号,价格)
●乘客表(包含属性:
身份证号,姓名,密码,联系电话)
●车站表(包含属性:
车站号,站名)
●售票表(包含属性:
工号,票号,售票时间)
●退票表(包含属性:
身份证号,票号,退票时间)
●售票情况(包含属性:
车次,发车时间,剩余票数)
2表间对应的局部和整体E——R图如下:
局部E—R图
3、数据流图
四、逻辑结构设计
1、关系模式注(关系的码用下横线标出)
实体:
管理员(工号,姓名,密码,联系电话)
车次(车次号,发车时间,座位数)
业务员(工号,姓名,密码,联系电话)
火车票(票号,车次号,发车时间,座位号,价格)
乘客(身份证号,姓名,密码,联系方式)
车站(车站号,站名)
联系:
售票(工号,票号,售票时间)
退票(身份证号,票号,退票时间)
售票情况(车次,发车时间,剩余票数)
2、所有表之间的关系图如下:
五物理结构设计
各表名称及所包含的属性,数据类型和长度,主外键关系如下几张表所示:
管理员表(admin)
列名
说明
类型
长度
允许空
主/外键
job_num
工号
char
5
主
Job_name
姓名
8
password
密码
6
tele_num
联系电话
11
车次表(train_num)
tr_num
车次号
d_time
发车时间
12
seat_sum
座位数
int
业务员表(seller)
10
火车票表(ticket)
ticket_num
票号
外
seat_num
座位号
sta_num
车站号
price
价格
乘客表(passenger)
说名
id_num
身份证号
18
p_name
车站表(station)
sta_name
站名
售票表(sell_ticket)
主、外
sell_time
售票时间
退票表(return_ticket)
r_time
退票时间
售票情况表I(remain)
车次
re_ticket
剩余票数
六、数据库实施
/*数据库表*/
createtabletrain_num(
tr_numchar(5)notnull,
d_timechar(12)notnull,
seat_sumintnotnull,
primarykey(tr_num,d_time)
)
createtableseller(
job_numchar(10)notnull,
job_namechar(8)notnull,
passwordchar(6)notnull,
tele_numchar(11)notnull,
primarykey(job_num)
createtableticket(
ticket_numchar(12)notnull,
seat_numchar(5)notnull,
sta_numchar(5)notnull,
priceintnotnull,
primarykey(ticket_num),
foreignkey(tr_num)referencestrain_num(tr_num),
foreignkey(d_time)referencestrain_num(d_time)
createtablepassenger(
id_numchar(18)notnull,
p_namechar(8)notnull,
primarykey(id_num)
createtablestation(
sta_namechar(12)notnull,
primarykey(sta_num)
createtableadmin(
createtablesell_ticket(
sell_timechar(12)notnull,
primarykey(job_num,ticket_num),
foreignkey(job_num)referencesseller(job_num),
foreignkey(ticket_num)referencesticket(ticket_num)
createtablereturn_ticket(
r_timechar(12)notnull,
primarykey(id_num,ticket_num),
foreignkey(id_num)referencespassenger(id_num),
foreignkey(ticket_num)referencesticket(ticket_num)
createtableremain(
re_ticketintnotnull,
primarykey(tr_num,d_time,re_ticket),
七、功能代码
1触发器
usetrain
go
--车票销售时不能超员,并自动修改剩余的座位数
createtriggertri_ticket
onticketforinsert
asbegin
declare@tr_numchar(5),--记录插入的车次
@d_timechar(12),--该车次的发车时间
@seat_sumint,--记录该车次的总座位数
@sell_sumint--记录该车次总的售票数
select@tr_num=tr_numfrominserted
select@d_time=d_timefrominserted
select@seat_sum=seat_sumfromtrain_num
select@sell_sum=count(*)fromticketwheretr_num=@tr_numandd_time=@d_time
if@sell_sum>
@seat_sum
rollbacktransaction
updateremainsetre_ticket=re_ticket-1
wheretr_num=@tr_numandd_time=@d_time
end
、
]--退票时自动修改相应车次的剩余座位数
createtriggertri_return_ticket
onreturn_ticketforinsert
declare@ticket_numchar(12),
@tr_numchar(5),
@d_timechar(12)
select@ticket_num=ticket_numfrominserted
select@tr_num=tr_num,@d_time=d_time
fromticket
whereticket_num=@ticket_num
updateremainsetre_ticket=re_ticket+1
2、存储过程
--指定车次指定发车时间的车票销售情况
ifobject_id('
pro_selled'
'
p'
)isnotnull
dropprocedurepro_selled
createprocedurepro_selled
@tr_num_inchar(5),
@d_time_inchar(12),
@sum_ticketintoutput
selectcount(ticket_num)
wheretr_num=@tr_num_inandd_time=@d_time_in
--指定日期各业务员车票的销售收入
pro_income'
dropprocedurepro_income
createprocedurepro_income
@sell_timechar(12),
@job_namechar(8)output,
@moneyintoutput
selectjob_name,sum(price)
fromseller,sell_ticket,ticket
whereseller.job_num=sell_ticket.job_numand
sell_ticket.ticket_num=ticket.ticket_numand
sell_time=@sell_time
groupbyjob_name
八、数据库备份与恢复
backupdatabasetrain
todisk='
G:
\数据库备份\fullbackup_train'
withinit
usemaster
restoredatabasetrain
fromdisk='
withreplace
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 火车 站票 管理 数据库 设计 说明书