设为首页 收藏本站
查看: 369|回复: 0

[经验分享] 重温Oracle(11)

[复制链接]

尚未签到

发表于 2016-6-23 08:49:20 | 显示全部楼层 |阅读模式
  
第二十七章 数据库设计工具

 

常用的数据库设计工具有:PowerDesigner、ErWin、Rose等

 

权限系统设计

用户角色

 

 
用户角色Number(22)<PK>
用户IDNumber(38)<FK1>
角色IDNumber(22)<FK2>
登录IDVarchar2(255)
登录时间Date
最后修改IDVarchar2(255)
最后修改时间Date
删除IDVarchar2(255)
删除时间Date
 
角色
角色IDNumber(22)<PK>
角色名称Varchar2(255)
登录IDVarchar2(255)
登录时间Date
最后修改IDVarchar2(255)
最后修改时间Date
删除IDVarchar2(255)
删除时间Date
 
权限
权限IDNumber(22)<PK>
权限名称Varchar2(255)
权限描述Varchar2(255)
登录IDVarchar2(255)
登录时间Date
最后修改IDVarchar2(255)
最后修改时间Date
删除IDVarchar2(255)
删除时间Date
 
角色模块权限
RelIDNumber(22)<PK>
角色IDNumber(22)<FK1>
模块IDNumber(22)<FK2>
权限IDNumber(22)<FK3>
登录IDVarchar2(255)
登录时间Date
最后修改IDVarchar2(255)
最后修改时间Date
删除IDVarchar2(255)
删除时间Date
 
模块
模块IDNumber(22)<PK>
模块功能名称Varchar2(255)
模块功能描述Varchar2(255)
上一级ID(子模块与父模块)Number(22)
登录IDVarchar2(255)
登录时间Date
最后修改IDVarchar2(255)
最后修改时间Date
删除IDVarchar2(255)
删除时间Date
 
 
首先,介绍一下系统的主要组成部分,因为是权限系统,所以它的组成主要由模块权限、角色权限、用户权限三大部分组陈个,下面将详细介绍一下三大权限的作用以及他们相互存在的依赖性。
         模块权限部分,说白一点就是管理系统中的功能模块,而在这些模块中,它们有着各式各样的具体的操作,这些具体的操作权限就是模块权限,例如新加了一个用户管理的功能模块,在这个模块设计中需要进行浏览、添加、修改、删除、审核、查询等一些具体的操作,在系统运行的过程中,不是所有的用户都会拥有这些权限的,根据需要,就产生了下面的角色权限。
         角色权限部分,它就是一个身份,拥有这个身份的用户在系统中能做些什么,不能做些什么,用户都得依照这个身份,无法过界,这也是一个权限的范围限定,在一个管理系统有很多的用户,我们不能将模块中的权限逐个的分配给用户,现在角色的出现就解决了这个问题,它就像一个权限组,将模块的权限指派给角色,让拥有该角色的用户可以拥有对模块对应的操作权限,然而,一个系统中用户可能会成千上万不等,但我想角色最多不过几十个,将模块权限授权给几十个角色比授权给上万个用户轻松多了,角色虽然是权限组,有限定的作用范围,但是也会有出现意外情况的时候,如果一个用户有操作用户模块的角色,但对它的有个特殊的要求,就是不能操作用户模块中的删除或其他功能,还有就是它还有操作另外模块的权限,二它拥有的角色只能访问用户模块,怎么办呢?难道要为这一个用户再建立一个角色吗?答案是No。
         现在介绍系统中的最后一个权限,它就是用户权限,很多朋友以前在开发管理系统时都用过这种权限模式,虽然这种方法比较原始,但它能解决我们上面所遇到的问题,当然,还需要做一些小小的改进,在角色中,我们只告诉用户能做什么,没有告诉的就不能做,以角色做权限批量判断这点已经够了,而用户单独的权限判断有点特殊,它得跳出角色。它的权限优先于角色的权限,它拥有对某权限允许和禁止操作的功能,例如一个用户的角色权限可以操作用户模块所有的功能,而该用户拥有了该模块某一功能的禁止权限,那该用户不能对这个模块进行该功能操作,反之,用户角色没有授权这个模块功能,而用户权限被授予了这个功能模块的允许权限,那它就能操作该功能,关系如下(图表后面更新)
 
 
第二十八章 对象关系数据库系统
 
数据库发展历程
层次型数据库
网状型数据库
关系型数据库(主流)(19世纪70年代)
对象关系型数据库(20世纪80年代开始)
定义:ORDBS是面向对象的数据库模型(Object Oriented Data Model简称OO模型)和关系型数据模型的结合产物。
 
对象关系型数据库的发展方向
以面向对象的程序设计语言为基础,研究持久化的程序设计语言。支持OO模型(hibernate)。
建立新的面向对象数据库系统OODBS,支持OO数据模型。
以关系数据库和SQL为基础,把面向对象技术融入到数据库系统的ORDBS。
 
从纯粹的数据库系统角度来说,第三种发展较为卓著。它在传统的关系数据库的基础上吸收了OO模型的主要思想,同时又保持了关系数据库系统的优点。成功开发了诸如:Postgres,Illusta等原型系统。
 
SQL3
SQL全名是结构化查询语言(Structured Query Language),是用于数据库中的标准查询语句,IBM公司最早使用在其开发的数据库系统中。1986年10月,美国ANSI对SQL进行规范后,一次作为关系型数据库管理系统的标准语言(ANSI X3,13501986),1987年得到国际标准组织的支持下称为国际标准。
 
SQL3是1999年发布的新的SQL标准。最显著的特点就是:提供了面向对象的扩展,克服了原来关系型数据库系统数据类型单一的缺点。扩展的类型LOB,Boolean,集合类型Array,用户定义的Distinct类型
现在的、最新的标准时SQL99。Oracle不但对标准的SQL完全兼容,而且有自己更为方便的增强SQL
 
大对象LOB(large Object)类型
Lob主要分为Blob(Binary Large Object),用于存储音频,图像数据。Clob(Character Large Object)主要用于存储长字符串数据
Lob对象可以向其他数据类型那样被查询,修改,插入,但是必须为LOB提供足够大的缓冲区。
应用程序通常并不传输整个LOB类型的值,而是通过LOB定位器访问大对象值。
 
Boolean类型
除了not,and,or还增加了every,any
 
集合类型Array
Create table sales(
Item_no_char(20), --商品号
Qty integer array[12] –整数数组。存放12个月的销售额
)
 
插入值的方式:
Insert into sales(item_no,qty) values(‘nike10029’,array[20,10,20,…,1,12,10]);
 
查询三月份的销售额大于100的商品号
Select item_no from sales where qty[3] > 100;
 
Distinct类型
 
 
第二十九章 其他数据库
 

 
全书完
 
张文海

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-233916-1-1.html 上篇帖子: oracle 赋权 下篇帖子: Oracle入门语法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表