Инструменты пользователя

Инструменты сайта


с:согласованность_и_целостность_данных

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

Проще всего с целостностью (integrity). Если все ограничения БД соблюдены, как например:

  • столбцы с уникальными значениями содержат только уникальные значения,
  • размеры данных не выходят за пределы заявленного диапазона (например, в колонке varchar(10) не строк длиннее 10 символов),
  • внешние ключи указывают на реальные поля реальных строк в соседней таблице,
  • и т.д.,

то говорят о целостности данных. Обычно СУБД при вставках/изменениях/удалениях следит за целостностью данных.

С согласованностью (consistency) чуть сложнее, так она больше связана с логикой данных. Если, например, мы меняем несколько полей в строке и во время этого изменения произойдёт сбой, то может так случиться, что часть полей обновится, а часть нет. Это сделает данные несогласованными. Во избежание этого СУБД применяют механизм транзакций и ACID подход к транзакциям.

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


Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki