Бизнес-правила и целостность данных в базе Oracle

Хорошая структура базы Oracle подразумевает точное соблюдение бизнес-правил компании. Созданная модель данных должна удовлетворять любым бизнес-правилам, которые будет реализовывать приложение, и потому включение этих правил в проект будет помогать моделировать даже ту информацию, которая обычно не охватывается в моделях баз данных.

При внедрении принудительной проверки целостности данных, по сути, обеспечивается гарантия правильности данных в таблицах и отсутствие в них каких-либо несоответствий, которые могут появляться как прямо во время первоначального процесса ввода данных, так и позже, при внесении в них тех или иных изменений. Кроме того,модель должна предусматривать проверку целостности данных посредством применения соответствующих ограничений, предоставляемых самой РСУБД. ER-модель позволяет делать пометки о необходимых ограничений и планировать их обработку заранее.

Ниже перечислены четыре наиболее популярных методики, которые можно использовать для обеспечения проверки целостности данных и соблюдения бизнес-правил в ER-модели.

  • Можно использовать первичные ключи для принудительного обеспечения уникальности данных в таблицах. Обратите внимание на то, что значения первичных ключей должны обязательно быть уникальными и не нулевыми. Значение первичного ключа не должно меняться на протяжении всей жизни экземпляра сущности.
  • Можно использовать внешние ключи для принудительного обеспечения целостности ссылочных данных и тем самым получения уверенности в целостности и согласованности всех данных. Под обеспечением целостности ссылочных данных (referential integrity) подразумевается поддержание правильных отношений зависимости между двумя таблицами, а под обеспечением декларативной целостности ссылочных данных (declarative referential integrity) — гарантирование целостности данных за счет определения отношения между двумя разными таблицами.
  • Можно обеспечивать действительность и значимость данных путем принудительного ввода доменных ограничений, наподобие проверочных ограничений целостности (check constraints). Доменные ограничения (domain constraints) гарантируют получение действительных значений для определенных сущностей. Например, в базе данных, связанной с банковским делом, может присутствовать ограничение,утверждающее, что сумма снятия в любой транзакции всегда должна быть меньше или равна общей сумме денежного баланса владельца счета.
  • Можно использовать триггеры баз данных (database triggers), которые будут автоматически выполнять определенные операции в случае возникновения того или иного указанного действия для обеспечения действительности данных.                                                                                                                                                                                                                                                                                                                                                              

Пятым способом для обеспечения соблюдения бизнес-правил является написание программного кода с использованием встроенных ограничений базы данных. Например,вместо добавления для столбца ограничения NOT NULL, для обеспечения того, чтобы при операции вставки происходило фактическое заполнение поля данных, можно легко использовать и одну соответствующую простую строку кода. Более подробно о различных типах ограничений, которые могут встречаться в базах данных Oracle, будет рассказываться в следующих заметках блога.

Вас заинтересует / Intresting for you:

Что такое базы данных? Назначе...
Что такое базы данных? Назначе... 4646 просмотров Ирина Светлова Mon, 28 Oct 2019, 05:41:34
Автономные базы данных: назнач...
Автономные базы данных: назнач... 443 просмотров Андрей Волков Mon, 08 Feb 2021, 10:31:32
База данных как объект правово...
База данных как объект правово... 767 просмотров Денис Wed, 27 Mar 2019, 03:16:24
Перенос корпоративных баз данн...
Перенос корпоративных баз данн... 1278 просмотров Дэн Fri, 27 Sep 2019, 07:52:18
Войдите чтобы комментировать

ildergun аватар
ildergun ответил в теме #8389 02 апр 2017 11:44
Да, по сути база данных так и проектируется. BPWin (моделируем бизнес-процессы) => ERWin (моделируемым ER-диаграммы "сущность-связь" с закладывание целостности данных) => конвертируем в физическую модель базы данных (таблицы, ключи, индексы, триггреы и т.д.)