首页 数据库 mysql教程 Codd规则是什么

Codd规则是什么

Dec 29, 2018 am 11:11 AM
dbms

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

Codd规则是什么

什么是关系DBMS?

关系DBMS(RDBMS),即关系数据库管理系统,是专为关系数据库设计的DBMS。它具有基于行的表结构,用于连接相关的数据元素,并包含维护数据安全性,准确性,完整性和一致性的功能。

说明:关系数据库是指使用行和列以结构化格式存储数据的数据库,具有关系结构;因此每个表中的值彼此相关,表也可能与其他表有关。关系结构使得可以一次跨多个表运行查询。

Codd规则是什么

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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

说明InnoDB全文搜索功能。 说明InnoDB全文搜索功能。 Apr 02, 2025 pm 06:09 PM

InnoDB的全文搜索功能非常强大,能够显着提高数据库查询效率和处理大量文本数据的能力。 1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。 2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。 3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

如何使用Alter Table语句在MySQL中更改表? 如何使用Alter Table语句在MySQL中更改表? Mar 19, 2025 pm 03:51 PM

本文讨论了使用MySQL的Alter Table语句修改表,包括添加/删除列,重命名表/列以及更改列数据类型。

与MySQL中使用索引相比,全表扫描何时可以更快? 与MySQL中使用索引相比,全表扫描何时可以更快? Apr 09, 2025 am 12:05 AM

全表扫描在MySQL中可能比使用索引更快,具体情况包括:1)数据量较小时;2)查询返回大量数据时;3)索引列不具备高选择性时;4)复杂查询时。通过分析查询计划、优化索引、避免过度索引和定期维护表,可以在实际应用中做出最优选择。

可以在 Windows 7 上安装 mysql 吗 可以在 Windows 7 上安装 mysql 吗 Apr 08, 2025 pm 03:21 PM

是的,可以在 Windows 7 上安装 MySQL,虽然微软已停止支持 Windows 7,但 MySQL 仍兼容它。不过,安装过程中需要注意以下几点:下载适用于 Windows 的 MySQL 安装程序。选择合适的 MySQL 版本(社区版或企业版)。安装过程中选择适当的安装目录和字符集。设置 root 用户密码,并妥善保管。连接数据库进行测试。注意 Windows 7 上的兼容性问题和安全性问题,建议升级到受支持的操作系统。

InnoDB中的聚类索引和非簇索引(次级索引)之间的差异。 InnoDB中的聚类索引和非簇索引(次级索引)之间的差异。 Apr 02, 2025 pm 06:25 PM

聚集索引和非聚集索引的区别在于:1.聚集索引将数据行存储在索引结构中,适合按主键查询和范围查询。2.非聚集索引存储索引键值和数据行的指针,适用于非主键列查询。

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么? 哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么? Mar 21, 2025 pm 06:28 PM

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

您如何处理MySQL中的大型数据集? 您如何处理MySQL中的大型数据集? Mar 21, 2025 pm 12:15 PM

文章讨论了处理MySQL中大型数据集的策略,包括分区,碎片,索引和查询优化。

如何使用Drop Table语句将表放入MySQL中? 如何使用Drop Table语句将表放入MySQL中? Mar 19, 2025 pm 03:52 PM

本文讨论了使用Drop Table语句在MySQL中放下表,并强调了预防措施和风险。它强调,没有备份,该动作是不可逆转的,详细介绍了恢复方法和潜在的生产环境危害。

See all articles