Oracle管理规则与完全关系型

数据库 Oracle
在成品数据库中,安全性一直是一个重点,除了操作系统和网络安全设施外,一个DBMS通常提供几层安全措施。最常见的情形是,DBMS要求用户登录用户帐户的口令,口令被验证为真,才能访问数据库。因此了解DBMS管理规则是十分必要的。

数据库管理系统(DatabaseManagementSystem,DBMS)就是管理一个数据库的软件,它充当所有数据的知识库,并对它的存储、安全、一致性、并发操作、恢复和访问负责。DBMS有一个数据词典(有时被称为系统目录),其中贮存着它拥有的每个事物的数据,例如名字、结构、位置和类型,这种关于数据的数据也被称为元数据(metadata)。在一条数据的生存周期里(从它的创建到删除),这条数据的逻辑和物理信息都被记录在数据词典中。数据库系统管理员(DatabaseAdministrator,DBA)应该熟悉DBMS的数据词典;在数据库的整个生命周期内,数据词典为他或她服务。

DBMS应该遵循Codd提出的十二条法则,才能被分类到完全关系型:

1)信息法则。信息表现为贮存在单元中的数据,正如前面所讨论过的,将VIN作为一个单个的列使用,违反了这条管理Oracle管理规则。

2)授权存取法则。每一个数据项必须通过一个“表名+行主键+列名”的组合形式访问。例如,如果你能用数组或指针访问一个列,就违反这条管理Oracle管理规则。

3)必须以一致的方式使用空值。如果由于缺少数字值,空值(Null)被当作0来处理,或者由于缺少字符值而被当作一个空格处理,那么它就违反了这条管理Oracle管理规则。空值仅仅是指缺少数据而且没有任何数值。如果缺少的数据需要值,软件提供商通常提供使用缺省值的能力满足这一目的。

4)一个活跃的、在线数据字典应作为关系型表被存储,并且该字典应该可以通过常规的数据存取语言访问。如果数据字典的任何部分贮存在操作系统文件里,就违反了这条管理Oracle管理规则。

5)除了可能的低级存取例程外,数据存取语言必须提供所有的存取方式,并且是存取的仅有方式。如果你能通过一个实用程序而不是一个SQL接口来存取支持一个表的文件,就有可能违反了本管理Oracle管理规则。参见管理Oracle管理规则12。

6)所有能被更新的视图应当是可更新的。例如,如果你能将三个表连结起来,作为一个视图的基础,但却不能更新这个视图,则违反本管理Oracle管理规则。

7)必须有集合级的插入、更新和删除。目前,大多数RDBMS提供商都在某种程度上提供了这种能力。

8)物理数据的独立性。应用不能依赖于物理结构,如果一个支持某表的文件从一张盘移动到其他盘上或重新命名,不应该对应用产生影响。

9)逻辑数据的独立性。应用不应依赖于逻辑结构。如果一个表必须被分成两个部分,那么应该提供一个视图,以把两段连接在一起,以便不会对应用产生影响。

10)完整性的独立性。完整性管理Oracle管理规则应该贮存在数据字典中。主键约束、外键约束、检查约束、触发器等等都应该贮存在数据字典中。

11)分布独立性。一个数据库即使被分布,也应该能继续工作。这是管理Oracle管理规则8的一个扩展,一个数据库不仅能在一个系统(本地地)分布,也能在通过系统的网络(远程地)分布。

12)非破坏性法则。如果允许低级存取,一定不能绕过安全性或完整性管理Oracle管理规则,这些管理Oracle管理规则是常规的数据存取语言所遵守的,例如,一个备份或载入工具不能绕过验证、约束和锁来备份或载入数据。然而,软件供应商出于速度的原因,通常提供这些功能。那么,数据库系统管理员就有责任确保数据的安全性和完整性,如果瞬间出现问题,应该立即恢复。例如当载入VLDB时,可以临时禁止并重新打开约束检查。如果一个DBMS能满足本章中讨论的所有基本原则(两个定义、六个属性、关系型操作以及两个完整性管理Oracle管理规则)和这十二条法则,那么它就可以被当作一个RDBMS。

Codd用他的法则总结了这一切:“对于一个有资格成为RDBMS的系统来说,该系统必须排他地使用它的关系型工具来管理数据库。”

【编辑推荐】

  1. 手动设置Oracle管理控制和日志文件
  2. Oracle管理脚本对数据字典的创建
  3. Oracle管理工具Oracle SQL Handler功能一览
  4. 从代码员到Oracle管理员,曲折的修炼之道
  5. Oracle管理系统概述:特点,子系统与模块
责任编辑:王婧瑶 来源: 互联网
相关推荐

2018-07-18 09:16:39

关系型非关系型数据库

2022-05-27 07:37:38

关系型数据库Spanner

2018-06-07 08:31:33

Oracle分布式内存

2010-03-11 09:40:11

管理型交换机

2022-09-05 09:32:07

数据库存储

2011-08-15 16:28:06

Cocoa内存管理

2009-11-18 09:05:36

Oracle死锁进程

2017-02-16 10:00:46

2010-04-20 14:30:26

Oracle关系模型

2010-04-13 11:09:21

Oracle数据库

2009-10-22 16:01:43

Oracle用户管理

2009-11-20 11:37:11

Oracle完全卸载

2010-10-26 17:41:05

Oracle索引

2010-04-19 13:50:27

Oracle调整

2015-04-23 09:14:08

天玑科技服务型企业客户关系管理

2023-05-29 16:51:06

2021-12-01 09:31:13

安全

2011-02-21 02:33:07

Oracle企业管理器11g业务驱动

2018-01-29 12:56:27

数据库关系型数据库NewSQL

2013-01-14 09:54:31

大数据SQLHadoop
点赞
收藏

51CTO技术栈公众号