广东技术师范学院天河学院数据库原理及应用课程设计报告题目:机票预定系统设计者:吴嘉豪梁家豪专业班级:计科131学号:20130415431382013041543121指导教师:蔡柳萍所属系部:计算机科学与技术系2014年12月5日目录1引言----------------------------------------22设计简介------------------------------------23设计内容与分析------------------------------24E-R图分析----------------------------------55表格信息------------------------------------76创建表格------------------------------------87表格展示------------------------------------98系统展示------------------------------------109相关代码------------------------------------1210总结---------------------------------------151.引言1.1题目简介课程设计题目:机票预定系统为方便旅客出行,急需开发一个机票预定系统。该系统能为便于旅客于随时随地定票,旅客在预定机票的时候提供自己的信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的用户端程序,系统经过查询航空公司内的航班数据服务器后,即可预定航班。从课程设计的角度来说:这次系统的制作过程,无疑加深了自身对数据库原理及应用这门课理论知识的理解,大大提高了理论知识的应用水平,而且增强动手能力,可以说是为毕业设计做了很好准备。面对以后强大的就业压力,没有熟练的动手能力,光有满脑袋的理论是不行的,因此本次课程设计显得十分重要。1.2编写说明:本文包含七个部分:第一部分:题目简介,简要介绍机票预定系统名称、开发意义、课题背景等;第二部分:机票预定系统的前期的需求分析;第三部分:机票预定系统的总体设计,包括功能模块图;第四部分:整体数据库进行设计包括概念设计、逻辑设计、物理设计;第五部分:界面设计及VB编程代码;第六部分:总结分析;2.需求分析2.1系统目标:设计机票预定系统,能实现航线信息的查询航线信息的查询,用户注册,用户订票,用户退票,住户修改自己注册信息,管理员管理航线信息、用户信息等。并要求系统的界面要简单明了,易于操作,服务器程序利于维护。2.2系统功能建立用户信息、航线信息、订票信息;完成航线信息、订票信息、用户信息;用户包括:管理员和用户;对用户进行分级管理,用户可查询航线信息,查询和更改自己的注册信息,查询客机信息,订票,退票;管理员除具有用户的所有权限外,可以对全部航线信息进行添加和更改,并可以添加、更改和删除用户信息与订票信息要求系统能有效、快速、安全、可靠和无误的完成上述操作。具体功能如下:l航线信息操作要求:查询输出内容必需是只读的,2航线查询/订票系统操作要求:输入目的地,能根据目的地查询出两地航班之间的航班号,目的地3订票信息操作要求:查询客机信息,订票,退票。2.3数据分析根据上述2.2的具体功能,总结出数据字典,用户信息(姓名,性别,身份证号码,电话);航线信息(航班号,出发地,目的地,离地时间,落地时间,班期,机型);订票信息(ID,用户名,已定航班号,已定目的地,购买日期,起飞日期,起飞时间,降落时间)。通过数据字典进行分析,可以得到形成如下数据库的表:3.1概念结构图设计啊E-R图设计:(1):航班E-R图,如图所示(2)飞机E-R图,如图所示(3)机票E-R图,如图所示(4)客户E-R图,如图所示(5)业务员E-R图,如图所示由上得总E-R图:4.1.1涉及的表用户信息属性类型大小能否为空约束真实姓名varchar10否否身份证号码varchar20否否电话varchar15否否订票信息属性类型大小能否为空约束IDvarchar10否否用户名varchar10否否航班号varchar10否主键目的地varchar20否否购买日期varchar10否否起飞时间varchar10否否降落时间varchar10否否票价varchar10否否航线信息属性类型大小能否为空约束航班号varchar10否主键目的地varchar10否否起飞时间varchar10否否降落时间varchar10否否飞行时长varchar10否否机型varchar10否否机场varchar10否否5.1系统实施1)CreateDatabase机票预订2)创建飞机表Createtable飞机(飞机编号char(10)notnull,座位数intnotnull,primarykey(飞机编号))3)创建航班表Createtable航班(航班编号char(10)primarykey,飞机编号char(10)notnull,起飞地char(10)notnull,目的地char(10)notnull,起飞时间datetime,到达时间datetime,Foreignkey(飞机编号)references飞机(飞机编号))4)创建机票表Createtable机票(航班编号char(10)notnull,机舱等级char(10)notnull,票价float(2)notnull,当前预售状态char(10)notnull,Constraintc1check(机舱等级in('头等舱','公务舱','经济舱')),Foreignkey(航班编号)references航班(航班编号),)5)创建旅客表Createtable旅客(旅客编号intprimarykey,姓名char(10)notnull,性别char(10)notnull,身份证号char(20)notnull,联系电话char(15)notnull)6)创建购买表Createtable购买(旅客编号char(10)notnull,座位号char(10)notnull,primarykey(旅客编号,座位号),折扣float(1),实付款float(2)notnull,购买数量intnotnull,付款状态char(10)notnull,Foreignkey(旅客编号)references旅客(旅客编号),Foreignkey(座位号)references机票(座位号))5.2数据展示1飞机表2购买表3航班表4机票表5旅客表6系统展示1根据起飞地和目的地查询航班信息2输入你要坐的航班号,点击购票3填写个人信息,并选择机舱等级4单击购买,显示购买信息5单机显示机票信息,显示所购买的航班信息6退票功能7相关代码7.1前台代码7.11第一个页面index代码ImportsSystem.Data.SqlClientImportsSystem.DataPartialClassindexInheritsSystem.Web.UI.PageProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimcnAsNewSqlConnectioncn.ConnectionString=server=PC-20141024QHWX;database=机¨²票¡À预¡è订?;integratedsecurity=truecn.Open()Ifcn.State=ConnectionState.OpenThenEndIfDimaaAsString=exec_p_1'+TextBox1.Text+','+TextBox2.Text+'DimadAsNewSqlDataAdapter(aa,cn)DimdsetAsNewDataSetad.Fill(dset,abc)GridView1.DataSource=dset.Tables(abc)GridView1.DataBind()EndSubProtectedSubButton2_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton2.ClickDimcnAsNewSqlConnectioncn.ConnectionString=server=PC-20141024QHWX;database=机¨²票¡À预¡è订?;integratedsecurity=truecn.Open()Ifcn.State=ConnectionState.OpenThenApplication(abc)=TextBox3.TextEndIfDimbbAsString=p_2'+TextBox3.Text+'DimabAsNewSqlDataAdapter(bb,cn)DimdsetAsNewDataSetab.Fill(dset,aaa)GridView2.DataSource=dset.Tables(aaa)GridView2.DataBind()EndSubProtectedSubGridView2_SelectedIndexChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesGridView2.SelectedIndexChangedEndSubEndClass7.12第二个页面index1代码ImportsSystem.Data.SqlClientImportsSystem.DataPartialClassindex1InheritsSystem.Web.UI.PageProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimcnAsNewSqlConnectioncn.ConnectionString=server=PC-20141024QHWX;database=机¨²票¡À预¡è订?;integratedsecurity=truecn.Open()Ifcn.State=ConnectionState.OpenThenEndIfDimccAsString=p_a'+TextBox1.Text+','+TextBox2.Text+','+TextBox3.Text+','+TextBox4.Text+','+Application(abc)+','+DropDownList1.SelectedItem.Text+'DimacAsNewSqlDataAdapter(cc,cn)DimdsetAsNewDataSetac.Fill(dset,aaa)GridView3.DataSource=dset.Tables(aaa)GridView3.DataBind()EndSubProtectedSubButton2_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton2.ClickDimcwAsNewSqlConnectioncw.ConnectionString=server=PC-20141024QHWX;database=机¨²票¡À预¡è订?;integratedsecurity=truecw.Open()Ifcw.State=ConnectionState.OpenThenEndIfDimbbAsString=p_b'+Application(abc)+'DimabAsNewSqlDataAdapter(bb,cw)DimdsetAsNewDataSetab.Fill(dset,aad)GridView4.DataSource=dset.Tables(aad)GridView4.D