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