Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практикум БД_в_ред_11_сокр

.pdf
Скачиваний:
56
Добавлен:
08.04.2015
Размер:
4.46 Mб
Скачать

Смотрите иллюстрацию на следующей странице.

6.Для защиты данных от неправильного ввода используйте свойства полей «Условие на значение» и «Сообщение об ошибке». Например, для поля [Оклад] условием на значение может быть: больше минимального размера оплаты труда (МРОТ), определенного Трудовым кодексом РФ, а сообщением об ошибке – следующая строка: «Оклад должен быть больше либо равен МРОТ».

7.Откройте таблицы в режиме просмотра. Информация в них должна отображаться также как и в документе «Список сотрудников АКБ» на рис. 1. Пример на следующей странице. При необходимости добавьте новые форматы, маски ввода.

8.Откройте формы «Штатное расписание», «Структура организации», «Карточка сотрудника». Как видно, изменения, коснувшиеся таблиц, не отразились в формах, т.к. формы создавались на основе старых, не исправленных таблиц.

51

Внимание. Удалите только формы (не таблицы).

9.Проверьте, что информация в таблицах сохранилась.

Пример отображения информации в таблицах после внесения изменений.

52

Упр. 6. Подстановка значений

Теория. Механизм подстановки является мощным средством защиты данных от ошибок оператора при вводе связанных значений. При этом в поле подстановки, которое связано с другой (главной) таблицей или фиксированным списком используется элемент

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

В нашем упражнении нас будут интересовать два вида источников строк: «Таблица или запрос» и «Список значений». В первом случае для подстановки в поле используются значения из другой таблицы (либо собственно таблица БД, либо временно созданная табли- ца–запрос).

Как правило, таблица, из которой мы подставляем значение, имеет не один столбец, а несколько. Поэтому необходимо указать, сколько у нас столбцов (параметр «Число столбцов»), и какой столбец из числа выбранных мы будем подставлять в исходное поле подстановки (параметр «Присоединяемый столбец»). Подстановку из источника «Таблица или запрос» можно делать только для поля внешнего ключа, там, где в связи обозначено «-ко многим». Во втором случае «Список значений» мы должны собственноручно создать список в виде текста с разделителями, заполнив его значениями пар – ключа и его описания, из которых первое будет выбираться для подстановки, а второе для отображения пользователю.

53

Значения в этом списке должны быть разделены знаком «;» – точка с запятой.

Задание: Для устранения возможных ошибок ввода и уменьшения объема хранимой информации используйте механизм подстановки из фиксированных списков.

Порядок выполнения задания

1.Для полей [Семейное положение] и [Пол] создайте подстановки на основе фиксированных списков.

Для поля:

Семейное положение

 

Для поля:

Пол

Сем_Пол

Название_Сем_Пол

 

Пол

Имя_пола

0

Не семейный

 

0

Женский

1

Семейный

 

-1

Мужской

2

В разводе

Логическое значение:

0

False (Нет)

3

Овдовевший

 

-1

True (Да)

54

ОБЩИЕ

 

ПОДСТАНОВКА

 

Формат поля

 

Тип элемента управления

Поле со списком

 

 

Тип источника строк

Список значений

Значение по умолчанию

=0

Источник строк

0; “Женский”;-1; “Мужской”

 

 

Присоединенный столбец

1

 

 

Число столбцов

2

 

 

Ширина столбцов

0;5 *

*Если ширину, какого либо столбца задать 0, то этот столбец будет скрыт при выводе на экран

2.В КОНСТРУКТОРЕ таблицы «Сотрудники» в разделе подстановка для полей [Код Отдела] и [Код Должности] создайте подстановки из таблиц «Отделы» и «Должности» соответственно.

55

3.Откройте таблицу «Сотрудники» в режиме просмотра и проверьте, что ваши подстановки правильно работают.

56

Задача «Ремонт»

Проанализируйте объявление о предложении услуг по ремонту недвижимости и создайте фиксированные списки для полей подстановки в структуре БД «Ремонт», предназначенной для хранения информации о предложениях по ремонту.

Косметический и комплексный ремонт. Малярно-отделочные работы. Быстро и недорого. Качественный ремонт квартиры, дома, офиса. Выполняются все виды работ: электрика, малярные, плотницкие, плиточные, гипсокартоновые.

