热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Codd规则是什么

Codd规则,又称为Codd定律,是由13条规则组成,用于确定DBMS是否可以被视为关系DBMS(RDBMS)的先决条件。简单来说,它是用来评估DBMS(数据库管理系统)是否为关系DBMS的标准方法。
Codd规则,又称为Codd定律,是由13条规则组成,用于确定DBMS是否可以被视为关系DBMS(RDBMS)的先决条件。简单来说,它是用来评估DBMS(数据库管理系统)是否为关系DBMS的标准方法。下面我们就来具体介绍一下Codd的13条规则是什么,希望对大家有所帮助。

Codd的13条规则

Codd的13条规则定义了一个理想的关系数据库,它被用作当今设计关系数据库系统的指南。下面我们就来看看这13条规则:

1、基础规则:

要使系统有资格成为RDBMS,该系统必须符合关系、数据库和管理系统的要求,必须能够通过关系功能来完全管理数据库。

2、信息规则:

数据库中的所有信息(可能是用户数据或元数据)必须以一种逻辑方式来表示(即,作为表中的值),行和列必须严格无序。

3、保证访问规则:

保证每个数据元素(值)都可以通过表名,主键(行值)和属性名(列值)的组合进行逻辑访问。

4、空值(NULL值)的系统化处理:

DBMS必须支持空值,允许每个字段可能为空;以系统方式表示缺失信息和不适用的信息,并且独立于数据类型。

5、基于关系模型的动态在线目录:

数据库系统必须支持授权用户通过其常规查询语言访问的在线,内联关系目录。

也就是说,用户必须能够使用他们用来访问数据库数据的相同查询语言来访问数据库的结构(目录)。

6、综合数据子语言规则:

数据库系统必须至少支持一种关系语言,且具有以下特征:

1)、具有线性语法

2)、可以交互使用,也可以在应用程序中使用,

3)、支持数据定义作(包括视图定义),数据操作(更新和检索),安全性和完整性约束以及事务管理操作(开始,提交和回滚)。

7、视图更新规则:

可以使用称为视图的不同逻辑组合来完成数据表示。理论上可更新的所有视图也必须由系统更新。

8、关系级别操作(插入,更新和删除):

每个关系级别都必须有Insert,Delete,Update操作,且系统必须支持一次设置插入,更新和删除操作符。这意味着可以从由多行和/或多个表构成的数据集中的关系数据库中检索数据。

此规则指出任何可检索集都应支持插入,更新和删除操作,而不是仅支持单个表中的单个行。

9、物理数据独立性:

物理级别的更改(数据的存储方式,无论是数组还是链表等)都不得对外部应用程序访问数据的方式产生任何影响,不得要求根据结构更改应用程序。

10、逻辑数据独立性:

数据库中的逻辑数据必须独立于其用户的视图(应用程序)。在逻辑级别(表,列,行等)上进行的更改影响不得使用它的应用程序。

例:如果将表拆分为两个表,则新视图应该将结果作为两个表的连接。

注:这条规则最难以满足,逻辑数据独立性比物理数据独立性更难实现。

11、完整性独立性:

必须定义完整性约束并将其与应用程序分开。必须有可能在适当时更改此类约束,而不会对现有应用程序产生不必要的影响。

12、分发独立性:

数据库的各部分,分布到的各个位置都应该对数据库的用户不可见;且无论数据库在网络中的分布如何,数据库都应正常工作。最终用户应该得到一个存储在同一个地方的印象。这奠定了分布式数据库的基础。

13、非转换规则:

如果允许对系统进行低级语言的访问,则它不应该破坏或绕过高级语言的完整性规则来更改数据。这可以通过某种查找或加密来实现。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上就是Codd规则是什么的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文描述了作者第一次参加比赛的经历和感受。作者是小学六年级时参加比赛的唯一选手,感到有些紧张。在比赛期间,作者与学长学姐一起用餐,在比赛题目中遇到了一些困难,但最终成功解决。作者还尝试了一款游戏,在回程的路上感到晕车。最终,作者以110分的成绩取得了省一会的资格,并坚定了继续学习的决心。 ... [详细]
  • 本文介绍了新款奇骏的两个让人上瘾的功能,分别是智能互联系统和BOSE音响。通过对新款奇骏的配置和功能进行评测,探讨了这两个新增功能的使用体验和优势。此外,还介绍了新款奇骏的其他配置和改进,如增加的座椅和驾驶辅助系统,以及内饰的舒适性提升。对于喜欢音响的消费者来说,BOSE音响的升级也是一个亮点。最后,文章提到了BOSE音响的数字还原能力,以及7座版无法配备BOSE音响的原因。 ... [详细]
author-avatar
热血洒在青春中
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有