Есть ли разница между целостностью данных и согласованностью данных? - PullRequest
23 голосов
/ 03 февраля 2011

Я немного запутался по поводу data consistency и data integrity.Из Oracle Database Concepts :

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.

Из Википедия

Consistency
-----------
Consistency states that only valid data will be written to the database.

Так в чем разница между data consistency и data integrity?

Заранее спасибо.

Ответы [ 6 ]

25 голосов
/ 03 февраля 2011

Они не только разные, они ортогональные.

Несогласованность
БД, в которой сотрудник отдела Джо Шмоэ назывался отделом продаж, но в котором не было списка Джо Шмое среди сотрудников отдела продаж, была бы непоследовательной.
Это логическое свойство БД, не зависящее от фактического данные .

Целостность
БД, сообщившая, что JOe SaleS является членом отдела Shmoe, будет лишена целостности.
JOe SaleS не является действительным именем сотрудника, а Shmoe не является действительным отделом.
Это не так логически недействителен, но недопустим по отношению к правилам, управляющим содержимым данных .

8 голосов
/ 03 февраля 2011

Очень грубо, мой 2с:

Целостность = строгие типы, недопустимые значения, определяемые моделью данных и ограничениями, внешними ключами, уникальными ограничениями и тому подобным.

Согласованность = возможность читать только зафиксированные данные в данный момент времени, а не промежуточные шаги.

6 голосов
/ 03 февраля 2011

Данные могут быть полностью согласованными и совершенно неверными. Целостность данных больше зависит от качества данных и выходит далеко за рамки систем управления базами данных. СУБД предоставляют инструменты согласованности данных, которые могут помочь с целостностью данных; они одна часть большей проблемы. Ограничения целостности и триггеры помогают гарантировать, что СУБД не ухудшает (или, если вы пессимистически, дополнительно ухудшаете) целостность поступающих данных.

Способ синтаксического анализа слов Oracle заключается в том, что ограничения целостности и триггеры являются способом реализации подмножества бизнес-правил, определяющих целостность данных.

2 голосов
/ 03 февраля 2011
1 голос
/ 24 февраля 2017
  1. Согласованность: у вас нет даты, цифры и буквы в одном столбце, но только один из них.Это обусловлено определением типа столбца, например.номер столбца id (5) означает, что в нем не будет ни даты, ни букв, а чисел больше 99999
  2. Целостность: если у вас есть таблица emplooyes, таблица департаментов и столбец департамент_ид в обоих (со значением отдела_идв ведьм работает сотрудник) не будет ни одного работника, работающего в отделе, которого нет в таблице отделов.Это обусловлено ограничением ссылочной целостности.
1 голос
/ 03 февраля 2011

С здесь

Согласованность данных

Выполнение транзакции в отдельности сохраняет согласованность данных.Значение данных, хранящихся в базе данных, должно удовлетворять определенным ограничениям согласованности.Например, остаток на счете не должен быть ниже 100 долларов.Команды DDL предоставляют средства для определения таких ограничений.Системы баз данных проверяют эти ограничения каждый раз, когда база данных обновляется.В общем случае это может быть произвольный предикат, относящийся к базе данных.Для проверки согласованности базы данных большая часть программиста зависит от ограничений, которые обычно стоят дорого для тестирования.

Целостность данных

Целостность данных называется «целыми данными в одном месте».Данные представлены в виде таблиц, и каждая таблица имеет некоторые атрибуты.Это те случаи, когда мы хотим обеспечить, чтобы значение, которое появляется в одном отношении для данного набора атрибутов, также отображалось для определенного набора атрибутов в другом отношении (ссылочная целостность).Модификация базы данных может привести к нарушению целостности.Когда ограничение целостности нарушается, обычная процедура отклоняет действие, которое фактически вызвало нарушение.

enter image description here

Вы можете прочитать первая глава для ACID.

...