- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
权限管理数据库设计说明
借助NoahWeb的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。
我们先来分析一下数据库结构:
首先,action表(以下简称为“权限表”),gorupmanager表(以下简称为“管理组表”),以及master表(以下简称为“人员表”),是三张实体表,它们依次记录着“权限”的信息,“管理组”的信息和“人员”的信息。如下图:
?
这三个表之间的关系是多对多的,一个权限可能同时属于多个管理组,一个管理组中也可能同时包含多个权限。同样的道理,一个人员可能同时属于多个管理组,而一个管理组中也可能同时包含多个人员。如下图:
?
由于这三张表之间存在着多对多的关系,那么它们之间的交互,最好使用另外两张表来完成。而这两张表起着映射的作用,分别是“actiongroup”表(以下简称“权限映射表”)和“mastergroup”表(以下简称“人员映射表”),前者映射了权限表与管理组表之间的交互。后者映射了人员表与管理组表之间的交互。如下图:
另外,还需要一张表来控制系统运行时左侧菜单中的权限分栏,也就是“权限分栏表”,如下图:
根据上面的分析,我们进行数据库结构设计,如下图:
?
为了能够进行良好的分析,我们将数据库结构图拆分开来,三张实体表的作用已经很清晰,现在我们来看一下两张映射表的作用。
一 权限映射表如下图:
首先,我们来了解一下权限映射表与管理组表以及权限表之间的字段关联。
看图中的红圈,先看gorupid字段相关联,这种关联方式在实际数据库中的表现如下图:
如图中所示,管理组表中“超级管理员”的groupid为1,那么权限映射表中groupid为1的权限也就是“超级管理员”所拥有的权限。
使用groupid字段关联,是为了查到一个管理组能够执行的权限有哪些。但这些权限的详细信息却是action字段关联所查询到的。
action字段相关联在数据库中的表现如下图:
通过这种关联,才查询到权限映射表之中那些权限的详细信息。综合起来,我们就知道了一个管理组可以执行的权限有哪些,以及这些权限的详细信息是什么。
或许你会问,为什么不使用actionid字段相关联呢?因为:
权限表中的id字段在经过多次的数据库操作之后可能会发生更改。
权限映射表中仅仅记录着一个管理组可以执行的权限。
一旦权限表中的id更改,那么权限映射表中的记录??就更改了。
一个管理组可以执行的权限势必将出错,这是非常不希望的。
考虑到上面的情况,所以应该使用action字段相关联,因为:
在权限表中,id可能发生变化,而action字段却是在任何情况下也不可能发生变化的。
权限映射表中记录的action字段也就不会变。
一个管理组可以执行的权限就不会出错了。
二 人员映射表如下图:
我们来了解一下人员映射表与管理组表以及人员表之间的字段关联,如下图:
?
看图中的红圈部分,先看groupid字段关联,这种关联方式在数据库中的表现如下图:
如图,“超级管理员”组的groupid为1,我们再看人员映射表,admin属于超级管理员组,而administrator属于超级管理员组,同时也属于管理员组。
使用这种关联方式,是为了查到一个管理组中的人员有谁。和上面一样,人员的详细信息是靠id字段(人员映射表中是masterid字段)关联查询到的。
id字段(人员映射表中是masterid字段)关联表现在数据库中的形式如下图:
一个人员可能同时属于多个“管理组”,如图中,administrator就同时属于两个“管理组”。所以,在人员映射表中关于administrator的记录就会是两条。
这种关联方式才查询到管理组中人员的详细信息有哪些。综合起来,才可以知道一个管理组中的人员有谁,以及这个人员的详细信息。
再结合上面谈到的权限表和权限映射表,就实现了需求中的“组”操作,如下图:
?
其实,管理组表中仅仅记录着组的基本信息,如名称,组id等等。至于一个组中人员的详细信息,以及该组能够执行的权限的详细信息,都记录在人员表和权限表中。两张映射表才真正记录着一个组有哪些人员,能够执行哪些权限。通过两张映射表的衔接,三张实体表之间的交互才得以实现,从而完成了需求中提到的“组”操作。
我们再来看一下权限分栏表与权限表之间的交互。这两张表之间的字段关联如下图:
两张表使用了actioncolumnid字段相关联,这种关联方式在数据库中的表现如下图:
?
如图所示,通过这种关联方式,我们可以非常清晰的看到权限表中的权限属于哪个分栏。
现在,数据库结构已经很清晰了,分配权限的功能以及“组”操作都已经实现。下面我们再来分析一下需求中提到
您可能关注的文档
- 易燃易爆危险点分级标准及管理制度.docx
- 明渠恒定渐变流水面曲线计算方法的简化求解_李义.pdf
- 明渠流量计算的研究现状和进展.pdf
- 星际世界浅谈英雄的成长历程.pdf
- 易:“极数定象”之秘——纵横图.pdf
- 星可侨心小学“教学点数字资源全覆盖”.doc
- 映射的教案(高中加强版).docx
- 星魂传说竞技场系统.pdf
- 是_错位_还是打中要害_评高旭东与刘小枫的对话并就教宋一苇.pdf
- 春秋外传——元神系统详解.pdf
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》模拟试题附完整答案详解(各.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》模拟试题附参考答案详解(培.docx
- 2025年云南楚雄中考地理试题及答案.pdf
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》模拟试题含完整答案详解【考.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》模拟试题含完整答案详解【夺.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》模拟试题含完整答案详解【名.docx
- 机房彩钢板开孔方案.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》模拟试题含完整答案详解【典.docx
- 2024-2025学年度全国统考教师资格考试《教育教学知识与能力(小学)》模拟试题含完整答案详解【全.docx
- 2025年云南楚雄中考历史试题及答案.pdf
文档评论(0)