Проверка базы данных SQL - PullRequest
       0

Проверка базы данных SQL

3 голосов
/ 05 ноября 2010

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

Однако мы ничего не узнали об этой теме, и после поисков в течение нескольких часов я нашел только проверочные ограничения, которые вы можете задать в операторе создания таблицы.

Пожалуйста, укажите некоторые МЕТОДЫ проверки и подтверждения для таблицы или базы данных SQL.

Ответы [ 2 ]

7 голосов
/ 05 ноября 2010

Обычно вы проверяете, выполняя какой-то тест для данных.

Существуют разные уровни, через которые проходят данные, и существуют разные типы тестов.

Если вы считаете следующие системные слои :

  • пользовательский интерфейс / клиентский уровень
  • прикладной уровень
  • слой базы данных

Вы можете выполнить проверку данных на любом из этих слоев со следующими различиями

  • проверка на уровне базы данных предпочтительнее, поскольку к одной и той же базе данных могут подключаться разные приложения, и хотя это хорошо, проверка в этих приложениях не обязательно одинакова, поэтому проверка, осуществляемая на уровне базы данных, лучше с точки зрения целостности данных
  • в то же время проверка на уровне базы данных должна быть самой быстрой, поскольку уровень базы данных находится ближе всего к данным (данные не должны проходить через другие уровни для обработки, в этом случае проверяются)
  • Исключение составляют случаи, когда правило проверки является статическим и не зависит от других данных из базы данных (например, проверяется, является ли ввод даже положительным целым числом), тогда клиент может проверять данные перед базой данных и избегать ненужных задач прикладной уровень или уровень базы данных. (в то же время вы хотите реализовать проверку на уровне базы данных, на случай, если возникнет ошибка или другие приложения подключатся к базе данных). тот же принцип применим к прикладному уровню - если существует проверка, которую прикладной уровень может выполнить, не затрагивая сервер базы данных, он должен это сделать, но то же самое должно быть сделано (гарантировано) на уровне базы данных.

Вы можете считать следующие проверочные тесты ( типы проверки ):

  • проверка типа (примеры: вставлены ли данные в целое число?). это можно проверить на уровне базы данных, объявив правильный тип в столбце.)
  • проверка домена (пример: данные являются положительным целым числом?). это можно проверить на уровне базы данных, используя ограничение CHECK
  • проверка отношений (пример: для добавляемой записи уже есть запись в другой таблице). это можно проверить на уровне базы данных путем правильного использования FOREIGN KEYS
  • проверка бизнес-правил (они могут быть сложными, например ', если значение, которое вы пытаетесь записать,> 100, убедитесь, что вы можете записать IP-адрес пользователя, в противном случае отменить транзакцию; если нет, беспокойство '.) такого рода проверки могут быть выполнены с помощью триггеров и хранимых процедур. в реальном мире валидация бизнес-правил часто реализуется на прикладном уровне (по разным причинам - от относительной неуправляемости и непереносимости PL / SQL, который обычно является языком, на котором вам придется писать триггеры, до того факта, что реализация сложные триггеры могут снизить производительность и, наконец, сделать систему очень сложной).
1 голос
/ 05 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...