大数据库大作业(火车订票系统)

发布时间:   来源:文档文库   
字号:
大数据库大作业(火车订票系统

适用文档
中国地质大学〔北京〕

数据库系统概论


火车票网上订票系统













小构成员:董威、韦飞阳、李建同、刘厚今
学号:1004111120100411112510041111191004111113联系方式:〔董威〕
使用数据库管理系统:SQLserver2021指导老师:宋莉
20211228
文案大全

大数据库大作业(火车订票系统
适用文档

目录

1.小构成员及分工................................................................2.需求剖析......................................................................

功能需求................................................................
查问..............................................................订票..............................................................退票..............................................................注册..............................................................用户登岸..........................................................改正密码..........................................................

增添车次..........................................................
数据需求................................................................
性能需求................................................................
正确性和实时性.....................................................易用性.............................................................

安全性.............................................................
数据流图................................................................
顶层数据流图.......................................................

1层数据流图......................................................
3.观点构造设计..................................................................
系统构造简述............................................................数据办理................................................................
生成E-R...............................................................4逻辑构造设计...................................................................

关系模式................................................................
5物理构造设计
..................................................................
6数据库实行.....................................................................
成立数据库..............................................................成立根本表..............................................................成立索引...............................................................创办视图...............................................................创办储存过程...........................................................创办触发器.............................................................插入数据................................................................关系图.................................................................订购车票...............................................................
退票..................................................................
7实验小结.....................................................................
文案大全
1111111111122222223333455667

101111111213131314

大数据库大作业(火车订票系统
适用文档

1.小构成员及分工

董威:数据库的实行,即在查问剖析器下编写代码成立数据库,创办根本表,成立
根本表之间的关系、索引,创办储存过程等工作。韦飞阳:主要负责逻辑构造的设计,即确立关系模式。
李建同:只需负责物理构造的设计,即确立各个根本表之间的
关系,确立主外键。
刘厚今:需求剖析模块,主要负责找寻需求,绘制数据流图。
2.需求剖析

2.1功能需求



查问:用户、管理员都能够对车次进行查问:能够依据发车车次进行查问;能够依据出发地、目的地进行查问;能够依据类车种类、座位种类查问。
车次信息包含:车次ID,车号,出发地,目的地,列车种类,座位种类,票价,票数,车次信息只同意用户查问,不可以改正。
订票:用户登岸后,经过订票系统,依据自己你的需求找到自己的车次,
输入要预定的票数进行订票。要求订票记录应包含:订票记录ID车次ID,用户ID,订票数目。
退票:用户登录后,经过退票系统,找到自己的订票信息,输入要退的票数进行退票。
注册:想要订票的用户一定先注册而后登岸订票。用户信息包含:用户
ID,用户名,密码,邮箱。
用户登岸:主要达成用户和管理员的登岸。用户想订票一定登岸后才能进行订票,假如没有注册的用户应当与注册页面相连结。改正密码:用户和管理员登岸后能够改正个人信息。增添车次:管理员登岸后能够增添新的车次。




2.2数据需求

信息输入
用户输入所需车次用户管理员输入用户名、密码进行登录用户输入个人信息进行
注册
用户输入订票数目
信息办理
检索系统数据库检索系统数据库
将输入信息存入系统数
据库
检索系统数据库已获得订票记录,增添用户请求的订票记录,更新系
统数据库检索系统数据库已获得订票记录,删除用户请
信息输出
切适用户需求的车次及
有关信息
成功登岸后的首页
操作反响操作反响
用户输入退票数目
文案大全
操作反响

大数据库大作业(火车订票系统
适用文档

用户管理员输入新密码管理员输入增添车次信

2.3性能需求
求的订票记录,更新系
统数据库
更新系统数据库
将新信息存入数据库
操作反响操作反响



正确性和实时性
系统应能实时正确的依据用户权限及所输入的信息作出响应。因为查问功能关于用户来讲很重要,因为这直接影响了用户的订票决议,因此系统的正确性和实时性很重要。易用性
本系统是针对用户直接开放的,因此应当供给优秀的接口。安全性
网上订票的数据是很重要的信息,系统应当保证用户的权限,关于车次的信息不可以改正。同时还应当保证管理人员进行正常的保护、更新等工作,
保证数据的一致性。
2.4数据流图



顶层数据流图
2.4.21层数据流图
文案大全

大数据库大作业(火车订票系统
适用文档

3.观点构造设计

3.1系统构造简述




本系统包含六个实体:订票人,订票单信息,车票信息,车次信息,操作员,余票信息。订票人与订票单、订票单与车票信息这两个关系是一对一的联系;车票信息与车次信息、
订票单信息与操作员这两个关系是1对多的联系。
数据办理
3.2.1.

查问全部订票人信息:输入:身份证号
输出:订票单号,订票人身份证号,订单时间,付款取票与否,车次号,车票号
票价,职工号。
查问订票人的已定车票的信息:输入:身份证号
输出:车票号,始发站,车次号,发车时间,终点站,车票种类。
查问某一车上乘坐的乘客的信息:输入:车次号
输出:姓名,身份证号,联系,目的城市,始发城市。查问余票数目
输入:搭车区间和车次号输出:余票数目。



3.2.2.

3.2.3.






生成E-R
文案大全

始发站
目的站

大数据库大作业(火车订票系统


适用文档
姓名

联系

身份证号

订单号

1



属于
车票号

订单号


姓名
性别



1
n
订票信息
票价
职工号


操作

1
操作员

身份证号


订单时间

1
取票与否
车次号




职工号订票点号
属于
订单号


发车时间

车次号
车票种类
1
n
属于

始发站

终点站
车票号

1
车次信息
始发站

车票信息

车厢号
终点站

1
票价
门路车站


座位号
车次号

车次号

车票种类
查问

余票张数

余票信息

1
出发站

目的站
出发日期
4逻辑构造设计

文案大全

大数据库大作业(火车订票系统
适用文档

4.1关系模式

订票人表〔身份证号,姓名,联系,始发城市,目的城市,订单号〕操作员表〔职工号,订票点号,姓名,性别,车次信息表〔车次号,始发站,终点站,门路站〕
订票单表〔订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,
职工号〕
车票信息表〔车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,
车厢号,座位号〕说明:车票种类为:“无座〞或“硬座〞或“硬卧〞或“软卧〞
余票信息表〔车次号,车票种类,出发站,目的站,出发时间〕



5物理构造设计
订票人表字段身份证姓名
联系始发城市目的城市订单号


种类
char(18char(10
varchar(12varchar(10varchar(10char(20


特别属性主键,非空NOTNULLNOTNULLNOTNULLNOTNULL外键

订票单表字段订单号身份证号订票时间

种类char(20char(18datetime

特别属性主键外键
NOTNULL
NOTNULL,默认‘是’或“否〞
LIKE[A-Z]%外键
NOTNULL外键
付款取票与否车次号车票号票价职工号

char(2
varchar(10char(20
int
char(20

车票表字段车票号车次号始发站发车时间车厢号座位号终点站车票种类


字段
char(20
varchar(10varchar(10
datetimeintint
varchar(10char(20
特别属性主键外键
NOTNULLNOTNULL
NOTNULLNOTNULLNOTNULL
IN(‘软卧’,‘硬卧’,‘软
文案大全

大数据库大作业(火车订票系统

适用文档

订单号车次表字段车次号始发站终点站门路站

char(20


座’,‘硬座’,‘站票’
NOTNULL
种类
char(20
varchar(10varchar(10varchar(10特别属性主键
NOTNULLNOTNULLNOTNULL
操作员表字段职工号订票点号姓名


种类
char(20char(20
varchar(10

性别

char(2
varchar(12
特别属性主键
NOTNULLNOTNULL
NOTNULL,默认‘男’
或‘女’
NOTNULL
余票信息表
字段车次号车票种类出发站目的站出发时间余票张数


种类
varchar(10char(10
varchar(10varchar(10datatimeint特别属性主键主键
NOTNULLNOTNULLNOTNULLNOTNULL
6数据库实行

6.1成立数据库

文案大全

大数据库大作业(火车订票系统
适用文档

createdatabase网上订票数据库onprimary(
name=网上订票数据库,filename=数据库网上订票数据库.mdf',size=5MB,
FILEGROWTH=10%
logon(
name=网上订票数据库_log,filename=数据库网上订票数据库_log.ldf',size=5MB,
FILEGROWTH=2MB

6.2成立根本表

创办订票人表
createtable订票人表
(身份证号char(18notnullprimarykey,姓名varchar(10notnull,
联系varchar(12notnull,始发城市varchar(10notnull,目的城市varchar(10notnull,订单号char(20
创办操作员表

文案大全

大数据库大作业(火车订票系统
适用文档

createtable操作员表
(职工号char(10primarykey,订票点varchar(10notnull,姓名varchar(10notnull,
性别char(2check(性别in('','',varchar(12notnull
创办车次信息表
createtable车次信息表(
车次号varchar(10check(车次号LIKE'[A-Z]%'primarykey,始发站varchar(10notnull,
终点站varchar(10notnull,路过站varchar(100

创办订票单表
createtable订票单表
(订单号char(20primarykey,
身份证号char(18references订票人表(身份证号,订票时间datetimenotnull,
付款取票与否char(2check(付款取票与否in('','',车次号varchar(10check(车次号LIKE'[A-Z]%',车票号char(20notnull,票价intnotnull,
职工号char(10references操作员表(职工号
文案大全

大数据库大作业(火车订票系统
适用文档

创办车票信息表
createtable车票信息表
(车票号char(20primarykey,
车次号varchar(10check(车次号LIKE'[A-Z]%',始发站varchar(10notnull,发车时间datetimenotnull,终点站varchar(10notnull,
车票种类char(4check(车票种类in('无座','硬座','硬卧','软卧',订单号char(20references订票单表(订单号,车厢号intnotnull,座位号intnotnull


创办余票信息表
createtable余票信息表
(车次号varchar(10check(车次号LIKE'[A-Z]%'primarykey,出发站varchar(10notnull,
目的站varchar(10notnull,余票张数intnotnull,
车票种类char(20primarykey,出发日期datatime

文案大全

大数据库大作业(火车订票系统
适用文档

6.3成立索引

订票人表
IFexists(select*fromsysindexeswherename='pID_index'dropindex订票人表.pID_indexcreateuniqueindexpID_indexon订票人表(身份证号withfillfactor=30
订票单表
IFexists(select*fromsysindexeswherename='piaoDanNO_index'dropindex订票单表.piaoDanNO_indexcreateindexpiaoDanNO_indexon订票单表(订单号
车票信息表
IFexists(select*fromsysindexeswherename='piaoNO_index'dropindex车票信息表表.piaoNO_indexcreateindexpiaoNO_indexon车票信息表(车票号
车次信息表
IFexists(select*fromsysindexeswherename='cheCiNO_index'dropindex车次信息表.cheCiNO_indexcreateindexcheCiNO_indexon车次信息表(车次号
操作员表
IFexists(select*fromsysindexeswherename='yuanGongNO_index'dropindex操作员表.yuanGongNO_indexcreateindexyuanGongNO_indexon操作员表(职工号
文案大全

大数据库大作业(火车订票系统
适用文档

6.4创办视图

createviewallInfo_viewas
select订票人表.姓名,订票人表.身份证号,订票单表.车次号,
车票信息表.车票号,车票信息表.发车时间,车票信息表.始发站,车票信息表.终点站,订票单表.票价
from订票人表innerjoin订票单表
on订票人表.身份证号=订票单表.身份证号innerjoin车票信息表on订票单表.车票号=车票信息表.车票号innerjoin车次信息表on车票信息表.车次号=车次信息表.车次号


6.5创办储存过程

创办储存过程,经过身份证号查问订票人信息

createprocedurepInfo_proc@pIDchar(18as
select身份证号,姓名,联系,始发城市,目的城市,订单号from订票人表where身份证号=@pID

创办储存过程,经过身份证号查问订票人订票信息
createprocedureticket_proc@pIDchar(18as
select
姓名,订票单表.订单号,订票人表.身份证号,订票时间,付款取票与否,车次号,车票号,票价,职工号
from订票单表innerjoin订票人表
on订票人表.身份证号=订票单表.身份证号where订票单表.身份证号=@pID

6.6创办触发器

文案大全

大数据库大作业(火车订票系统
适用文档
createtrigger余票更新
on车票信息表forinsertas
declare@车次号varchar(10
select@车次号=车次号frominsertedupdate余票信息表
set余票张数=余票张数-1where车次号=@车次号createtrigger余票更新2
on车票信息表fordeleteas
declare@车次号varchar(10
select@车次号=车次号fromdeletedupdate余票信息表
set余票张数=余票张数+1where车次号=@车次号
插入数据
向操作员表中插入数据
insertinto操作员表
values
('2021060001','洛阳','鲁金龙','
向车次信息表中插入数据
insertinto车次信息表
values
('K31','福州','洛阳','商丘、开封、郑州向订票人表中插入数据
insertinto订票人表
values
鲁金龙民权','洛阳
向订票单表中插入数据
insertinto订票单表
values
文案大全


6.7
'
大数据库大作业(火车订票系统
适用文档


,
'
向车票信息表中插入数据
insertvalues
民权','2021-06-2414:31:36''硬座
,'洛阳',
into车票信息表
想余票信息表中插入数据
insertvalues
('K31','民权','洛阳',135,2021-06-2413:24:00,硬座
into车票信息表
6.8关系图

6.9订购车票



insertvalues
into车票信息表
('20210013','T90','南京','2021-07-0913:23:13','河南','硬座','20210013','06','23'
退票
文案大全

大数据库大作业(火车订票系统
适用文档

delete车票信息表where车次号='T90'
7实验小结

经过此次大作业的设计,我们团队经过了几次的强烈议论,由组长带着组员,经过对火车订票系统的需求剖析,观点构造设计,逻辑结果设计,物理构造设计,成立数据库、根本表,创办储存过程、创办触发器以保证订票时对余票数目的改正,我们对数据库有了进一步的理解,同时也为期末考试进行了一个大略的复习,对根本观点的理解更为深刻,对本书中的要点,如模式的分解等内容理解加深。

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

在周四上机掩盖的时候因为没有做出触发器因此没有演示订票的过程,课下我们有进行了改正,能够进行订票的操作。

最后感谢老师这一学期的尽心教育,我们收获好多。感谢老师

~~
文案大全

本文来源:https://www.2haoxitong.net/k/doc/9a3c382e7d192279168884868762caaedc33ba4e.html

《大数据库大作业(火车订票系统).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式