Подтвердить что ты не робот

Есть ли разница между целостностью данных и согласованностью данных?

Я немного запутался в data consistency и data 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.

Из Wikipedia

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

Итак, какая разница между data consistency и data integrity?

Спасибо заранее.

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

Консистенция = возможность читать только зафиксированные данные в определенный момент времени, а не промежуточные этапы.

Ответ 3

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

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

Ответ 5

От здесь

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

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

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

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

enter image description here

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

Ответ 6

  • Согласованность. У вас нет дат, цифр и букв в одной колонке, но только один из них. Это заносится путем определения типа столбца, например. номер столбца (5) означает, что в нем не будут ни даты, ни букв, а цифры больше 99999.
  • Целостность. Если у вас есть таблица таблиц и отделов emplooyes table и department_id в обоих из них (со значением department_id в рабочем состоянии witch работает), не будет ни одного сотрудника, работающего в отделе, который существует в таблице отделов. Это задерживается ограничением целостности ссылок.