КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Глава 4. Блокировка неправильных данныхБлокировка неправильных данных Даже лучшие проектировщики БД проводят бессонные ночи, тревожась об ошибках, способных проникнуть в их БД. Неверные данные — печально известная проблема, эти данные проникают в БД, прячутся там с течение месяцев и проявляют себя, только когда вы отправили по электронной почте счет клиенту "Blank Blank" ("Пробел пробел") или продали мешок арахиса за -4.99 долларов. Лучший способ борьбы с подобными проблемами — прежде всего, помешать некорректным данным проникать в вашу БД. Другими словами, нужно задать правила проверки, которые отвергают подозрительные данные в момент их ввода. После того как неверные данные попали в БД, найти их труднее, чем иголку в стоге сена. В этой главе описан основной набор средств проверки, имеющийся у программы Access: §основные, включая совпадения, обязательные поля и значения по умолчанию; ■ маски ввода, форматирующие, с помощью образцов обычный текст, такой как почтовые коды и телефонные номера; ■ правила верификации (validation rules), устанавливающие строгие правила для полей, не подчиняющихся никаким законам; ■ подстановки (lookups), ограничивающие возможные значения списком заранее заданных вариантов.
О целостности данных Все средства проверки программы Access реализованы в режиме Конструктора, с которым вы познакомились в главе 2. Для их применения вы выбираете поле и настраиваете его свойства. Единственная сложность — знать, какие свойства наиболее полезны. Некоторые из них описаны в главе 2, но в следующих разделах вы найдете дополнительные подробности.
Совет Программа Access предоставляет три варианта переключения в режим Конструктора.Можно щелкнуть правой кнопкой мыши на заголовке вкладки таблицы и выбрать из меню команду Конструктор,использовать кнопку Режимна вкладке ленты Главнаяили воспользоваться крошечными кнопками режима в правом нижнем углу окна программы Access. Если вы очень нетерпеливы, то можете даже не открывать вашу таблицу, а просто найти ее в области переходов, щелкнуть ее правой кнопкой мыши и выбрать команду Конструктор. Запрет незаполненных полей Для того чтобы каждая запись имела какой-то смысл, в ней должен быть хотя бы абсолютный минимум информации. Без вашей помощи программа Access не может отделить важную информацию от необязательных деталей. По этой причине все поля в новой таблице определены как необязательные, за исключением поля первичного ключа (которое обычно содержит идентификационный номер записи). Убедитесь в этом с помощью таблицы Dollsиз главы 1; вы быстро обнаружите, что можете вставлять записи, фактически не содержащие данных.
Рис. 4.1. Свойство Обязательное полесообщает программе Access о запрете пропущенных значений (именуемых на профессиональном жаргоне null) Access проверяет свойство Обязательное полепри каждом добавлении новой записи или исправлении поля в уже имеющейся записи. Но если в вашей таблице уже есть данные, нет гарантии, что они соответствуют установленным правилам. Представьте, что вы внесли в таблицу Dollsсведения о нескольких куклах-болванчиках до того, как решили, что в поле Characterобязательно должно быть значение. Вы переключаетесь в Конструктор,выбираете поле Characterи заменяете значение свойства Обязательное полена Да. Когда вы сохраняете таблицу (возвращаясь в Режим таблицыили закрывая таблицу), программа Access дает вам возможность проверить записи о куклах-болванчиках, уже внесенных в таблицу (рис. 4.2). Если вы выбираете выполнение проверки и Access обнаруживает проблему, программа позволяет вам отменить внесенные корректировки (рис. 4.3). Рис. 4.2. Это хорошая идея проверить таблицу на соответствие новым требованиям, которые вы установили. В противном случае некорректные данные могут остаться в БД. Не дайте этому сообщению запугать вас — пока у вас нет десятков тысяч записей, такая проверка не займет много времени Рис. 4.3. Если программа Access находит пропущенное значение, она останавливает поиск и спрашивает вас, что делать. Вы можете сохранить изменения (даже если они конфликтуют хотя бы с одной записью) — в итоге, по крайней мере, новые записи не будут порождать подобную проблему. Другой возможный вариант — вернуть прежнее, более терпимое значение свойству поля. В любом случае вы можете найти пропущенные данные, отсортировав данные с помощью вопроса, выводящего незаданные значения в верхние строки таблицы
|