数据库大作业(火车订票系统)
数据库课程设计--火车票售票管理系统

课程设计说明书(数据库技术及实训)题目: 火车票售票管理系统院系:计算机科学与工程学院专业班级:班学号:学生姓名:指导教师:2014年 5 月 4日课程设计(论文)任务书年月日摘要中国铁路客票发售和预订系统的核心功能是建立一个覆盖全国铁路的计算机售票网络,实现客票管理和发售工作现代化,从而方便旅客购票和旅行,提高铁路客运经营水平和服务质量,系统可预订、预售和发售当日客票,具有售返程、联程等异地购票功能。
系统预售期为20天。
可以实现票额、坐席、制票、计费、结算、统计等工作的计算机管理。
系统采用微软推出的Visual Studio 2005作为开发工具基于B/S结构,数据库采用微软的SQL Server 2005进行数据库设计。
关键词:铁路客运服务;计算机售票网络;SQL Server 2005目录1系统分析 (1)1.1 课题背景 (1)1.2目的和意义 (1)1.3可行性分析 (1)2系统设计 (3)2.1数据字典 (3)2.2数据流图 (3)2.3 系统模块总体设计 (11)2.4数据库概念结构设计 (11)3系统实现 (13)3.1 数据库逻辑结构设计 (13)3.3测试 (15)4总结 (16)4.1 设计体会 (16)4.2 系统改进 (16)参考文献 (16)1系统分析1.1 课题背景中国拥有总里程超过五万公里的铁路线,是世界上最大的铁路运输网之一,而铁路客运服务在其中又占有非常重要的地位。
其中有5000多个车站承办业务,日开列车2000多列。
为了在日益加剧的客户运输竞争服务中确保优秀,改善铁路客户的服务质量,铁道部门一直在寻找提高竞争力、改善服务的途径。
计算机应用火车站售票的日常管理为火车站售票的现代化带来了前所未有的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。
能给火车站票务带来明显的经济效益和社会效益。
1.2目的和意义火车票票务管理的全部数据处理都由人工操作,工作量大,工作效率低,错误率高,信息反馈不及时,因此本系统拟对该火车票票务管理做如下几方面改革:✧系统功能重构✧业务流程重组✧数据流程重组为解决上述问题,要根据目前火车票的管理模式和方法利用Internet、局域网和计算机开发基于Web的火车票订票管理信息系统,可以实现票额、坐席、制票、计费、结算、统计等工作的计算机管理。
数据库--售票系统

