欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库大作业(火车订票系统)(共11页).doc

    • 资源ID:14489175       资源大小:132KB        全文页数:11页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库大作业(火车订票系统)(共11页).doc

    精选优质文档-倾情为你奉上中国地质大学(北京)数据库系统概论火车票网上订票系统实验报告小组成员:董威、韦飞阳、李建同、刘厚今学号:联系方式:使用数据库管理系统:SQL server 2012指导老师:宋莉2013年12月28日专心-专注-专业目录 1.小组成员及分工董威:数据库的实施,即在查询分析器下编写代码建立数据库,创建基本表,建立 基本表之间的关系、索引,创建存储过程等工作。韦飞阳:主要负责逻辑结构的设计,即确定关系模式。李建同:只要负责物理结构的设计,即确定各个基本表之间的 关系,确定主外键。刘厚今:需求分析模块,主要负责寻找需求,绘制数据流图。2.需求分析2.1 功能需求 2.1.1 查询:用户、管理员都可以对车次进行查询:可以按照发车车次进行查 询;可以按照出发地、目的地进行查询;可以按照类车类型、座 位类型查询。 车次信息包括:车次ID,车号,出发地,目的地,列车类型,座 位类型,票价,票数,车次信息只允许用户查询,不能修改。 2.1.2 订票:用户登陆后,通过订票系统,根据自己你的需求找到自己的车次, 输入要预订的票数进行订票。要求订票记录应包括:订票记录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.2 1层数据流图3.概念结构设计 3.1 系统结构简述 本系统包括六个实体:订票人,订票单信息,车票信息,车次信息,操作员,余票信息。 订票人与订票单、订票单与车票信息这两个关系是一对一的联系;车票信息与车次信息、 订票单信息与操作员这两个关系是1对多的联系。 3.2 数据处理 输入:身份证号 输出:订票单号,订票人身份证号,订单时间,付款取票与否,车次号,车票号 ,票价,员工号。 输入:身份证号 输出:车票号,始发站,车次号,发车时间,终点站,车票种类。 输入:车次号 输出:姓名,身份证号,联系电话,目的城市,始发城市。3.2.4 查询余票数量 输入:乘车区间和车次号 输出:余票数量。 3.3生成E-R图始发站目的站订票人联系电话姓名11n1n11111出发日期余票张数出发站目的站车次号余票信息查询终点站车次号始发站途径车站票价员工号车次信息属于车票种类发车时间订单号车票号始发站终点站车厢号座位号取票与否车票信息属于订票点号姓名电话性别票价操作员操作订单时间车票号员工号身份证号车次号订单号订单号订票信息属于身份证号车票种类车次号订票人表(身份证号,姓名,联系电话,始发城市,目的城市,订单号)操作员表(员工号,订票点号,姓名,性别,电话)车次信息表(车次号,始发站,终点站,途径站)订票单表(订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号)车票信息表(车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,车厢号,座位号)说明:车票种类为:“无座”或“硬座”或“硬卧”或“软卧”车次号订票人表(身份证号,姓名,联系电话,始发城市,目的城市,订单号)操作员表(员工号,订票点号,姓名,性别,电话)车次信息表(车次号,始发站,终点站,途径站)订票单表(订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号)车票信息表(车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,车厢号,座位号)说明:车票种类为:“无座”或“硬座”或“硬卧”或“软卧”车次号订票人表(身份证号,姓名,联系电话,始发城市,目的城市,订单号)操作员表(员工号,订票点号,姓名,性别,电话)车次信息表(车次号,始发站,终点站,途径站)订票单表(订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号)车票信息表(车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,车厢号,座位号)说明:车票种类为:“无座”或“硬座”或“硬卧”或“软卧”车次号订票人表(身份证号,姓名,联系电话,始发城市,目的城市,订单号)操作员表(员工号,订票点号,姓名,性别,电话)车次信息表(车次号,始发站,终点站,途径站)订票单表(订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号)车票信息表(车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,车厢号,座位号)说明:车票种类为:“无座”或“硬座”或“硬卧”或“软卧”4逻辑结构设计4.1 关系模式订票人表(身份证号,姓名,联系电话,始发城市,目的城市,订单号)操作员表(员工号,订票点号,姓名,性别,电话)车次信息表(车次号,始发站,终点站,途径站)订票单表(订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号)车票信息表(车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,车厢号,座位号)说明:车票种类为:“无座”或“硬座”或“硬卧”或“软卧”余票信息表(车次号,车票种类,出发站,目的站,出发时间)5 物理结构设计订票人表字段类型特殊属性身份证char(18)主键,非空姓名char(10)NOT NULL联系电话varchar(12)NOT NULL始发城市varchar(10)NOT NULL目的城市varchar(10)NOT NULL订单号char(20)外键订票单表字段类型特殊属性订单号char(20)主键身份证号char(18)外键订票时间datetimeNOT NULL付款取票与否char(2)NOT NULL,默认是或“否”车次号varchar(10)LIKEA-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)NOT NULL终点站varchar(10)NOT NULL途径站varchar(10)NOT NULL操作员表字段类型特殊属性员工号char(20)主键订票点号char(20)NOT NULL姓名varchar(10)NOT NULL性别char(2)NOT NULL,默认男或女电话varchar(12)NOT NULL 余票信息表字段类型特殊属性车次号varchar(10)主键车票种类char(10)主键出发站varchar(10)NOT NULL目的站varchar(10)NOT NULL出发时间datatimeNOT NULL余票张数intNOT NULL6数据库实施6.1 建立数据库create database 网上订票数据库on primary(name=网上订票数据库, filename='E:数据库网上订票数据库.mdf',size=5MB,FILEGROWTH=10%)log on(name=网上订票数据库_log, filename='E:数据库网上订票数据库_log.ldf',size=5MB,FILEGROWTH=2MB)6.2 建立基本表创建订票人表:create table 订票人表(身份证号 char(18) not null primary key,姓名 varchar(10) not null,联系电话 varchar(12) not null,始发城市 varchar(10) not null,目的城市 varchar(10) 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 车次信息表( 车次号 varchar(10) check (车次号 LIKE 'A-Z%') primary key ,始发站 varchar(10) not null,终点站 varchar(10) 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(20) not null,票价 int not null,员工号 char(10) references 操作员表(员工号)创建车票信息表:create table 车票信息表(车票号 char(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 余票信息表 (车次号 varchar(10) check (车次号 LIKE 'A-Z%') primary key, 出发站 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 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 车票信息表(车票号)车次信息表: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.4 创建视图create view allInfo_viewasselect 订票人表.姓名, 订票人表.身份证号,订票单表.车次号,车票信息表.车票号,车票信息表.发车时间,车票信息表.始发站,车票信息表.终点站,订票单表.票价from 订票人表 inner join 订票单表on 订票人表.身份证号= 订票单表.身份证号 inner join 车票信息表on 订票单表.车票号= 车票信息表.车票号 inner join 车次信息表on 车票信息表.车次号= 车次信息表.车次号 6.5 创建存储过程 创建存储过程,通过身份证号查询订票人信息:create procedure pInfo_procpID char(18)asselect 身份证号,姓名,联系电话,始发城市,目的城市,订单号from 订票人表 where 身份证号=pID创建存储过程,通过身份证号查询订票人订票信息:create procedure ticket_procpID char(18)asselect 姓名,订票单表.订单号,订票人表.身份证号,订票时间,付款取票与否,车次号,车票号,票价,员工号from 订票单表inner join 订票人表on 订票人表.身份证号= 订票单表.身份证号where 订票单表.身份证号=pID6.6 创建触发器create trigger 余票更新on 车票信息表for insert asdeclare 车次号 varchar(10)select 车次号=车次号 from insertedupdate 余票信息表set 余票张数=余票张数-1where 车次号=车次号create trigger 余票更新2on 车票信息表for delete asdeclare 车次号 varchar(10)select 车次号=车次号 from deletedupdate 余票信息表set 余票张数=余票张数+1where 车次号=车次号6.7插入数据向操作员表中插入数据:insert into 操作员表values(,'洛阳','鲁金龙','男',)向车次信息表中插入数据:insert into 车次信息表values('K31','福州','洛阳','商丘、开封、郑州')向订票人表中插入数据:insert into 订票人表values(,'鲁金龙','民权', '洛阳',)向订票单表中插入数据:insert into 订票单表values(,'2011-06-24 14:31:36', '是','K31',12.5,)向车票信息表中插入数据:insert into 车票信息表values(,'K31','民权','2011-06-24 14:31:36','洛阳', '硬座',12,021)想余票信息表中插入数据: insert into 车票信息表 values ('K31','民权','洛阳',135,2011-06-24 13:24:00,硬座)6.8 关系图6.9 订购车票insert into 车票信息表values(,'T90','南京','2013-07-09 13:23:13','河南','硬座','06','23')6.10 退票delete 车票信息表where 车次号='T90'7 实验小结通过这次大作业的设计,我们团队经过了几次的激烈讨论,由组长带领组员,通过对火车订票系统的需求分析,概念结构设计,逻辑结果设计,物理结构设计,建立数据库、基本表,创建存储过程、创建触发器以保证订票时对余票数量的修改,我们对数据库有了进一步的理解,同时也为期末考试进行了一个粗略的复习,对基本概念的理解更加深刻,对本书中的重点,如模式的分解等内容理解加深。在时间的过程中,发现对SQL语言的掌握还远远不够,这也是在大作业的设计过程中遇到的一个大难题,尤其是在做存储过程和触发器的时候,没有掌握代码的格式和方法,所以花了很长时间来熟悉创建存储过程和触发器的代码上。在周四上机掩饰的时候由于没有做出触发器所以没有演示订票的过程,课下我们有进行了修改,能够进行订票的操作。最后感谢老师这一学期的悉心教导,我们收获很多。谢谢老师

    注意事项

    本文(数据库大作业(火车订票系统)(共11页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开