![公交查询系统-数据库课程设计分析方案_第1页](http://file4.renrendoc.com/view/2523ee0670bc5bbda2d7d2ebc663f1f5/2523ee0670bc5bbda2d7d2ebc663f1f51.gif)
![公交查询系统-数据库课程设计分析方案_第2页](http://file4.renrendoc.com/view/2523ee0670bc5bbda2d7d2ebc663f1f5/2523ee0670bc5bbda2d7d2ebc663f1f52.gif)
![公交查询系统-数据库课程设计分析方案_第3页](http://file4.renrendoc.com/view/2523ee0670bc5bbda2d7d2ebc663f1f5/2523ee0670bc5bbda2d7d2ebc663f1f53.gif)
![公交查询系统-数据库课程设计分析方案_第4页](http://file4.renrendoc.com/view/2523ee0670bc5bbda2d7d2ebc663f1f5/2523ee0670bc5bbda2d7d2ebc663f1f54.gif)
![公交查询系统-数据库课程设计分析方案_第5页](http://file4.renrendoc.com/view/2523ee0670bc5bbda2d7d2ebc663f1f5/2523ee0670bc5bbda2d7d2ebc663f1f55.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库课程设计报告班级:序号:姓名:地球科学学院地信系2018-06-28 / 15 / 15目录数据库课程设计 1目录 2一、概述 3背景说明 3开发环境 3二、需求分析 3用户需求 3主要功能 3数据流图 3数据字典 3三、数据库概念结构设计 4四、数据库逻辑结构设计 2关系表设计 2数据表关系图 2五、创建数据库及其对象 25.1 建数据库和表 2查询实现 3 五、软件功能设计 5六、界面设计 6七、应用程序 67.1 站点查询 6线路查询 7站站查询 8八、实验数据示例 10九、心得 11、概述1.1背景说明软件名称:公交线路查询系统工程提岀者:工程开发者: 用户:广大需要乘坐公交车的
2、人群1.2开发环境操作系统:Windows XP软件配置:visual stutio2018 , Microsoft SQLServer 2008 R2数据库配置:Microsoft SQL Server 2008 R2 在PC机中新建数据库,建立各个数据表、关系图二、需求分析2.1用户需求城市的扩张使得公交线路越来越复杂,为了使得用户更加方便地能够获得最新公交线路,“公交线 路查询工具”帮助人们解决这个问题。本系统面向的对象是普通乘客,对于普通乘客来说,他们最关心的就是查询。系统也只对用户提供信 息查询功能,并不对用户开放对数据的编辑权限。对于任何用户,只要浏览本系统的首页,就可以根据自 己
3、的需求进行查询。数据的修改、删除、及时更新工作只能由管理人员实现并对系统进行定期的维护,保 证其运行的稳定性。2.2主要功能本系统从用户的需求岀发,可实现以下功能:1、线路具体情况查询:输入线路名称就可得到该线路的途经站点,发车和末班车时间,票价等相关信 息。2、经过此站点的所有路线查询:输入站点名称即可得岀经过该站点的所有线路名称。3、站点间的点到点路线查询:输入岀发站点和目的站点即可输岀可选择的线路,包括中间站的转乘。1、数据项名称数据类型长度字段描述namevarchar5公交车的名称start_timetime8公交车每天的最早发车时间end timetime8公交车每天的收班时间bu
4、slengthlint2公交线路去程的站点数buslength2int2公交线路回程的站点数pt_pricefloat3晋通车的票价gd_pricefloat3高等级车的票价disprice_ptfloat3普通车刷卡后的价格disprice_gdfloat3高等级车刷卡后的价格companylDint1公司编号company_namevarchar30公司名称stationdint3站点的编号station_namevarchar30站点的名称orderidint2站点在一条线路中的位置typeIDint2线路类型编号,共12类type namevarchar5线路类型名directionc
5、har4公交行驶方向,“去程”或“回程”linevarchar500公交行驶途径的站点2、数据流名称说明数据流来源数据流去向用户查询公交线路记录信息记录公交车线路查询信息线路+站点查询结果输岀3、处理过程名称简述输入的数据流处理输岀的数据流线路查询根据公交线路查询该线路上的所有站点公交车编号根据编号查询查询岀该线路上的所 有公交车站点站点查询根据站点查询出经过该站 点的所有公交车编号站点名称根据站点查询公 交车的编号路过该站点的所有公交车编号站站查询根据两个站点查询岀所有线路两个不同的站点根据站点查询岀所有线路输岀查询岀的线路三、数据库概念结构设计E-R 图:、公交公司E-R图2、公交车E-R
6、图根据需求分析,可知本系统有以下1、公交站点E-R图编号公交公司公司名称、公交线路类型E-R图编号公交线路 类型公交线路首班时间-、 f丿末班时间II路线长度所属公司id线路类型id编号类型名称5、合并E-R图公交公司站点四、数据库逻辑结构设计4.1关系表设计根据ER模型,对本系统设计岀 5个关系表:1、公交车表busvname, start_time , end_time , buslengthl , buslength2 , pt_price , dis_price , gd_price , company_id,type_id )数据类型NULLnamevarchar(5not null
7、primary key公交车的名称start_timetimenot null最早发车时间end_timetimenot null收班时间buslengthlintnot null去程的站点数buslength2intnot null回程的站点数pt_pricefloatnull普通车的票价disprice_ptfloatnull普通车刷卡gd_pricefloatnull高等级车的票价disprice_gdfloatnull高等级车刷卡companylDintnot nullforeignkeyreferences company(id ,typelDintnot nullForeignke
8、yreferences bus_type (id 2、公交站点 stationvid , nam列名数据类型NULL约束说明idintnot nullprimary key站点的编号namevarchar(30not null站点的名称|3、线路与站点关联表号 bus stationvbus name ,station id , orderid )记录公交线路经过站点的信息,并且按顺序记录各站点,以此记录线路与站点的关联信息列名数据类型NULL约束说明bus_namevarchar(5not nullprimary key参照 bus(namestation _idintnot null参照
9、station(idorderidintnot null站点在一条线路中的位置4、公交公司表 company(id,name列名数据类型NULL约束说明idintNot nullprimary key公司编号nameVarchar(5Not null公司名称5、公交线路类型表 bus type(idame列名数据类型NULL约束说明idintNot nullprimary key线路类型编号,共12类 / 15 / 15nameVarchar(10Not null线路类型名6、公交线路表 busline(bus_name,direction,line此表主要是为了方便依据线路来查询站点信息数据
10、类型NULLbus_namevarchar(4Not nullprimary key公司编号directionvarchar(4Not null公交行驶方向,“去程”或“回 程”linevarchar(500Not null公交行驶途径的站点4.2数据表关系图五、创建数据库及其对象5.1建数据库和表下面是创建数据库和表的过程,数据通过手动输入 1、创建数据库createdatabase buson(name=bus_data1,filename =log on(name=bus_log,filename =2 、公交公司表createtable company(id intprimarykey
11、 notnull, namevarchar (30notnull桌面 busbus_data1.mdf桌面 busbus_log.ldfcreatetable bus_type(id intprimarykey notnull, namevarchar (5notnull公交站点createtable station(id intprimarykey notnull, namevarchar (15notnull公交车表createtable bus(namevarchar (5primarykey notnull, start_time datetime notnull, end_time
12、datetime notnull, buslength int notnull, price float notnull, companyIDint notnull, typeID int notnull,foreignkey ( companylDreferences company; id , foreignkey (typeID references bus_type (id 公交线路表createtable busline(bus_namevarchar (5,direction char (2notnull,line varchar (200notnull,primarykey (b
13、us_name direction , foreignkey (bus_namereferences bus( name 线路与站点关联表createtable bus_station(bus_namevarchar (5,stationdint ,orderid int notnull, primarykey (bus_name stationd,foreignkey (bus_namereferences bus( name, foreignkey (stationdreferences station (id 5.2查询实现这里只介绍线路查询和站站查询的存储过程实现,其它涉及到的功能通过
14、SQLComma或SqlDataAdapter实现,在后面的应用程序设计中实现。1、线路具体情况查询:if exists( select namerom sysobjects wherename=busline_infodropprocedure busline_infogocreateprocedure busline_infoinput varchar (5, outputvarchar (700outputasbeginselect output=linefrom buslinewherebusline . bus_name=inputendgo2、站点间的点到点路线查询:if exis
15、ts( select namerom sysobjects wherename=station_stationdropprocedure station_stationgocreateprocedure station_stationinput1 varchar (30, input2 varchar ( 30, output1 varchar ( 5output,output2varchar (5output , output3varchar (5output , output4varchar (30output , output5varchar (30outputasbegindeclar
16、e stationID1 int , stationID2 int -换乘过程中的中间站点declare id1int , id2int -记录起点和终点的 ID select id1=id from station where name=input1select id2=id from station where name=input2- 查找直达线路select output1=a. bus_namefrom( select bus_namefrom bus_station wherestation_id =id1a,( select bus_namefrom bus_station wh
17、erestation_id =id2b wherea. bus_name=b. bus_name- 若不存在直达线路 , 则搜寻一次换乘路线if notexists( select * from buswhere name=output1begin- 查找中间站点select stationID1 =c. station_id from-input1 能直达的站点集合 c( selectdistinctstation_idfrom bus_stationwherebus_namein( select bus_namefrom bus_station wherestation_id =id1c,
18、 -input2 能直达的站点集合 d( selectdistinctstation_idfrom bus_stationwherebus_namein( select bus_namefrom bus_station wherestation_id =id2d wherec. station_id =d. station_idselect output1=a. bus_namefrom( select bus_namefrom bus_station wherestation_id =id1a,( select bus_namefrom bus_station wherebus_statio
19、n . station_id =stationID1 b wherea. bus_name=b. bus_name select output2=a. bus_namefrom( select bus_namefrom bus_station wherestation_id =id2a,( select bus_namefrom bus_station wherebus station . station_id =stationID1 bwherea. bus_name=b. bus_nameend- 若不存在直达和一次换乘线路 , 则搜寻二次换乘路线if notexists( select
20、* from buswhere name=output1andnotexists( select * from buswherename=output2 begin- 查找中间线路select output2=a. bus_namefrom( selectdistinctbus_namefrom bus_stationwherestation_id in( select station_id from bus_stationwherebus_namein( select bus_namefrom bus_station wherestation_id =id1a,( selectdistinc
21、tbus_namefrom bus_stationwherestation_id in( select station_id from bus_station where bus_namein( select bus_namefrom bus_station where station_id =id2bwherea. bus_name=b. bus_name- 查找起点到中间线路的公交车select stationID1 =a. station_idfrom( selectdistinctstation_id from bus_station wherebus_namein( select b
22、us_namefrom bus_station where station_id =id1a,( select station_id from bus_station wherebus_name=output2bwherea. station_id =b. station_idselect output1=c. bus_namefrom( select bus_namefrom bus_station wherestation_id =id1c,( select bus_namefrom bus_station wherestation_id =stationID1 dwherec. bus_
23、name=d. bus_name- 查找中间线路到终点的公交车select stationID2 =a. station_idfrom( selectdistinctstation_id from bus_station wherebus_namein( select bus_namefrom bus_station where station_id =id2a,( select station_id from bus_station wherebus_name=output2bwherea. station_id =b. station_id select output3=c. bus_na
24、mefrom( select bus_namefrom bus_station wherestation_id =id2c,( select bus_namefrom bus_station wherestation_id =stationID2 d wherec. bus_name=d. bus_nameendwhereid =stationID1whereid =stationID2select output4=namefrom station select output5=namefrom station end五、软件功能设计软件共实现了 3 个大功能,即站点查询、线路查询、站站查询,
25、其完成情况如下: 一):检查用户是否输入了站点或线路信息,如果没有录入,则提示:请输入站点!或请输入线路名! 二):检查用户是否输入的站点或线路是否存在,如果不存在,则提示:此站点不存在!或此线路不存 在!三):如果信息都填写正确,则根据选定的查询条件进行查找,查找的具体实现为: 1)站点查询:返回经过此站点的所有线路,并提供一条线路经过的所有站点。如果没有结果,则提示:找不到此站点!2)线路查询:返回此线路的类型、最早和最晚时间、票价、经过站点等信息。 myConnection.Open(。SqlCommanctmd = newSqlCommand select bus_station.bu
26、s_name as公?交?线?路?O名?,busline.direction as方O ?向 ,line as途a?径 ?站?点1 ? from bus_station,station,buslinewhere = + input + and dbo.station.id = bus_station.stationd andbus_station.bus_name = busline.bus_name , myConnection。SqlDataAdapter da = newSqlDataAdapter (。 TOC o 1-5 h z da.SelectCommand = cmd。Syst
27、em.Data.DataSet ds = newSystem.Data. DataSet (。da.Fill(ds。this .GridViewl.DataSource = ds.TablesO 。GridView1.DataBind(。cmd =null 。myConnection.Close(。菅理员登录 / 15菅理员登录 / 15 / 1545fc期XK注占F; 略ParameterDirection nputSqlParameter Resultl =newSqlParameter (output , System.Data.SqlDbType.VarChar, 700Resultl
28、.Direction = System.Data.ParameterDirection .Output岛遂&站点己阳.上1览鶴帕坤 ;也阳KJU+鼻钠 ;轉严日丸jn 好凭囱 ;淀更凶丸1竝市汕t佼 ;涅肩百丸:|垃寸.玄直: 法日土Jit盃琢铺 - 汶阴I尢塩毎曲申寸 -$VFH71S-=HBTF - $:Y FH-*rmtJj*-5ff_ 丫呵国3尢道快酒畛 一爭丈mSKill JbO 1工L - 订甘大 協逍豳夭-液阳尢逮2弓殆工厂-叛阳尢建:厦制-溟阳丸逍糕洛-淑阳UittWPaS - 濟阳丈道縣衣-识阳丈潼盘WT ;況圧白圭览旭乜祢山泗LU曰未1M虹先;況卩曰尢:Itt議创Lt*:盘
29、$日尢血戡颐丸It订 口桶F无加 彖曲客坦中*合 昨占占晞S進中心-尊甸丈出-树禱夭遥霞嗣尢址那站丈又酣天遥审仙宀城-浪阳丸进虹此-汶阳 去 大itt姚焦山I - 涼阿犬itt么笊 - 漩阳走j苴摘衣 - 涼fet大itti*険 - 滾寓大tt樹!换 - 汶田大ittj*河 - 溟阳丸進吕斤萌 岳工厂 _ j宣噸Ki祈沁 -:.星陆TK如:Jinpl工L -気頤KMTNI舌峥 -7宣頤KMT吐淀&塚亲坝 一 抿.Rff大辽三“亞析 -W.PH -尢itt*駅丰扌-滾阳夫1#盂瞬铺-汉阳丸11永虫堂-段阳丈MTtrjttjffi - 汉阳大ilt好共專-汉阳夫竝王ast舟專换诙涼记丸运十宦騷 -
30、 渝阳尢运曲T佃佑 怛&站】7.2线路查询/查询给定线路的公交车所经过站点protectedstring busline_info1( string input string connectionString =server=TXJM1FW3L1GYIC6 database = bus 。Integrated Security =true oSqlConnection myConnection = newSqlConnection (connectionstring 。myConnection.Open(。SqlCommancdnyCommand = newSqlCommand busline
31、_info , myConnection。 myCommand.CommandType = System.Data. CommandTypStoredProcedure 。/创建参数SqlDbType.VarChar, 5SqlParameter bus_name = newSqlParameter (input , System.Data.bus_name.Direction = System.Data.bus_name.Value = input。myCommand.Parameters.Add(bus_name/添加输岀参数myCommand.Parameters.Add(Result1
32、 myComma nd.ExecuteN on Query( str ing str = Resultl.Value.ToStri ng( return str 。线路名称:m三曩却卞爱寒遇耳心-襄附丈卷欢爭E -社晅主上旨7匡-念二穴字岗目邑-吐二二字吐竺刈-丘辽亞李经京慕兰-妣夭学寿事黑-征il大学笛岂 -畋 过夫学7.3站一站查询/查询给定起点和终点的公交车线路protectedvoid station_station( string inputl, string input2string connectionString =server=TXJM1FW3L1GYIC6 database
33、 = bus。Integrated Security =true oSqlConnection myConnection = newSqlConnection (connectionstring 。myConnection.Open( 。/利用SQ中已有的存储过程实现站站查询SqlCommandmyCommand = newSqlCommand station_station , myConnection。 myCommand.CommandType = System.Data. CommandTypStoredProcedure 。/创建参数SqlParameter station_name
34、1 = newSqlParameter (input1 , System.Data. SqlDbType.VarChar, 30station_name1.Direction = System.Data.ParameterDirection nput 。station_name1.Value = inputl。myCommand.Parameters.Add(station_name1 。SqlParameter station_name2 = newSqlParameter (input2 , System.Data. SqlDbType.VarChar, 30station_name2.D
35、irection = System.Data.ParameterDirection nput 。station_name2.Value = input2。myCommand.Parameters.Add(station_name2 。/添加输岀参数SqlParameter Resultl = newSqlParameter (output1 , System.Data. SqlDbType .VarChar, 5 oResultl.Direction = System.Data.ParameterDirection .Output。myCommand.Parameters.Add(Result
36、1 。SqlParameter Result2 = newSqlParameter (output2 , System.Data. SqlDbType .VarChar, 5 o Result2.Direction = System.Data.ParameterDirection .Output。myCommand.Parameters.Add(Result2 。lab5 name.Text = strl +公交线路:。 / 15 / 15SqlParameter Result3 = newSqlParameter ( output3 , System.Data. SqlDbType .Var
37、Char, 5 Result3.Direction = System.Data.ParameterDirection .Output 。myCommand.Parameters.Add(Result3 。SqlParameter Result4 = newSqlParameter ( output4 , System.Data. SqlDbType .VarChar, 30 Result4.Direction = System.Data.ParameterDirection .Output 。myCommand.Parameters.Add(Result4 。SqlParameter Resu
38、lt5 = newSqlParameter ( output5 , System.Data. SqlDbType .VarChar, 30 Result5.Direction = System.Data.ParameterDirection .Output 。myCommand.Parameters.Add(Result5 。myCommand.ExecuteNonQuery( 。 TOC o 1-5 h z string str1, str2, str3, str4, str5。str1 = Result1.Value.ToString(。str2 = Result2.Value.ToStr
39、ing(。str3 = Result3.Value.ToString(。str4 = Result4.Value.ToString( 。str5 = Result5.Value.ToString(。myConnection.Close(。/界面提示信息if(str1 = & str2 =f & str3 = lab4_text.Text = 没有找到合适的路线 。 elseif(str1 != & str2 != & str3 = lab4_text.Text =您可以先乘坐 + str1 + 在 + str4 + 下车, + 再乘坐 +str2 。lab5_name.Text = str1
40、+ 公交线路 : 。lab5_line.Text = busline_info1(str1。lab6_name.Text = str2 + 公交线路 : 。lab6_line.Text = busline_info1(str2。elseif (str1 != & str2 = & str3 = lab4_text.Text = 您可以直接乘坐 + str1 。lab5_name.Text = str1 + 公交线路 : 。lab5_line.Text = busline_info1(str1。 elseif (str1 != & str2 != & str3 != lab4_text.Text
41、 = 您可以先乘坐 + str1 + 在 + str4 + 下车, + 再乘坐 + str2 + 在 + str5 + 下车, + 最后再转乘 + str3 + 即可 。lab5in e.Text = busli ne_in fo1(str1Iab6 name.Text = str2 +公交线路:lab6_li ne.Text = busli ne_in fo1(str2 lab7 name.Text = str3 +I!公交线路:。lab7_li ne.Text = busli ne_in fo1(str3恕可以黑乘垫2臂厨註靈也交的菩苗护心下牟再乘兰可起姑站点:长江大孝26SK 益交战蹈三
42、稱舸丈去辱立=心-廿号里-.-E -廉旺衣字晤莊承江决字雄工丸-承工兴字皓富芒-弍芒為車修三材或匸产;工岭烈星曲。我T大宰26SJF&公交绒路:理輕*里建运:二心-爭匐女近-诞善夫遣-敏!3丸理話迓丸蚩二-EIWK逢務匐亠堆-氓;3丈理丘土 -由L#:-汛迅去列-左起丸理:取-续次谨庄莊-説m炭違铁 汶用 去道挿舉HH大:3*3343工L - aXSBiKW: 鼻*941工厂迄冋E快希峪-迅大連快番*誤揺-窃1大 三噸桥-茂貯齐爼k陀叱- iX匠大毬衣秦童-盘匡丸疋煤-iXWk:五尸炭裁-总怎严.爼三克弓子手-二三产一里减-H.wEg5358S公交袋路:片取:娈建爼袂去-冷北炳血.工二A氐-H
43、北畴立尹 -怛&赠S立/早-W憔古岔二-宁扌诧-主垄土晔工曹皿匚-击疋.大遠三丸考-手E.太潼 立岂WAT -祜借:=*进S!优- 疋岸乂 :苦 =匸-玄丘汙:連予三鼻宫-疋此犬:?三任-N兀土:厦两lilll!- 世衍喪逢押豪令=立细站她拯天譚 -SSS 犬毎尸-走由龙道三#1哼-滾方二道三章涌:凍币拇-我力大道亠轉-讽月太道耐I岭-事*龙道七星會-应幻大道玄* 一虫殆大谊乏.鼻尸阳- 冗三 丸俚二.荒呎王W -汇帀兴E4ifr -日耳天厘三聲-处腔JS章乐话-舌:三亜无空匪-百辰眶M巴:匹-舌薛巨代垢忑-奇年亜总用-SizleSt 氐显疎刊-援誉耳3E拜片-医 #空白八、实验数据示例1、b
44、us表存放公交车次有关信息数据)nwsart_lmemjtnbudeoilbuengfijPlPdMjitiiSpfKj|d稠HdQQ:W2HX-,W)2523冲4轴0N:H2M:M9gL砧沁.6U2A36fiHdQ0:2HX-.K申25L51.31-625I事歸tAfAM2询:曲35黄L.5L3L62斗596ftBoQU:(W2Wfl:W3635AUi凹応21I嘲曲HA0:W世 30:t22AWAWAiuAUX28AW血MUiW2iW1Z2gbus_type表 存放公交公司数据)idlname1公交一公司2、bus_type表存放公交车类型数据)Qnamez.iflttK* 屮公交二公司1O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 联合体施工合同协议书
- 行政单位租车协议
- 出资转让协议经典
- 股份合作细节文书与权益分配方案
- 钢材购销合同格式
- 年度工作总结报告及未来规划
- 物流企业信息化升级改造服务协议
- 文化艺术品展览销售协议
- 江苏省房屋买卖合同
- 餐饮外卖食品安全免责协议
- 新课标地理七年级下导学案01
- 现代企业管理课件:企业管理概述
- 工程类《煤矿设备安装工程施工规范》贯宣
- 比亚迪新能源汽车远程诊断与故障预警
- 胚胎植入前遗传学诊断
- 2024届甘肃省兰州市甘肃一中高一上数学期末联考试题含解析
- 人教版七年级生物上册《第三单元-植物的生活》单元教学设计与说明
- 初中体育篮球双手胸前传接球教案
- 物流基础培训资料
- 雷达原理-三-雷达接收机
- 跨境电商理论与实务PPT完整全套教学课件
评论
0/150
提交评论