- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
组织层次结构在关系型数据库中的实现方法
作者:湖南粮食技工学校信息机电教研室——张响
〖摘要〗
在B/S和C/S结构应用系统的数据库模型设计过程中,经常遇到分级分层的组织结构数据库设计的问题,它们以树状结构存在,上级有若干个下级、下级又分若干个下级,这样一级一级的出现层次的问题,如:公司的商品与类别关系,商品与品牌关系,人事部门的组织架构用户与部门关系等,这些关系中:商品的类别——商品、品牌——商品、部门——用户之间存在实体间的一对多关系,类别、品牌、部门内部之间又存在隶属(层次)关系,怎样在数据库设计中设计出这种关系,同时有效快速检索不同层次查询信息?是数据库设计者要考虑的问题。这些关系在关系型数据库中表示时,有它特别的方法,有些人把它们分别建立在不同的表中,建立相应的关系,这虽然是一种解决办法,但如果在应用中,它给软件带诸多不便,特别是程序健壮性方法,如果此时需要多加一个职位,这种解决办法就需要多加一张表,那此时对应用程序的改动将可想而知。
〖关键字〗
1. 关系型数据库:
用二维表结构来表示实体以及实体之间联系的模型。
2. 递归:某一事物直接地或间接地由自己组成。
3. 递归调用:一个函数直接或间接地调用自身,便构成了函数的递归调用。前者称直接递归调用,后者称间接递归调用。
4. 检索:根据给定的任何条件,快速的查询出各条件相关的数据库查询信息。
〖正文〗
实现方法一:
层次模型在关系数据库本身是个问题,根本问题在于关系模型的第一范式:要求属性分为不可再分,对于组织结构这种关系,方法是:在设计中做一个指向本身主键的属性,也就是这个属性的外键就是本表的主键,它们之间建立自连接,可以实际层次查询的需求。
如:假设一个雇员关系:
雇员(雇员号,雇员姓名,经理)
基中雇员号和经理两个属性出自同一个值域,同一元组的这两个属性值是“上、下级”关系。雇员号为主键,在目录层次结构中,雇员号为子结点,经理为父结点。
1:N
雇员号
雇员姓名
经理
雇员号
雇员姓名
经理
E3
P1
E4
P2
E3
E6
P3
E3
E8
P4
E6
图 雇员关系
例: 根据雇员关系列出上一级经理及其所领导的职员清单。
SELECT S.雇员姓名,’’领导”,E.雇员姓名 FROM 雇员 S,雇员 E WHERE;
S.雇员号=E.经理
说明:定义经理关系 S 和 雇员关系 E,结果在关系S和E上的联接实现了检索的要求。
在实际应用中我们往往需要检索它的相应的不同层(子结点或者父结点),同时子结点与相应表之间存在联系,这时在数据结构中采用递归的方法,根据不同结点的层次位置,递归出相应结点的内容,虽然这种结构的实现需要计算机付出时间、空间的代价,但能实现实际不同结点信息的检索需要,也是层次结构在关系数据库中的一种常用的解决方法。
例如:――― 定义类别表:
CREATE TABLE dbo.[BASDEPT] (
[ID] 类别ID int NOT NULL,
[DPTNO] 类别编号 varchar(20) NOT NULL,
[DPTNAME] 类别名称 varchar(60) NOT NULL,
[PID] 父类别ID int NOT NULL,
)
其中类别ID与父类别ID 存在父与子之间的层次关系。父类别为0,表示根结点。
类别层次结构如下:
第一层
第二层
第三层
第四层
类别名称
(类别编号)
食品
(01)
休闲类
(24)
米果(241)
……
海苔(242)
果冻类(243)
果仁(244)
坚果仁(24401)
瓜仁类(24402)
豆类、花生(24403)
其他类(24404)
休闲小食(245)
……
……
粮油(21)
南北干货
(22)
烹调食品
(23)
……
类别表如下:
类别id
类别编号
类别名称
父类别id
1227
1
食品
0
1100
24
休闲食品
1227
1196
244
果仁
1100
1395
24401
坚果仁
1196
……
……
……
……
―――定义商品表
CREATE TABLE dbo.[BASPLU] (
[PLUID] 商品ID int NOT NULL,
[DPTID] 类别ID int
您可能关注的文档
最近下载
- 浅表淋巴结结核的诊断与治疗专家共识.pptx VIP
- 标准图集-11K406-暖,冷风机选用与安装.pdf VIP
- 患者隐私保护培训课件(精).pptx VIP
- 2024年烟草公司笔试试题真题(附答案).docx VIP
- 实景三维地理信息数据倾斜摄影测量技术规程.pdf VIP
- 化学-郑州外国语中学2024-2025学年高一上学期10月月考.pdf VIP
- 中职思想政治高教版(2023)哲学与人生 第三课 追求人生理想 教案(表格式).doc.docx VIP
- 七夕情人节牛郎织女小报手抄报word电子模板黑白线稿横版竖版涂色 (1).docx VIP
- 歌曲二胡曲谱.doc VIP
- 财务会计学习指导、习题与实训第六版王宗江习题答案.docx
文档评论(0)