Поскольку первичное заполнение таблиц и ввод их в машину ведет человек, ошибки в данных являются не исключением, а правилом, и любая информационная система должна иметь средства для диагностики и исправления ошибок.
Многие данные как в одной таблице, так и в разных таблицах логически связаны между собой. Допустим, в одной из записей таблицы партий из шахматной базы данных, рассмотренной в п. 14.6, на месте кода белых вы указали сочетание 034. Обратившись к словарю гроссмейстеров и не найдя в нем кода 034, сис-тема укажет вам на ошибку.
Нарушение логической взаимосвязи — это логические (семантические) ошибки, ошибки смысла, которые могут быть обнаружены аппаратом формального логического контроля, по-строенным для ИС. Кроме того, конкретная ИС может иметь собственные средства дополнительного («нестандартного») контроля, так как стандартные средства не могут охватить все возможные случаи. В современных СУБД имеются средства поддержания целостности данных (см. п. 15.3), которые не позволят вам ввести строку с неправильными кодами.
Кроме того, в современных ИС можно указать условия, которым должны удовлетворять значения некоторых полей (условия верификации данных). Например, один из критериев верификации для шахматной базы данных: код белых не может быть равен коду черных (партнер не может играть сам с собой).
Гораздо сложнее обстоит дело с ошибками в допустимых значениях данных. Например, если в той же таблице партий вместо кода Ботвинника вы указали код Каспарова, компьютер обнаружить эту ошибку не в состоянии.