21.4. Целостность: ключики

Под термином целостность понимается взаимная согласованность отдельных фрагментов данных и их корректность. А согласованность означает, что все порции данных в БД должны быть единообразно смоделированы и включены в систему. Квалифицировать данные как корректные можно в том случае, если они достоверны, точны и значимы.

Несогласованность между данными может возникнуть по разным причинам. (1) Несогласованность или противоречивость данных может возникнуть вследствие сбоя системы – проблемы с аппаратным обеспечением, ошибки в программном обеспечении. СУБД защищает данные от такого типа несогласованности, гарантируя, что команда SQL либо будет выполнена до конца, либо будет полностью отменена. Этот процесс называют управлением транзакциями. Любая операция манипулирования данными, осуществляемая операторами SELECT, INSERT, UPDATE, DELETE – это и есть транзакция.

Другой тип целостности, называемый сущностной целостностью связан с корректным проектированием базы данных. Сущностная целостность требует, чтобы ни один первичный ключ не имел значения null. Null не означает обычный математический нуль. Он отображает тот факт, что значение неизвестно, недоступно или неприменимо.

25. Выберите вкладку Таблица, выберите таблицу Имущество, выберите Открыть.

26. Удалите значение первичного ключа: выберите строку Велотренажер, выберите столбец ИнвентарныйНомер, удалите значение 1, нажмите Файл | Закрыть, на экране должно появиться сообщение об ощибке, так как значение первичного ключа не может быть Null

Третий тип целостности называется ссылочной целостностью, означает непротиворечивость между частями информации, повторяющимися в разных таблицах. Важно, чтобы при изменении информации в одном месте, она соответственно изменялась и во всех других местах.

27. Выберите вкладку Таблица, выберите таблицу Имущество, выберите Открыть.

28. Введите значение внешнего ключа не совпадающее со значениями соответствующего первичного ключа: выберите строку с Диваном, выберите внешний ключ – столбец КодКомнаты, введите код 90, нажмите Файл | Закрыть, на экране должно появиться сообщение об ошибке, так как первичный ключ таблицы Комната не содержит значение 90, нажмите OK

29. Выберите вкладку Таблица, выберите таблицу Комната, нажмите Открыть, введите в столбце КодКомнаты вместо 1 – код 90, выберите Файл | Закрыть

30. Выберите вкладку Таблица, выберите таблицу Имущество, нажмите Открыть, выберите столбец КодКомнаты, обратите внимание что все коды 1 заменились на 90