




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中国地质大学(北京)数据库系统概论火车票网上订票系统小组成员:董威、韦飞阳、李建同、刘厚今学号:联系方式:使用数据库管理系统:SQL server 2012指导老师:宋莉2013年 12月 28 日目录1. 小组成员及分工 02. 需求分析 02.1 功能需求 02.1.1 查询 02.1.2 订票 12.1.3 退票 12.1.4 注册 12.1.5 用户登陆 12.1.6 修改密码 12.1.7 添加车次 12.2 数据需求 12.3 性能需求 2 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。2.4 数据流图 32.4.1 顶层数据流图 32.4.2 1 层数据流图 3
2、3. 概念结构设计 33.1 系统结构简述 33.2 数据处理 43.3生成E-R图 54逻辑结构设计 54.1 关系模式 55 物理结构设计 66数据库实施 116.1 建立数据库 116.2 建立基本表 126.3 建立索引 166.4 创建视图 196.5 创建存储过程 196.6 创建触发器 216.7 插入数据 226.8 关系图 256.9 订购车票 256.10 退票 257 实验小结 251. 小组成员及分工董威:数据库的实施,即在查询分析器下编写代码建立数据库,创建基本表,建立 基本表之间的关系、索引,创建存储过程等工 作。韦飞阳:主要负责逻辑结构的设计,即确定关系模式。李建
3、同:只要负责物理结构的设计,即确定各个基本表之间的 关系,确定主外键。刘厚今:需求分析模块,主要负责寻找需求,绘制数据流图。2. 需求分析2.1 功能需求2.1.1 查询:用户、管理员都可以对车次进行查询:可以按照发车车次进行查询;可以按照出发地、 目的地进行查询; 可以按照类车类型、座位类型查询。车次信息包括:车次ID,车号,出发地,目的地,列车类型,座位类型,票价,票数,车次信息只允许用户查询,不能修 改。2.1.2 订票:用户登陆后,通过订票系统,根据自己你的需求找到自己的车次,输入要预订的票数进行订票。要求订票记录应包括:订票记录ID,车次ID,用户ID,订票数量。2.1.3 退票:用
4、户登录后,通过退票系统,找到自己的订票信息,输入要退的票数进行退票。2.1.4 注册:想要订票的用户必须先注册然后登陆订票。用户信息包括:用户ID,用户名,密码,邮箱。2.1.5 用户登陆:主要完成用户和管理员的登陆。用户想订票必须登陆后才能进行订票,如果没有注册的用户应该与注册页面相连接。2.1.6 修改密码:用户和管理员登陆后可以修改个人信息。2.1.7 添加车次:管理员登陆后可以添加新的车次。2.2数据需求信息输入信息处理信息输出用户输入所需车次检索系统数据库符合用户需求的车次及相关信息用户管理员输入用户名、密码进行登录检索系统数据库成功登陆后的首页用户输入个人信息进行注将输入信息存入系
5、统数据操作反馈nri- 册库用户输入订票数量检索系统数据库已得到订 票记录,添加用户请求的 订票记录,更新系统数据 库操作反馈用户输入退票数量检索系统数据库已得到订 票记录,删除用户请求的 订票记录,更新系统数据 库操作反馈用户管理员输入新密码更新系统数据库操作反馈管理员输入添加车次信息将新信息存入数据库操作反馈2.3性能需求系统应能及时准确的根据用户权限及所输入的信息作出响应。 由于查 询功 能对于用户来讲很重要, 因为这直接影响了用户的订票决策, 所以系统的 准确性和及时性很重要。本系统是针对用户直接开放的,所以应该提供良好的接口。网上订票的数据是很重要的信息, 系统应该保证用户的权限,
6、对于车 次的 信息不能更改。同时还应该保证管理人员进行正常的维护、更新 等工作, 保证数据的一致性。2.4 数据流图2.4.1 顶层数据流图2.4.2 1 层数据流图3. 概念结构设计3.1 系统结构简述本系统包括六个实体:订票人,订票单信息,车票信息,车次信息,操 作员,余票信息。订票人与订票单、订票单与车票信息这两个关系是一对一的联系;车票信息与车次信息、 订票单信息与操作员这两个关系是 1 对多的联系3.2 数据处理输入:身份证号 输出:订票单号,订票人身份证号,订单时间,付款取票与否,车次 号,车票号 , 票价,员工号。输入:身份证号输出:车票号,始发站,车次号,发车时间,终点站,车票
7、种类。输入:车次号输出:姓名,身份证号,联系电话,目的城市,始发城市3.2.4 查询余票数量输入:乘车区间和车次号输出:余票数量。3.3 生成E-R图身份证号订单号车票号车属号订单号类员工号电话11票价n姓名逻辑结构设计身份证号关系模式1车次号_口:c订票人 订单取票 名,发证号,订单时间员工号订票点号终点站_U车票种类操作员表(员工号,订票点号,姓名,性始发站车票口n言息表(车次号,始发站;口途径车站吏系电话,始发城市,目的城市,订单 车次号 始发站古,途径站)票价车次号座位号订票单表(订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,余票张数O出发站目的站1出发日期车票信息表
8、(车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,车厢号,座位号)说明:车票种类为:“无座”或“硬座”或“硬卧”或“软卧”余票信息表(车次号,车票种类,出发站,目的站,出发时间)5物理结构设计订票人表字段类型特殊属性身份证char(18)主键,非空姓名char(10)NOT NULL联系电话varchar(12)NOT NULL始发城市varchar(10)NOT NULL目的城市varchar(IO)NOT NULL订单号char(20)外键订票单表字段类型特殊属性订单号char(20)主键身份证号char(18)外键订票时间datetimeNOT NULL付款取票与否char(
9、2)NOT NULL 默认是或“否”车次号varchar(IO)LIKE A-Z% 车票号char(20)外键票价intNOT NULL员工号char(20)外键车票表字段字段特殊属性车票号char(20)主键车次号varchar(10)外键始发站varchar(10)NOT NULL发车时间datetimeNOT NULL车厢号intNOT NULL座位号intNOT NULL终点站varchar(10)NOT NULL车票种类char(20)IN(软卧,硬卧,软座,硬座,站票)订单号char(20)NOT NULL车次表字段类型特殊属性车次号char(20)主键始发站varchar(10)
10、NOT NULL终点站varchar(10)NOT NULL途径站varchar(10)NOT NULL操作员表字段类型特殊属性员工号char(20)主键订票点号char(20)NOT NULL姓名varchar(IO)NOT NULL性别char (2)NOT NULL 默认男或女电话varchar(12)NOT NULL余票信息表字段类型特殊属性车次号varchar(IO)主键车票种类char(10)主键出发站varchar(IO)NOT NULL目的站varchar(IO)NOT NULL出发时间datatimeNOT NULL余票张数intNOT NULL6数据库实施6.1建立数据库c
11、reate database 网上订票数据库on primary(name=网上订票数据库,file name = 数据库 网上订票数据库.mdfsize =5MEBFILEGROWTHO%) log on目的城市 varchar ( 10) not null,name=网上订票数据库_log , filename = 数据库 网上订票数据库 _log.ldf size =5MB,FILEGROWT=H2MB)6.2 建立基本表创建订票人表 :create table 订票人表( 身份证号 char (18) not null primary key,姓名 varchar (10) not n
12、ull,联系电话 varchar (12) not null,订单号 char ( 20)创建操作员表 :create table 操作员表( 员工号 char ( 10) primary key ,订票点 varchar ( 10) not null,姓名 varchar ( 10) not null,性别 char ( 2) check (性别 in( 男 ,女 ),电话 varchar ( 12) not null)创建车次信息表 :create table 车次信息表(票价 int not null,始发站 varchar (10) not null,终点站 varchar (10)
13、not null,途经站 varchar (100) )创建订票单表 :create table 订票单表( 订单号 char ( 20) primary key,身份证号 char ( 18) references 订票人表 ( 身份证号 ),订票时间 datetime not null,付款取票与否 char ( 2) check (付款取票与否 in( 是,否 ), 车次号 varchar (10) check (车次号 LIKE A-Z% ),员工号 char ( 10) references 操作员表 ( 员工号 )创建车票信息表 :create table 车票信息表( 车票号 c
14、har ( 20) primary key,车次号 varchar (10) check (车次号 LIKE A-Z% ),始发站 varchar (10) not null,发车时间 datetime not null,终点站 varchar (10) not null,车票种类 char ( 4) check (车票种类 in( 无座, 硬座 ,硬卧 ,软卧),订单号 char ( 20) references 订票单表 ( 订单号 ),车厢号 int not null,座位号 int not null)创建余票信息表 :create table 余票信息表key,( 车次号 varcha
15、r (10) check ( 车次号 LIKE A-Z% ) primary出发站 varchar (10) not null,目的站 varchar (10) not null,余票张数 int not null,车票种类 char ( 20) primary key,出发日期 datatime )6.3 建立索引订票人表 :IF exists ( select * from sysindexes where name=pID_index )drop index 订票人表 . pID_indexcreate unique index pID_indexon 订票人表 ( 身份证号 )with
16、 fillfactor =30订票单表 :IF exists ( select * from sysindexes where name=piaoDanNO_index )drop index 订票单表 . piaoDanNO_indexcreate index piaoDanNO_indexon 订票单表 (订单号 )车票信息表 :IF exists ( select * from sysindexes where name=piaoNO_index )drop index 车票信息表表 . piaoNO_indexcreate index piaoNO_indexon 车票信息表 ( 车票
17、号 )车次信息表 :IF exists ( select * from sysindexes where name=cheCiNO_index ) drop index 车次信息表 . cheCiNO_indexcreate index cheCiNO_indexon 车次信息表 ( 车次号 )操作员表 :IF exists ( select * from sysindexes where name=yuanGongNO_index ) drop index 操作员表 . yuanGongNO_indexcreate index yuanGongNO_indexon 操作员表 ( 员工号 )6
18、.4 创建视图create view allInfo_viewasselect 订票人表 .姓名, 订票人表.身份证号 ,订票单表 .车次号, 车票信息表 . 车票号 , 车票信息表 . 发车时间 , 车票信息表 . 始发站 , 车票信息表 . 终点站 , 订票单表 . 票价from 订票人表 inner join 订票单表on 订票人表 . 身份证号 = 订票单表 . 身份证号 inner join 车票信息表on 订票单表 . 车票号 = 车票信息表 . 车票号 inner join 车次信息表on 车票信息表 . 车次号 = 车次信息表 . 车次号6.5 创建存储过程创建存储过程 ,通过
19、身份证号查询订票人信息where 订票单表 . 身份证号 =pIDpID char ( 18)asselect 身份证号 , 姓名 , 联系电话 , 始发城市 , 目的城市 , 订单号from 订票人表 where 身份证号 =pID创建存储过程 , 通过身份证号查询订票人订票信息 :create procedure ticket_procpID char ( 18)asselect 姓名,订票单表 .订单号,订票人表 .身份证号 ,订票时间 ,付款取票与否,车次号,车票号 ,票价,员工号from 订票单表 inner join 订票人表 on 订票人表 .身份证号 = 订票单表 .身份证号6
20、.6 创建触发器 create trigger 余票更新 on 车票信息表 for insert as declare 车次号 varchar(10) select 车次号 =车次号 from inserted update 余票信息表 set 余票张数 =余票张数 -1 where 车次号 =车次号 create trigger 余票更新 2on 车票信息表 for deleteasdeclare 车次号 varchar(10)select 车次号 =车次号 from deletedupdate 余票信息表set 余票张数 =余票张数 +1where 车次号 =车次号6.7 插入数据向操作员表中插入数据 :insert into 操作员表 valuesvalues向车次信息表中插入数据 :insert into 车次信息表values( K31 , 福州 , 洛阳 , 商丘、开封、郑州 ) 向订票人表中插入数据 :insert into 订票人表values(, 鲁金龙 , 民权 , 洛阳 ,) 向订票单表中插入数据 :insert into 订票单表(, 2011-06-24 14:31:36 ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省涞源县2025年上半年公开招聘村务工作者试题含答案分析
- 灌装生产线知识培训课件
- 灌肠课件内容
- 极化蛋白动态机制-洞察及研究
- 知识型员工培训注意点
- 智能厨电环境效益评估-洞察及研究
- 铁路乘务课件
- 2025年甘肃省公务员遴选考试题及答案
- 2025年村居后备干部考试试题及参考答案
- 资源环境承载力评估-第1篇-洞察及研究
- 妊娠期甲状腺疾病诊治
- 成品纸仓库管理制度
- 公司电动汽车安全管理制度
- 电工入场安全教育试卷(含答案)
- 纪念抗日战争胜利80周年
- 数字化牙科扫描技术-洞察及研究
- 2024年甘肃白银有色集团股份有限公司招聘真题
- JG/T 269-2010建筑红外热像检测要求
- 医院晋升晋级管理制度
- T/CNFAGS 15-2024绿色合成氨分级标准(试行)
- T/CCS 038-2023无人快速定量智能装车系统技术规范
评论
0/150
提交评论