`
wenhai_zhang
  • 浏览: 185945 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

重温Oracle(11)

    博客分类:
  • DB
 
阅读更多

 

第二十七章 数据库设计工具

 

常用的数据库设计工具有:PowerDesignerErWinRose

 

权限系统设计

用户角色

 

 

用户角色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模型的主要思想,同时又保持了关系数据库系统的优点。成功开发了诸如:PostgresIllusta等原型系统。

 

SQL3

SQL全名是结构化查询语言(Structured Query Language),是用于数据库中的标准查询语句,IBM公司最早使用在其开发的数据库系统中。198610月,美国ANSISQL进行规范后,一次作为关系型数据库管理系统的标准语言(ANSI X3,13501986,1987年得到国际标准组织的支持下称为国际标准。

 

SQL31999年发布的新的SQL标准。最显著的特点就是:提供了面向对象的扩展,克服了原来关系型数据库系统数据类型单一的缺点。扩展的类型LOBBoolean,集合类型Array,用户定义的Distinct类型

现在的、最新的标准时SQL99Oracle不但对标准的SQL完全兼容,而且有自己更为方便的增强SQL

 

大对象LOBlarge Object)类型

Lob主要分为BlobBinary Large Object,用于存储音频,图像数据。ClobCharacter Large Object)主要用于存储长字符串数据

Lob对象可以向其他数据类型那样被查询,修改,插入,但是必须为LOB提供足够大的缓冲区。

应用程序通常并不传输整个LOB类型的值,而是通过LOB定位器访问大对象值。

 

Boolean类型

除了notandor还增加了everyany

 

集合类型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类型

 

 

第二十九章 其他数据库

 

 

全书完

 

张文海

分享到:
评论

相关推荐

    数据库Oracle教程

    本教程旨在帮助你重温或深入学习Oracle数据库的基础知识及高级特性,让你在数据库管理领域更加得心应手。 首先,Oracle数据库的核心概念包括数据模型、SQL语言、数据库架构和事务管理。数据模型是数据库设计的基础...

    oracle基础知识回顾与练习.zip

    总的来说,“oracle基础知识回顾与练习.zip”提供了全面的Oracle SQL学习路径,无论你是初学者还是希望重温基础的开发者,都能从中受益。通过系统学习和实践,你可以逐步掌握Oracle数据库的关键技能,为未来的职业...

    zkoss CE6.0+spring3.0.5+hibernate3.6+oracle10g+mysql5最全包

    这是一个关于企业级应用开发的集成环境包,包含了前端框架ZKoss CE6.0、后端框架Spring3.0.5、ORM框架Hibernate3.6,...对于想要了解早期Java开发技术或者重温旧有技术栈的开发者来说,这是一个非常有价值的参考资料。

    行业-89 再次重温写出各种SQL语句的时候,会用什么执行计划?(2).rar

    DBMS还提供了查询分析工具,如Oracle的Explain Plan或SQL Server的Execution Plan,它们能展示每一步的预计成本、实际资源消耗和操作顺序,帮助开发者理解并优化执行计划。 总结来说,"行业-89 再次重温写出各种SQL...

    行业-88 再次重温写出各种SQL语句的时候,会用什么执行计划?(1).rar

    本资料“行业-88 再次重温写出各种SQL语句的时候,会用什么执行计划?(1)”很可能是探讨SQL查询执行计划的一份深入教程,旨在帮助读者掌握如何分析和优化SQL语句的执行流程。 首先,执行计划包括以下几个关键元素...

    行业-90 再次重温写出各种SQL语句的时候,会用什么执行计划?(3).rar

    1. 使用EXPLAIN或EXPLAIN PLAN:在大多数数据库系统(如MySQL、PostgreSQL、Oracle等)中,可以在SQL语句前加上`EXPLAIN`或`EXPLAIN PLAN`关键字来查看执行计划。 2. 查询分析器:某些数据库管理系统(如SQL Server...

    java培训实习总结.doc

    在实习期间,学员们重温了Java的基础语法、类和对象的概念,以及异常处理等关键知识。 2. **JavaWeb开发**:JavaWeb技术包括Servlet和JSP,它们是构建动态Web应用的重要工具。Servlet是一个Java类,用于扩展服务器...

    2020年软件测试顶岗实习报告总结.docx

    (2) 工作方法:在编写测试用例的过程中,我重温了编程基础知识,并积极寻求同事的帮助。我认识到,不断积累知识和经验,以及将遇到的问题和解决方案铭记于心,是提升工作效率的关键。 (3) 工作责任:在公司,我视...

    SQL-4 数据库知识

    本文将深入探讨SQL的多个重要知识点,帮助读者重温或掌握这些基础概念。 1. 数据库基础 - 数据库:是存储和管理数据的系统,如Oracle、MySQL、SQL Server等。 - 关系型数据库:基于关系理论,通过表格形式展示...

    java培训实习报告.docx

    2. **Core Java**:从基础的变量、运算符到控制结构,实习生重温了Java的核心概念,这是所有Java开发的基础。 3. **SQL和数据库**:学习了SQL语言,包括基础和优化,以及Oracle数据库开发和PL/SQL,这是处理数据和...

    mapinfo 4 安装程序

    再者,MapInfo 4具备数据库集成能力,可以与多种数据库系统无缝对接,如Microsoft Access、Oracle和SQL Server等。这使得用户可以直接在GIS环境中进行数据库操作,实现地理数据与业务数据的结合。 安装过程中,用户...

    PB学习手册附阅读器

    6. **数据库连接**:讲述如何配置数据源,使用ADO、ODBC或OLE DB等方式连接不同的数据库系统,如SQL Server、Oracle、MySQL等。 7. **应用程序部署**:介绍PB应用程序的编译、发布和部署过程,包括生成可执行文件和...

    Java个人实习总结.pdf

    1. Java基础知识回顾:在实习期间,实习生可能重温了Java的基础语法、面向对象的编程原则、数据类型、控制结构、异常处理等,这些都是Java编程的根基。 2. 集成开发环境(IDE)的使用:在实习中,实习生需要熟悉并...

    软件工程的实习报告4篇.pdf

    - 实习期间,学生重温了JAVA基础,Web设计,ORACLE数据库等关键技能。 - 强调了基础学习的重要性,特别是对于软件工程师而言,JAVA是必备技能。 - 学习了Web开发技术,理解了HTTP协议在B/S架构中的应用,掌握了...

    delphi4.0 开发工具包

    《Delphi 4.0 开发工具包:重温经典编程之旅》 Delphi 4.0,这款在1998年推出的开发工具,虽然已历经二十多年的岁月洗礼,但其影响力仍然不减,尤其在程序员社区中,仍有一部分忠实用户对它保持着深深的热爱。...

    电脑用JAVA模拟器.rar

    “JAVA”是Java编程语言的缩写,由Sun Microsystems(现已被Oracle公司收购)开发,是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性而著名。Java模拟器就是利用了这一特性,使得基于Java的...

    myeclipse3.83企业稳定版(非常稀少的资源)

    在数据库管理上,MyEclipse 3.83内置了数据库连接工具,可以方便地创建、修改和查询数据库,支持多种主流数据库系统,如Oracle、MySQL、SQL Server等。同时,它还可以生成数据库模型图,帮助开发者直观理解数据结构...

    PB6.5.rar数据库维护软件

    4. **数据库连接性**:PB6.5支持多种数据库系统,如Oracle、MySQL、SQL Server、DB2等,这使得开发者能够轻松地与不同的数据库平台进行交互。 5. **脚本语言**:PB6.5使用的是PBL语言,这是一种基于Sybase的Simple ...

    java基础(全)

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是简洁、通用,并且能够跨平台运行,这得益于其“一次编写,到处运行”的哲学。Java的基础是任何...

    陆卫康的VFP技术文章和示例

    6. **网络与数据库连接**:VFP可以与其他数据库(如SQL Server、Oracle等)进行连接,实现数据交换和处理。 7. **数据可视化**:VFP支持图表和图形的创建,便于数据可视化展示。 8. **脚本语言**:VFP的命令式语言...

Global site tag (gtag.js) - Google Analytics