В контексте баз данных «Ограничения целостности» относятся к определенным правилам, которые реализуются для обеспечения точности и согласованности данных в реляционной базе данных. Эти правила управляют данными при их вставке, обновлении и удалении, тем самым предотвращая нежелательное повреждение данных и обеспечивая желаемую логическую структуру. Определение ограничений целостности можно разбить на несколько аспектов:
Целостность домена: это гарантирует, что все записи в данном столбце согласованы и попадают в определенный домен. Например, если ожидается, что в столбце будут положительные числа, ограничение домена предотвратит вставку отрицательных чисел или нечисловых значений.
Целостность объекта: это относится к уникальности строк в таблице, обычно обеспечиваемой за счет использования первичных ключей. Первичный ключ однозначно идентифицирует запись в таблице, а целостность объекта гарантирует, что не существует повторяющихся ключей, тем самым сохраняя уникальность каждой записи.
Ссылочная целостность: это ограничение гарантирует, что отношения между таблицами остаются согласованными. Когда в одной таблице есть внешний ключ, являющийся ссылкой на первичный ключ другой таблицы, ссылочная целостность обеспечивает сохранение этого соединения. Если запись, на которую ссылается внешний ключ, удалена или изменена, база данных выполнит определенные действия, такие как обновление ключа ссылки или отклонение изменения.
Целостность, определяемая пользователем: эти ограничения относятся к бизнес-логике или правилам, относящимся к конкретному варианту использования базы данных. Например, определяемое пользователем ограничение может требовать, чтобы заработная плата сотрудника не превышала определенной суммы или чтобы возраст клиента был старше 18 лет. Эти правила можно адаптировать к конкретным требованиям данного приложения.
Проверить ограничения: эти ограничения позволяют определить более конкретные правила для данных в столбце или наборе столбцов. Например, контрольное ограничение может потребовать, чтобы процентное значение находилось в диапазоне от 0 до 100 или чтобы дата рождения была раньше текущей даты.
Нулевые ограничения: это определяет, может ли быть разрешено нулевое значение для определенного атрибута. Если к столбцу применяется нулевое ограничение, оно гарантирует, что каждая строка в этом столбце должна содержать значение.
Временная целостность: обеспечивает точность и согласованность данных о дате и времени в базе данных, часто гарантируя, что значения даты и времени следуют логическим последовательностям и придерживаются определенных форматов.
Ограничения целостности играют решающую роль в поддержании надежности и устойчивости системы баз данных. Обычно они определяются на этапе проектирования базы данных и применяются системой управления базами данных (СУБД).
Без надлежащих ограничений целостности база данных может страдать от несоответствий, двусмысленностей и ошибок, которые могут существенно повлиять на ее удобство использования и надежность. Таким образом, эти ограничения составляют неотъемлемую часть архитектуры базы данных, гарантируя, что данные соответствуют ожидаемым правилам и стандартам качества.