Практическая работа № 2. Контроль достоверности данных

Цель работы: изучение и закрепление на практике методов и средств СУБД по корректному заполнению и модификации таблиц БД.

Методические указания

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

Для этого можно использовать следующие свойства:

· Значения по умолчанию. Если в каком-либо поле формируемой таблицы будет преобладать одно значение, то целесообразно установить его в качестве значения по умолчанию, и оно будет появляться в данном поле автоматически при каждом создании новой записи. Например, если в таблицу заносится город проживания студента и преобладает Калининград, то целесообразно именно его установить в качестве значения по умолчанию. При занесении другого города данное значение необходимо стереть, например, сочетанием клавиш Ctrl/Backspace.

· Обязательное поле. Установка данного свойства в значение Да приводит к тому, что переход к новой записи не будет разрешен, пока пользователь не заполнит обязательное поле.

· Условие на значение. После перехода к данному свойству необходимо раскрыть путем нажатия на кнопку окошко, в котором формируется само условие с помощью указанных в нём операций. Например, можно установить условие на экзаменационные оценки в виде ограничения >1 And <6, что позволит вводить только цифры 2, 3, 4 и 5.

· Маска ввода. Это свойство используется для установки ввода данных по определенному шаблону. Последний состоит из трех частей, разделенных точками с запятой. Первая часть является маской, содержащей служебные символы и символы-заполнители данных, которые нужно ввести в поле. Служебными символами являются:

0 - знакоместо для цифры (от 0 до 9), ввод ее обязателен;

9 - знакоместо для цифры или пробела, ввод не обязателен;

# - знакоместо для цифры или пробела, ввод не обязателен, пустые символы преобразуются в пробелы. Разрешены символы + и -;

L - буква, ввод обязателен;

? - буква, ввод не обязателен;

А - буква или цифра, ввод обязателен;

а - буква или цифра, ввод не обязателен;

& - любой символ или пробел, ввод обязателен;

с - любой символ или пробел, ввод не обязателен;

< - принудительный перевод всех последующих символов в нижний регистр;

> - принудительный перевод всех последующих символов в верхний регистр;

! - заполнение маски справа налево (символ! можно ставить в любую позицию маски);

\ - следующий символ является текстовой константой (отображается как литерал).

Любые символы, не включенные в этот список, отображаются как литералы.

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

Примеры масок: Результат ввода:

00-00-00 27-34-56

17-78-32

>L<??????????? Петров

Радиотехника

Достаточно сложно реализовать шаблон для ввода ФИО в виде Фамилия И.О. Если предположить, что сама фамилия содержит не более 15 символов и не короче 2 символов, то маска имеет вид >L<L????????????? L.L.;0; "_" и при переходе в данное поле изображается следующей структурой _______________ _._.. При ее заполнении необходимо установить курсор в левую позицию, набрать фамилию в любом регистре (первый символ автоматически станет заглавной буквой, остальные отображаются в прописном варианте), а затем мышью или клавишей ® перенести курсор в место ввода инициалов:

Романов________ _._.

При переходе в следующее поле введенное значение преобразуется к нормальному виду, т.е. без пропусков - Романов П.Р.

Если в шаблоне будет отсутствовать вторая компонента, то точки после инициалов придется вводить самому пользователю, в противном случае ФИО будет отображаться в формате Фамилия ИО.

Еще один вариант повышения достоверности вводимых данных - использование полей-фиксированных списков данных. Например, для оценки знаний студентов используются только четыре значения: неуд., удовл., хор. и отл. Для их фиксации используется мастер подстановок (последняя опция в списке допустимых типов данных). Далее СУБД запрашивает способ формирования перечня значений. В данном случае необходимо выбрать вариант Будет введен фиксированный набор значений и нажать кнопку Далее>. Затем система запросит количество столбцов для ввода данных (при небольшом количестве значений целесообразно выбирать один столбец) и предоставит место для ввода этих значений. В дальнейшем - уже при заполнении таблицы - в поле-списке появляется кнопка раскрытия, нажатие на которую приводит к отображению введенных ранее значений. Выбор конкретного значения осуществляется щелчком мыши.

Каждое поле таблицы можно снабдить информационным сообщением, которое станет подсказкой и будет появляться при вводе пользователем ошибочного значения (Свойства поляСообщение об ошибке). Например, при вводе экзаменационных оценок сообщение может выглядеть следующим образом: "Экзаменационные оценки должны находиться в диапазоне 1.. 5".

Выполнение лабораторной работы

1. Для таблицы, созданной в предыдущей лабораторной работе, сформировать меры контроля достоверности:

· шаблон для поля ФИО. Символ-заполнитель выбрать из таблицы 2.1;

Таблица 2.1

№ варианта Заполнитель Поля № варианта Заполнитель Поля
  ~ 2, 3   - 3, 8
  ` 2, 4   _ 4, 6
  @ 2, 5   + 3, 6
  $ 2, 6   = 4, 7
  % 2, 7   | 3, 8
  ^ 2, 8   " 4, 6
  & 3, 4   : 5, 6
  * 3, 5   [ 5, 8
  ( 3, 6   ] 6, 9
  ) 3, 6   { 4, 7

· поле-список для семейного положения из значений: холост, не замужем, женат, замужем;

· поле-список для образования из значений: начальное, среднее, среднее специальное, высшее;

· количество детей - в диапазоне 0..6;

· дата рождения - в диапазоне 01/01/40..01/01/85;

· поле-список для пола из двух значений: м и ж;

· оклад - в диапазоне 100..10000;

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

· два поля таблицы (таблица 2.1) снабдить сообщениями-подсказками.

2. Дополнить таблицу десятью записями;

3. Переместить поле Дата рождения на вторую позицию и сделать два первых поля ключевыми.

4. Ввести две одинаковые ФИО, но разные даты рождения и посмотреть результат.

5. Результат работы показать преподавателю.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: