版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中国地质大学(北京)数据库系统概论火车票网上订票系统实验报告小组成员:董威、韦飞阳、李建同、刘厚今学号:联系方式:使用数据库管理系统:SQLserver2012指导老师:宋莉2013年12月28日目录TOC o 1-5 h z HYPERLINK l bookmark2 o Current Document 小组成员及分工0 HYPERLINK l bookmark4 o Current Document 需求分析0 HYPERLINK l bookmark6 o Current Document 功能需求0查询0订票0退票0注册0用户登陆0修改密码0添加车次0数据需求0 HYPERLINK
2、l bookmark8 o Current Document 性能需求1错误!未定义书签。错误!未定义书签错误!未定义书签数据流图1顶层数据流图12.4.21层数据流图1 HYPERLINK l bookmark10 o Current Document 概念结构设计1 HYPERLINK l bookmark12 o Current Document 系统结构简述1 HYPERLINK l bookmark14 o Current Document 数据处理1 HYPERLINK l bookmark16 o Current Document 生成E-R图1逻辑结构设计1 HYPERLINK
3、 l bookmark18 o Current Document 关系模式2 HYPERLINK l bookmark20 o Current Document 物理结构设计2 HYPERLINK l bookmark22 o Current Document 数据库实施3 HYPERLINK l bookmark24 o Current Document 建立数据库3 HYPERLINK l bookmark26 o Current Document 建立基本表3 HYPERLINK l bookmark28 o Current Document 建立索引5 HYPERLINK l book
4、mark30 o Current Document 创建视图5 HYPERLINK l bookmark32 o Current Document 创建存储过程5 HYPERLINK l bookmark34 o Current Document 创建触发器6 HYPERLINK l bookmark36 o Current Document 插入数据6关系图7 HYPERLINK l bookmark38 o Current Document 订购车票7 HYPERLINK l bookmark40 o Current Document 退票7 HYPERLINK l bookmark42
5、o Current Document 实验小结7身小组成员及分工董威:数据库的实施,即在查询分析器下编写代码建立数据库,创建基本表,建立基本表之间的关系、索引,创建存储过程等工作。韦飞阳:主要负责逻辑结构的设计,即确定关系模式。李建同:只要负责物理结构的设计,即确定各个基本表之间的关系,确定主外键。刘厚今:需求分析模块,主要负责寻找需求,绘制数据流图。需求分析功能需求2.1.1查询:用户、管理员都可以对车次进行查询:可以按照发车车次进行查询;可以按照出发地、目的地进行查询;可以按照类车类型、座位类型查询。车次信息包括:车次ID,车号,出发地,目的地,列车类型,座位类型,票价,票数,车次信息只允
6、许用户查询,不能修改。订票:用户登陆后,通过订票系统,根据自己你的需求找到自己的车次,输入要预订的票数进行订票。要求订票记录应包括:订票记录ID,车次ID,用户ID,订票数量。退票:用户登录后,通过退票系统,找到自己的订票信息,输入要退的票数进行退票。注册:想要订票的用户必须先注册然后登陆订票。用户信息包括:用户ID,用户名,密码,邮箱。用户登陆:主要完成用户和管理员的登陆。用户想订票必须登陆后才能进行订票,如果没有注册的用户应该与注册页面相连接。修改密码:用户和管理员登陆后可以修改个人信息。添加车次:管理员登陆后可以添加新的车次。数据需求信息输入信息处理信息输出用户输入所需车次检索系统数据库
7、符合用户需求的车次及相关信息用户管理员输入用户名、密码进行登录检索系统数据库成功登陆后的首页用户输入个人信息进行注册将输入信息存入系统数据库操作反馈用户输入订票数量检索系统数据库已得到订票记录,添加用户请求的订票记录,更新系统数据库操作反馈用户输入退票数量检索系统数据库已得到订票记录,删除用户请求的订票记录,更新系操作反馈统数据库用户管理员输入新密码更新系统数据库操作反馈管理员输入添加车次信息将新信息存入数据库操作反馈性能需求系统应能及时准确的根据用户权限及所输入的信息作出响应。由于查询功能对于用户来讲很重要,因为这直接影响了用户的订票决策,所以系统的准确性和及时性很重要。本系统是针对用户直接
8、开放的,所以应该提供良好的接口。网上订票的数据是很重要的信息,系统应该保证用户的权限,对于车次的信息不能更改。同时还应该保证管理人员进行正常的维护、更新等工作,保证数据的一致性。数据流图2.4.1顶层数据流图2.4.21层数据流图概念结构设计系统结构简述本系统包括六个实体:订票人,订票单信息,车票信息,车次信息,操作员,余票信息。订票人与订票单、订票单与车票信息这两个关系是一对一的联系;车票信息与车次信息订票单信息与操作员这两个关系是1对多的联系。数据处理输入:身份证号输出:订票单号,订票人身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号。输入:身份证号输出:车票号,始发站,车次
9、号,发车时间,终点站,车票种类。输入:车次号输出:姓名,身份证号,联系电话,目的城市,始发城市。3.2.4查询余票数量输入:乘车区间和车次号输出:余票数量。3.3生成E-R图4.1关系模式订票人表(身份证号,姓名,联系电话,始发城市,目的城市,订单号)操作员表(员工号,订票点号,姓名,性别,电话)车次信息表(车次号,始发站,终点站,途径站)订票单表(订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号)车票信息表(车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,车厢号,座位号)说明:车票种类为:“无座”或“硬座”或“硬卧”或“软卧”余票信息表(车次号,车票种类,出
10、发站,目的站,出发时间)5物理结构设计订票人表字段类型特殊属性身份证char(18)主键,非空姓名char(10)NOTNULL联系电话varchar(12)NOTNULL始发城市varchar(lO)NOTNULL目的城市varchar(lO)NOTNULL订单号char(20)外键订票单表字段类型特殊属性订单号char(20)主键身份证号char(18)外键订票时间datetimeNOTNULL付款取票与否char(2)NOTNULL,默认是,或“否”车次号varchar(lO)LIKEA-Z%车票号char(20)外键票价intNOTNULL员工号char(20)外键车票表字段字段特殊属
11、性车票号char(20)主键车次号varchar(lO)外键始发站varchar(lO)NOTNULL发车时间datetimeNOTNULL车厢号intNOTNULL座位号intNOTNULL终点站varchar(lO)NOTNULL车票种类char(20)IN(软卧,硬卧,软座,硬座,站票)订单号char(20)NOTNULL车次表字段类型特殊属性车次号char(20)主键始发站varchar(lO)NOTNULL终点站varchar(lO)NOTNULL途径站varchar(lO)NOTNULL操作员表字段类型特殊属性员工号char(20)主键订票点号char(20)NOTNULL姓名va
12、rchar(lO)NOTNULL性别char(2)NOTNULL,默认男或女电话varchar(12)NOTNULL余票信息表字段类型特殊属性车次号varchar(lO)主键车票种类char(10)主键出发站varchar(lO)NOTNULL目的站varchar(lO)NOTNULL出发时间datatimeNOTNULL余票张数intNOTNULL6数据库实施6.1建立数据库createdatabase网上订票数据库onprimary(name二网上订票数据库,filename二E:数据库网上订票数据库.mdf,size=5MB,FILEGROWTH=10%)logon(name二网上订票数
13、据库_log,filename=E:数据库网上订票数据库_log.ldf,size=5MB,FILEGROWTH=2MB)建立基本表创建订票人表: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,姓名varchar(10)
14、notnull,性别char(2)check(性别in(男,女),电话varchar(12)notnull)创建车次信息表:createtable车次信息表(车次号varchar(10)check(车次号LIKEA-Z%)primarykey,始发站varchar(10)notnull,终点站varchar(10)notnull,途经站varchar(100)创建订票单表:createtable订票单表(订单号char(20)primarykey,身份证号char(18)references订票人表(身份证号),订票时间datetimenotnull,付款取票与否char(2)check(付款
15、取票与否in(是,否),车次号varchar(10)check(车次号LIKEA-Z%),车票号char(20)notnull,票价intnotnull,员工号char(10)references操作员表(员工号)创建车票信息表:createtable车票信息表(车票号char(20)primarykey,车次号varchar(10)check(车次号LIKEA-Z%),始发站varchar(10)notnull,发车时间datetimenotnull,终点站varchar(10)notnull,车票种类char(4)check(车票种类in(无座,硬座,硬卧,软卧),订单号char(20)r
16、eferences订票单表(订单号),车厢号intnotnull,座位号intnotnull)创建余票信息表:createtable余票信息表(车次号varchar(10)check(车次号LIKEA-Z%)primarykey,出发站varchar(10)notnull,目的站varchar(10)notnull,余票张数intnotnull,车票种类char(20)primarykey,出发日期datatime)建立索引订票人表:IFexists(select*fromsysindexeswherename=pID_index)dropindex订票人表.pID_indexcreateun
17、iqueindexpID_indexon订票人表(身份证号)withfillfactor=30订票单表:IFexists(select*fromsysindexeswherename=piaoDanNO_index)dropindex订票单表.piaoDanNO_indexcreateindexpiaoDanNO_indexon订票单表(订单号)车票信息表:IFexists(select*fromsysindexeswherename=piaoNO_index)dropindex车票信息表表.piaoNO_indexcreateindexpiaoNO_indexon车票信息表(车票号)车次信息
18、表:IFexists(select*fromsysindexeswherename=cheCiNO_index)dropindex车次信息表.cheCiNO_indexcreateindexcheCiNO_indexon车次信息表(车次号)操作员表:IFexists(select*fromsysindexeswherename=yuanGongNO_index)dropindex操作员表.yuanGongNO_indexcreateindexyuanGongNO_indexon操作员表(员工号)创建视图createviewallInfo_viewasselect订票人表.姓名,订票人表.身份证
19、号,订票单表.车次号,车票信息表.车票号,车票信息表.发车时间,车票信息表.始发站,车票信息表.终点站,订票单表.票价from订票人表innerjoin订票单表on订票人表.身份证号=订票单表.身份证号innerjoin车票信息表on订票单表.车票号=车票信息表.车票号innerjoin车次信息表on车票信息表.车次号=车次信息表.车次号创建存储过程创建存储过程,通过身份证号查询订票人信息:createprocedurepInfo_procpIDchar(18)asselect身份证号,姓名,联系电话,始发城市,目的城市,订单号from订票人表where身份证号二pID创建存储过程,通过身份证
20、号查询订票人订票信息:createprocedureticket_procpIDchar(18)asselect姓名,订票单表.订单号,订票人表.身份证号,订票时间,付款取票与否,车次号,车票号,票价,员工号from订票单表innerjoin订票人表on订票人表.身份证号=订票单表.身份证号where订票单表.身份证号=pID创建触发器createtrigger余票更新on车票信息表forinsertasdeclare车次号varchar(10)select车次号=车次号frominsertedupdate余票信息表set余票张数=余票张数-1where车次号=车次号createtrigger余票更新2on车票信息表fordeleteasdeclare车次号varchar(10)select车次号=车次号fromdeletedupdate余票信息表set余票张数=余票张数+1where车次号=车次号6.7插入数据向操作员表中插入数据:insertinto操作员表values(,洛阳,鲁金龙,男,)向车次信息表中插入数据:insertinto车次信息表values(K31,福州,洛阳,商丘、开封、郑州)向订票人表中插入数据:inse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年沪教版选修3化学下册月考试卷
- 重力选煤课程设计前言
- 农村护坡骨架施工方案
- 2025年度塔吊司机承包与薪酬激励合同规范3篇
- 2024碎石原料供需双方紧急调配合同
- 黑河土石坝标准施工课程设计
- 2024年湖南艺术职业学院高职单招职业适应性测试历年参考题库含答案解析
- 2024年领航:高级管理顾问雇佣合同3篇
- 2024投资借款合同范本
- 二零二五年度10kv线路施工环保验收合作协议3篇
- 心房颤动诊断和治疗中国指南(2023) 解读
- 2024年中国海参行业发展现状调查、竞争格局分析及未来前景预测报告
- 【初中物理】弹力+课件+物理人教版八年级下册
- 中考数学计算题练习100道(2024年中考真题)
- 人工智能基础与应用-课程标准
- 异常产程的识别和处理
- 耳尖放血的护理
- 人工智能趣味科普系列
- 工艺工程师的专业技能培养
- 第二章 新闻评论中的观点
- SAP财务操作说明
评论
0/150
提交评论