火车站票务管理数据库设计说明书.docx

上传人:b****6 文档编号:8491530 上传时间:2023-01-31 格式:DOCX 页数:14 大小:170.61KB
下载 相关 举报
火车站票务管理数据库设计说明书.docx_第1页
第1页 / 共14页
火车站票务管理数据库设计说明书.docx_第2页
第2页 / 共14页
火车站票务管理数据库设计说明书.docx_第3页
第3页 / 共14页
火车站票务管理数据库设计说明书.docx_第4页
第4页 / 共14页
火车站票务管理数据库设计说明书.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

火车站票务管理数据库设计说明书.docx

《火车站票务管理数据库设计说明书.docx》由会员分享,可在线阅读,更多相关《火车站票务管理数据库设计说明书.docx(14页珍藏版)》请在冰豆网上搜索。

火车站票务管理数据库设计说明书.docx

火车站票务管理数据库设计说明书

 

火车站票务管理系统

数据库设计说明书

拟制人李毅丁黎

审核人___________

批准人___________

一、问题描述

车票销售时不能超员,并自动修改剩余的座位数;

创建存储过程统计指定车次指定发车时间的车票销售情况;

创建存储过程统计指定日期各业务员车票的销售收入;

退票时自动修改相应车次的剩余座位数;

创建表间关系。

●车次管理:

记录各车次及发车时间,实现车次的调度。

●价格管理:

根据里程记费到各站的价格。

●业务员管理:

记录各业务员的信息。

●售票管理:

销售火车票,记录售票信息。

●退票管理:

实现退票,记录退票信息

二、需求分析

现今世界的发展速度极快,数据量不断增大,人工的管理已经不能精确的管理,或者没有那么多的时间整理,时常可能出现大量的错误,导致数据不一致,数据丢失和混乱现象。

计算机在科技的不断创新和发展中产生并不断更新,存储量和计算次数极大,在火车票销售和火车站的一些管理中,计算机便在这里能起到极大的作用,可以帮助人们实现大量的各种数据的管理,有效的减轻人们的工作量,提高管理效率和精确度,防止数据丢失和错误等,便利了我们的生活节约了大量时间和精力。

在此,利用计算机建立火车票务管理系统显得由为重要。

三、概念模型设计

1火车站票务管理系统我设计了九张表来存储所有有用信息:

●管理员表(包含属性:

工号,姓名,密码,联系电话)

●车次表(包含属性:

车次号,发车时间,座位数)

●业务员表(包含属性:

工号,姓名,密码,联系电话)

●火车票表(包含属性:

票号,车次号,发车时间,座位号,车站号,价格)

●乘客表(包含属性:

身份证号,姓名,密码,联系电话)

●车站表(包含属性:

车站号,站名)

●售票表(包含属性:

工号,票号,售票时间)

●退票表(包含属性:

身份证号,票号,退票时间)

●售票情况(包含属性:

车次,发车时间,剩余票数)

2表间对应的局部和整体E——R图如下:

 

局部E—R图

 

局部E—R图

 

3、数据流图

四、逻辑结构设计

1、关系模式注(关系的码用下横线标出)

实体:

管理员(工号,姓名,密码,联系电话)

车次(车次号,发车时间,座位数)

业务员(工号,姓名,密码,联系电话)

火车票(票号,车次号,发车时间,座位号,价格)

乘客(身份证号,姓名,密码,联系方式)

车站(车站号,站名)

联系:

售票(工号,票号,售票时间)

退票(身份证号,票号,退票时间)

售票情况(车次,发车时间,剩余票数)

 

2、所有表之间的关系图如下:

五物理结构设计

各表名称及所包含的属性,数据类型和长度,主外键关系如下几张表所示:

管理员表(admin)

列名

说明

类型

长度

允许空

主/外键

job_num

工号

char

5

Job_name

姓名

char

8

password

密码

char

6

tele_num

联系电话

char

11

车次表(train_num)

列名

说明

类型

长度

允许空

主/外键

tr_num

车次号

char

5