大型数据库课程设计报告课 题: 铁路票务系统 专业班级: 计科07101 学 号: 200717010124 姓 名: 毕 于 通 指导教师: 屠 添 翼目 录评阅意见:评定成绩:指导老师签名:年 月 日目录摘要.............................................................................................. 错误!未定义书签。
1.课程设计的目的与意义 (2)2.需求分析 (3)3.系统设计 (5)4.系统实现 (11)5. 系统调试 (18)6.小结 (24)附录源代码 (25)1.课程设计的目的与意义1.1、课程设计的目的数据库课程设计是数据库系统原理实践环节的及为重要的一部分.其目的是:(1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER,全局ER图;(2)培养学生能够应用数据库系统在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型;(3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用事务处理,存储过程,触发器以保证数据库系统的数据完整性,安全性,一致性,保证数据共享和防止数据冲突;(4)培养学生理论与实际相结合能力, 培养学生开发创新能力;(5)培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势;(6)提高和加强学生的计算机应用与软件开发能力,使学生由初学者向专业的程序员过渡。
1.2、课程设计的意义目前,我国在计算机应用、计算机软件和电子类相关专业的人才培养方面,取得了长足的发展,但同时也让我们深刻地感觉到缺乏实际开发设计项目的经验,不善与综合运用所学理论,对知识的把握缺乏融会贯通的能力.尤其是我们计算机专业大学生,由于缺乏具体项目经验,毕业之后普遍感到知识不能转化为能力。
数据库课程设计实验报告-火车票售票管理系统

数据库课程设计报告 -------火车售票管理信息系统软件学院软件工程2013级x班姓名: xx学号:2013xxxxxxxx目录一、系统开发平台 (1)四、需求分析 (2)4.1 用户需求说明 (2)4.1.1 数据需求 (2)4.1.2 事务需求 (3)4.2 系统需求说明 (4)五、数据库逻辑设计 (4)5.1 ER图 (4)5.2 数据字典 (5)5.3 关系表 (7)六、数据库物理设计 (7)6.1 索引 (7)6.2 视图本节可选 (8)6.3 安全机制 (8)七、应用程序设计 (8)7.1 功能模块 (8)7.2 界面设计 (15)7.3 事务设计 (15)八、测试和运行 (16)九、总结 (16)一、系统开发平台题目:对火车站的售票进行管理。
主要功能:车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。
开发工具:eclipse数据库:mysql操作系统:windows8.1二、数据库规划2.1 任务陈述:做一个火车票售票管理系统:对火车站的售票进行管理。
主要功能:车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。
2.2 任务目标完成一个火车票售票管理系统,要实现管理员对车票的增添以及删改功能,同时需要实现用户对车票的查询购买,以及出现调整之后的退票服务。
三、系统定义3.1 系统边界管理员:可以对车票以及车次进行删改操作。
用户:可以买票,但是不可以对火车票进行添加操作3.2 用户视图3.2.1 管理员视图(1)列车管理:包括列车的录入、查询、修改和删除。
(2)用户管理:包括系统使用用户的添加、查询、修改、删除等。
在线支付用户身份信息用户注册车次设置管理员车次信息录入用户信息管理票务系统车站实际情况(3)系统数据处理:数据查询,根据关键字过滤,查看当前车次信息,车票信息,用户信息以及处理历史。
数据库大作业(火车订票系统)

中国地质大学(北京)数据库系统概论火车票网上订票系统实验报告小组成员:董威、韦飞阳、李建同、刘厚今学号:联系方式:使用数据库管理系统:SQL server 2012指导老师:***2013年12月28日目录1.小组成员及分工 02.需求分析 02.1 功能需求 02.1.1 查询 02.1.2 订票 02.1.3 退票 02.1.4 注册 02.1.5 用户登陆 02.1.6 修改密码 02.1.7 添加车次 02.2 数据需求 02.3 性能需求 (1)................................................................................................................. 错误!未定义书签。
................................................................................................................. 错误!未定义书签。
................................................................................................................. 错误!未定义书签。
2.4 数据流图 (1)2.4.1 顶层数据流图 (1)2.4.2 1层数据流图 (1)3.概念结构设计 (1)3.1 系统结构简述 (1)3.2 数据处理 (1)3.3生成E-R图 (1)4逻辑结构设计 (1)4.1 关系模式 (2)5 物理结构设计 (2)6数据库实施 (3)6.1 建立数据库 (3)6.2 建立基本表 (3)6.3 建立索引 (5)6.4 创建视图 (5)6.5 创建存储过程 (5)6.6 创建触发器 (6)6.7插入数据 (6)6.8 关系图 (7)6.9 订购车票 (7)6.10 退票 (7)7 实验小结 (7)1.小组成员及分工董威:数据库的实施,即在查询分析器下编写代码建立数据库,创建基本表,建立基本表之间的关系、索引,创建存储过程等工作。
数据库火车票销售系统

长沙学院课程设计说明书题目火车票预定管理系统系(部)数学与计算机科学系专业(班级)姓名学号指导教师起止日期2016.05.16—05.27课程设计任务书课程名称:数据库系统原理课程设计题目:火车票预订管理系统1、某铁路局火车票预订管理系统需要如下信息:车次信息:车次编号、出发地、目的地、出发时间、到站时间、火车类型、里程数,座位数等。
车票信息:座位号、价格、当前预售状态、座位类型等。
客户:姓名、联系电话、身份证号码等。
业务员:姓名、工号。
其业务规则描述如下:一个客户可以预订(退订)多张火车票,但一张火车票只能被一个客户预订(退订);一个业务员能销售多张车票,但一张车票只被一个业务员销售。
一辆列车包含多张车票,但一张车票只属于一辆列车。
2、系统功能的基本要求:按照一定条件查询、统计符合条件的火车、车票、客户信息等。
例如火车车次查询、时刻表查询、剩余座位数、同一路线可选火车信息、客户购买历史等,能够在车票售出时更新可用火车票数,模拟完成火车票订票、退订业务。
各阶段具体要求:1、需求分析阶段●定义数据项的含义和取值●定义目标系统的数据流2、概念结构设计阶段●画出实体模型E-R图3、逻辑结构设计阶段●将实体模型转化为关系模型●给出每个关系的主关键字和函数依赖集●分析你所设计的关系数据库模式是否属于3NF4、物理设计阶段●确定所有字段的名称、类型、宽度、小数位数及完整性约束●确定数据库及表的名称及其组成●确定索引文件和索引关键字5、数据库安全及维护设计阶段●设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)●为了实现复杂的数据完整性约束,设计适当的触发器●设计一个适合的数据库备份策略6、实施阶段●要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。
●对于学有余力的同学,可以使用嵌入式SQL语句结合高级语言开发完成。
设计工作量:(1)软件设计:完成问题陈述中所提到的所有需求功能。
(2)论文:要求撰写不少于3000个文字的电子文档,详细说明各阶段具体要求。
数据库大作业火车票订票系统

火车票订票系统实验课题:火车票订票系统专业:计算机科学与技术姓名:AAAAA组员:BBBBBBB日期:2013 年5月26 日火车票订票系统一、团队成员XXXXXX二、角色分配——系统分析员作为团队中的系统分析员。
首先需要理解和明确整个项目的管理目标和未来的发展方向,其次需要充分了解用户的需求并且对用户需求未来可能的改变有一定的了解和预判。
在了解了用户的需求后,与系统设计员、系统开发员及DBA进行沟通以及对整个项目的统筹规划。
作为一名普通的学生,在学校经常会遇到各种订票的时候。
尤其是在放假的阶段,火车票、飞机票更是供不应求。
所以开发一个能够服务于普通用户的订票软件正是顺应了市场所需。
所以我们团队最后选择了设计开发一个火车票订票管理系统。
对于一个火车票订票管理系统,准确快捷的车次信息查询功能和方便简单的订票操作是十分必要的,因此系统必须为用户提供准确的车次信息和当前的车票状况,这也是火车票订票管理系统的最基本要求。
客户端后台管理员要能够及时添加、修改车次信息,并能够对用户信息进行录入和删除。
所以结合实际情况,火车票订票系统应满足一下需求:1.客户端界面清晰友好,达到一目了然的效果。
2.客户端能够有方便的查询系统及简单明了的订票、退票操作。
3.防止用户重复订票、退票操作,影响系统数据的正确性。
4.服务器端提供信息完全可靠,时效性强。
5.能够保证数据与信息的安全性。
综合以上需求,本系统需要以下几个模块来支持:1.用户模块:用于用户注册,用户登陆,订票,退票。
2.管理员模块:供后台管理员登录。
用于添加、修改车次及票务信息,查看所有用户信息及相应的订票信息。
3.游客模块:列车时刻查询,车次相关信息查询,及剩余车票查询。
三个模块的关系如下:当然,系统分析员也非常有必要与设计员沟通,共同确定系统的软硬件配置和数据库系统的总体设计。
整个系统的数据库E-R图设计如下:数据字典如下: 管理员表: 号 用户表:车次信息表:车站信息表:车票预定表:三、数据库的设计与系统实现1、表的设计我们设计的订票系统主要包括一下几个表,对表的编辑可以直接在Microsoft SQL Server中直接修改,也可以在系统界面中从前台操作修改,这里结合了SQL Server强大的数据处理功能和Visual Basic 直观的界面,使得整个系统不但功能强大,而且有着很友好的界面,让人用起来非常容易。
数据库课程设计-火车票订票系统,E-R图,数据字典,数据流图

pk
列车号,第一位是字母,后几位为数字
始发站
nvarchar(5)
not null
区间段始发站
到达站
nvarchar(5)
not null
区间段到达站
发车时间
time
not null
发车时间,时间
到达时间
time
not null
到达时间,时间
可载客量
int
not null
最大容纳旅客人数,整数
乘客表
列名
数据类型
约束
描述
身份证号码
char(18)
PK
身份证号码,旅客唯一ID
姓名
nvarchar(10)
not null
乘客姓名
订单号
char(10)
FK
订单号,可以一个订单号对应多个旅客,多个旅客对应多个订单号
车站表
列名
数据类型
约束
描述
车站编号
int
PK
车站唯一编码
车站名
nvarchar(5)
拼音代码
char(3)
not null
车站拼音代码
D6207/D6202/d6208/d6201
列名
数据类型
约束
描述
区间段ID
int
PK
区间段ID,停留两站之间为一个区间段
发车站
nvarchar(5)
not null
发车站
发车站代码
int
FK
发车站代码
到达站
nvarchar(5)
not null
到达站
到达站代码
int
not null
火车售票系统SQL设计,火车售票系统SQL字段

火车售票系统SQL设计,火车售票系统SQL字段1、旅客账户表:旅客账户ID,用户名,登录密码,旅客ID,创建日期Passenger account: passenger account ID, username, password, passenger ID, creation date2、乘车人表(账号人&乘车人):乘车人ID,旅客ID,邮箱,手机号码,性别,国家/地区,旅客类型ID出生日期,核验状态,国定电话,地址,学生IDWhich: passenger ID, passenger ID, email address, phone number, gender, region, passenger type IDDate of birth, check status, national telephone, address, student ID3、旅客表:旅客ID,旅客姓名,证件类型ID,证件号码,旅客状态IDPassenger: passenger ID, passenger name, ID certificate type, certificate number, passenger state ID4、证件类型表:证件类型ID,证件类型Certificate type: ID certificate type, document type5、旅客类型表:旅客类型ID,旅客类型(成人)Passenger type: passenger type ID, passenger types6、旅客状态表:旅客状态ID,旅客状态Passenger status: passenger state ID, passenger state7、学生信息表:学生ID,学校所在省份,学校ID,院系,班级,学号,学制,入学年份,优惠卡号,优惠区间student information: student ID, school, school name, department, class, student number, length of schooling, enrollment year, preferential card number, preferential ran8、学校表:学校ID,学校名称,省份IDSchool names:School ID, School Name, province ID9、快递地址表:地址ID,收件人,地址,手机,默认否,账户IDDelivery address: ID address, the recipient, address, mobile phone, by default, no account ID10、员工表:员工ID,职业类型ID,班次ID,工作证号,登录密码,姓名,性别,出生日期,证件类型ID,证件号码,联系地址,联系电话,手机号码,创建日期,学历程度Employee: employee ID, professional type ID, shift ID, job number, password, name, gender, date of birth, ID certificate type, certificate number, contact address, phone number, mobile number, creation date, Academic degree11、员工班次表:班次ID,班次名称(白班,夜班)Shift: flight ID, service name12、职业类型表:职业类型ID,职业类型名称(售票员)Professional types of: professional type ID, professional type name13、旅客订单表:旅客订单ID,旅客账户ID,订单号,订单日期,乘车日期,车次,始发站,终点站,订单状态(是否支付)Passenger order: passenger order ID, passengers account ID, order number, order date, to date, trains,Of departure, destination, order status14、旅客订单明细表:订单明细ID,订单ID,原票ID(订单明细ID,变更到站、改签使用),车厢号,席位号,票价,车次席位类型(新空调硬座),票面说明(至北京/中转签证),备注(有效期或者随原票使用),旅客ID,出票车站(茂名站售、未印票)Passenger order detail: passenger order ID, order ID, the original ticket IDTrain no,Seat no, price, Seat type , instructions , notePassenger ID, ticket station15、员工订单表:员工订单ID,员工ID,订单号,订单日期,乘车日期,车次,始发站,终点站Staff order: employee order ID, employee ID, order number, order date, to date, number and departure point and destination16、员工订单明细表:订单明细ID,订单ID,原票ID(订单明细ID,变更到站、改签使用),车厢号,席位号,票价,车次席位类型(新空调硬座),票面说明(至北京/中转签证),备注(有效期或者随原票使用),旅客ID,出票车站(茂名站售)The employee order detail: employee order ID, order ID, the original ticket IDTrain no,Seat no, price, Seat type , instructions , notePassenger ID, ticket station17、员工销售表:销售ID,员工ID,销售日期Employee: sales ID, employee ID, date of sales18、员工销售明细表:销售明细ID,销售ID,员工订单IDThe sales subsidiary: sales subsidiary ID, sales ID, Employees ordersID19、车票表:车票ID,车票序号(7位),始发站,终到站,车次,开车日期和时刻,车厢号,席位号,票价,售票点类型(网),车次席位类型(新空调硬座),票面说明(至北京/中转签证),备注一(仅限当日当次车),备注二(有效期或者随原票使用),旅客ID,出票车站(茂名站售、未印票)--条码(车站代码(6位)+票卷批次(4位)+到达日期(4位)+车票序号(7位))Ticket information: ticket ID, ticket number, departure point, into stations, trains, Driving time,Train no,Seat no, price,The ticket type,Seat type,instructions,Note 1, note 2,Passenger ID, Ticket station20、票库表:票库ID,车次车厢ID,席位号,售出否,预售否,生成日期Library: ticket ID, train carriages ID, car seats, sold, booking no, date21、票价表:票价ID,票价金额,车次ID,出发_车站ID,终到_车站ID,票价率ID,里程区段票价率ID,区段ID,客票发展金,候车室空调费,卧铺订票费The fares: fare ID, fare amount, trains ID, Station for ID, Arrive station ID, fares ID, Section fares ID, segment ID,Development of gold, Waiting room fee, sleeper DingPiaoFei22、票价率表:票价率ID,方案名称,硬座票费率,软座票费率,车次类型费率,硬卧下费率,硬卧中费率,硬卧上费率,软卧下费率,软卧上费率,空调费率,上浮率The fare rate: fares ID, name, hard ticket rate, Soft seat rate, service rate type, hard sleeper rate1,hard sleeper rate2, hard sleeper rate3, soft sleeper rate1,soft sleeper rate2, air rate, bluyance rate23、里程区段票价率表:里程区段票价率ID,区段,递减率,票价率,区段累计票价The mileage fares: Section fares ID ,section,decline rate, fares, The cumulative fares24、旅客票价旅程区段表:区段ID,里程区段,每区段里程,区段数Section fares: segment ID, mileage extents, Mileage range, the section number25、车次信息表:车次ID,车次编号,车次类型(空调特快),出发_车站ID,终到_车站ID,历时,里程,停运否Train number information: trains ID, train number,Train type ID, Station for ID, Arrive station ID, duration, range, no running26、车次类型表:车次类型ID,车次类型名称(空调特快)Train type:Train type ID,Train type Name27、列车途经表:途经ID,车次ID,车站ID,站序,天数,到达时间,开车时间,里程,车次,停留时间Train route: via ID,trains ID, The station ID, sequence, Number days, arrival time, driving time, mileage, Train number, duration of stay28、车次车厢表:车次车厢ID,车次ID,车厢IDTrain carriages: train carriages ID,trains ID,trains car ID29、车厢表:车厢ID,席位类型ID,车厢号(YZ22),席位数(硬座YZ22 118,YZ25B 128,YZ25G\YZ25K\YZ25T 118,硬卧YW25G 66,YW22\YW25 66,软卧RW 32/36,软座RZ25C 80)The carriage: car ID, seat type ID, carriages, seats30、席位类型表:席位类型ID,席位类型Seats type: type ID, type of seats31、地区省表:省份ID,省份名称,省份排序,摘要province: province ID,province name, The sorting, in this paper32、车站表:车站ID,省份ID,车站名称,数字编码,名称短拼音,名称拼音,字母编码,车站代码(6位)Station: The station ID, province ID,The station name,Digital coding,Short pinyin,All the pinyin,Letter codes,The station code。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国地质大学(北京)数据库系统概论火车票网上订票系统实验报告小组成员:董威、韦飞阳、李建同、刘厚今学号:联系方式:使用数据库管理系统:SQL server 2012指导老师:宋莉2013年12月28日目录1.小组成员及分工 02.需求分析 0功能需求 0查询 0订票 0退票 0注册 0用户登陆 0修改密码 0添加车次 0数据需求 0性能需求 (1)........................................................ 错误!未定义书签。
........................................................ 错误!未定义书签。
........................................................ 错误!未定义书签。
数据流图 (1)顶层数据流图 (1)1层数据流图 (1)3.概念结构设计 (1)系统结构简述 (1)数据处理 (1)生成E-R图 (1)4逻辑结构设计 (1)关系模式 (2)5 物理结构设计 (2)6数据库实施 (3)建立数据库 (3)建立基本表 (3)建立索引 (5)创建视图 (5)创建存储过程 (5)创建触发器 (6)插入数据 (6)关系图 (7)订购车票 (7)退票 (7)7 实验小结 (7)1.小组成员及分工董威:数据库的实施,即在查询分析器下编写代码建立数据库,创建基本表,建立基本表之间的关系、索引,创建存储过程等工作。
韦飞阳:主要负责逻辑结构的设计,即确定关系模式。
李建同:只要负责物理结构的设计,即确定各个基本表之间的关系,确定主外键。
刘厚今:需求分析模块,主要负责寻找需求,绘制数据流图。
2.需求分析功能需求查询:用户、管理员都可以对车次进行查询:可以按照发车车次进行查询;可以按照出发地、目的地进行查询;可以按照类车类型、座位类型查询。
车次信息包括:车次ID,车号,出发地,目的地,列车类型,座位类型,票价,票数,车次信息只允许用户查询,不能修改。
订票:用户登陆后,通过订票系统,根据自己你的需求找到自己的车次,输入要预订的票数进行订票。
要求订票记录应包括:订票记录ID,车次ID,用户ID,订票数量。
退票:用户登录后,通过退票系统,找到自己的订票信息,输入要退的票数进行退票。
注册:想要订票的用户必须先注册然后登陆订票。
用户信息包括:用户 ID,用户名,密码,邮箱。
用户登陆:主要完成用户和管理员的登陆。
用户想订票必须登陆后才能进行订票,如果没有注册的用户应该与注册页面相连接。
修改密码:用户和管理员登陆后可以修改个人信息。
添加车次:管理员登陆后可以添加新的车次。
数据需求性能需求系统应能及时准确的根据用户权限及所输入的信息作出响应。
由于查询功 能对于用户来讲很重要,因为这直接影响了用户的订票决策,所以系统的 准确性和及时性很重要。
本系统是针对用户直接开放的,所以应该提供良好的接口。
网上订票的数据是很重要的信息,系统应该保证用户的权限,对于车次的 信息不能更改。
同时还应该保证管理人员进行正常的维护、更新等工作, 保证数据的一致性。
数据流图 顶层数据流图1层数据流图3.概念结构设计 系统结构简述本系统包括六个实体:订票人,订票单信息,车票信息,车次信息,操作员,余票信息。
订票人与订票单、订票单与车票信息这两个关系是一对一的联系;车票信息与车次信息、 订票单信息与操作员这两个关系是1对多的联系。
数据处理输入:身份证号输出:订票单号,订票人身份证号,订单时间,付款取票与否,车次号,车票号 , 票价,员工号。
输入:身份证号输出:车票号,始发站,车次号,发车时间,终点站,车票种类。
输入:车次号输出:姓名,身份证号,联系电话,目的城市,始发城市。
查询余票数量输入:乘车区间和车次号 输出:余票数量。
生成E-R 图 性别姓名关系模式订票人表(身份证号,姓名,联系电话,始发城市,目的城市,订单号)操作员表(员工号,订票点号,姓名,性别,电话)车次信息表(车次号,始发站,终点站,途径站)订票单表(订单号,身份证号,订单时间,付款取票与否,车次号,车票号,票价,员工号)车票信息表(车票号,车次号,始发站,发车时间,终点站,车票种类,订单号,车厢号,座位号)说明:车票种类为:“无座”或“硬座”或“硬卧”或“软卧”余票信息表(车次号,车票种类,出发站,目的站,出发时间)5 物理结构设计6数据库实施建立数据库create database网上订票数据库on primary(name=网上订票数据库,filename='E:\数据库\网上订票数据库.mdf',size=5MB,FILEGROWTH=10%)log on(name=网上订票数据库_log,filename='E:\数据库\网上订票数据库',size=5MB,FILEGROWTH=2MB)建立基本表创建订票人表: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)建立索引订票人表: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操作员表(员工号)创建视图create view allInfo_viewasselect订票人表.姓名,订票人表.身份证号,订票单表.车次号,车票信息表.车票号,车票信息表.发车时间,车票信息表.始发站,车票信息表.终点站,订票单表.票价from订票人表inner join订票单表on订票人表.身份证号=订票单表.身份证号inner join车票信息表on订票单表.车票号=车票信息表.车票号inner join车次信息表on车票信息表.车次号=车次信息表.车次号创建存储过程创建存储过程,通过身份证号查询订票人信息:create procedure pInfo_proc@pID char(18)asselect身份证号,姓名,联系电话,始发城市,目的城市,订单号from订票人表where身份证号=@pID创建存储过程,通过身份证号查询订票人订票信息:create procedure ticket_proc@pID char(18)asselect姓名,订票单表.订单号,订票人表.身份证号,订票时间,付款取票与否,车次号,车票号,票价,员工号from订票单表inner join订票人表on订票人表.身份证号=订票单表.身份证号where订票单表.身份证号=@pID创建触发器create trigger 余票更新on 车票信息表for insertasdeclare @车次号 varchar(10)select @车次号=车次号 from insertedupdate 余票信息表set 余票张数=余票张数-1where 车次号=@车次号create trigger 余票更新2on 车票信息表for deleteasdeclare @车次号 varchar(10)select @车次号=车次号 from deletedupdate 余票信息表set 余票张数=余票张数+1where 车次号=@车次号插入数据向操作员表中插入数据:insert into操作员表values(,'洛阳','鲁金龙','男',)向车次信息表中插入数据:insert into车次信息表values('K31','福州','洛阳','商丘、开封、郑州')向订票人表中插入数据:insert into订票人表values(,'鲁金龙',,'民权','洛阳',)向订票单表中插入数据:insert into订票单表values(,,'2011-06-24 14:31:36','是','K31',,,)向车票信息表中插入数据:insert into车票信息表values(,'K31','民权','2011-06-24 14:31:36','洛阳','硬座',,12,021)想余票信息表中插入数据:insert into车票信息表values('K31','民权','洛阳',135,2011-06-24 13:24:00,硬座)关系图订购车票insert into车票信息表values(,'T90','南京','2013-07-09 13:23:13','河南','硬座',,'06','23')退票delete车票信息表where车次号='T90'7 实验小结通过这次大作业的设计,我们团队经过了几次的激烈讨论,由组长带领组员,通过对火车订票系统的需求分析,概念结构设计,逻辑结果设计,物理结构设计,建立数据库、基本表,创建存储过程、创建触发器以保证订票时对余票数量的修改,我们对数据库有了进一步的理解,同时也为期末考试进行了一个粗略的复习,对基本概念的理解更加深刻,对本书中的重点,如模式的分解等内容理解加深。