您好,欢迎访问三七文档
河北工业大学计算机科学与软件学院《数据库原理》课程实验报告题目:机票管理数据结构课程设计年月日角色学号姓名班级承担工作组长108400XXX网络C102第一部分组员108456XXX网络C102第二部分组员108610XXX网络C102第五部分组员108664XXX网络C102第三部分组员108438XXX网络C102第四部分组员108581XXX网络C102第六部分机票预订系统1需求分析为方便旅客,某航空公司拟开发一个机票预定系统。旅客可通过旅行社或机场前台向该系统查询航班情况(按目的地、起飞时间、航班班次等)。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,打印取票通知和账单,旅客在收到取票通知和账单后可交费并于飞机起飞前24小时凭取票通知和账单到机场前台取票,经系统校对信息无误后打印机票给旅客,旅客也可以直接到机场前台购票。旅客也可向系统提出退票要求,系统针对具体情况计算手续费后进行相应退票处理。1.1系统功能分析本系统设有三部分,分为旅行社登录部分、机场前台登录部分和管理员登陆部分。不同部分通过不同的用户名进入机票预订系统的不同界面进行操作。1)旅行社界面查询:可对航班信息进行查询操作;预订:可对旅客选定的航班进行预定操作并记录旅客预定信息;帮助:提供系统使用帮助文档;退出:关闭当前页面。2)机场前台界面查询:可对航班信息进行查询操作;售票:可对旅客选定的航班进行操作记录旅客信息并打印机票;取票:根据旅客提供的订单号核实旅客预定信息,打印机票;退票:根据旅客提供的订单号核实旅客预定信息,为旅客提供退票服务;帮助:提供帮助文档,方便旅客使用该系统;退出:关闭当前页面。3)系统管理员界面查询机票信息:可对航班信息进行查询操作;录入/修改机票信息:可对旅客信息进行添加、修改、浏览操作;删除机票信息:可对旅客订票信息进行删除操作;帮助:提供系统使用帮助文档;退出:关闭当前页面。机票预订系统主功能图:机票预订系统数据流图:3.机票预订系统数据字典在数据流图的基础上,定义数据字典。数据字典是关于数据库中数据的描述,它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。下面举例说明数据字典的定义。数据项以“订单号”为例。描述如下:数据项名:订单号别名:订单号含义:唯一标识旅客预订的机票信息类型:数字型取值范围:0000000000至999999999取值含义:标示订单数据结构以“fly表”为例,描述如下:数据结构名:fly表含义说明:定义了一个航班的有关信息组成:航班号,日期,起飞时间,到达时间,出发地点、到达地点,票价,票余量数据存储以“预定机票信息表”为例,描述如下:数据存储名:lvke表说明:旅客信息表情况流出数据流:查询旅客信息流入数据流:填写订票信息数据描述:身份证号,姓名,性别,联系电话,订单号,日期,目的地,座位号二.机票预订系统概念结构设计根据需求分析,我们知道机票预订系统的实体有:航班和旅客。航班实体的属性有:航班号,日期,航班起飞时间,航班到达时间,目的地,票价,票余量旅客实体的属性有:身份证号,姓名,联系电话,航班号,日期,目的地,座位号他们之间有M:N的订购关系,即一旅客可以定多个航班,一个航班也可以被多个旅客订购。按照以上机票预定系统总框架图,设计实体属性图以及局部E-R图系统总结构设计视图E-R图三.机票预订系统逻辑结构设计1.E-R图向关系模型的转换将图3.4总体概念结构E-R图转化成关系模型。旅行社(账号,密码)订单信息(订单号,航班号,过期时间,票价)旅客信息(旅客姓名,性别,身份证号,联系方式,订单号,航班号)此关系模型包含关系“包含”所对应的关系模型机场前台(账号,密码)系统管理员(账号,密码)机票信息(航班号,起飞日期,起飞地点,到达地点,起飞时间,到达时间,座位类型,机票价格,系统管理员账号)此模型包含关系“管理”所对应的关系模型预定(旅行社账号,订单号,航班号,过期时间,票价)查询(旅行社账号,航班号)售票(机场前台账号,订单号,航班号)2.数据模型的优化1、确定数据依赖退票信息(订单号,旅客姓名,电话号,身份证号)根据这个关系写出数据依赖订单号→旅客姓名,订单号→电话号,订单号→身份证号旅客(旅客姓名,身份证号,电话号,性别,工作单位)旅客姓名→身份证号,旅客姓名→电话号,旅客姓名→性别,旅客姓名→工作单位航班信息表(航班号,起飞地,目的地,起飞时间)航班号→起飞地,航班号→目的地,航班号→起飞时间取票通知单(旅客姓名,取票时间,航班号,座位号,机票类型)旅客姓名→取票时间,旅客姓名→航班号,旅客姓名→座位号,旅客姓名→机票类型航班座位信息表(座位号,航班号,座位信息,机票类型)(座位号,航班号)→座位信息,(座位号,航班号,座位信息)→机票类型2、对各关系模式间数据依赖进行极小化处理,消除冗余订单号→旅客姓名,订单号→电话号,订单号→身份证号,旅客姓名→性别旅客姓名→工作单位,旅客姓名→取票时间,旅客姓名→航班号旅客姓名→座位号,旅客姓名→机票类型,航班号→起飞地,航班号→目的地航班号→起飞时间,(座位号,航班号)→座位信息3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式:(订单号,电话号,身份证号)(订单号,旅客姓名)(旅客姓名,取票时间,性别,工作单位,机票类型)(旅客姓名,航班号)(旅客姓名,座位号)(航班号,座位号,机票类型)(航班号,起飞地,目的地,起飞时间)四.机票预订系统物理结构设计机票预订系统数据库(access)各个表设计如下:机票预订系统旅客信息表(lvke)字段名数据类型长度约束姓名文本50不为空性别文本2不为空身份证号数字20不为空电话号数字11不为空订单号数字10主键机票预订系统航班信息表(fly)字段名数据类型长度约束航班号文本50主键起飞时间时间/日期不为空到达时间时间/日期不为空出发地点文本50到达地点文本50不为空票价数字不为空票余量数字不为空五.部分实验代码:5.1添加:aConnection.Open();stringstrSQL1=select*fromflywhere航班号='+textBox1.Text.Trim()+';OleDbCommandcomm1=newOleDbCommand(strSQL1,aConnection);if(null!=comm1.ExecuteScalar())MessageBox.Show(已有此航班,请重新输入,提示);else{try{//aConnection.Open();StringstrSQL=INSERTINTOfly(+起飞日期,航班号,起飞时间,到达时间,起飞地点,到达地点,头等舱票价,公务舱票价,经济舱票价,头等舱余票,公务舱余票,经济舱余票)+VALUES('+dateTimePicker1.Text+','+textBox1.Text+','+textBox2.Text+','+textBox3.Text+','+textBox4.Text+','+textBox5.Text+','+textBox6.Text+','+textBox7.Text+','+textBox8.Text+','+textBox9.Text+','+textBox10.Text+','+textBox11.Text+');OleDbCommandmyCmd=newOleDbCommand(strSQL,aConnection);myCmd.ExecuteNonQuery();MessageBox.Show(插入操作成功);OleDbCommandcomm=newOleDbCommand(select*fromfly,aConnection);OleDbDataAdapteradapter=newOleDbDataAdapter(comm);OleDbCommandBuilderbuilder=newOleDbCommandBuilder(adapter);DataSetds=newDataSet();adapter.Fill(ds,fly);dataGridView1.DataSource=ds.Tables[fly];textBox1.Clear();aConnection.Close();}catch(Exceptionex){MessageBox.Show(Errorinhandling:+ex.Message);}}5.2删除:try{aConnection.Open();stringdelete_by_id=deletefromflywhere航班号='+comboBox1.Text.Trim()+';OleDbCommandcmd=newOleDbCommand(delete_by_id,aConnection);cmd.ExecuteNonQuery();MessageBox.Show(删除成功);OleDbCommandcomm=newOleDbCommand(select*fromfly,aConnection);OleDbDataAdapteradapter=newOleDbDataAdapter(comm);OleDbCommandBuilderbuilder=newOleDbCommandBuilder(adapter);DataSetds=newDataSet();adapter.Fill(ds,fly);dataGridView1.DataSource=ds.Tables[fly];aConnection.Close();}catch{MessageBox.Show(请选择准确的行!);}5.3修改:try{StringstrSql=Select*Fromfly;aConnection.Open();dadapter=newOleDbDataAdapter();dadapter.SelectCommand=newOleDbCommand(strSql,aConnection);dset=newDataSet();dadapter.Fill(dset);aConnection.Close();dataGridView1.DataSource=dset.Tables[0];}catch(Exceptionex){MessageBox.Show(Errorinhandling:+ex.Message);}5.4查询:try{StringstrSql=Select*Fromflywhere起飞日期='+dateTimePicker1.Text.Trim()+'and起飞地点='+comboBox1.Text.Trim()+'and到达地点='+comboBox2.Text.Trim()+';aConnection.Open();dadapter=newOleDbDataAdapter();dadapter.SelectCommand=newOleDbCommand(strSql,aConnection);dset=newDataSet();dadapter.Fill(dset);aConnection.Close();dataGridView1.DataSource=dset.Tables[0];}catch(Exceptionex){MessageBox.Show(Errorinhandling:+ex.Message);}六.机票预订系统操作界面1.登录界面:填写不同的用户名和密码,进入不同的系统主界面。系统管理员主界面:查询机票信息子界面:添加修改机票信息界面:1)添加2)修改机场前台主界面:机票预订界面:取票界面;六.课程设计小结在数据库课程设计过程中,经过认真的回顾数据库的相关知识,并很好的巩固了课程设计的基本步骤,掌握了在数据库课程设计过程中所要遵循的基本原则和环节;运用软件设计中的数据库的增、
本文标题:DLT9542005火力发电厂水汽试验方法痕量氟离子乙酸根离子甲酸根离子氯离子亚硝酸根离子硝酸根离子
链接地址:https://www.777doc.com/doc-6292510 .html