数据库大作业火车订票系统Word格式文档下载.docx

上传人:b****3 文档编号:18507138 上传时间:2022-12-18 格式:DOCX 页数:14 大小:65.20KB
下载 相关 举报
数据库大作业火车订票系统Word格式文档下载.docx_第1页
第1页 / 共14页
数据库大作业火车订票系统Word格式文档下载.docx_第2页
第2页 / 共14页
数据库大作业火车订票系统Word格式文档下载.docx_第3页
第3页 / 共14页
数据库大作业火车订票系统Word格式文档下载.docx_第4页
第4页 / 共14页
数据库大作业火车订票系统Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数据库大作业火车订票系统Word格式文档下载.docx

《数据库大作业火车订票系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库大作业火车订票系统Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

数据库大作业火车订票系统Word格式文档下载.docx

用户登陆后,通过订票系统,根据自己你的需求找到自己的车次,输入要预订的票数进行订票。

要求订票记录应包括:

订票记录ID,车次ID,用户ID,订票数量。

2.1.3退票:

用户登录后,通过退票系统,找到自己的订票信息,输入要退的票数进行退票。

2.1.4注册:

想要订票的用户必须先注册然后登陆订票。

用户信息包括:

用户ID,用户名,密码,邮箱。

2.1.5用户登陆:

主要完成用户和管理员的登陆。

用户想订票必须登陆后才能进行订票,如果没有注册的用户应该与注册页面相连接。

2.1.6修改密码:

用户和管理员登陆后可以修改个人信息。

2.1.7添加车次:

管理员登陆后可以添加新的车次。

2.2数据需求

信息输入

信息处理

信息输出

用户输入所需车次

检索系统数据库

符合用户需求的车次及相关信息

用户管理员输入用户名、密码进行登录

成功登陆后的首页

用户输入个人信息进行注册

将输入信息存入系统数据库

操作反馈

用户输入订票数量

检索系统数据库已得到订票记录,添加用户请求的订票记录,更新系统数据库

用户输入退票数量

检索系统数据库已得到订票记录,删除用户请求的订票记录,更新系统数据库

用户管理员输入新密码

更新系统数据库

管理员输入添加车次信息

将新信息存入数据库

2.3性能需求

系统应能及时准确的根据用户权限及所输入的信息作出响应。

由于查询功能对于用户来讲很重要,因为这直接影响了用户的订票决策,所以系统的准确性和及时性很重要。

本系统是针对用户直接开放的,所以应该提供良好的接口。

网上订票的数据是很重要的信息,系统应该保证用户的权限,对于车次的信息不能更改。

同时还应该保证管理人员进行正常的维护、更新等工作,保证数据的一致性。

2.4数据流图

2.4.1顶层数据流图

2.4.21层数据流图

3.概念结构设计

3.1系统结构简述

本系统包括六个实体:

订票人,订票单信息,车票信息,车次信息,操作员,余票信息。

订票人与订票单、订票单与车票信息这两个关系是一对一的联系;

车票信息与车次信息、订票单信息与操作员这两个关系是1对多的联系。

3.2数据处理

输入:

身份证号

输出:

订票单号,订票人身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号。

车票号,始发站,车次号,发车时间,终点站,车票种类。

车次号

输出:

姓名,身份证号,联系电话,目的城市,始发城市。

3.2.4查询余票数量

乘车区间和车次号

余票数量。

3.3生成E-R图

4逻辑结构设计

4.1关系模式

订票人表(身份证号,姓名,联系电话,始发城市,目的城市,订单号)

操作员表(员工号,订票点号,姓名,性别,电话)

车次信息表(车次号,始发站,终点站,途径站)

订票单表(订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号)

车票信息表(车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,

车厢号,座位号)

说明:

车票种类为:

“无座”或“硬座”或“硬卧”或“软卧”

余票信息表(车次号,车票种类,出发站,目的站,出发时间)

5物理结构设计

订票人表

字段

类型

特殊属性

身份证

char(18)

主键,非空

姓名

char(10)

NOTNULL

联系电话

varchar(12)

始发城市

varchar(10)

目的城市

订单号

char(20)

外键

订票单表

主键

订票时间

datetime

付款取票与否

char

(2)

NOTNULL,默认‘是’或“否”

LIKE‘[A-Z]%’

车票号

票价

int

员工号

车票表

始发站

发车时间

车厢号

座位号

终点站

车票种类

IN(‘软卧’,‘硬卧’,‘软座’,‘硬座’,‘站票’)

车次表

途径站

操作员表

订票点号

性别

NOTNULL,默认‘男’或‘女’

电话

余票信息表

出发站

目的站

出发时间

datatime

余票张数

6数据库实施

6.1建立数据库

   createdatabase网上订票数据库

   onprimary

   (

   name=网上订票数据库,

   filename='

E:

\数据库\网上订票数据库.mdf'

   size=5MB,

   FILEGROWTH=10%

   )

   logon

   name=网上订票数据库_log,

\数据库\网上订票数据库_log.ldf'

   FILEGROWTH=2MB)

6.2建立基本表

创建订票人表:

   createtable订票人表

   (身份证号char(18)notnullprimarykey,

   姓名varchar(10)notnull,

   联系电话varchar(12)notnull,

   始发城市varchar(10)notnull,

   目的城市varchar(10)notnull,

   订单号char(20))

创建操作员表:

   createtable操作员表

   (员工号char(10)primarykey,

   订票点varchar(10)notnull,

   性别char

(2)check(性别in('

男'

'

女'

)),

   电话varchar(12)notnull)

