数据库概论 递归查询.pptx

数据库概论 递归查询.pptx

ID:55781308

大小:639.12 KB

页数:25页

时间:2020-06-07

数据库概论  递归查询.pptx_第1页
数据库概论  递归查询.pptx_第2页
数据库概论  递归查询.pptx_第3页
数据库概论  递归查询.pptx_第4页
数据库概论  递归查询.pptx_第5页
资源描述:

《数据库概论 递归查询.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章递归查询提纲层次结构递归查询简介层次结构的关系表示方式递归查询在SQL中的实现HierachyidProlog与Datalog层次结构数据结构树:职工之间的领导联系有向图:零件之间的构成联系无向图:交通网络操作需求返回指定节点的所有子(父)节点,显示格式改变隶属关系环路检测生成传递闭包最短路径层次结构的例子trikewheelframespoketireseatpedalrimtubeAssemblypartsubpartqtytrikewheel3trikeframe1frameseat1framepedal1wheelspoke2wh

2、eeltire1tirerim1tiretube1组成trike的零件有哪些?R.part,S.subpart(Assemble)R.part,S.subpart(R.subpart=S.part(R(Assemble)S(Assemble))AssemblypartsubparttrikewheeltrikeframeframeseatframepedalwheelspokewheeltiretirerimtiretubeAssemblypartsubparttrikeseattrikepedaltrikespoketriketi

3、rewheelrimwheeltubeR.part,T.subpart(R.subpart=S.partS.subpart=T.part(R(Assemble)S(Assemble)T(Assemble))Assemblypartsubparttrikerimtriketube对于树、图等数据结构,其关系存储有以下三种方式:邻接表adjacent(child,parent)物化路径materialize_path(node,path)嵌套集合nested_net(node,left_value,right_value)层次结构的

4、关系表示方式ABDECF层次结构的关系表示方式:邻接表Adjacent(child,parent)childparentBACADBEBFC层次结构的关系表示方式:物化路径materialize_path(node,path)nodepathA.AB.A.BC.A.CD.A.B.DE.A.B.EF.A.C.FABDECF层次结构的关系表示方式:嵌套集合A(1-12)B(2-7)D(3-4)E(5-6)C(8-11)F(9-10)nested_net(node,left_value,right_value):nodeLeft_valueRight

5、_valueA112B27C811D34E56F910递归查询:OracleConnectBySelectpart,subpartFromComponentsStartwithpart=‘trike’Connectbypriorsubart=part(上一条的subpart是本条的part)递归查询:SQLServerWITHRecursiveCTEAS(SELECTFROMBaseTableUNIONALLSELECTFROMRecursiveCTE)SELECT*FROMRecursiveCTE;定位点成员AnchorMember递归成员R

6、ecursiveMember递归查询:SQLServerwithComponents(part,subpart)as(selectpart,subpartfromAssembly)unionall(selectA.part,C.subpartfromAssemblyA,ComponentsCwhereA.subpart=C.part)select*fromComponentswherepart=‘trike’declare@rootasINT;set@root=3;withSubsCTEas(selectempid,ename,0aslvlfr

7、omempwhereempid=@rootunionallselectC.empid,C.ename,P.lvl+1fromSubsCTEasPjoinempASConC.mgrid=P.empid)select*fromSubsCTE;emp(empid,ename,mgrid)createfunctiondbo.fn_subordinates(@rootasint)returns@SubsTable(empidintnotnullprimarykey,levelintnotnull)asbegindeclare@lvlasint;set@l

8、vl=0;--Initializelevelcounterwith0insertinto@Subs(empid,level)--Insertrootn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。