Блокировка неправильных данных

Даже лучшие проектировщики БД проводят бессонные ночи, тревожась об ошибках, спо­собных проникнуть в их БД. Неверные данные — печально известная проблема, эти данные проникают в БД, прячутся там с течение месяцев и проявляют себя, только когда вы отпра­вили по электронной почте счет клиенту "Blank Blank" ("Пробел пробел") или продали ме­шок арахиса за -4.99 долларов.

Лучший способ борьбы с подобными проблемами — прежде всего, помешать некоррект­ным данным проникать в вашу БД. Другими словами, нужно задать правила проверки, ко­торые отвергают подозрительные данные в момент их ввода. После того как неверные дан­ные попали в БД, найти их труднее, чем иголку в стоге сена.

В этой главе описан основной набор средств проверки, имеющийся у программы Access:

§основные, включая совпадения, обязательные поля и значения по умолчанию;

■ маски ввода, форматирующие, с помощью образцов обычный текст, такой как почтовые коды и телефонные номера;

■ правила верификации (validation rules), устанавливающие строгие правила для полей, не подчиняющихся никаким законам;

■ подстановки (lookups), ограничивающие возможные значения списком заранее заданных вариантов.

О целостности данных

Все средства проверки программы Access реализованы в режиме Конструктора, с которым вы познакомились в главе 2. Для их применения вы выбираете поле и настраиваете его свой­ства. Единственная сложность — знать, какие свойства наиболее полезны. Некоторые из них описаны в главе 2, но в следующих разделах вы найдете дополнительные подробности.

Совет

Программа Access предоставляет три варианта переключения в режим Конструктора.Можно щелкнуть правой кнопкой мыши на заголовке вкладки таблицы и выбрать из меню команду Конструктор,использовать кнопку Режимна вкладке ленты Главнаяили воспользоваться крошечными кнопками режима в правом нижнем углу окна программы Access. Если вы очень нетерпеливы, то можете даже не открывать вашу таблицу, а просто найти ее в области пере­ходов, щелкнуть ее правой кнопкой мыши и выбрать команду Конструктор.

Блокировка неправильных данных - student2.ru Запрет незаполненных полей

Для того чтобы каждая запись имела какой-то смысл, в ней должен быть хотя бы абсолют­ный минимум информации. Без вашей помощи программа Access не может отделить важ­ную информацию от необязательных деталей. По этой причине все поля в новой таблице определены как необязательные, за исключением поля первичного ключа (которое обычно содержит идентификационный номер записи). Убедитесь в этом с помощью таблицы Dollsиз главы 1; вы быстро обнаружите, что можете вставлять записи, фактически не содержащие данных.

Блокировка неправильных данных - student2.ru
Этот недостаток легко исправить. Просто выберите в Конструкторе поле, которое обяза­тельно должно быть заполнено и задайте в свойстве Обязательное поле(Required) значение Да (рис. 4.1).

Рис. 4.1. Свойство Обязательное полесообщает программе Access о запрете пропущенных значений (именуемых на профессиональном жаргоне null)

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

Представьте, что вы внесли в таблицу Dollsсведения о нескольких куклах-болванчиках до того, как решили, что в поле Characterобязательно должно быть значение. Вы переклю­чаетесь в Конструктор,выбираете поле Characterи заменяете значение свойства Обяза­тельное полена Да. Когда вы сохраняете таблицу (возвращаясь в Режим таблицыили за­крывая таблицу), программа Access дает вам возможность проверить записи о куклах-болванчиках,

уже внесенных в таблицу (рис. 4.2). Если вы выбираете выполнение проверки и Access обнаруживает проблему, программа позволяет вам отменить внесенные корректи­ровки (рис. 4.3).

 
  Блокировка неправильных данных - student2.ru

Рис. 4.2. Это хорошая идея проверить таблицу на соответствие новым требованиям, которые вы установили. В противном случае некорректные данные могут остаться в БД. Не дайте этому сообщению запугать вас — пока у вас нет десятков тысяч записей, такая проверка не займет много времени

Блокировка неправильных данных - student2.ru

Рис. 4.3. Если программа Access находит пропущенное значение, она останавливает поиск и спрашивает вас, что делать. Вы можете сохранить изменения (даже если они конфликтуют хотя бы с одной записью) — в итоге, по крайней мере, новые записи не будут порождать подобную проблему. Другой возможный вариант — вернуть прежнее, более терпимое значение свойству поля. В любом случае вы можете найти пропущенные данные, отсортировав данные с помощью вопроса, выводящего незаданные значения в верхние строки таблицы

Для тех, кто понимает.

Наши рекомендации