定义数据完整性,特别是使用数据库时的内部记录完整性
Define Data Integrity, specifically Intra Record Integrity when working with databases
我想知道是否有人可以用足够简单的术语解释在使用数据库时记录内完整性的含义?我的定义是 "enforcing constraints on contents of fields linked to data validation" 但希望有人能进一步详细说明?..
这是对此的一种解释,它在很大程度上取决于 "intra-record" 这个词。
让我们从一个例子开始,假设你有一个病人的健康记录,它有这样的字段
ID
GENDER
AGE
DATE_OF_BIRTH
LAST_MENSTRUAL_DATE
现在,如果 GENDER 的值为 Male
,则 LAST_MENSTRUAL_DATE 通常为 NULL 或空白。
同样,如果您同时填充了 AGE 和 DATE_OF_BIRTH 字段,假设您有 DATE_OF_BIRTH = January 1 1976
和 AGE = 30,这是不正确的,因为如果一个人是出生于 January 1 1976
的 AGE 应该是 40,或者,如果 AGE 实际上是 30,那么 DATE_OF_BIRTH 应该是 January 1 1986
。
注意:将 AGE 和 DATE_OF_BIRTH 列包含在同一个 table 中是糟糕的设计,以上只是为了显示数据完整性的情况
因此记录中的字段即 intra-record 是有效的并且不违反数据完整性。
这是对 intra-record 数据完整性含义的一种解释,可能还有其他更正式和学术性的解释。
根据您使用的数据库类型,可以通过多种方式对字段值实施此类约束。
我想知道是否有人可以用足够简单的术语解释在使用数据库时记录内完整性的含义?我的定义是 "enforcing constraints on contents of fields linked to data validation" 但希望有人能进一步详细说明?..
这是对此的一种解释,它在很大程度上取决于 "intra-record" 这个词。
让我们从一个例子开始,假设你有一个病人的健康记录,它有这样的字段
ID
GENDER
AGE
DATE_OF_BIRTH
LAST_MENSTRUAL_DATE
现在,如果 GENDER 的值为 Male
,则 LAST_MENSTRUAL_DATE 通常为 NULL 或空白。
同样,如果您同时填充了 AGE 和 DATE_OF_BIRTH 字段,假设您有 DATE_OF_BIRTH = January 1 1976
和 AGE = 30,这是不正确的,因为如果一个人是出生于 January 1 1976
的 AGE 应该是 40,或者,如果 AGE 实际上是 30,那么 DATE_OF_BIRTH 应该是 January 1 1986
。
注意:将 AGE 和 DATE_OF_BIRTH 列包含在同一个 table 中是糟糕的设计,以上只是为了显示数据完整性的情况
因此记录中的字段即 intra-record 是有效的并且不违反数据完整性。
这是对 intra-record 数据完整性含义的一种解释,可能还有其他更正式和学术性的解释。
根据您使用的数据库类型,可以通过多种方式对字段值实施此类约束。