d_time

发车时间

char

12

seat_sum

座位数

int

业务员表(seller)

列名

说明

类型

长度

允许空

主/外键

job_num

工号

char

10

Job_name

姓名

char

8

password

密码

char

6

tele_num

联系电话

char

11

火车票表(ticket)

列名

说明

类型

长度

允许空

主/外键

ticket_num

票号

char

12

tr_num

车次号

char

5

d_time

发车时间

char

12

seat_num

座位号

char

5

sta_num

车站号

char

5

price

价格

int

乘客表(passenger)

列名

说名

类型

长度

允许空

主/外键

id_num

身份证号

char

18

p_name

姓名

char

8

password

密码

char

6

tele_num

联系电话

char

11

 

车站表(station)

列名

说名

类型

长度

允许空

主/外键

sta_num

车站号

char

5

sta_name

站名

char

10

售票表(sell_ticket)

列名

说名

类型

长度

允许空

主/外键

job_num

工号

char

10

主、外

ticket_num

票号

char

12

主、外

sell_time

售票时间

char

12

 

退票表(return_ticket)

列名

说名

类型

长度

允许空

主/外键

id_num

身份证号

char

18

ticket_num

票号

char

12

r_time

退票时间

char

12

 

售票情况表I(remain)

列名

说名

类型

长度

允许空

主/外键

tr_num

车次

char

5

主、外

d_time

发车时间

char

12

主、外

re_ticket

剩余票数

int

12

六、数据库实施

/*数据库表*/

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,

tr_numchar(5)notnull,

d_timechar(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,

passwordchar(6)notnull,

tele_numchar(11)notnull,

primarykey(id_num)

createtablestation(

sta_numchar(5)notnull,

sta_namechar(12)notnull,

primarykey(sta_num)

createtableadmin(

job_numchar(10)notnull,

job_namechar(8)notnull,

passwordchar(6)notnull,

tele_numchar(11)notnull,

primarykey(job_num)

createtablesell_ticket(

job_numchar(10)notnull,

ticket_numchar(12)notnull,

sell_timechar(12)notnull,

primarykey(job_num,ticket_num),

foreignkey(job_num)referencesseller(job_num),

foreignkey(ticket_num)referencesticket(ticket_num)

 

createtablereturn_ticket(

id_numchar(18)notnull,

ticket_numchar(12)notnull,

r_timechar(12)notnull,

primarykey(id_num,ticket_num),

foreignkey(id_num)referencespassenger(id_num),

foreignkey(ticket_num)referencesticket(ticket_num)

createtableremain(

tr_numchar(5)notnull,

d_timechar(12)notnull,

re_ticketintnotnull,

primarykey(tr_num,d_time,re_ticket),

foreignkey(tr_num)referencestrain_num(tr_num),

foreignkey(d_time)referencestrain_num(d_time)

七、功能代码

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

go

]--退票时自动修改相应车次的剩余座位数

createtriggertri_return_ticket

onreturn_ticketforinsert

asbegin

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

wheretr_num=@tr_numandd_time=@d_time

end

2、存储过程

--指定车次指定发车时间的车票销售情况

usetrain

ifobject_id('pro_selled','p')isnotnull

dropprocedurepro_selled

go

createprocedurepro_selled

@tr_num_inchar(5),

@d_time_inchar(12),

@sum_ticketintoutput

asbegin

selectcount(ticket_num)

fromticket

wheretr_num=@tr_num_inandd_time=@d_time_in

end

go

--指定日期各业务员车票的销售收入

usetrain

ifobject_id('pro_income','p')isnotnull

dropprocedurepro_income

go

createprocedurepro_income

@sell_timechar(12),

@job_namechar(8)output,

@moneyintoutput

asbegin

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

end

go

八、数据库备份与恢复

usetrain

go

backupdatabasetrain

todisk='G:

\数据库备份\fullbackup_train'

withinit

go

usemaster

go

restoredatabasetrain

fromdisk='G:

\数据库备份\fullbackup_train'

withreplace

go

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1