用C#做火车订票管理系统课程设计 下载本文

表2-4 用户表

字段名 用户号 姓名 性别 身份证号 密码 数据类型 nchar(10) char(4) char(2) char(18) nchar(10) 是否为空 否 否 是 否 否

2.4数据库中的约束

2.4.1主键约束

(1)在车票信息表中,定义车次,出发地,出发时间,目的地,到达时间,出发日这个整体作为车票信息表的主键。相关代码如下:

alter table 车票信息表

add constraint pk primary key(车次,出发地,出发时间,目的地,到达时间,出发日)

(2)在车票预订表中,定义用户号,姓名,身份证号这个整体作为车票预订表的主键。

(3)在管理员表和用户表中,分别将管理号和用户号作为各表的主键。 2.4.2外键约束

在车票预订表中,定义车次,出发地,出发时间,目的地,到达时间,出发日这个整体作为车票预订表的外键,参考车票信息表中的主键。相关代码如下:

alter table 车票预订表

add constraint fk1 foreign key(车次,出发地,出发时间,目的地,到达时间,出发日)

references 车票信息表(车次,出发地,出发时间,目的地,到达时间,出发日) 2.4.3 CHICK约束

在用户表的性别字段,定义CHICK约束。规定性别在男、女中选值。相关代码如下:

alter table 用户表

7

add constraint CK_sex check(性别 in ('女','男')) 2.4.4 DEFAULT约束

在用户表的性别字段,定义DEFAULT约束。规定性别默认值为男。相关代码如下: alter table 用户表

add constraint df_sex default '男' for 性别 2.4.5长度约束

在车票预订表和用户表中,定义身份证长度为18位,相关代码如下: alter table 用户表

add constraint CK_PID check(len(身份证号)=18)

8

3 各功能模块和流程图

3.1系统软件结构设计

综合以上需求,本系统需要以下几个模块来支持:

(1)用户模块:用于用户注册,用户登陆,订票,退票,修改登录密码。 (2)管理员模块:供后台管理员登录。用于添加车票信息。 (3)游客模块:列车信息查询,用户注册。 三个模块的关系如下: 火 车 订 票 管 理 系 统

管理 员登 录 添加车票 信息 管理员管理 用户管理 游客 修改登录密码 购票 退票 查看用户信息 列车信息查询 查看订票 图3.1火车订票管理系统的层次图

列车信息查询 用户注册 3.2系统流程图

⑴系统总体流程图如下图3.2所示。

9

开始

图3.2系统用户权限的系统主程序流程图

退出 查询 车次 信息 查询 订票 信息 订票 界面 选择订 票窗口 选择查询 主界面 登录,确定访问权限 登录 N N Y 窗口 Y 查询 界面 选择退 票窗口 N Y 退票 界面 Y Y 订票 订票 退票 退票 N N Y 结束 ⑵车次信息查询流程图如下图3.3所示。

10

开始 查询 界面 N 查询车次信息 Y 用户输入要 查询条件 N 查询 Y 返回主页 读数据文件 输出查询结果 Y 关闭窗口 继续查询 车次信息 N N 订票 N Y Y 订票 界面 订票 结束

图3.3车次信息查询程序流程图

⑶订单信息查询流程图如下图3.4所示。

11