创建车次信息表:

   createtable车次信息表

   (

   车次号varchar(10)check(车次号LIKE'

[A-Z]%'

)primarykey,

   始发站varchar(10)notnull,

   终点站varchar(10)notnull,

   途经站varchar(100))

创建订票单表:

   createtable订票单表

   (订单号char(20)primarykey,

   身份证号char(18)references订票人表(身份证号),

   订票时间datetimenotnull,

   付款取票与否char

(2)check(付款取票与否in('

是'

否'

),

   车票号char(20)notnull,

   票价intnotnull,

   员工号char(10)references操作员表(员工号))

创建车票信息表:

   createtable车票信息表

   (车票号char(20)primarykey,

   发车时间datetimenotnull,

   车票种类char(4)check(车票种类in('

无座'

硬座'

硬卧'

软卧'

   订单号char(20)references订票单表(订单号),

   车厢号intnotnull,

   座位号intnotnull)

创建余票信息表:

createtable余票信息表

(车次号varchar(10)check(车次号LIKE'

)primarykey,

出发站varchar(10)notnull,

   目的站varchar(10)notnull,

余票张数intnotnull,

车票种类char(20)primarykey,

出发日期datatime)

6.3建立索引

订票人表:

  IFexists(select*fromsysindexeswherename='

pID_index'

  dropindex订票人表.pID_index

  createuniqueindexpID_index

  on订票人表(身份证号)

  withfillfactor=30

订票单表:

piaoDanNO_index'

  dropindex订票单表.piaoDanNO_index

  createindexpiaoDanNO_index

  on订票单表(订单号)

车票信息表:

piaoNO_index'

  dropindex车票信息表表.piaoNO_index

  createindexpiaoNO_index

  on车票信息表(车票号)

车次信息表:

cheCiNO_index'

  dropindex车次信息表.cheCiNO_index

  createindexcheCiNO_index

  on车次信息表(车次号)

操作员表:

yuanGongNO_index'

  dropindex操作员表.yuanGongNO_index

  createindexyuanGongNO_index

  on操作员表(员工号)

6.4创建视图

   createviewallInfo_view

   as

   select订票人表.姓名,订票人表.身份证号,订票单表.车次号,

车票信息表.车票号,车票信息表.发车时间,车票信息表.始发站,

车票信息表.终点站,订票单表.票价

   from订票人表innerjoin订票单表

   on订票人表.身份证号=订票单表.身份证号innerjoin车票信息表

   on订票单表.车票号=车票信息表.车票号innerjoin车次信息表

   on车票信息表.车次号=车次信息表.车次号

6.5创建存储过程

创建存储过程,通过身份证号查询订票人信息:

   createprocedurepInfo_proc

   @pIDchar(18)

   select身份证号,姓名,联系电话,始发城市,目的城市,订单号

   from订票人表where身份证号=@pID

创建存储过程,通过身份证号查询订票人订票信息:

   createprocedureticket_proc

   select姓名,订票单表.订单号,订票人表.身份证号,订票时间,付款取票与否,车次号,车票号,票价,员工号

   from订票单表innerjoin订票人表

   on订票人表.身份证号=订票单表.身份证号

   where订票单表.身份证号=@pID

6.6创建触发器

createtrigger余票更新

on车票信息表

forinsert

as

declare@车次号varchar(10)

select@车次号=车次号frominserted

update余票信息表

set余票张数=余票张数-1

where车次号=@车次号

createtrigger余票更新2

fordelete

select@车次号=车次号fromdeleted

set余票张数=余票张数+1

6.7插入数据

向操作员表中插入数据:

   insertinto操作员表

   values

   (,'

洛阳'

鲁金龙'

向车次信息表中插入数据:

   insertinto车次信息表

   ('

K31'

福州'

商丘、开封、郑州'

向订票人表中插入数据:

   insertinto订票人表

,'

民权'

'

向订票单表中插入数据:

   insertinto订票单表

   (,,'

2011-06-2414:

31:

36'

,12.5,)

向车票信息表中插入数据:

   insertinto车票信息表

,12,021)

想余票信息表中插入数据:

insertinto车票信息表

values

('

135,2011-06-2413:

24:

00,硬座)

6.8关系图

6.9订购车票

insertinto车票信息表

values

(,'

T90'

南京'

2013-07-0913:

23:

13'

河南'

06'

23'

6.10退票

delete车票信息表

where车次号='

7实验小结

通过这次大作业的设计,我们团队经过了几次的激烈讨论,由组长带领组员,通过对火车订票系统的需求分析,概念结构设计,逻辑结果设计,物理结构设计,建立数据库、基本表,创建存储过程、创建触发器以保证订票时对余票数量的修改,我们对数据库有了进一步的理解,同时也为期末考试进行了一个粗略的复习,对基本概念的理解更加深刻,对本书中的重点,如模式的分解等内容理解加深。

在时间的过程中,发现对SQL语言的掌握还远远不够,这也是在大作业的设计过程中遇到的一个大难题,尤其是在做存储过程和触发器的时候,没有掌握代码的格式和方法,所以花了很长时间来熟悉创建存储过程和触发器的代码上。

在周四上机掩饰的时候由于没有做出触发器所以没有演示订票的过程,课下我们有进行了修改,能够进行订票的操作。

最后感谢老师这一学期的悉心教导,我们收获很多。

谢谢老师~~

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

当前位置:首页 > 人文社科 > 教育学心理学

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

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