Цены: 1 слой шпаклевки, покраски – 150 руб. Клейка обоев – 500 руб. Выполняются все виды электромонтажных работ: одна точка – 600 руб. Выравнивание стен и потолков, гипсокартон, ламинат, плитка, сантехника, электрика. Новостройки, ванная – «под ключ». Отдельно за штробовку денег не берем. Укладка плитки – 800 руб. Сжатые сроки, умеренные цены, гарантия, лицензия. Комплектация материалами. Бесплатно:

1) Консультации и помощь для снижения расходов при ремонте. 2) Составление сметы. 3) Консультации по подбору черновых строительных и финишных отделочных материалов. Уборка помещения после ремонта. Михаил&Ko – профессионалы с 10-летним опытом. Соблюдение сроков работ. т. 798-66-31, т. 8-916-556-81-90 Регион: Москва

57

Контрольные вопросы:

1.Чем отличаются свойства «Формат поля» и «Маска ввода»?

2.Как может выглядеть «Маска ввода» для Автомобильного номера=АБ-123-77-RU?

3.Когда имеет смысл использовать «Значение по умолчанию»?

4.Когда имеет смысл использовать «Условие на значение»?

5.Как определить «Условие на значение», если дата должна быть в пределах 201Х года?

6.Когда имеет смысл сделать поля обязательными для заполнения?

7.Что такое индексированное поле в таблице?

8.Зачем используется механизм подстановки?

9.Назовите возможные источники списков для подстановки.

10.Почему при подстановке используют более одного столбца?

11.Как связана подстановка и установленные связи между таблицами?

12.Как сделать, чтобы при подстановке кода, было видно только его содержательное описание, а не его значение?

13.Приведите примеры подстановок, с которыми вы встречались при использовании информационных систем.

58

Организация вычислений в БД

Всилу принципа минимизации избыточности в таблицах не хранится ничего, что можно получить путем расчетов по значениям полей таблиц. Это не означает, что вычисления в БД невозможны, вычисления могут производиться в любых других объектах, кроме таблиц.

Вформах, запросах, отчетах, макросах и модулях используются «свободные поля», переменные, для которых можно написать выражение (формулу), по которой производится вычисление. При этом следует помнить, что вычисления производятся на основании значений тех полей, которые включены в соответствующий объект – ФОРМУ, ЗАПРОС и т.д. Если какое либо поле должно участвовать в вычислениях, но не должно быть видно пользователю, в значение его свойства «Вывод на экран» устанавливается «Нет».

Имеется два вида вычислений – по строке и по столбцу. В первом случае формула (выражение) может включать в себя поля строки данных ФОРМЫ, ЗАПРОСА, ОТЧЕТА, константы и функции. Функции могут быть взяты из встроенного набора функций СУБД, либо быть написаны программистом специально для прикладной задачи.

Вычисления «по столбцу» – это итоги, которые вычисляются по значениям выборки, вошедшей в соответствующий объект: подчиненную форму, запрос, отчет. Таким итогом чаще всего бывает СУММА, но возможно вычисление статистик: среднего значения, минимального, максимального и т.п.

59

Упр. 7. Вычисляемые поля

На основе хранящейся информации нужно вычислить возраст сотрудников на текущую дату.

Порядок выполнения задания

1.Создайте с помощью МАСТЕРА новые формы для всех отредактированных таблиц (см. упр. 4-ф). Новые формы воспримут все изменения, которые мы сделали в КОНСТРУКТОРЕ таблиц.

2.Откройте КОНСТРУКТОР для формы «Карточка сотрудника».

3.Отредактируйте рамки полей и надписей формы таким образом, чтобы информация полностью размещалась в них (например, для полей [Телефон] и [Адрес] необходимо раздвинуть горизонтальную границу).

4.Расширьте с помощью курсора область, находящуюся между «Заголовок формы» и

«Область данных». Выберите на Панели элементов элемент «Надпись» и поместите его в область «Заголовок формы». Впишите в рамку надписи полное название этой формы «Карточка сотрудника».

5.Внесите в форму «Карточка сотрудника» свободное поле 2, используя Панель элементов 1.

6.Откройте палитру свойств для данного поля (контекстное меню Свойства). Впишите в строку свойств Данные 3 этого поля выражение для расчета возраста, используя по-

строитель (Свойства–Данные–Построитель 4).

Смотрите иллюстрацию на следующей странице.

60