
- •Создание базы данных
- •Создание базы данных Visual FoxPro
- •Создание таблиц
- •3.4. Создание первичных ключей и индексов
- •Контроль правильности ввода данных
- •Создание связей между таблицами
- •Обеспечение ссылочной целостности данных
- •Устранение связи «многие ко многим»
- •Создание отчетов
- •Технология работы
Контроль правильности ввода данных
Информация, накапливаемая в базе данных, должна обладать абсолютной достоверностью. Несоблюдение этого правила может порой привести к печальным последствиям. Например, отдел комплектации не сделает вовремя заказ на поставку необходимых материалов, владелец квартиры получит квитанцию для оплаты налога на автотранспорт, которого у него никогда не было, а пенсионеру будет отказано в выдаче страхового полиса и т. д. Даже самые опытные пользователи, заполняющие таблицы, могут допустить ошибку и занести неверные данные, что, скорее всего, и произошло в перечисленных выше случаях.
Разработчик программного комплекса просто обязан помочь пользователю избежать большинства ошибок при вводе информации. Ниже приведены две возможности, которые любезно предоставили в наше распоряжение авторы Microsoft Visual FoxPro 9.0.
Добавление условия на значение поля позволяет проверить корректность данных только в одном поле, независимо от значений других полей. Рассмотрим пример, в котором на номер района наложено ограничение. Этот номер не может находиться вне диапазона от 1 до 9, даже если пользователь этого очень захочет (рис. 1.12).
Рис. 1.12. Добавление условия на значение поля district (номер района)
Чтобы добавить условие на значение поля таблицы District (районы): 1. Откройте таблицу District в режиме конструктора. Для этого в окне базы данных Real Estate (рис. 2.1) щелкните по таблице District правой кнопкой мыши. Появится меню. В нем пять пунктов. Выберите из них четвертый с названием Modify.
2. Появится окно (рис. 1.13) конструктора таблиц (вкладка Fields).
Запустите построитель выражений для ячейки Rule, выбрав пиктограмму U. Наберите на клавиатуре: District>0 .And. District<10 и щелкните по кнопке OK.
Запустите построитель выражений для ячейки Message, выбрав пиктограмму Q. Наберите на клавиатуре: «Номер района должен быть от 1 до 9» и щелкните по кнопке OK. Закройте окно конструктора таблицы и подтвердите сохранение сделанных изменений.
При попытке ввода номера района, который не находится в пределах диапазона 1-9, получим сообщение об ошибке и отказ программного комплекса от записи в таблицу сделанных изменений (рис. 1.15).
Рис. 1.13. Сообщение при ошибочных действиях оператора
Добавление условия на значение записи. Позволяет сравнить значения нескольких полей сразу. Рассмотрим пример, в котором производится проверка соответствия общей площади квартиры сумме составляющих: жилой, вспомогательной и приведенной площади балкона.
Для того чтобы добавить условие на значение записи:
Откройте таблицу Flat в режиме конструктора. Для этого в окне базы данных Real Estate (рис. 2.1) щелкните по таблице Flat правой кнопкой мыши. Появится меню. В нем пять пунктов. Выберите из них четвертый с названием Modify.
Появится окно конструктора таблиц (первая вкладка Fields).
Перейдите на третью вкладку Table (рис. 1.14).
Запустите построитель выражений для ячейки Rule, выбрав пиктограмму □ . Наберите на клавиатуре: squareflat = dwell+ branch+ balcony и щелкните по кнопке OK.
Запустите построитель выражений для ячейки Message, выбрав пиктограмму О. Наберите на клавиатуре: "Общая площадь квартиры не равна сумме составляющих" и щелкните по кнопке OK. Закройте окно конструктора таблицы и подтвердите сохранение сделанных изменений.
В
случае появления этой ошибки при работе
программного комплекса появится
сообщение (рис. 1.15).
Рис. 1.15. Сообщение об ошибке