数据完整性和数据一致性之间有什么区别吗?

Jus*_*ner 25 database transactions database-integrity data-consistency

我有点困惑data consistencydata integrity.来自Oracle数据库概念:

data integrity
--------------
Business rules that dictate the standards for acceptable data. These rules
are applied to a database by using integrity constraints and triggers to
prevent invalid data entry.
Run Code Online (Sandbox Code Playgroud)

来自维基百科

Consistency
-----------
Consistency states that only valid data will be written to the database.
Run Code Online (Sandbox Code Playgroud)

那么data consistency和之间的区别是data integrity什么?

提前致谢.

Jim*_*ter 27

它们不仅是不同的,而且是正交的.

不一致:
将员工Joe Shmoe的部门报告为销售但未在销售部门的员工中列出Joe Shmoe的数据库将不一致.
它是DB的逻辑属性,与实际数据无关.

诚信:
报告称SaleS成为Shmoe部门成员的数据库缺乏诚信.
SaleS不是有效的员工姓名,Shmoe不是有效的部门.
这在逻辑上无效,但相对于管理数据内容的规则而言无效.


lll*_*lll 8

非常粗略,我的2c:

完整性=强类型,没有非法值,由数据模型和约束,foriegn键,唯一约束和类似的东西决定.

一致性=能够在给定时间点仅读取提交的数据,而不是中间步骤.


Ted*_*opp 7

数据可以完全一致且完全错误.数据完整性更多地取决于数据质量,远远超出了数据库管理系统.DBMS提供可帮助数据完整性的数据一致性工具; 它们是更大问题的一部分.完整性约束和触发器有助于确保DBMS不会降低(或者,如果您是悲观主义者,进一步降级)到达的数据的完整性.

解析Oracle措辞的方法是完整性约束和触发器是实现定义数据完整性的业务规则子集的一种方法.