下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
树型结构的四种建模方法分类:DataModelDWBIEE11gOracleSQLServer2012-04-0700:47132人阅读评论(2)收藏举报对于组织架构中的员工层次关系我们应该怎么建模呢?如下图所示:此类结构通常有两个主要特点:1、 一个孩子有且只有一个父亲2、 树的深度不确定为了解决这种结构,我们一般会建一张下面的表:方案一(AdjacencyList)CREATETABLEEmployees(employee_idint,employee_namevarchar2(100),parent_idint);每个员工在Employees表中会有一条记录,并通过parent_id来记录其直属领导的employee_id,这样做很简单明了,但是却存在一些弊端。考虑如下问题:1、 如何得到某个员工的直属领导?2、 如何得到某个领导的直属下属?3、 如何得到某个领导全部下属(下属的下属)?问题1、2都很简单,一次自连接就解决了:1、[sql]viewplaincopyselectpar.employee_id,par.employee_namefromemployeespar,employeesselfwhereself.parent_id=par.employee_idandself.employee_id=32012、[sql]viewplaincopyselectchild.employee_id,child.employee_namefromemployeeschild,employeesselfwherechild.parent_id=self.employee_idandself.employee_id=1010但问题3呢?两种人会有两种做法,一种觉得可以在程序里做,把问题2的SQL循环执行最终把结果拼起来就OK了;一种是觉得我可以使用多次自连接,比如我知道这下领导最多有两级下属,我就可以这样做:selectchild.employee_id,child.employee_name,child1.employee_id,child1.employee_namefromemployeesselfinnerjoinemployeeschildonchild.parent_id=self.employee_idleftjoinemployeeschild1onchild1.parent_id=child.employee_idandwhereself.employee_id=1010上面两种方法看似都可以解决问题,但是别忘了此类树结构的一个很重要的特点,那就是深度的不确定性(就算确定,如果层次很深,20级),性能及可扩展性将是一个很大的问题。那怎么办呢?一时间好像看起来别无他法啊。好消息是使用Oracle10g及以上或者SQLServer2005及以上的朋友可以直接使用数据库特有的SQL特性来解决这个问题了。例如在Oracle中可以使用层次查询[sql]viewplaincopyselectEMPLOYEE_ID,employee_namefromemployeesstartwithemployee_id=1connectbyprioremployee_id=parent_i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市2025上海市部分事业单位面向残疾人专项招聘22人笔试历年参考题库典型考点附带答案详解
- 上海市2025上海市市场监督管理局行政服务中心招聘2人(第二批)笔试历年参考题库典型考点附带答案详解
- 黔东南苗族侗族自治州2025贵州黔东南州直属事业单位招聘工作人员100人笔试历年参考题库典型考点附带答案详解
- 2026黑龙江省农业投资集团有限公司总部及共享中心招聘4人笔试历年典型考点题库附带答案详解
- 2026青海威斯特铜业有限责任公司招聘38人笔试历年常考点试题专练附带答案详解
- 2026陕西地矿集团有限公司招聘信息表笔试历年难易错考点试卷带答案解析
- 2026重庆九洲智造科技有限公司招聘研发工程师10人笔试历年难易错考点试卷带答案解析
- 2026辽宁省交通建设投资集团有限责任公司下属养护公司拟聘人员笔试历年备考题库附带答案详解
- 广东省电子商务技师学院招聘真题
- 2025年方正县事业单位真题
- 集团子公司安全责任制度
- 三年(2023-2025)辽宁中考语文真题分类汇编:专题09 记叙文阅读(解析版)
- 行政单位打卡考勤制度
- 2026物业管理行业职业技能竞赛物业管理员考试试题及答案
- 新能源汽车动力电池回收合同协议2025
- 中央公务员考试试题及答案
- 机器人手术术中视野暴露优化策略
- 子宫内膜息肉诊治课件
- 2×200MW火力发电厂电气部分设计
- 成都职业技术学院2025年四季度编制外公开(考试)招聘23名工作人员笔试考试参考试题及答案解析
- 听力学基础与临床
评论
0/150
提交评论