为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 《权限管理与设计》PPT课件教学文案

《权限管理与设计》PPT课件教学文案

2022-01-29 34页 ppt 183KB 14阅读

用户头像 个人认证

打雷了下雨了

暂无简介

举报
《权限管理与设计》PPT课件教学文案《权限管理与设计》PPT课件6权限管理的设计与实现本章内容DMBS的权限管理DMBS权限管理的概念模型设计DMBS权限管理的逻辑模型设计1、E-R图转换为表并进行必要的合并2、优化逻辑模型DMBS权限管理的物理模型设计6.1DMBS的权限管理本节要点:DBMS权限的分类DBMS的身份管理授权与回收权限6.1权限分类权限的分类系统权限administrator,createtable,connect…针对关系(table/view)的权限select,update,delete,insert…示例:selectons针对属性/属...
《权限管理与设计》PPT课件教学文案
《权限管理与设计》PPT课件6权限管理的设计与实现本章内容DMBS的权限管理DMBS权限管理的概念模型设计DMBS权限管理的逻辑模型设计1、E-R图转换为表并进行必要的合并2、优化逻辑模型DMBS权限管理的物理模型设计6.1DMBS的权限管理本节要点:DBMS权限的分类DBMS的身份管理授权与回收权限6.1权限分类权限的分类系统权限administrator,createtable,connect…针对关系(table/view)的权限select,update,delete,insert…示例:selectons针对属性/属性组的权限select,update,delete,insert…示例:select(sno,sname)ons没有关于元组的权限,不能基于元组授权SSnoSnameDeptS1甲计S2乙软S3丙软S4丁计6.1身份标识数据库系统的身份标识用户user角色role用户和角色的关系连接使用数据库,必须以一个特定的用户身份不能使用role身份直接连接使用数据库一个用户可同时具备多个角色一个角色可以为多个用户拥有角色可以拥有角色角色拥有关系可以传递权限可以授予用户或者角色用户拥有授给本用户的所有权利,以及本用户具有的角色的所有权利每个用户对自己模式下的对象(表,视图…)拥有属主权(owner)6.1身份管理用户管理创建用户:createuserusernameidentifiedbypassword;删除用户:dropuserusername;角色管理创建角色:createrolerolename;删除角色:droprolerolename;用户和角色关系的管理赋予用户角色:grantrole1tou1;撤销用户角色:revokerole1fromu1;6.1授权:grant授权grantprivilegetoidentity(user/role)示例:u1将s(sno,sname)的查询权授予u2和role1grantselect(sno,sname)onstou2,role1;转授权限:withgrantoptionu1:grantselectonstou2;//u2拥有了selects权,无转授权权u2:grantselectonstou3;//不能成功u1:grantselectonstou4withgrantoption;//u4拥有了selects权,并有转授权权u4:grantselectonstou5;//成功,u5拥有了selects权6.1权限回收:revoke权限回收revokerevokeprivilegefromidentity(user/role);示例,u1:revokeselectonsfromu2;转授的权力与回收转授权人的权力被回收时,其转授的权力随之被回收示例:u1:grantselectonsctou2withgrantoption;u2:grantselectonsctou3;u1:revokeselectonscfromu2;//u2权力被回收后,u3不再具有selectsc权6.2权限管理的概念模型设计DBMS权限管理的概念模型设计你在一个DBMS开发公司工作,负责进行DBMS权限管理子系统的开发工作请根据DBMS的权限管理要求,完成权限管理子系统概念模型的设计6.2权限管理的概念模型设计DBMS权限管理概念模型设计参考(一)思考:该方案有哪些不足?ISA角色用户具有身份具有权限拥有对象IidpasswordpidonamepnameoidIname6.2权限管理的概念模型设计DBMS权限管理概念模型设计参考方案(二)grantergrantedISA角色用户具有身份具有权限拥有对象GrantoptionIidpasswordpidonamepnameoidIname6.2权限管理的概念模型设计参考方案(一)vs参考方案(二)参考方案(一)没有描述谁进行的授权参考方案(二)是一个比较理想的方案关于后续讨论为了方便讨论,以下我们采用方案一采用方案一,即假设我们不考虑权力由谁授予采用方案一,仅仅是为了后续讨论的方便思考:如果不使用继承,E-R会如何?(假设不考虑权力由谁授予)6.2权限管理的概念模型设计DBMS权限管理概念模型设计参考方案(三)一种不使用继承的方案角色用户具有具有权限拥有对象UIDpasswordpidonamepnameoidUnameRidRname拥有6.2权限管理的概念模型设计DBMS权限管理概念模型设计参考方案(四)另一种不使用继承的方案身份具有权限拥有对象IidpasswordpidonamepnameoidInametype6.2权限管理的概念模型设计假设不考虑权力由谁授予,思考:方案一、三、四,各有什么优缺点?哪个方案更合适?你更愿意选择哪个方案?6.3权限管理的逻辑模型设计逻辑模型设计步骤6.3.1E-R图转换为表并进行必要的合并6.3.2逻辑模型优化转换、设计理解、表达现实世界概念模型:E-R图逻辑模型:DBSchema6.3.1E-R关系模式假设DBMS权限系统概念模型设计采用方案(一)练习:请将E-R图,转换逻辑模型思考:继承关系,如何转换更合适?ISA角色用户具有身份具有权限拥有对象IidpasswordpidonamepnameoidIname6.3.1E-R关系模式参考方案(一)实体转换的关系,父子分别建表Identity(iid,iname)User(iid,password)Role(iid)Privilege(pid,pname)Object(oid,oname)联系转化的关系UR(u-iid,r-iid)RR(iid,has-iid)POI(pid,oid,iid)思考:表role(iid)可以省略吗?6.3.1E-R关系模式参考方案(二)实体转换的关系,只为child建表User(iid,iname,password)Role(iid,iname)Privilege(pid,pname)Object(oid,oname)联系转化的关系UR(u-iid,r-iid)RR(iid,has-iid)POU(pid,oid,iid)POR(pid,oid,iid)思考:POU和POR能合并吗?6.3.1E-R关系模式参考方案(三)实体转换的关系,只为parent建表Identity(iid,iname,password,type)Privilege(pid,pname)Object(oid,oname)联系转化的关系II(iid,has-iid)POI(pid,oid,iid)思考:表role(iid)可以省略吗?6.3.1E-R关系模式思考一:逻辑模型一、二、三,哪一个更合适?如果你是设计人员,你更愿意选择哪个方案?思考二:逻辑模型二,和概念模型三,有什么关系?逻辑模型三,和概念模型四,有什么关系?你能总结一下,当有继承关系时,概念模型到逻辑模型的转化方法吗?6.3.1表的合并表合并的原则二元m:1联系转化成的表可以和多端实体转化成的表进行合并其它表之间不能机械合并权限系统E-R图转换成的表的合并本逻辑模型无表可以机械合并6.3.2逻辑模型优化逻辑模型设计步骤1、E-R图转换为表并进行必要的合并本步可以按照机械方法完成2、逻辑模型优化本步无具体可行的机械方法主要依靠设计人员的经验和能力逻辑模型优化本节针对逻辑模型方案一,进行优化转换、设计理解、表达现实世界概念模型:E-R图逻辑模型:DBSchema6.3.2逻辑模型优化思考:针对如下逻辑模型方案一,可以如何优化?Identity(iid,iname)User(iid,password)Role(iid)Privilege(pid,pname)Object(oid,oname)UR(u-iid,r-iid)RR(iid,has-iid)POI(pid,oid,iid)6.3.2逻辑模型优化优化思路一:考虑减少表能去掉表Role(iid)吗?如何去掉?Identity(iid,iname)User(iid,password)Role(iid)Privilege(pid,pname)Object(oid,oname)UR(u-iid,r-iid)RR(iid,has-iid)POI(pid,oid,iid)思考:是去掉好,还是原来好?6.3.2逻辑模型优化优化思路一:考虑减少表去掉表Role后的逻辑模式Identity(iid,iname,isrole)User(iid,password)Privilege(pid,pname)Object(oid,oname)UR(u-iid,r-iid)RR(iid,has-iid)POI(pid,oid,iid)思考:能进一步合并User和identity吗?User+Identity=Identity(iid,iname,isrole,isuser)User+Identity=Identity(iid,iname,type)要不要进行合并?哪个合并方案更好?6.3.2逻辑模型优化优化思路一:考虑减少表合并user和identity后的逻辑模式Identity(iid,iname,type)Privilege(pid,pname)Object(oid,oname)UR(u-iid,r-iid)RR(iid,has-iid)POI(pid,oid,iid)思考:是否应该进一步合并UR和RR?6.3.2逻辑模型优化优化思路一:考虑减少表进一步合并UR和RR后的逻辑模式Identity(iid,iname,type)Privilege(pid,pname)Object(oid,oname)II(iid,has-iid)POI(pid,oid,iid)比较:优化到现在的结果,和逻辑模型参考方案三,有什么区别?6.3.2逻辑模型优化优化思路二,效率优化考虑:针对减少表优化之后的逻辑模式Identity(iid,iname,type)Privilege(pid,pname)Object(oid,oname)II(iid,has-iid)POI(pid,oid,iid)思考:哪些操作的效率可能存在问?如何解决这些问题?6.3.2逻辑模型优化效率优化考虑一:表II(iid,has-iid)存储了给某一身份直接赋予的身份,但一身份实际拥有哪些身份?这个关系并没有直接存储这个问题可以从II(iid,has-iid)中递归计算获取这个问题的使用频率应该较高递归计算效率较低为了提高这一问题的解答速度,可以考虑增加表II_all(iid,has-iid),该表存储每一身份实际拥有的全部身份思考:增加该表的利与弊?你愿意增加这个表吗?6.3.2逻辑模型优化效率优化考虑二:表POI(pid,oid,iid)存储了给某一身份直接赋予的权限,但一身份实际拥有哪些权限?这个关系并没有直接存储这个问题可以从II_all(iid,has-iid)和POI中计算这个问题的使用频率应该较高为了提高这一问题的解答速度,可以考虑增加表POI_all(pid,oid,iid),该表存储每一身份实际拥有的全部权限思考:增加该表的利与弊?你愿意增加这个表吗?6.3.2逻辑模型优化逻辑模型优化参考方案一:Identity(iid,iname,type)Privilege(pid,pname)Object(oid,oname)II_granted(iid,has-iid)//实际方案中对II进行了重命名II_all(iid,has-iid)POI(pid,oid,iid)这是一个实际工程中最终的逻辑优化方案不是唯一的,你当然可以选择其它优化方案练习:请给出该逻辑模型关系模式图、关系实例示意图6.4物理模型设计一个物理模型设计参考方案如下:表存储设计:采用数据库默认表存储方式,不进行存储优化设计索引设计:Identity(iid,iname,type):uniqueindex(iid),ind(type)Privilege(pid,pname)//考虑到该表元组有限,没有设计索引Object(oid,oname):uniqueindex(oid)II_granted(iid,has-iid):uniqueindex(iid,hasiid),ind(iid),ind(has_iid)II_all(iid,has-iid):uniqueindex(iid,hasiid),ind(iid),ind(has_iid)POI(pid,oid,iid):uniqueindex(pid,oid,iid),ind(iid)这是实际工程中采用的方案方案不是唯一的,你当然可以选择其它物理模型方案结束
/
本文档为【《权限管理与设计》PPT课件教学文案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索