по дисциплине ОП.07 Основы проектирования баз

advertisement
Министерство образования Тверской области
Государственное бюджетное образовательное учреждение
среднего профессионального образования
«Тверской химико-технологический колледж»
Цикловая комиссия дисциплин профессионального цикла
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ПРАКТИЧЕСКИМ ЗАНЯТИЯМ
по дисциплине ОП.07 Основы проектирования баз данных
для специальности 230401 Информационные системы (по отраслям)
Тверь 2013
Рассмотрено
цикловой комиссией дисциплин
профессионального цикла
протокол
№ ___ от «___»__________ 201__ г.
Председатель ЦК
__________ Н.А. Щеголева
УТВЕРЖДАЮ
Зам. директора по МР
_______________ З.И. Макарьева
«___»__________ 2013 г.
Разработчик: Пирогова А.А., преподаватель ГБОУ СПО «Тверской химикотехнологический колледж»
Содержание
1 Пояснительная записка ……………………………………………………………...
3
2 Инструкция по технике безопасности ……………………………………………...
5
3 Перечень практических работ ………………………………………………………
6
4 Методические указания к практическим занятиям ………………………………..
7
Список литературы …………………………………………………………………….
83
2
1 Пояснительная записка
Методические указания к практическим работам по дисциплине ОП.07 Основы
проектирования баз данных предназначены для студентов по специальности 230401 Информационные системы (по отраслям).
Цель методических указаний: оказание помощи студентам в выполнении практических работ по дисциплине ОП.07 Основы проектирования баз данных.
Настоящие методические указания содержат практические работы, которые
позволят студентам закрепить теорию по наиболее сложным разделам курса и направлены
на формирование следующих компетенций:
ОК 1. Понимать сущность и социальную значимость своей будущей профессии,
проявлять к ней устойчивый интерес.
ОК 2. Организовывать собственную деятельность, выбирать типовые методы и
способы выполнения профессиональных задач, оценивать их эффективность и качество.
ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за
них ответственность.
ОК 4. Осуществлять поиск и использование информации, необходимой для
эффективного выполнения профессиональных задач, профессионального и личностного
развития.
ОК
5.
Использовать
информационно-коммуникационные
технологии
в
профессиональной деятельности.
ОК 6. Работать в коллективе и команде, эффективно общаться с коллегами,
руководством, потребителями.
ОК 7. Брать на себя ответственность за работу членов команды (подчиненных),
результат выполнения заданий.
ОК 8. Самостоятельно определять задачи профессионального и личностного
развития,
заниматься
самообразованием,
осознанно
планировать
повышение
квалификации.
ОК 9. Ориентироваться в условиях частой смены технологий в профессиональной
деятельности.
ОК 10. Исполнять воинскую обязанность, в том числе с применением полученных
профессиональных знаний (для юношей).
ПК 1.2. Взаимодействовать со специалистами смежного профиля при разработке
методов, средств и технологий применения объектов профессиональной деятельности.
ПК 1.3. Проводить модификацию отдельных модулей информационной системы в
3
соответствии с рабочим заданием, находить ошибки кодирования в разрабатываемых
модулях информационной системы, документировать выполняемые работы.
ПК 2.2. Программировать в соответствии с требованиями технического задания.
ПК 2.3. Применять методики тестирования разрабатываемых приложений.
В результате выполнения практических работ по дисциплине студенты должны
уметь:
- проектировать реляционную базу данных;
- использовать язык запросов для программного извлечения сведений из баз данных.
Практические занятия позволяют обучающимся применить знания:
- основ теории баз данных;
- моделей данных;
- особенностей реляционной модели и проектирования баз данных, изобразительных средств, используемых в ER-моделировании;
- основ реляционной алгебры;
- принципов проектирования баз данных, обеспечения непротиворечивости и целостности данных;
- средств проектирования структур баз данных;
- языка запросов SQL.
Практические занятия по дисциплине проводятся в лаборатории информационных
технологий, оборудованной:
- рабочими местами обучающихся и преподавателя (персональные компьютеры с
доступом к сети Интернет);
- мультимедийным проектором с экраном;
- программным обеспечением профессионального назначения.
4
2 Инструкция по технике безопасности
СТРОГО ЗАПРЕЩАЕТСЯ:

Трогать разъёмы соединительных кабелей.

Прислоняться к экрану и тыльной стороне монитора.

Включать и выключать компьютер без разрешения преподавателя.

Прислоняться к проводам и устройствам заземления.

При обнаружении запаха гари немедленно остановить работу, выключить
компьютер и сообщить преподавателю.
ПЕРЕД НАЧАЛОМ РАБОТЫ:

Убедитесь в отсутствии видимых повреждений рабочего места.

Запрещается работать во влажной одежде, в верхней одежде, с влажными
руками.

На рабочем месте размещаются тетрадь и учебные пособия так, чтобы они
не мешали работе.
ВО ВРЕМЯ РАБОТЫ:
 При работе находитесь на расстоянии 60-80 см от компьютера.
 Строго выполняйте вышеуказанные правила.
 Следите за исправностью аппаратуры.
 Немедленно прекратите работу при появлении звука и немедленно сообщите
преподавателю.
 Пользуйтесь клавиатурой с чистыми руками.
 Никогда не пытайтесь сами устранить неисправность при работе с аппаратурой.
 Не вставайте со своих мест, когда входит посетитель.
ПО ОКОНЧАНИИ РАБОТЫ:

Выключите компьютер, наведите порядок на рабочем месте.

Сдайте рабочее место преподавателю, сообщите о всех неполадках.
5
3 Перечень практических работ
Раздел 9. Практикум по MS Access.
Практическая работа № 1: Создание БД с помощью Мастера.
Практическая работа № 2: Создание БД с помощью конструктора.
Практическая работа № 3: Ввод и редактирование данных в режиме таблицы.
Практическая работа № 4: Создание форм.
Практическая работа № 5: Элементарный поиск в базе данных. Фильтр данных.
Практическая работа № 6: Организация однотабличных запросов.
Практическая работа № 7: Организация запросов с параметрами.
Практическая работа № 8: Создание отчетов.
Практическая работа № 9: Создание макросов.
Практическая работа № 10: Защита баз данных.
Раздел 10. Практикум по проектированию баз данных.
Тема 10.1. Проектирование базы данных по образцу.
Практическая работа № 11-1: Изучение предметной области. Проектирование реляционной БД.
Практическая работа № 11-2: Создание таблиц БД и форм ввода. Построение схемы данных.
Практическая работа № 11-3: Создание запросов.
Практическая работа № 11-4: Создание и настройка отчетов.
Практическая работа № 11-5: Создание пользовательского интерфейса (кнопочные формы, макросы).
Тема 10.2. Самостоятельное проектирование базы данных.
Практическая работа № 12-1: Изучение предметной области. Проектирование реляционной БД.
Практическая работа № 12-2: Создание таблиц БД и форм ввода. Построение схемы данных.
Практическая работа № 12-3: Создание запросов.
Практическая работа № 12-4: Создание и настройка отчетов.
Практическая работа № 12-5: Создание пользовательского интерфейса.
6
4 Методические указания к практическим занятиям
ПРАКТИЧЕСКАЯ РАБОТА № 1: СОЗДАНИЕ БД С ПОМОЩЬЮ МАСТЕРА.
Ход работы:
1) Запустить Microsoft Access (Пуск  Программы  Microsoft Access или любым
другим способом). Выбрать режим работы Запуск мастера, выполнить щелчок по кнопке
«ОК». В окне Создание при выбранной вкладке Базы данных отображается галерея шаблонов для создания БД, используемых в различных прикладных областях: Адресная книга,
Библиотека, Винный погреб, Главная книга, Заказы на работы, Каталог видеозаписей,
Контакты, Личное имущество, Мероприятия, Музыкальная коллекция, Основные фонды,
Прием заказов, проекты, Расходы, Ресурсы, Рецепты, Сбор средств, Склад, Студенты и
занятия, Тренировки, Участники, Фотоальбомы.
Выбрать шаблон Библиотека, выполнить щелчок по кнопке «ОК».
2) В появившемся на экране диалоговом окне Файл новой базы данных выбрать
диск и папку, в которых будет сохраняться создаваемая БД, в разделе Имя файла будет
предложено имя файла для создаваемой БД Библиотека.mdb, выполнить щелчок по кнопке «Создать».
Через небольшой промежуток времени появится окно Создание баз данных, в котором будет указано, какие сведения будет содержать создаваемая БД. В частности БД
Библиотека будет содержать:
 Сведения о книгах
 Сведения об авторах
 Цитаты
Для продолжения выполнить щелчок по кнопке «Далее».
3) Появившееся на экране следующее окно содержит в левой части имена таблиц,
которые будут созданы, в правой части список обязательных и необязательных полей для
выбранной таблицы. В этом же окне необходимо включить параметр Да, включить образцы данных, затем выполнить щелчок по кнопке «Далее».
В следующем окне выбрать вид оформления экрана, просмотрев все предлагаемые
варианты заставок для фона, затем выполнить щелчок по кнопке «Далее».
В следующем окне выбрать вид оформления отчета и выполнить щелчок по кнопке«Далее».
В следующем окне ввести название базы данных или воспользоваться предложенным - "Библиотека". Если необходимо использовать рисунок для оформления отчетов,
включить параметр Да в разделе Добавить рисунок во все отчеты? При этом станет активной кнопка «Рисунок», позволяющая получить доступ к дискам и папкам для выбора
нужного для вставки рисунка. Затем щелчок по кнопке «Далее», а в следующем окне по
кнопке «Готово».
Для создания всех объектов базы данных потребуется некоторое количество времени. После завершения процесса создания БД на экране появится кнопочная форма для
работы с БД "Библиотека".
4) Выполнить щелчок мышью по кнопке «Ввод/просмотр» формы "Книги". Откроется форма Книги, содержащая информацию о книге, а также форму, содержащую информацию об авторе. В нижнем левом углу окна расположены кнопки, используемые для
перемещения по записям в таблице: к первой записи в таблице, к предыдущей записи в
таблице, к следующей записи в таблице, к последней записи в таблице, в текстовом окне
цифрой указывается номер текущей записи.
После просмотра закрыть окно формы.
Аналогично познакомиться с остальными пунктами.
7
5) В левом нижнем углу экрана будет расположена свернутое до размеров пиктограммы окно самой базы данных. Восстановить размер окна щелчком по соответствующей кнопке. Выбрать вкладку Таблицы. Выбрать первую таблицу из списка таблиц.
Выполнить щелчок по кнопке «Открыть». Информация будет представлена в режиме Таблицы. В верхней строке в качестве заголовков столбцов представлены имена полей. Каждая следующая строка представляет собой запись в таблице. Закрыть окно.
Выполнить щелчок по кнопке «Конструктор». В окне будет представлена структура выбранной таблицы. В верхней части окна конструктора представлены имена полей и
типы, в разделе Свойства поля - свойства выбранного поля. Слева от имени первого поля
расположен символ ключ, обозначающий, что данное поле является ключевым. Завершив
знакомство со структурой таблицы, закрыть окно конструктора. Свернуть окно базы данных.
6) Ознакомиться с пиктограммами на стандартной панели инструментов.
7) Закрыть БД, выполнив щелчок по кнопке «Выход».
8) Закончить работу с приложением Access, закрыв его окно.
8
ПРАКТИЧЕСКАЯ РАБОТА № 2: СОЗДАНИЕ БД С ПОМОЩЬЮ КОНСТРУКТОРА.
Ход работы:
1 уровень.
1) Откройте приложение Microsoft Access.
2) Создайте новую базу данных под именем Фамилия_Номер_гуппы. mdb.
3) Во вкладке Таблицы создайте таблицу с именем Клиенты, используя для этого
режим Конструктора. Таблица Клиенты должна содержать такие поля следующего типа.
Имя поля
Тип данных
Описание поля
ИН клиента
Числовой
Идентификационный номер клиента, являющийся уникальным числом.
Область
Текстовый
Область Украины.
Адрес
Текстовый
Организация
Текстовый
Название клиента.
Телефон
Текстовый
Примечание
МЕМО
4) Объявите поле ИН клиента ключевым полем и установите для свойства поля
Индексированное поле значение Да (совпадения не допускаются).
5) Сохраните таблицу под именем Клиенты.
6) Создайте в окне БД вторую таблицу под именем Физические лица в режиме
Конструктора. Таблица Физические лица должна содержать такие поля следующего типа.
Имя поля
Тип данных
Описание поля
ИН клиента
Числовой
Поле, посредством которого поддерживается связь с таблицей
Клиенты.
Фамилия
Текстовый
Фамилия ответственного сотрудника со стороны клиента.
Имя
Текстовый
Отчество
Текстовый
Должность
Текстовый
Телефон
Текстовый
Домашний телефон.
Адрес
МЕМО
Домашний адрес.
7) Объявите (по аналогии с таблицей Клиенты) поле ИН клиента ключевым полем
и установите для свойства поля Индексированное поле значение Да (совпадения не допускаются).
8) Сохраните созданную таблицу под именем Физические лица.
2 уровень.
1) Создайте в окне БД третью таблицу под именем Заказы в режиме Конструктора.
Таблица Заказы должна содержать такие поля следующего типа.
Имя поля
Тип данных
Описание поля
ИН клиента
Числовой
Поле, посредством которого поддерживается связь с таблицей Клиенты.
Код заказа
Счетчик
Код сотруд- Числовой
Код сотрудника, который является ответственным лицом за
ника
своевременное обслуживание заказа клиента.
2) Проверьте, чтобы в поле ИН клиента для свойства поля Индексированное поле
было установлено значение Нет, а в поле Код заказа для свойства Индексированное поле значение Да (совпадения не допускаются).
3) Сохраните созданную таблицу под именем Заказы.
4) Создайте в окне БД четвертую таблицу под именем Товары в режиме Конструктора. Таблица Товары должна содержать такие поля следующего типа.
9
Имя поля
Код товара
Категория
Тип данных
Числовой
Текстовый
Описание поля
Товарная группа, к которой может быть отнесен
данный товар.
Модель
Текстовый
Характеристики товара.
5) В поле Код товара установите для свойства поля Индексированное поле значение Да (совпадения не допускаются).
6) Сохраните созданную таблицу под именем Товары.
3 уровень.
1) Создайте в окне БД пятую таблицу под именем Заказано в режиме Конструктора.
2) Таблица Заказано должна содержать такие поля следующего типа.
Имя поля
Тип данных
Описание поля
Код заказа
Числовой
Код товара
Числовой
Дата1
Дата/время
Дата произведения заказа.
Дата2
Дата/время
Дата выполнения заказа.
Заказано
Числовой
Количество заказанных экземпляров данного товара.
Продано
Числовой
Количество реализованных в действительности экземпляров товара.
Цена
Денежный
3) В поле Код заказа установите для свойства поля Индексированное поле значение
Да (Допускаются совпадения).
4) Сохраните созданную таблицу под именем Заказано.
5) Модифицируйте структуру таблицы Заказы таким образом, чтобы поле Код заказа стало ключевым полем.
6) Аналогичным образом модифицируйте таблицу Товары, объявив ключевым полем поле Код товара.
САМОСТОЯТЕЛЬНАЯ РАБОТА
Дайте письменные ответы на вопросы:
1. Перечислите известные Вам способы запуска приложения Microsoft Access.
2. Сколько вкладок содержит диалоговое окно БД?
3. Где и когда Access выведет пояснения, данные Вами в столбце Описание?
4. Какой символ появляется слева от имени поля при объявлении этого поля ключевым?
5. Связь какого типа может быть установлена между таблицами Клиенты и Физические лица, обоснуйте свою точку зрения.
6. Связь какого типа может быть установлена между таблицами Клиенты и Заказы, обоснуйте свою точку зрения.
7. Какой компонент диалогового окна БД позволяет осуществить модификацию
таблицы?
8. Проанализируйте таблицы Товары и Заказы после произведенной модификации
их структур. Связь какого типа может быть установлена между этими таблицами, обоснуйте свою точку зрения.
10
ПРАКТИЧЕСКАЯ РАБОТА № 3:
ВВОД И РЕДАКТИРОВАНИЕ ДАННЫХ В РЕЖИМЕ ТАБЛИЦЫ.
Ход работы:
1 уровень.
1) Загрузите приложение Microsoft Access.
2) С помощью команды Access Открыть откройте созданную Вами БД под именем
Фамилия_Номер_гуппы. mdb.
3) Переименуйте этот файл в Учет_Фамилия.mdb, не выходя при этом из Access.
4) Откройте окно БД Учет_Фамилия.mdb и выберите таблицу Клиенты.
5) Подготовьте таблицу к процессу модификации, щелкнув для этого кнопку.
6) Установите в свойствах поля ИН клиента значение Да для свойства Обязательное поле.
7) Поле Область будет содержать часто повторяющееся значение Запорожская.
Определите слово Запорожская в свойствах поля Область значением по умолчанию.
8) Сохраните произведенные изменения в структуре таблицы Клиенты и перейдите
в режим таблицы с помощью кнопки. Проконтролируйте, появляется ли по умолчанию в
поле Область значение Запорожская.
9) Выйдите из режима таблицы и возобновите режим модификации структуры таблицы Клиенты.
10) Сформируйте для поля Телефон маску ввода, имеющую следующий вид: 0-0000. На последнем этапе работы с Мастером создания масок установите тип хранения данных: с дополнительными символами маски.
11) Завершите процесс модификации таблицы Клиенты с сохранением произведенных изменений.
12) Введите в таблицу Клиенты следующие данные.
ИН
Область
Адрес
Организация
Телефон
101 Житомирская
Бердичев, ул. Украинская, 29
ОАО Гермес
4-67-89
102 Житомирская
Житомир, ул. Короленко, 10
Фирма Атлант
4-55-22
103 Запорожская
Запорожье, ул. Железнякова, ООО Кристина
5-20-53
140
104 Запорожская
Мелитополь, ул. Крупской, 10А Юридический центр 2-11-93
Аквилон
105 Запорожская
Мелитополь, Дзержинского, 25
Бухгалтерская шко- 6-83-07
ла Бонгер
106 Запорожская
Запорожье, Космическая, 211
Фирма Violet
4-34-89
107 Винницкая
Винница, пр. Юности, 25
Фирма Прогресс
2-35-22
108 Днепропетровская Днепропетровск, ул. Шмидта, 43 ОАО Меркурий
2-92-45
109 Запорожская
Запорожье, ул. Красноармей- ООО Геркулес
5-67-89
ская, 34
110 Запорожская
Бердянск, ул. Молодежная, 132
Частная
школа 4-87-45
Гаудеамус
13) Закройте таблицу Клиенты.
14) Подготовьте к процессу модификации таблицу Физические лица.
15) Установите в свойствах поля ИН клиента значение Да для свойства Обязательное поле.
16) Сформируйте для поля Телефон маску ввода, имеющую следующий вид 0-0000. На последнем этапе работы с Мастером создания масок установите тип хранения данных: без дополнительных символов маски.
11
17) Введите в таблицу Физические лица следующие данные.
ИН
Фамилия
Имя
Отчество
Должность
Телефон
Адрес
101 Туманова
Инга
Романовна Зам. директо- 6-78-91 Бердичев, ул. Продольра
ная, д.34, кв.67
102 Белов
Павел
Васильевич Директор
2-22-20 Запорожье, ул. Гризодубова, д. 34, кв.54
103 Игнатьев
Петр
Иванович
Бухгалтер
4-23-33 с.Константиновка, ул.
Маяковского, 23
104 Огородникова Инна
Борисовна
Коммерческий 5-44-55 Житомир, ул. Королендиректор
ко, д. 45, кв.12
105 Виноградов
Виктор
Борисович
Директор
2-22-34 Мелитополь,
ул.
Свердлова, д. 39, кв. 85
106 Орехов
Олег
Леонидович Зам. директо- 4-56-77 Запорожье, ул. Железра
някова, д.145, кв. 34
107 Белоус
Иван
Петрович
Коммерческий 3-34-71 Винница, ул. Пирогова,
директор
д. 45, кв. 23
108 Соколова
Ольга
Андреевна
Гл. бухгалтер 6-77-67 Днепропетровск,
ул.
Петровского,
д.90,
кв.14
109 Колесников
Игорь
Сергеевич
Директор
5-67-77 Запорожье, ул. Чапаева, д.34, кв.4
110 Кротова
Людмила Ивановна
Завуч
4-44-23 Бердянск, ул. Кирова,
д. 34, кв.4
18) Закройте таблицу Физические лица.
19) Подготовьте таблицу Физические лица к модификации структуры.
20) Добавьте поле Пол, разместив его между полями Отчество и Должность.
21) В свойствах поля Пол задайте Значение по умолчанию м.
22) В свойствах поля Пол установите Условие на значение поля м OR ж.
23) В свойствах поля Пол сформулируйте Сообщение об ошибке следующим образом: Ошибка ввода: поле Пол может принимать только два значения: м (мужской) или ж
(женский).
24) Перейдите в режим таблицы.
25) Заполните появившийся столбец Пол соответствующими значениями.
26) Закройте таблицу Физические лица.
27) Определите между таблицами Клиенты и Физические лица связь типа один к
одному, воспользовавшись для этого пиктограммой Схема данных на инструментальной
панели. Когда схема данных формируется в первый раз, поле схемы пустое. Добавьте в
него таблицы Клиенты и Физические лица с помощью пиктограммы Отобразить таблицу
(желтый плюс) на панели инструментов. При дальнейших изменениях схемы данных уже
добавленные в нее таблицы будут отображены автоматически.
Определите, какое поле будет связующим для обеих таблиц, наведите на него указатель мыши и, удерживая левую кнопку, протащите до соответствующего поля второй
таблицы. При отпускании левой кнопки мыши будет прорисована установленная связь.
Выйдите из схемы данных, сохранив ее.
2 уровень.
1) Откройте таблицу Заказы в режиме Конструктора.
2) Установите в свойствах поля ИН клиента значение Да для свойства Обязательное поле.
3) Для поля Код заказа в качестве описания укажите: Поле, посредством которого
поддерживается связь с таблицей Заказано.
12
4) В свойствах поля Код сотрудника установите Условие на значение поля, исходя
из того, что заказы клиентов обслуживаются семью сотрудниками и значение кода, таким
образом, должно находиться в интервале от 1 до 7.
5) В свойствах поля Код сотрудника сформулируйте соответствующее Сообщение
об ошибке.
6) Перейдите в режим Таблицы.
7) Введите в таблицу Заказы следующие данные.
ИН
Код
Код сотрудника
106
10
7
заказа
106
11
1
109
1
2
102
12
1
101
2
6
104
13
4
107
3
4
101
14
6
101
4
6
108
15
5
103
5
3
102
16
1
104
6
4
103
17
5
110
7
3
109
18
2
105
8
7
101
19
6
108
9
5
109
20
2
8) Закройте таблицу Заказы.
9) Откройте таблицу Товары в режиме Конструктора.
10) Для поля Код товара в качестве описания укажите: Поле, посредством которого
поддерживается связь с таблицей Заказано.
11) Для поля Категория создайте столбец подстановки с фиксированным набором
значений: компьютер, плоттер, принтер, сканер. На вкладке Подстановка выберите тип
элемента управления Список, Тип источника строк Список значений, фиксированные значения введите в кавычках через точку с запятой в поле источника строк.
12) Введите в таблицу Товары следующие данные.
Код
Категория
Модель
товара
1527 компьютер
"ACER 486/66DX2(4MB,3.5"",acc.VL-bus)"
1531 компьютер
PB 486DX-100/4/1Mb SVGA/VLB IDE
1541 компьютер
PB 520 Pentium-60/8/1Mb/PCI HDD
1553 компьютер
PB 590 Pentium-90/8/1Mb/PCI HDD
1555 компьютер
Meyer Technics Pentium/90/SVGA 0.28 LR
1569 компьютер
"Pentium/90/16Mb/1.05Gb/SVGA 1Mb PCI/ SVGA 15"
1601 ноутбук
Toshiba T1960 CT/200 (486 DX2-50/4)
1629 ноутбук
Toshiba T4700 CT/320 (486 DX2-50/8)
1635 ноутбук
Leo 486SX/33/4/120/SVGA Dual Scan
1641 плоттер
"DraftPro Plus (A1, 8 pens, HP-GL/2)"
1643 плоттер
"DraftPro Plus (A0 8 pens, HP-GL/2)"
1652 сканер
"ScanJet IIp(A4, 1200 dpi, black&white)"
1660 сканер
"ScanJet IIcx(A4, 1600 dpi, color)"
13) Закройте таблицу Товары.
14) Определите между таблицами Клиенты и Заказы связь типа один ко многим.
Она устанавливается аналогично п. 27 в заданиях 1-го уровня, и после ее установки таблица Клиенты будет связана с двумя другими таблицами.
3 уровень.
1) Откройте таблицу Заказано.
2) Активизируйте режим модификации структуры таблицы.
3) Для поля Код товара создайте столбец подстановки, который будет содержать
значения из столбцов Код товара и Модель таблицы Товары. Для этого, выбрав вкладку
13
Код заказа
Код товара
Дата1
Дата2
Заказано
Продано
Цена
Подстановка, указать в ней тип элемента управления Поле со списком, Тип источника
строк Таблица или запрос, Источник строк:
SELECT [Товары].[Код товара], [Товары].[Модель] FROM [Товары]
Присоединенный столбец – 1, число столбцов – 2, заглавия столбцов – да, ширина
столбцов – 3см;3см, число строк списка – 8, ширина списка – 6см, ограничиться списком –
нет.
4) Для поля Код заказа в качестве описания укажите: Поле, посредством которого
поддерживается связь с таблицей Заказы.
5) Для поля Код товара в качестве описания укажите: Поле, посредством которого
поддерживается связь с таблицей Товары.
6) Задайте условие на запись таким образом, чтобы дата выполнения заказа не опережала даты произведения заказа.
7) Сформируйте соответствующее сообщение об ошибочном вводе даты.
8) Сформируйте маску ввода для полей Дата1 и Дата2 в виде 00.00.00.
9) Введите в таблицу Заказано следующие данные.
1
1
2
2
2
3
4
4
5
6
7
7
8
1527
1569
1629
1601
1660
1569
1541
1641
1652
1569
1643
1541
1635
01.02.98
01.02.98
03.02.98
03.02.98
03.02.98
03.02.98
05.02.98
05.02.98
12.02.98
12.02.98
17.02.98
17.02.98
28.02.98
14.02.98
08.02.98
17.02.98
27.02.98
27.02.98
05.03.98
15.03.98
28.03.98
01.03.98
04.04.98
28.02.98
28.02.98
19.03.98
3
5
3
3
1
10
7
3
1
12
1
2
7
3
5
2
3
1
10
7
2
1
12
1
2
7
$2,688.00
$14,595.00
$11,984.00
$12,150.00
$1,370.00
$29,190.00
$30,359.00
$8,960.00
$685.00
$35,028.00
$6,050.00
$8,674.00
$16,730.00
9
10
10
11
11
12
12
12
13
14
15
16
16
17
18
19
20
20
1541
1641
1643
1652
1660
1553
1660
1643
1527
1555
1569
1531
1569
1531
1635
1555
1660
1569
03.02.98
07.03.98
07.03.98
10.03.98
10.03.98
10.03.98
10.03.98
10.03.98
13.03.98
14.03.98
20.03.98
21.03.98
21.03.98
21.03.98
25.03.98
25.03.98
27.03.98
27.03.98
07.03.98
07.04.98
07.04.98
24.04.98
24.04.98
12.05.98
12.05.98
12.05.98
20.03.98
28.03.98
20.04.98
10.04.98
10.04.98
17.04.98
25.04.98
20.04.98
17.04.98
17.04.98
6
2
1
2
1
24
1
1
5
2
7
3
1
2
3
9
1
5
6
2
1
1
1
24
1
1
5
2
6
3
1
1
3
9
1
4
$26,022.00
$8,960.00
$6,050.00
$685.00
$1,370.00
$89,592.00
$1,370.00
$6,050.00
$4,480.00
$3,400.00
$17,514.00
$2,826.00
$2,919.00
$942.00
$7,170.00
$15,300.00
$1,370.00
$11,676.00
10) Закройте таблицу Заказано.
11) Определите между таблицами Заказы и Товары связь типа многие ко многим
(самостоятельно).
12) Модифицируйте таблицу Клиенты, добавив к ней поле Факс перед полем Телефон. Предусмотреть вывод сообщений, когда у клиента вообще нет факса и когда факс
есть, однако номер его пока не известен.
13) Введите в таблицу Клиенты сведения о наличии факса:
ИН клиента
Факс
101 812
102 Нет
103 Не известно
104 345
105 123
106 Нет
107 Не известно
108 Не известно
109 456
110 Нет
14) Осуществите настройку внешнего вида таблиц БД по умолчанию таким образом, чтобы:
 цвет фона стал серебристый,
14
цвет сетки стал темно-серый,
 оформление сетки приняло вид приподнятого.
Указание: Сервис  Параметры  Режим таблицы
15) В таблице Физические лица для всех столбцов автоматически установите ширину, равную максимальной длине содержимого поля.
Указание: Формат  Ширина столбца
16) В таблице Физические лица закрепите столбцы.

Дайте письменные ответы на вопросы:
1. Какими символами Access обрамляет текстовые константы?
2. Укажите достоинства и недостатки данного типа хранения данных по сравнению с типом хранения данных без дополнительных символов маски.
3. Каким приемом Вы воспользовались для ввода повторяющегося значения Запорожская в столбце Область?
4. Укажите, как Вы сформулировали Условие на значение поля?
5. Объясните, почему для поля Код заказа был выбран тип поля Счетчик, а не
Числовой?
6. Объясните, в чем состоит принципиальное различие между столбцом подстановки, сформированным ранее для поля Категория таблицы Товары и столбцом
подстановки, созданном для поля Код товара таблицы Заказано.
7. Укажите, как Вы сформулировали Условие на значение записи?
8. Какой пиктограммой на инструментальной панели необходимо воспользоваться
для того, чтобы создать условие на значение записи, а какой - чтобы сохранить
заданное условие?
9. Какой формат Вы задали в свойстве Формат поля Факс? Какие значения установили в свойствах Обязательное поле и Пустые строки?
10. Какой командой какого меню вы воспользовались для выполнения оформления
по
умолчанию?
Какая команда позволяет производить настройку оформления только текущей
таблицы? В каком меню она расположена?
11. Какая команда позволяет освободить закрепленные столбцы?
САМОСТОЯТЕЛЬНАЯ РАБОТА
Создать базу данных ОТДЕЛ КАДРОВ, поместив в нее три таблицы: СОТРУДНИК, СОСТАВ СЕМЬИ и ШТАТНОЕ РАСПИСАНИЕ, содержащие информацию о сотрудниках предприятия.
Описание: отдел кадров предприятия считает, что для автоматизации его работы
целесообразно создать БД ОТДЕЛ КАДРОВ, состоящую из трех таблиц: СОТРУДНИК,
СОСТАВ СЕМЬИ, ШТАТНОЕ РАСПИСАНИЕ. Таблицы будут связаны между собой следующим образом:
Таблица СОТРУДНИК с таблицей СОСТАВ СЕМЬИ связываются по полю Идент
код, а с таблицей ШТАТНОЕ РАСПИСАНИЕ - по полю Должн.
Характеристики таблицы-объекта СОТРУДНИК:
 идентификационный код Идент код (10 символов - тип текстовый );
 фамилия Фамилия (20 символов - тип текстовый);
 имя Имя (15 символов - тип текстовый);
 отчество Отчество (15 символов - тип текстовый);
 пол Пол (1 символ - тип текстовый);
 дата рождения Дата рожд (поле типа дата );
 место рождения Место рожд (15 символов - тип текстовый );
 образование Образов (15 символов - тип текстовый);
15
должность Должн (15 символов - тип Мастер подстановок);
 стаж работы Стаж работы (длинное целое - тип числовой );
 семейное положение Сем полож (7 символов - тип текстовый) ;
 дата зачисления на работу Дата зач (поле типа дата/время);
 телефон Тел (8 символов - тип текстовый);
 домашний адрес Адрес (поле-МЕМО).
Характеристики таблицы-объекта СОСТАВ СЕМЬИ:
 идентификационный код Идент код (10 символов - тип Мастер подстановок);
 отношение Отношение (10 символов - тип текстовый);
 фамилия Фамилия (20 символов - тип текстовый);
 имя Имя (15 символов - тип текстовый);
 отчество Отчество (15 символов - тип текстовый);
 год рождения Дата рожд (поле типа дата/время).
Характеристики таблицы-объекта ШТАТНОЕ РАСПИСАНИЕ:
 № п/п НПП (длинное целое - тип числовой);
 название подразделения Назв подр (30 символов - тип текстовый);
 должность Должн (15 символов - тип текстовый);
 количество штатных единиц Кол ед (длинное целое - тип числовой);
 должностной оклад Оклад (длинное целое - тип числовой);
 фонд заработной платы за месяц ФЗПМ (длинное целое - тип числовой);
 фонд заработной платы на год ФЗПГ (длинное целое - тип числовой);
Ход работы:
1) Загрузить Microsoft Access.
2) Создать базу данных Отдел_кадров_Фамилия.mdb (фамилия – ваша).
3) Создать и заполнить необходимые таблицы.
Указания:
Ключевые поля для таблиц СОТРУДНИК – Идент код, для СОСТАВ СЕМЬИ – нет
ключа, для ШТАТНОЕ РСПИСАНИЯ – Должн.
В таблице СОТРУДНИК поле Должн является индексированным, совпадения допускаются.
В таблице СОСТАВ СЕМЬИ поле Идент код является индексированным, совпадения допускаются.
Заполнение таблиц целесообразно начинать со ШТАТНОГО РАСПИСАНИЯ.
4) Установить связь между таблицами, задав обеспечение целостности данных,
каскадное обновление связанных полей и каскадное удаление связанных полей.
5) Удалить из штатного расписания должность "статистик". Открыть таблицы СОТРУДНИК и СОСТАВ СЕМЬИ, убедиться, что из таблиц исчез сотрудник, занимавший
эту должность, а также сведения о его семье.
6) Восстановить удаленную информацию во всех таблицах.

Таблица Сотрудник (левая часть)
Идент код
Фамилия
Имя
1314152347 Старченко
Светлана
1545678990 Архипов
Сергей
1624790203 Круговой
Геннадий
1748576413 Царева
Анна
1934789231 Каменева
Татьяна
1955443781 Безродный
Владимир
2014654788 Садчиков
Аркадий
2055894321 Бронзов
Станислав
2178943214 Мапошенко Юрий
Отчество
Борисовна
Иванович
Иванович
Николаевна
Дмитриевна
Михайлович
Викторович
Иванович
Николаевич
16
Пол
ж
м
м
ж
ж
м
м
м
м
Дата рожд
22.04.43
23.03.49
22.04.45
30.07.50
24.06.59
05.09.53
10.01.57
12.11.60
21.11.64
2200987654 Коваль
2233668943 Строков
2314743296 Бородулин
Александра
Олег
Андрей
Николаевна
Викторович
Васильевич
Таблица СОТРУДНИК (правая часть)
Место рожд Образов
Должн
Стаж работы
г.Казань
ср.технич. статистик
36
г.Харьков
высшее
директор
30
г.Омск
высшее
зав.кафедрой 32
г.Харьков
высшее
гл.бухгалтер
29
г.Курск
высшее
начальник ОК 20
г.Харьков
высшее
зам.директора 24
г.Тамбов
ср.технич. диспетчер
21
г.Москва
высшее
преподаватель 15
г.Омск
высшее
специалист
13
г.Киев
высшее
методист
10
г.Орел
высшее
преподаватель 12
г.Киев
высшее
доцент
8
ж
м
м
Сем полож
замужем
женат
вдовец
замужем
замужем
женат
холост
женат
женат
замужем
женат
холост
31.03.65
05.08.65
31.12.69
Дата зач
24.09.95
10.12.88
01.09.90
01.01.96
30.12.90
01.09.92
15.10.98
31.08.94
31.08.94
01.10.92
10.09.92
31.08.95
Таблица СОТРУДНИК (МЕМО-поле)
Адрес
ул.Гв.Широнинцев 21,кв.30
пер.Хрустальный 8
ул.Светлая 14,кв.55
ул.Артема 24, кв.1
ул.Героев труда 28-Б,кв.76
пр.Правды 44, кв.55
пер.Короленко 2, кв.1
ул. Революции 6, кв.2
ул.Пушкинская 54,кв2
ул.Иванова 5, кв.2
пр. Косиора 162, кв161
пр.Гагарина 117, кв.20
Таблица СОСТАВ СЕМЬИ
Идент код Отношение Фамилия
1314152347 отец
Старченко
1314152347 мать
Старченко
1545678990 сын
Архипов
1748576413 муж
Царев
1934789231 муж
Каменев
1955443781 дочь
Безродная
2014654788 мать
Садчикова
2055894321 дочь
Бронзова
2178943214 сын
Мапошенко
2178943214 сын
Мапошенко
2233668943 дочь
Строкова
2233668943 дочь
Строкова
Имя
Николай
Людмила
Дмитрий
Петр
Александр
Алла
Мария
Инна
Игорь
Владимир
Юлия
Наталия
17
Отчество
Иванович
Яковлевна
Сергеевич
Алексеевич
Иванович
Владимировна
Ивановна
Станиславовна
Юрьевич
Юрьевич
Олеговна
Олеговна
Дата рожд
12/01/1917
25/12/1920
01/091988
14/11/1948
15/02/1952
24/06/1991
29/04/1930
15/12/1998
22/06/1992
23/08/1995
28/07/1985
14/03/1990
Телефон
65-12-13
нет
68-14-13
47-23-15
65-67-72
32-32-14
10-12-10
23-10-70
43-35-13
47-67-33
69-05-03
27-14-12
Таблица ШТАТНОЕ РАСПИСАНИЕ
Нпп Назв подр
Должн
Кол Оклад
ед
1
Дирекция бухгалтер
2
230
2
Дирекция гл.бухгалтер
1
430
3
Дирекция директор
1
530
4
уч.кафедра диспетчер
1
100
5
уч.кафедра доцент
1
500
6
уч.кафедра зав.кафедрой
1
430
7
Дирекция зам.директора 1
500
8
уч.кафедра методист
2
200
9
Дирекция начальник ОК 1
150
10
уч.кафедра преподпватель 4
350
11
уч.кафедра статистик
1
100
12
уч.кафедра специалист
2
150
18
ФЗПМ ФЗПГ
460
430
530
100
500
430
500
400
150
1800
100
300
5520
5160
6360
1200
6000
5160
6000
4800
1800
21600
1200
3600
ПРАКТИЧЕСКАЯ РАБОТА № 4: СОЗДАНИЕ ФОРМ.
Ход работы:
1 уровень.
1) Откройте файл созданной Вами БД под именем Учет_Фамилия.mdb.
2) Выберите таблицу Клиенты (но не открывайте ее).
3) Создайте форму для таблицы Клиенты с помощью команды Автоформа меню
Вставка. Перемещение по полям формы – клавиша Tab.
4) Сохраните созданную Access форму под именем Клиенты и закройте ее.
5) Откройте форму Клиенты с помощью вкладки Формы и отредактируйте запись
для клиента с идентификационным номером 106, изменив в поле Адрес номер 21 на номер
27.
6) Создайте для таблицы Физические лица с помощью режима Конструктора форм
форму Физические лица. В данной форме:
 должны содержаться все поля из таблицы Физические лица,
 при этом однородная информация (домашний адрес и телефон; фамилия, имя и
отчество) сгруппирована и зрительно выделена с помощью таких элементов
управления, как линия и прямоугольник.
 Должен быть изменен порядок обхода объектов (по собственному усмотрению).
Указание: выберите вкладку Формы, нажмите в верхней части окна базы данных
значок Создать и следуйте появляющимся указаниям. Перенос полей таблицы в форму
производится протаскиванием мыши при нажатой левой клавише. Поля формы рисуют
мышью аналогично графике в текстовом редакторе.
7) Переведите форму в режим Формы. Убедитесь в изменении порядка обхода объектов в форме.
8) Сохраните созданную форму под именем Физические лица.
2 уровень.
Создание совместной формы для заполнения таблиц Клиенты и Физические лица.
1) В диалоговом окне выберите Мастер форм.
2) В появившемся диалоговом окне Создание форм с помощью списков Таблицы/запросы и Выбранные поля задайте необходимые поля из таблиц Клиенты и Физические лица, после чего выйдите из Мастера форм, щелкнув по кнопке «Готово». В результате выше указанных действий появится готовая форма, где поля из обеих таблиц расположатся последовательно в столбец.
3) Переведите форму в режим Конструктора форм.
Разместите (ниже автоматически добавленных Access полей) с помощью пиктограммы Набор вкладок Панели элементов в области данных формы вкладку, содержащую
две страницы.
Переименуйте вкладки соответственно в Основная и Дополнительная информация.
Для переименования вкладки вызовите окно свойств страницы (например, через контекстное меню), и укажите требуемое имя с помощью свойства Подпись.
4) Используя буфер обмена, разместите на первой вкладке поля из таблицы Клиенты.
5) Используя буфер обмена, разместите во второй вкладке поля из таблицы Физические лица.
6) Перейдите в режим Формы и просмотрите в нем разработанную двухстраничную
форму.
7) Сохраните данную форму под именем Заказчики.
19
ПРАКТИЧЕСКАЯ РАБОТА № 5:
ЭЛЕМЕНТАРНЫЙ ПОИСК В БАЗЕ ДАННЫХ. ФИЛЬТР ДАННЫХ.
Ход работы:
1 уровень.
1) Откройте базу данных Учет_Фамилия.mdb.
2) Откройте таблицу Клиенты. С помощью меню Правка найдите информацию об
организации ООО Кристина.
3) Найдите информацию об организации о которой известно только ее название
Progress.
4) Найдите информацию об организациях, собственные названия которых начинаются с фрагмента «Гер».
5) Разыщите телефон, номер которого начинается с цифр 2-926) Разыщите телефон, о котором известно только то, что он содержит цифры 4
(первая цифра), 6(вторая цифра) и 8(четвертая цифра).
Указание: в строке Образец недостающие цифры замените знаком «*».
7) Разыщите телефон, в номере которого известны только первая и третья цифры,
соответственно это цифры 2 (два) и 5 (пять).
8) Найдите запись с организацией Violet и замените имеющееся название на название Фирма Фиалка.
9) Закройте таблицу Клиенты.
2 уровень.
1) Откройте таблицу Физические лица.
2) Отсортируйте по алфавиту фамилии физических лиц.
3) Отмените результаты упорядочивания по алфавиту, удалив фильтр (меню Записи)
4) Выполните двойную сортировку данных в следующей последовательности. Сначала отсортируйте должности сотрудников по алфавиту. Затем в каждой группе людей с
одной и той же должностью выполните сортировку фамилий по алфавиту.
Указание: используйте опции Расширенный фильтр и Применить фильтр в меню
Записи.
5) Отмените результаты сортировки и закройте таблицу Физические лица.
3 уровень.
1) Откройте таблицу Клиенты.
2) С помощью команды Фильтр отберите всех клиентов из Запорожской области.
3) Отмените фильтрацию.
4) Добавьте на инструментальную панель к уже имеющимся пиктограммам фильтров кнопку фильтра Исключить выделенное.
Указание: меню Вид  Панели инструментов  Настройка (команды)
Выбрать категорию Записи, найти нужную кнопку и перетащить на панель инструментов.
5) С помощью команды Фильтр отберите клиентов из других областей, кроме Запорожской.
6) Отмените фильтр и закройте таблицу Клиенты.
7) Откройте таблицу Заказано и задайте с помощью команды Изменить фильтр
критерий фильтрации следующего вида. Выведите информацию о всех произведенных
заказах в феврале или марте-месяце.
8) Отмените фильтр и закройте таблицу Заказано.
20
Дайте письменные ответы на вопросы:
1. Какую опцию вы установили при поиске информации по полному названию организации?
2. Какую опцию Вы установили при поиске информации по неполному названию
организации?
3. Сколько записей нашел Access при поиске названий фирм на «Гер»? Почему
Access указывает на запись с организацией Бухгалтерская школа? В каком положении должен находиться флажок «С учетом регистра» для того, чтобы исключить из результатов поиска запись об организации Бухгалтерская школа?
4. Как найти телефон, если в нем есть неизвестные вам цифры?
5. Запись с какой фамилией возглавила список физических лиц после произведенной сортировки по алфавиту?
6. Какая команда позволяет отменить результаты произведенной сортировки и
возвращает таблицу к исходному состоянию?
7. Каков должен быть порядок действий при двойной сортировке данных?
8. Каким видом фильтра Вы воспользовались для отбора клиентов из определенной области?
9. Диалоговым окном какой команды Вы воспользовались для добавления пиктограммы фильтра Исключить выделенное.
10. Каким видом фильтра Вы воспользовались для отбора клиентов из других областей, кроме данной?
11. Сколько записей вывел Access при поиске заказов за февраль-март?
САМОСТОЯТЕЛЬНАЯ РАБОТА
1) Открыть базу данных Отдел_кадров_Фамилия.mdb.
2) Выявить всех сотрудников, родившихся в марте.
3) Отсортировать фамилии сотрудников по алфавиту.
4) Вывести сначала всех мужчин, потом – всех женщин.
5) Выявить всех сотрудников с высшим образованием, а из них – со стажем работы
20 лет и более.
6) Рассортировать сотрудников по подразделениям, в которых они работают.
7) Найти в дирекции сотрудников, получающих в месяц более 250$.
8) Найти всех сотрудников, не состоящих в дирекции, и расположить их в порядке
уменьшения годового фонда заработной платы.
21
ПРАКТИЧЕСКАЯ РАБОТА № 6: ОРГАНИЗАЦИЯ ОДНОТАБЛИЧНЫХ ЗАПРОСОВ.
Ход работы:
1 уровень.
1) Откройте файл с базой данных Учет_Фамилия.mdb.
2) Создайте простой запрос для решения следующей проблемы.
Проблема. Необходимо обзвонить всех клиентов и сообщить им о готовящейся
презентации.
Для решения проблемы потребуется информация из таблицы Клиенты, а именно,
из столбцов Организация и телефон. Перейдите на вкладку запросы и создайте новый запрос в режиме Конструктора. Добавьте таблицу Клиенты. Перетащите нужные поля в запрос (в столбцы строки «Поле:»). Никаких дополнительных условий пока не нужно, поскольку нужно обзвонить всех клиентов. Закройте запрос и сохраните его под именем
«Презентация». Запустите запрос, убедитесь, что на экран выводятся наименования организаций и их телефоны.
3) Создайте с помощью Конструктора запроса запрос «8 марта» для решения следующей проблемы.
Проблема. Среди клиентов (физических лиц) необходимо выбрать адреса проживания лиц женского пола для последующего составления поздравительных писем к Международному женскому дню 8 Марта.
В письмах должны быть фамилия, имя, отчество и адрес поздравляемого. Отбор
поздравляемых, естественно, будет происходить по графе Пол. Поэтому в качестве условия отбора следует ввести ограничение: «ж».
4) В приведенном выше задании поле Пол необходимо исключительно для задания
условия выборки данных, и его нет смысла выводить на экран. Вернитесь в режим Конструктора запросов и измените содержимое бланка запроса таким образом, чтобы информация из поля Пол вообще не выводилась на экран.
2 уровень.
1) Создайте запрос «Запорожье» для решения следующей проблемы.
Проблема. Необходимо обзвонить всех клиентов из Запорожской области и сообщить им об изменениях в сроках поставок заказанных товаров.
2) Создайте запрос «Кроме Запорожья» для решения следующей проблемы.
Проблема. Необходимо разослать приглашения на выставку всем клиентам, проживающим за пределами Запорожской области.
3) Создайте запрос «Компьютеры» для решения следующей проблемы.
Проблема. Необходимо вывести информацию обо всех заказах, сделанных на компьютеры с ценой в пределах $3000.
3 уровень.
1) Создайте запрос «ОАО» для решения следующей проблемы.
Проблема. Необходимо произвести выборку информации о клиентах, являющихся
ОАО. Помните, что неизвестные символы заменяются звездочкой.
2) Создайте запрос «Заказы на компы» для решения следующей проблемы.
Проблема. Необходимо вывести информацию о количестве заказанных в марте
1998 года компьютеров (модели с торговыми кодами 1527 и 1531).
Указание для подсчета суммы и других статфункций необходимо добавить в запрос
строку Групповые операции (с помощью кнопки на панели инструментов), и в ней указать
необходимую статфункцию.
22
Дайте письменные ответы на вопросы:
1. Каков порядок действий при создании запроса без дополнительных условий?
2. Как составить запрос на выборку с дополнительным условием?
3. Как сделать, чтобы поле таблицы участвовало в выборке, но его содержимое на
экран не выводилось?
4. На основе какой таблицы вы делали запрос о клиентах в Запорожской области?
Какие поля участвовали в создании запроса, какое поле использовалось для ограничения
выборки?
5. На основе какой таблицы вы делали запрос о клиентах вне Запорожской области? Как было задано условие поиска?
6. На основе какой таблицы сделан запрос о заказах на компьютеры? Как было задано ограничительное условие? Сколько заказов было обнаружено?
7. Как вы выразили условие поиска для клиентов, являющихся ОАО? Сколько таких клиентов выдал запрос?
8. Как действовать, если в запросе требуется подсчет суммы, среднего арифметического и т.п. значений?
САМОСТОЯТЕЛЬНАЯ РАБОТА
1) Открыть базу данных Отдел_кадров_Фамилия.mdb.
2) Создать запрос на информацию об идентификационных кодах, Ф.И.О. и датах
рождения сотрудников, чьи фамилии начинаются на букву «С». Список должен быть отсортирован по дате рождения (по возрастанию). Запрос сохранить под именем «Фамилия
на С».
3) Создать запрос «Средняя ЗП дирекции» на подсчет средней за месяц заработной
платы сотрудников дирекции.
4) Создать запрос «Зачислены между» на всех принятых на работу между 1990 и
1992 гг.
23
ПРАКТИЧЕСКАЯ РАБОТА № 7: ОРГАНИЗАЦИЯ ЗАПРОСОВ С ПАРАМЕТРАМИ.
Ход работы:
1) Открыть базу данных Отдел_кадров_Фамилия.mdb.
2) Создать с помощью Конструктора запросов запрос «Информация о сотруднике», который будет запрашивать у пользователя фамилию сотрудника и выводить
его Ф.И.О. и идентификационный номер.
Указание: запрос с параметром создается аналогично обычному запросу, но в строке Условие отбора в соответствующей графе (в данном случае – Фамилия) нужно ввести
запись: [Введите фамилию] или любую другую фразу, которую вы хотите увидеть в запросе, но обязательно в квадратных скобках. Сохранив запрос и запустив его, вы увидите
диалоговое окно, в котором будет та фраза, которую вы записали в []. Введите фамилию
сотрудника (но уже без скобок!) и просмотрите результаты запроса.
3) Создать запрос «Специалисты», который будет запрашивать должность сотрудника и выдавать его образование и стаж работы.
4) Создать запрос «Бухгалтерия», который будет запрашивать фамилию сотрудника
и выдавать его должность, оклад, ФЗПМ и ФЗПГ.
5) Создать запрос «Родственники», который будет запрашивать фамилию сотрудника и выдавать состав его семьи.
6) Создать запрос «Приняты после даты», который будет запрашивать дату и выдавать идентификационные коды, фамилии, имена, отчества, должности и оклады сотрудников, принятых на работу после названной даты.
7) Создать запрос «Приняты в подразделение после даты», который будет запрашивать сначала подразделение, затем – дату, и выдавать идентификационные коды, фамилии, имена, отчества, должности и оклады сотрудников, принятых на работу в названное
подразделение после названной даты.
8) Создать запрос «По дате рождения», который будет запрашивать пол сотрудника, начальную и конечную дату некоторого периода, и выдавать идентификационные коды, Ф.И.О., домашние адреса и телефоны сотрудников заданного пола, родившихся в заданный период.
24
ПРАКТИЧЕСКАЯ РАБОТА № 8: СОЗДАНИЕ ОТЧЕТОВ.
Ход работы:
1) Открыть базу данных Отдел_кадров_Фамилия.mdb.
2) Создать простой отчет в режиме Мастера. В отчете должны быть представлены:
 список сотрудников предприятия с полями: Идент код, Фамилия, Имя, Отчество,
Телефон;
 сгруппировать данные по первой букве фамилии.
Указания:
1. В качестве источника данных укажите таблицу Сотрудник и выберите из нее необходимые поля.
2. Задайте группировку данных по фамилии, причем по первой букве (кнопка
Группировка).
3. Задайте расположение фамилий, начинающихся на одну букву, по алфавиту.
4. Установите макет отчета – блок.
5. Установите стиль – полужирный.
6. Имя отчета – Сотрудник.
7. Просмотрите отчет.
3) Создать отчет «Стаж», содержащий:
 Фамилию, Имя, Отчество, Должность, Стаж работы каждого сотрудника;
 группировку по должностям в алфавитном порядке, внутри каждой должности –
по фамилиям в алфавитном порядке;
 средний стаж работы сотрудников по каждой должности.
Указание: для подсчета среднего стажа используйте кнопку Итоги в окне, где устанавливается сортировка по фамилиям.
4) Создать отчет «Анкетные данные» в режиме Конструктора.
Указания:
1. Нажмите кнопку Создать, в диалоговом окне выберите Конструктор, источник
данных – таблицу Сотрудник.
2. Установите параметры страницы, на которую будет выводиться отчет:
Меню Файл  Параметры страницы
Страница А4, книжная, поля по 20 мм, столбцов – 1, ширина – 18 см, высота – 3 см.
ОК.
Переместите правую границу отчета до 18 см по верхней линейке.
3. Добавьте в бланк отчета заголовок и примечание:
Меню Вид  Заголовок/примечание отчета
4. Удерживая клавишу Ctrl, щелчком левой клавишей мыши выделите среди полей
таблицы Сотрудник следующие: Фамилия, Имя, Отчество, Пол, Дата рождения, Место
рождения, Семейное положение. Перетащите выбранные поля в Область данных отчета.
Они расположатся в нем друг под другом.
5. Выделите, удерживая клавишу Shift, щелчком левой клавишей мыши заголовки
полей (они слева). Через меню Правка вырежьте их из Области данных и вставьте в Верхний колонтитул.
6. Расположите заголовки в ряд, слева направо, в верхней области Верхнего колонтитула, подкорректировав их ширину по содержимому столбцов. Подтяните вверх нижнюю границ колонтитула так, чтобы не оставалось пустого места. Сделайте то же самое
для Области данных, следя, чтобы ширина столбцов и их заголовков совпадала, и тоже не
оставалось пустого места. Щелкните по кнопке Предварительный просмотр, просмотрите
результат своих действий. Он должен быть примерно таким:
25
Фамилия
Имя
Отчество
Пол
Дата рожд
Место рожд
Сем полож
Старченко Светлана
Борисовна ж
22.04.43
г.Казань
замужем
Архипов
Сергей
Иванович
м
23.03.49
г.Харьков
женат
и т.д. все сотрудники.
7. Щелкните по значку Сортировка и группировка (или меню Вид  Сортировка и
группировка). В качестве Поля/выражения выберите Фамилия, Порядок сортировки – по
возрастанию, в свойствах группы установите «Да» для заголовка группы и примечания
группы. Перед Областью данных появится поле Заголовок группы «Фамилия», а после
области данных – поле Примечание группы «Фамилия». В строке Группировка установите
– по первым символам (знакам). В строке Интервал – 1 (т.к. сортировка будет по первой
букве фамилии). В строке Не разрывать – полную группу (вся группа).
8. В поле Заголовок группы «Фамилия» перетащите из таблицы Сотрудник поле
Фамилия. Вместо заголовка поля наберите: «Группа фамилий, начинающихся на букву»,
подкорректируйте ширину поля, чтобы запись поместилась. Само поле Фамилия уменьшите так, чтобы была видна только первая буква слова «Фамилия». Подтяните нижнюю
границу поля, чтобы не осталось пустого места. Просмотрите результат. Если нужно, исправьте:
Фамилия
Имя
Отчество
Пол Дата рожд
Место рожд
Сем полож
Группа фамилий, начинающихся на букву А
Архипов
Сергей
Иванович
м
23.03.49
г.Харьков
женат
и т.д.
9. Щелкнув по кнопке Панель элементов, вызвать панель с элементами графики,
выбрать линию и подчеркнуть ею фразу «Группа фамилий, начинающихся на букву» и ту
букву, которая идет после нее.
10. На панели элементов щелкнуть значок «ab», который создает поле с подписью. Теперь щелкните левой кнопкой мыши в поле Примечание группы «Фамилия». Там
появится поле с заголовком. Вместо заголовка наберите: «Количество в группе». В правую
часть поля введите формулу: =Count([Фамилия]). Просмотрите результат, подкорректируйте, если нужно.
11. Вставьте в поле Заголовок отчета подходящий по теме рисунок:
Меню Вставка  Рисунок
12. В правый верхний угол поля Заголовок отчета вставьте поле с подписью (значок «ab»). Заголовок подписи: «СПИСОК СОТРУДНИКОВ ПРЕДПРИЯТИЯ». В правой
части поля формула: =Date(). Просмотрите результат, исправьте, если нужно, положения
полей.
13. В нижний колонтитул с помощью Меню Вставка вставьте номер страницы
справа, в формате «страница N», без указания № на первой странице.
14. Сохраните отчет. Просмотрите его.
26
ПРАКТИЧЕСКАЯ РАБОТА № 9: СОЗДАНИЕ МАКРОСОВ.
В Access макрос - определенная последовательность операций. Они хранятся в
окне, напоминающем таблицу, в таком порядке, в котором их необходимо выполнять. При
запуске макроса Access выполняет эти действия. Макрос может существенно облегчить
использование Access. Одной из полезных особенностей макросов является возможность
их привязки к кнопкам, которые помещаются в формы. Эти кнопки могут выполнять часто повторяющиеся операции (например, открывать диалоговые окна для поиска, изменять порядок сортировки данных или печатать отчет). Пользователи Access могут использовать определенные кнопки для выполнения этих действий, даже не зная всех подробностей операций, выполняемых макросом. Используя макросы, можно создавать завершенные приложения с пользовательским меню и диалоговыми окнами.
Ход работы:
1. Создание макросов. Для создания макроса необходимо открыть вкладку Макросы в окне БД и выполнить щелчок по кнопке Создать. Это же действие можно выполнить
с использованием пунктов меню Вставка  Макрос. Окно макросов делится на две части:
верхнюю и нижнюю. В верхней части находится список макрокоманд, которые необходимо выполнить, и необязательные примечания к этим командам. В нижней части окна
находятся аргументы макрокоманды.
При разработке макроса необходимо задать действия (ввести макрокоманды), которые он должен выполнить (например, открыть форму, распечатать отчет, выполнить запрос или экспортировать содержимое таблицы в файл электронной таблицы). В Access
такие действия можно определить двумя способами:
1. Выбрать из списка в столбце Макрокоманда (или ввести их вручную).
2. Переместить объекты из окна БД в столбец Макрокоманда окна макросов.
1-й способ:
1. В окне макросов выполнить щелчок мышью на первой пустой ячейке в столбце
Макрокоманда. Затем выполнить щелчок по кнопке раскрытия списка, при этом
раскрывается список допустимых макрокоманд.
2. Выбрать из списка команду, которую должен выполнить макрос или набрать
эту команду вручную.
3. Выполнить щелчок в нижней части окна или нажать клавишу F6 и указать аргументы действия.
4. При необходимости добавить комментарий в столбце Примечание.
В таблице представлен список макрокоманд их назначение и аргументы.
Команда
Назначение
Аргументы
Восстановить
Восстанавливает размер мак- Нет
симизированного или минимизированного окна
ВывестиВФормате
Выводит данные в файл дру- Тип объекта, Имя объекта,
гого формата
Формат вывода, Имя файла,
Автозагрузка, Файл шаблона
ВыводНаЭкран
Определяет, должна ли Access Включить вывод, Текст
обновлять экран во время вы- строки состояния
полнения макроса
ВыделитьОбъект
Выбирает указанный объект
Тип объекта, Имя объекта,
В окне базы данных
ВыполнитьКоманду
Выполняет команду меню
Команда
Выход
Инициирует выход из Access
Параметры
ДобавитьМеню
Добавляет меню в строку Название меню, Имя макро27
ЗадатьЗначение
ЗадатьКомандуМеню
Закрыть
ЗапускЗапросаSQL
ЗапускМакроса
ЗапускПриложения
ЗапускПрограммы
КомандыКлавиатуры
КопироватьОбъект
КЭлементуУправления
НаЗапись
НайтиЗапись
НаСтраницу
ОбновитьОбъект
Обновление
ОстановитьВсеМакросы
пользовательского меню
са, Текст строки состояния
Устанавливает значение поля, Элемент, Выражение
элемента управления или
свойства
Устанавливает
пункта меню
состояние Индекс меню, Индекс команды, Индекс подкоманды,
состояние элемента
Закрывает указанный объект Тип объекта, Имя объекта,
или активное окно (при отсут- Сохранение
ствии аргумента)
Выполняет запрос, используя Инструкция SQL, Использооператор SQL
вать транзакцию
Выполняет другой макрос
Имя макроса, Число повторов, Условие повтора
Запускает
приложение Командная строка
Windows или DOS
Выполняет процедуру Visual Имя функции
Basic
Отсылает события нажатия Команды клавиатуры, Пауза
клавиш в Access или в активное приложение Windows
Копирует выбранный объект База данных, новое имя, Тип
базы данных в другую базу объекта, Имя объекта
данных или в ту же базу, но
под другим именем
Перемещает курсор в поле Элемент управления
или в элемент управления активной формы, таблицы данных или динамического набора запроса
Перемещает курсор на ука- Тип объекта, Имя объекта,
занную запись
Запись, Смещение
Находит первую запись, кото- Образец поиска, Совпадерая удовлетворяет условиям, ние, С учетом регистра, обопределенным
действием ласть поиска, С учетом
НайтиЗапись или значениями формата поля, Только в тев диалоговом окне Найти
кущем поле, Первое вхождение
Перемещает курсор на ука- Номер страницы, От левого
занную вкладку активной края, От верхнего края
формы
Выполняет обновление экрана Тип объекта, имя объекта
для указанного объекта или,
если объект не указан, для активного объекта
Обновляет данные в указан- Имя элемента
ном элементе управления из
источника данных
Останавливает все выполняе- Нет
мые макросы
28
ОстановитьМакрос
ОткрытьЗапрос
ОткрытьМодуль
ОткрытьОтчет
ОткрытьТаблицу
ОткрытьФорму
ОтменитьСобытие
ОтправитьОбъект
ПанельИнструментов
Переименовать
ПесочныеЧасы
Печатать
ПоказатьВсеЗаписи
ПреобразоватьБазуДанных
ПреобразоватьТекст
Преобразовать
ЭлектроннуюТаблицу
ПрименитьФильтр
Останавливает
выполнение
текущего макроса
Открывает выбранный запрос
в указанном режиме
Открывает указанный модуль
Visual Basic for Application
Открывает отчет в указанном
режиме или печатает его
Нет
Открывает таблицу в указанном режиме
Открывает форму в указанном
режиме (формы, конструктора, просмотра или таблицы)
Отменяет событие, которое
привело к выполнению макроса
Включает указанный объект в
сообщение для отправки по
электронной почте
Имя таблицы, Режим, Режим данных
Имя формы, Режим, Имя
фильтра, Условие отбора,
Режим данных Режим окна
Нет
Имя запроса, Режим, Режим
данных
Имя модуля, Имя процедуры
Имя отчета, Режим, Имя
фильтра, Условие отбора
Тип объекта, Имя объекта,
Формат вывода, Куда, Копии, Скрытые копии, Тема,
Сообщение, Изменение сообщения, Файл шаблона
Отображает или скрывает па- Панель инструментов, Понель инструментов
казать
Переименовывает выбранный Новое имя, Тип объекта,
объект
Старое имя
Во время выполнения макроса Включить
изменяет форму указателя
мыши на форму песочных часов
Печатает активный объект
Распечатать, Со страницы,
По страницу, Разрешение,
Число копий, Разобрать копии
Удаляет
использованные Нет
фильтры из активной формы
Импортирует или экспортиру- Тип преобразования, Тип
ет данные между текущей ба- базы данных, Имя базы данзой данных и другой базой ных, Тип объекта, Источданных Access
ник, Адресат, Только структура
Импортирует или экспортиру- Тип преобразования, Назвает данные между текущей ба- ние спецификации, Имя
зой данных и текстовым фай- таблицы, Имя файла, С
лом
именами полей
Импортирует или экспортиру- Тип преобразования, Тип
ет данные между текущей ба- электронной таблицы, Имя
зой данных и файлом элек- таблицы, Имя файла, С
тронной таблицы
именами полей, Диапазон
Применяет фильтр, запрос Имя фильтра, Условие отили оператор SQL WHERE к бора
29
Развернуть
Свернуть
СдвигРазмер
Сигнал
СледующаяЗапись
Сообщение
Сохранить
УдалитьОбъект
УстановитьСообщение
форме или отчету для фильтрования или сортировки записей
Максимизирует активное окно
Минимизирует активное окно
Передвигает активное окно
или изменяет его размеры
Выдает звуковой сигнал
Находит следующую запись,
которая удовлетворяет условиям, определенным действием НайтиЗапись или значениями в диалоговом окне Найти
Отображает окно с сообщением или предупреждением
Сохраняет указанный объект
Удаляет указанный объект
Включает/Выключает системные сообщения
Нет
Нет
По правому краю, От верхнего края, Ширина, Высота
Нет
Нет
Сообщение, Сигнал, Тип,
Заголовок
Тип объекта, Имя объекта
Тип объекта, Имя объекта
Включить сообщения
2-й способ:
Для создания такого макроса необходимо выполнить следующие действия:
1. Переместить окно макросов и изменить его размеры таким образом, чтобы одновременно были видны окна макросов и базы данных.
2. Выбрать вкладку объекта, который будет открываться макросом.
3. Выполнить щелчок на нужном объекте и переместить его в пустую строку
столбца Макрокоманда окна макросов. После этого в столбце Макрокоманда
появится соответствующая команда.
4. В разделе Аргументы макрокоманды появятся аргументы. При необходимости
их можно изменить.
В столбце Примечание можно ввести любые комментарии, которые помогут проследить, какое действие выполняет макрос.
2. Сохранение макросов. Для сохранения макроса необходимо выполнить следующие действия:
Выбрать команду Файл  Сохранить или выполнить щелчок по пиктограмме Сохранить на панели инструментов. Если макрос сохраняется впервые, Access запросит для
него имя. Ввести имя созданного макроса, выполнить щелчок по кнопке ОК и закрыть окно макросов, нажав комбинацию клавиш Ctrl+F4.
3. Выполнение макроса. После завершения разработки макроса можно проверить
его работу, запустив макрос на выполнение. Самым простым способом является следующий: открыть вкладку Макросы в окне БД, выделить макрос и щелкнуть по кнопке Запуск
или выполнить двойной щелчок на макросе в окне БД.
Другой способ запуска следующий:
Выбрать команду Сервис  Макрос  Запуск макроса. В появившемся диалоговом окне Запуск макроса выбрать или ввести имя макроса.
Если макрос открыт в режиме конструктора, его можно выполнить, щелкнув по
кнопке Запуск на панели инструментов.
Кроме того, макросы можно выполнять при помощи кнопок, которые добавляются
в формы. Кнопки макросов можно создать методом перетаскивания.
30
1. Открыть нужную форму в режиме конструктора, переместить форму и установить ее размеры таким образом, чтобы можно было видеть и окно БД.
2. Открыть вкладку Макросы в окне БД для отображения макросов.
3. Перетащить нужный макрос в то место формы, где необходимо разместить
кнопку. Созданная кнопка появится в окне формы.
Макрос можно настроить таким образом, чтобы он выполнялся автоматически при
запуске БД.
Для этого достаточно при сохранении созданного макроса присвоить ему имя
Autoexec. Макросы Autoexec обычно используются для открытия форм, с которыми чаще
всего работают пользователи, или для размещения на экране нескольких часто используемых форм и/или отчетов.
Удерживая клавишу Shift во время открытия БД, можно отменить запуск макроса
Autoexec.
4. Редактирование макросов. Структура таблицы в окне макросов напоминает
структуру обычной таблицы БД. Команды редактирования текста, используемые для удаления, переноса и копирования содержимого ячеек, могут применяться и в рамках таблицы макроса.
Редактирование макроса осуществляется в режиме конструктора. Аргументы и
краткое описание макрокоманды отображаются в окне макросов только при ее маркировке.
Например, для вставки дополнительной макрокоманды в существующий макрос
необходимо выполнить следующие действия:
 Выбрать вкладку Макросы в окне БД;
 Выбрать макрос для редактирования, выполнив на нем щелчок мышью;
 Открыть макрос в режиме конструктора, выбрав кнопку Конструктор;
 Выбрать макрокоманду перед которой необходимо произвести вставку новой,
выполнив щелчок мышью в одном из полей этой макрокоманды или маркировав
всю строку целиком;
 Выбрать пункт меню Вставка, подпункт Строки. Перед маркированной строкой
будет вставлена пустая;
 Поместить в эту строку новую макрокоманду;
 Сохранить макрос (Файл  Сохранить).
4. Копирование макросов. Макросы можно копировать из одной БД в другую или в
одну и туже БД под разными именами. Это экономит время при создании макросов, выполняющих похожие задачи.
Существующий макрос можно скопировать, выполнив следующие действия:
 В окне БД выбрать нужный макрос.
 Выбрать команду Правка  Копировать.
 Для копирования макроса в другую БД закрыть текущую и открыть ту, в которую будет копироваться макрос. Выбрать в окне БД вкладку Макросы.
 Выбрать команду Правка  Вставить.
 В появившемся диалоговом окне ввести имя макроса. Если макрос копируется в
ту же БД, в которой находится существующий макрос, то копируемому макросу
необходимо присвоить другое имя.
ОБЩИЕ СВЕДЕНИЯ О МОДУЛЯХ.
Как и для других объектов базы данных, в Microsoft Access имеется набор инструментов для создания необходимой программы Microsoft Access Basic. Имеется набор инструментов для отладки и анализа, созданных программ, который поможет вам убедиться,
что разработанная вами программа функционирует должным образом.
31
Все написанные программы хранятся в модулях. База данных может содержать два
вида модулей: общие модули, являющиеся объектами базы данных, и модули форм и отчетов, которые являются частью этих объектов.
Общие модули. Общие модули используются для хранения процедур, которые будут выполняться и запросов или из нескольких форм или отчетов приложения. Процедуры
общего модуля могут быть вызваны из любого места в приложении.
Модули, связанные с формами и отчетами. Каждая форма или отчет содержат
встроенный модуль. Можно создать специальные процедуры внутри модуля, связанного с
формой или отчетом, которые будут доступны только из данной формы или отчета. Чтобы
отредактировать связанный модуль, необходимо открыть соответствующую форму или
отчет в режиме конструктора и затем щелкнуть по кнопке Программы на панели инструментов.
Модули форм или отчетов имеют два важных преимущества перед общими модулями:
 программа необходимая для автоматизации действий в некоторой форме или отчете, храниться в месте с данной формой или отчетом. Не возникает необходимости запоминать имя того модуля, который используется для хранения процедур обработки событий определенной формы или отчета.
 Access загружает общие модули базы данных при ее открытии, а встроенный
модуль формы или отчета загружается только при открытии соответствующего
объекта. В связи с этим модули и формы или отчета расходуют память приложения только в том случаи, когда используется соответствующая форма или отчет.
Когда следует использовать модули? Хотя макросы и являются мощным средством,
все-таки можно назвать некоторые задачи, которые нельзя решить с помощью макросов.
Целесообразно использовать модули вместо макросов во всех перечисленных ниже
случаях, когда:
 необходимо отслеживать и обрабатывать ошибки приложения
 требуется проводить обработку событий с передачей или получением параметров;
 во время работы приложения нам нужно создавать новые объекты (таблицы, запросы, формы или отчеты);
 приложение должно взаимодействовать с другими приложениями Windows, используя динамический обмен данными (DDE);
 когда необходимо непосредственно использовать системные функции Windows;
 нужно поместить часть программ в библиотеку;
 необходимо обрабатывать отдельные записи, а не наборы записей.
32
ПРАКТИЧЕСКАЯ РАБОТА № 10: ЗАЩИТА БАЗ ДАННЫХ.
Средства защиты БД, реализованные в ACCESS, позволяют предотвратить умышленные или случайные просмотр, изменение и удаление информации лицами, которые не
имеют соответствующих прав доступа. Эти средства особенно важны при функционировании БД в сети.
В ACCESS предусмотрены различные уровни защиты данных и администрирования доступа к ним. Возможности ACCESS позволяют обеспечить безопасность как самого
приложения, так и файла БД. Простейшим средством защиты БД от несанкционированного доступа является пароль.
После того как пароль установлен, при каждом открытии БД будет появляться диалоговое окно, в которое требуется ввести пароль. Пользователи смогут открыть БД, только после ввода правильного пароля. Этот способ достаточно надежен, поскольку ACCESS
шифрует пароль, так что к нему нет прямого доступа при чтении файла БД. Недостаток
такого способа защиты в том, что он применяется только при открытии БД. После открытия БД все объекты становятся доступными для пользователя (если не определена защита
на уровне пользователей). Для БД, которая совместно используется небольшой группой
пользователей или на автономном компьютере, установка пароля обычно оказывается достаточной.
1) Установите пароль на любую из созданных вами баз данных. Для этого закройте
свою БД, не выходя из Access, затем снова откройте ее, щелкнув в окне открытия БД
справа от кнопки Открыть и выбрав «Монопольно». Открыв БД, в меню Сервис выберите
Задать пароль и следуйте дальнейшим указаниям Access.
2) При следующем открытии БД система запросит установленный вами пароль.
Снять пароль можно, снова открыв БД монопольно и выбрав в меню Сервис Удалить пароль. Естественно, перед удалением пароля система потребует ввести его, чтобы никто,
кроме вас, не смог произвести эту операцию. Удалите пароль со своей базы данных.
3) Усовершенствовать защиту позволяют средства поддержки рабочих групп, ведения учетных (регистрационных) записей, задания прав владения и прав доступа. С помощью средств защиты можно указать, какие операции по обработке объектов БД разрешается выполнять пользователю или группе пользователей. О каждом пользователе или
группе ведутся учетные записи с указанием прав доступа.
Рабочей называется группа пользователей, работающих с одной БД и имеющих
общий файл рабочей группы. Файл рабочей группы - это системный файл с информацией
о группе пользователей, работающих в многопользовательской среде с БД. В файлах рабочих групп хранятся учетные записи, пароли, а также данные о правах доступа к объектам БД.
При инсталляции ACCESS по умолчанию создается стандартный файл рабочей
группы SYSTEM.MDW, сохраняемый в папке, в которой установлен ACCESS. Он используется программой до появления нового файла рабочей группы. Изменение стандартного
или создание нового файла рабочей группы выполняет программа Администратор рабочих групп (Wrkgadm), находящаяся в подпапке System папки Windows. По умолчанию все
файлы рабочей группы ACCESS имеют расширение .MDW.
Текущая рабочая группа указывается в файле рабочей группы, имя которого отображается в диалоговом окне программы «Администратор рабочих групп». Она находится
среди системных файлов Windows, найти ее можно с помощью поиска в программе Проводник. Найдите и запустите Администратор рабочих групп.
Для изменения файла рабочей группы нажать кнопку Связать (Связь), вследствие
чего на экране появится диалоговое окно Файл рабочей группы.
В поле База данных ввести полное имя нового файла рабочей группы. Этот файл
можно найти, используя кнопку Обзор... После нажатия кнопки ОК программа сообщит
об установлении связи с новой рабочей группой.
33
Для создания нового файла рабочей группы необходимо нажать кнопку Создать в
окне Администратор рабочих групп, при этом откроется диалоговое окно Сведения о владельце рабочей группы (Имя, Организацию и Код группы – любую комбинацию из букв и
цифр, не превышающую 20 символов), ввести соответствующие данные. По умолчанию
отображается информация о пользователе, указанном при установке Microsoft Office 97.
После нажатия ОК на экране отобразится диалоговое окно Файл рабочей группы,
поле База данных которого содержит полное имя существующего файла рабочей группы.
При необходимости ввести новое имя и нажать кнопку ОК. Новый системный файл рабочей группы используется только после следующего запуска ACCESS.
Аналогичным образом для каждой группы пользователей можно создать файлы рабочих групп, которые рекомендуется поместить в одну папку. Файл рабочей группы не
обязательно помещать в папку с файлом БД.
Сведения об имени, организации и коде рабочей группы необходимо записать и сохранить, т.к. эти данные могут понадобиться при восстановлении системного файла рабочей группы. Если по каким-либо причинам эти данные будут утеряны, восстановить БД не
удастся.
После установки ACCESS пользователь получает право доступа ко всем объектам
БД (становится членом группы Admins с именем Admin). Поскольку по умолчанию пароль
в этой учетной записи не указывается, его не нужно вводить для входа в систему.
Члены группы Admins (администраторы) имеют право на модификацию БД. Пока
не будет задана регистрация входа в систему всех членов рабочей группы, ACCESS будет
разрешать вход в систему используя предопределенную регистрационную запись Admin.
Чтобы задать регистрацию входа в систему и тем самым устранить произвольный доступ
к ней, следует установить пароль для администратора в регистрационной записи Admin. В
противном случае при каждом запуске ACCESS администратор будет регистрироваться
как пользователь Admin без указания пароля.
Чтобы регистрировался вход в систему необходимо выполнить последовательность
действий:
 Запустить ACCESS, указав рабочую группу, и открыть БД.
 В подменю Защита меню Сервис активизировать команду Пользователи и группы.
 В открывшемся диалоговом окне перейти на вкладку Изменение пароля, ввести
в поле Новый пароль задуманный пароль и подтвердить его в поле Подтверждение. Поле Текущий должно остаться пустым. Затем - кнопка ОК.
При вводе пароля вместо введенных символов отображаются звездочки (*). Пароль
может иметь длину от 1 до 14 знаков и включать любые символы, кроме 0 кода ASCII.
Следует помнить, что при вводе пароля различаются строчные и прописные символы.
При следующем запуске ACCESS на экране появится диалоговое окно Вход для
ввода пароля. В поле Имя следует ввести имя пользователя, а в поле Пароль - пароль. После нажатия кнопки ОК программа продолжит процесс запуска, если пароль введен правильно.
Удалить пароль можно, выполнив последовательность действий:
 В подменю Защита меню Сервис активизировать команду Пользователи и группы.
 В открывшемся диалоговом окне перейти на вкладку Пользователи и, удостоверившись, что в поле Имя указано правильное имя пользователя, нажать кнопку
Снять пароль.
Таким же образом устанавливается и изменяется пароль для остальных пользователей системы. Сначала они входят в систему под своим именем, не вводя пароль, затем
указывают его.
4) Учетные записи. После создания рабочей группы можно приступить к внесению
учетных (регистрационных) записей. По умолчанию создается учетная запись Admin, а
34
также учетные записи групп Admins (Администраторы), Users (Пользователи) и предоставляются права доступа ко всем объектам.
Учетная запись администратора включена в рабочую группу Admins. Администратор имеет право доступа ко всем объектам, созданным в этой группе. Кроме администратора может быть указан владелец БД. В системе обеспечения безопасности ACCESS 97
владельцы объектов имеют особый статус. По умолчанию пользователь, создавший объект, становится владельцем объекта и прав на работу с ним.
Администраторы и владельцы наделены особыми правами:
 Администратор БД всегда может получить права доступа ко всем объектам, созданным членами данной рабочей группы;
 Владелец БД всегда может открыть БД;
 Владелец объекта наделен полными правами доступа к этому объекту.
 Так как регистрационная запись Admin одинакова для всех копий ACCESS, для
защиты БД необходимо включить нового пользователя в группу Admins или заменить администратора Admin.
 Чтобы включить нового пользователя в группу Admins, необходимо выполнить
действия:
o Запустить ACCESS, выбрав рабочую группу и открыть любую БД
o В подменю Защита меню Сервис активизировать команду Пользователи и группы.
o В открывшемся диалоговом окне перейти на вкладку Пользователи и
нажать кнопку Создать.
o В появившемся диалоговом окне в поле Имя ввести имя учетной записи (пользователя), а в поле Код - уникальный код записи. Затем кнопка ОК.
o Имя пользователя может иметь длину от 1 до 20 символов и включать буквы, цифры, пробелы и другие символы за исключением символов: " \ [] ^| <> + = ; , ? * и управляющих символов (с кодами ASCII
от 00 до 31). Кроме того, имя записи не может начинаться с пробела.
o После возвращения в окно Пользователи и группы выбрать в списке
Имеющиеся группы группу Admins и нажать кнопку Добавить. Группа Admins будет помещена в список Участие в группе, что обеспечит
ввод учетной записи в группу Admins. В завершение нажать ОК.
Такая же последовательность операций выполняется при создании учетной записи
владельца, которая, в зависимости от требования защиты, может быть внесена в группу
Admins или в другую группу.
Кроме учетных записей администратора и владельца в ACCESS 97 создаются записи для пользователей и групп пользователей, которые могут иметь одинаковые права.
Примечание:
Учетные записи пользователей должны создаваться в рабочей группе, которая будет применяться при запуске приложения.
Для создания новой группы пользователей и соответствующей учетной записи
надлежит активизировать команду Пользователи и группы подменю Защита меню Сервис,
в открывшемся диалоговом окне выбрать вкладку Группы и нажать кнопку Создать.
В открывшемся диалоговом окне в поле Имя указывается имя группы, а в поле Код
- уникальный код (любая комбинация символов длиной от 4 до 20 знаков).
На имя группы накладываются те же ограничения, что и на имя пользователя.
Удаление учетной записи или группы из рабочей группы осуществляется следующим образом:
 Запустить ACCESS с выбранной рабочей группой и открыть БД.
35
В подменю Защита меню Сервис активизировать команду Пользователи и группы.
 В открывшемся диаловом окне перейти на вкладку Пользователи (при удалении
учетной записи пользователя) или Группы (при удалении учетной записи группы).
 В списке Имя выбрать выбрать имя пользователя или группы для удаления,
нажать кнопку Удалить, затем подтвердить удаление, нажав кнопку Да.
 Закрыть окно Пользователи и группы.
После создания учетных записей пользователей и групп взаимосвязь между ними
можно проследить, нажав кнопку Отчет о защите. При этом появляется диалоговое окно, в
котором можно выбрать необходимые сведения и вывести их на печать.
5) Изменение прав владения. После инсталляции ACCESS пользователь Admin является владельцем любой БД и всех объектов. Поскольку для него не устанавливается пароль, для защиты БД от несанкционированного доступа необходимо изменить права владения базой и всеми объектами.
Существует несколько способов смены владельца объектов БД:
 импортирование всех объектов БД в новый файл;
 использование вкладки Смена владельца диалогового окна Разрешения.
Для первого способа последовательность действий такая:
 Запустить ACCESS с выбранной рабочей группой.
 Войти в систему под именем нового владельца БД
 Создать новую (пустую) БД.
 В подменю Внешние данные меню Файл активизировать команду Импорт.
 В окне Импорт указать БД, владельца которой необходимо сменить, и скопировать все ее объекты в новую БД.
Более простой способ смены владельца БД состоит в следующем:
 Открыть БД и выбрать в меню Сервис команду Защита.
 В открывшемся подменю активизировать команду Разрешения.
 В появившемся диалоговом окне открыть вкладку Смена владельца.
 Выбрать тип объекта в списке Тип объекта. В области Объект отобразится список всех объектов выбранного типа, а в области Текущий владелец - имена владельцев.
 Выделить в списке Объекты те объекты, владельца которых необходимо сменить.
 В поле Новый владелец указать учетную запись пользователя, которому предоставляются права владельца этих объектов. Если в качестве владельца будет выступать группа, следует предварительно активизировать переключатель Группы.
 Нажать кнопку Сменить владельца.
6) Присвоение и удаление прав доступа. Администратор БД предоставляет всем
или некоторым членам рабочей группы права доступа к различным объектам базы. Права
доступа хранятся в файле БД и характеризуют ее объекты.
К разграничению прав доступа пользователей и групп можно приступить после создания рабочей группы, определения администратора и владельца БД, а также создания
учетных записей пользователей и групп. Пользователь наследует права той группы, к которой принадлежит.
Перечень прав доступа, определенных в ACCESS приведен в следующей таблице:
Право доступа
Действие
Объекты доступа
Открытие/Запуск Открытие БД, формы, отчета или запуск БД, формы, отчеты и макромакроса
сы
Чтение макета
Просмотр объектов в режиме конструк- Таблицы, запросы, формы,
тора
отчеты, макросы, модули
Изменение маке- Просмотр, изменение и удаление объек- Таблицы, запросы, формы,

36
та
Администратора
тов в режиме конструктора
Полный доступ к объектам и данным,
включая возможность присвоения прав
доступа
Чтение данных
Просмотр данных
Обновление дан- Просмотр и изменение данных без вставных
ки и удаления
Вставка данных
Просмотр и вставка данных без изменения и удаления
Удаление данных Просмотр и удаление данных
Монопольный
Открытие БД в монопольном режиме
доступ
отчеты, макросы и модули
БД, таблицы, запросы, формы, отчеты, макросы и модули
Таблицы и запросы
Таблицы и запросы
Таблицы и запросы
Таблицы и запросы
БД
Наряду с правами доступа к существующим объектам предоставляются и права доступа к новым объектам. Из таблицы видно, что некоторые права доступа обуславливают
наличие других прав. Так таблица, в которой разрешено обновление данных, доступна для
чтения данных и макета. При наличии прав администратора пользователю доступны все
перечисленные выше права.
Определить права доступа к некоторому объекту может владелец этого объекта,
администратор в рабочей группе Admins или пользователь, с правами администратора для
данного объекта.
Все права доступа к объекту сохраняются при его изменении только в том случае,
если не применялся буфер обмена или не выполнялся импорт/экспорт объекта. Кроме того, все связанные с объектом права доступа могут быть утеряны при сохранении объекта
под новым именем посредством команды Сохранить как/экспорт.
Чтобы предоставить права доступа к объектам БД, необходимо выполнить действия:
 Открыть БД. При этом пользователь, вошедший в систему, должен иметь право
доступа к объектам.
 Выбрать в меню Сервис команду Защита. В открывшемся подменю активизировать команду Разрешения.
 В появившемся диалоговом окне перейти на вкладку Разрешения.
 В поле Тип объекта выбрать тип объекта, на который распространяются новые
права.
 В списке Имя объекта отметить объекты, доступ к которым будет разрешен
пользователю или группе, указанным в списке Пользователи и группы.
 Выбрать право доступа к отмеченным объектам.
 Нажать ОК.
7. Шифрование БД. Шифрование - это защита БД от несанкционированного доступа с помощью текстового редактора или средств работы с файлами, например, входящих в
состав Windows или Norton Utilites. Информация в зашифрованной БД недоступна для
чтения. Шифрование несколько замедляет работу ACCESS, т.к. расходуется время на
шифрование и дешифрование файлов.
Шифрование и дешифрование БД могут производить только члены группы Admins.
Эти операции выполняются следующим образом:
 Запустить ACCESS с выбранной рабочей группой.
 В
подменю Защита меню Сервис активизировать команду Шифровать/дешифровать, вследствие чего на экране появится окно выбора БД для
шифрования.
 Выбрать БД, которую необходимо зашифровать или дешифровать, и нажать ОК.
 Если выбранная БД не зашифрована, откроется диалоговое окно Шифрование
базы данных под именем, в котором программа предложит новое имя для за37

шифрованной БД. Если же выбранная БД зашифрована, появится окно Дешифрование базы данных под именем.
Выбрать имя файла, и нажать кнопку Сохранить.
38
ПРАКТИЧЕСКАЯ РАБОТА № 11-1:
ИЗУЧЕНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БД.
Проектирование базы данных.
Проектирование БД является очень важным этапом, от которого зависят последующие этапы разработки СУБД. Время, затраченное разработчиком на проектирование БД,
обычно окупается высокой скоростью реализации проекта.
Перед созданием базы данных необходимо располагать описанием выбранной
предметной области, которое должно охватывать реальные объекты и процессы, иметь
всю необходимую информацию для удовлетворения предполагаемых запросов пользователя и определить потребности в обработке данных.
На основе такого описания на этапе проектирования базы данных осуществляется
определение состава и структуры данных предметной области, которые должны находиться в базе данных и обеспечивать выполнение необходимых запросов и задач пользователя. Структура данных предметной области может отображаться информационнологической моделью. На основе этой модели легко создается реляционная база данных.
Информационно-логическая модель отображает данные предметной области в
виде совокупности информационных объектов и связей между ними. Эта модель представляет данные, подлежащие хранению в базе данных.
При разработке модели данных могут использоваться два подхода. В первом подходе сначала определяются основные задачи, для решения которых строится база, и выявляются потребности задач в данных. При втором подходе сразу устанавливаются типовые
объекты предметной области. Наиболее рационально сочетание обоих подходов. Это связано с тем, что на начальном этапе, как правило, нет исчерпывающих сведений обо всех
задачах. Использование такой технологии тем более оправдано, что гибкие средства создания реляционной базы данных в Access позволяют на любом этапе разработки внести
изменения в базу данных и модифицировать ее структуру без ущерба для введенных ранее
данных.
Основные этапы проектирования БД показаны на рисунке.
39
Информационный объект — это информационное описание некоторой сущности
— реального объекта, процесса, явления или события. Информационный объект образуется совокупностью логически взаимосвязанных реквизитов, представляющих качественные и количественные характеристики некоторой сущности предметной области. Примерами информационных объектов могут быть — ТОВАР, ПОСТАВЩИК, ЗАКАЗЧИК,
ПОСТАВКА, ОТГРУЗКА, СОТРУДНИК, ОТДЕЛ, СТУДЕНТ, ПРЕПОДАВАТЕЛЬ, КАФЕДРА и т.п.
Информационные объекты выделяются на основе описания предметной области
путем определения функциональных зависимостей между реквизитами. Совокупность
реквизитов информационного объекта должна отвечать требованиям нормализации. Каждому информационному объекту нужно присвоить уникальное имя, например, СТУДЕНТ,
ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ, КАФЕДРА.
Информационный объект имеет множество реализаций — экземпляров. Например,
каждый экземпляр объекта СТУДЕНТ представляет конкретного студента. Экземпляр образуется совокупностью конкретных значений реквизитов и должен однозначно определяться (идентифицироваться) значением ключа информационного объекта, который состоит из одного или нескольких ключевых реквизитов. Таким образом, реквизиты подразделяются на ключевые и описательные. Последние являются функционально зависимыми от ключа.
Функциональная зависимость реквизитов имеет место в том случае, если одному
значению ключа соответствует только одно значение описательного (зависимого) реквизита.
Замечание. При выявлении функциональных зависимостей реквизитов не рассматриваются арифметические зависимости (например, стоимость от количества),
поскольку устанавливается только функциональная зависимость, определяющая связи
описательных и ключевых реквизитов, и на основе которой выявляется реквизитный состав каждого информационного объекта.
При графическом изображении модели данных каждый информационный объект
представляется прямоугольником с обозначением его имени и идентификатора - ключа.
Реквизиты каждого информационного объекта должны отвечать требованиям
нормализации:

информационный объект должен содержать уникальный идентификатор
(ключ). Ключ является простым, если он состоит из одного реквизита или составным,
если из нескольких;

все описательные реквизиты должны быть взаимонезависимы, т.е. между
ними не может быть функциональных зависимостей;

все реквизиты, входящие в составной ключ, должны быть также взаимонезависимы;

каждый описательный реквизит должен функционально полно зависеть от
ключа, т.е. каждому значению ключа соответствует только одно значение описательного
реквизита;

при составном ключе описательные реквизиты должны зависеть целиком от
всей совокупности реквизитов, образующих ключ;

каждый описательный реквизит не может зависеть от ключа транзитивно,
т.е. через другой промежуточный реквизит.
Замечание. В случае транзитивной зависимости между реквизитами можно выполнить расщепление совокупности реквизитов с образованием двух информационных
объектов вместо одного.
Выполнение требований нормализации обеспечивает построение реляционной базы данных без дублирования данных и возможность поддержки целостности при внесении
изменений.
Выделение информационных объектов предметной области.
40
Процесс выделения информационных объектов предметной области, отвечающих
требованиям нормализации, может производиться на основе интуитивного или формального подхода. Теоретические основы формального подхода были разработаны и полно изложены в монографиях по организации баз данных известного американского ученого Дж.
Мартина. При интуитивном подходе легко могут быть выявлены информационные объекты, соответствующие реальным объектам. Однако, получаемая при этом информационнологическая модель, как правило, требует дальнейших преобразований, в частности, преобразования много-многозначных (M:N) связей между объектами. При таком подходе
возможны существенные ошибки, если отсутствует достаточный опыт. Последующая
проверка выполнения требований нормализации обычно приводит к необходимости уточнения информационных объектов.
Рассмотрим формальные правила, которые могут быть использованы для выделения информационных объектов, отвечающих требованиям нормализации:

На основе описания предметной области выявить документы и их реквизиты, подлежащие хранению в базе данных.

Определить функциональные зависимости между реквизитами.
Замечание. Функциональную зависимость реквизитов можно изобразить графически в виде линий со стрелками, идущих от ключевого реквизита к описательному (зависимому). Эти зависимости целесообразно отразить непосредственно в таблице, где
представлен состав реквизитов, сгруппированных по документам.

Выбрать все зависимые реквизиты и указать для них ключевые реквизиты
(один или несколько).
Замечание. В случае транзитивной зависимости некоторые реквизиты являются
одновременно зависимыми и ключевыми и соответственно представлены в группе зависимых и ключевых.

Сгруппировать реквизиты, зависимые от одних и тех же ключевых реквизитов. Полученные группы зависимых реквизитов вместе с ключевыми реквизитами образуют информационные объекты.
После выделения информационных объектов надо дать окончательное их описание. В таком описании может быть представлена также семантика информационных объектов, то есть их смысловое определение. Затем можно осуществить контрольную проверку выполнения требований нормализации. При использовании приведенных правил
нет необходимости отдельно преобразовывать транзитивные зависимости реквизитов. Совокупность получаемых при этом информационных объектов позволяет получить информационно-логическую модель, не требующую дальнейших преобразований для построения реляционной базы данных. Как правило, сразу оказываются выделенными объекты,
выполняющие роль связки между объектами, находящимися в много-многозначных отношениях.
Пример проектирования БД "Учебный процесс".
Пусть требуется построить БД, содержащую информацию об учебном процессе текущего семестра. Необходимые данные хранятся в следующих документах:

списки групп студентов;

списки преподавателей кафедр;

перечень изучаемых предметов;

учебные программы;

распределение нагрузки между преподавателями;

экзаменационные ведомости.
В первую очередь, в имеющихся документах необходимо выявить реквизиты, подлежащие хранению в БД, определить функциональную зависимость между ними, выделить ключевые и описательные реквизиты и сгруппировать реквизиты, зависимые от выделенных ключевых реквизитов.
41
Вторым этапом является описание полученных информационных объектов. Удобной формой описания структуры информационных объектов являются таблицы. Для рассматриваемой задачи получено семь таблиц:
Таблица "Кафедра"
Содержание поля
Имя поля
Тип поля
Наличие ключа
Код кафедры
ККАФ
Счетчик
Простой ключ
Название кафедры
НКАФ
Текстовый
Телефон кафедры
ТЕЛ
Текстовый
Заведующий кафедрой
ЗАВ
Текстовый
Фотография заведующего
ФОТО
OLE
Таблица "Группа"
Содержание поля
Имя поля
Номер группы
НГ
Количество студентов
КОЛ
балл успеваемости
СБАЛЛ
Таблица "Предмет"
Содержание поля
Имя поля
Код предмета
КП
Название предмета
НП
Всего учебных часов
ЧАСЫ
Часов лекций
ЛЕК
Часов практических заня- ПР
тий
Число семестров
ЧС
Программа курса
ПРОГ
Тип поля
Текстовый
Числовой
Числовой
Тип поля
Счетчик
Текстовый
Числовой
Числовой
Числовой
Наличие ключа
Простой ключ
Числовой
МЕМО
Таблица "Преподаватель"
Содержание поля
Имя поля
Табельный номер
ТАБН
Фамилия, имя, отчество
ФИО
Ученая степень
СТ
Ученое звание
ЗВ
Код кафедры
ККАФ
Таблица "Студент"
Содержание поля
Номер группы
Номер студента в группе
Фамилия, имя, отчество
Год рождения
Адрес
Средний балл обучения
Наличие ключа
Простой ключ
Тип поля
Счетчик
Числовой
Текстовый
Текстовый
Числовой
Имя поля
НГ
НС
ФИО
ГОДР
АДР
СБАЛЛ
Таблица "Изучение"
Содержание поля
Имя поля
Номер группы
НГ
Код предмета
КП
Табельный номер препода- ТАБН
вателя
42
Наличие ключа
Простой ключ
Тип поля
Текстовый
Числовой
Текстовый
Дата
Текстовый
Числовой
Наличие ключа
Составной ключ
Составной ключ
Тип поля
Текстовый
Числовой
Числовой
Наличие ключа
Составной ключ
Составной ключ
Составной ключ
Вид занятия
Часов по данному виду
ВИДЗ
ЧАСЫ
Таблица "Успеваемость"
Содержание поля
Имя поля
Номер студента
НС
Номер группы
НГ
Код предмета
КП
Табельный номер препода- ТАБН
вателя
Вид занятия
ВИДЗ
Оценка
ОЦЕНКА
Текстовый
Числовой
Составной ключ
Тип поля
Числовой
Текстовый
Числовой
Числовой
Наличие ключа
Составной ключ
Составной ключ
Составной ключ
Составной ключ
Текстовый
Числовой
Составной ключ
В рассмотренных таблицах добавлен столбец "Тип поля", являющийся характеристикой не информационного объекта, а таблицы БД. Он добавлен для иллюстрации особенностей реализации БД:

связываемые поля должны быть одного типа;

для ключевых полей в Access имеется специальный тип счетчик. Этот тип
предусматривает автоматическое заполнение поля порядковыми номерами записей и является числовым типом в формате длинного целого. Поэтому внешние ключи этих полей
тоже должны иметь формат длинного целого.
Реквизит НГ реализован как текстовое с максимальной длиной 6 символов, поскольку номер группы может содержать буквы и его можно использовать в качестве ключа.
Для реквизита ФОТО в таблице "Кафедра" используется "Поле объекта OLE" для
обеспечения возможности выводить фотографию.
Реквизиту ПРОГ таблицы "Предмет" соответствует тип поля МЕМО для вывода
сравнительно большого текста, такого, как программа обучения по предмету.
Следующим этапом проектирования БД является определение связей между информационными объектами. Связи устанавливаются последовательно между парами объектов. В данной задаче все связи имеют тип отношения "один ко многим".
Информационно-логическая модель БД "Учебный процесс", построенная в соответствии с
выявленными информационными объектами и связями, показана на рисунке:
Информационно-логическая модель приведена в каноническом виде, т к. объекты
размещены по уровням. На нулевом уровне размещаются объекты, не подчиненные ника43
ким другим объектам. Уровень остальных объектов определяется наиболее длинным путем к объекту от нулевого уровня. Такое размещение объектов дает представление об их
иерархической подчиненности, делает модель более наглядной и облегчает понимание
связей между объектами.
Используя информационно-логическую модель, на этапе реализации связей между
таблицами получим следующую схему данных.
Контрольные вопросы
1.
В каких формах может быть представлено описание предметной области на
основе которого требуется разработать базу данных?
2.
Почему нельзя напрямую использовать документы, описывающие предметную область и имеющие табличную форму, в качестве таблиц проектируемой базы данных?
3.
Чем отличается информационный объект от документа, описывающего
предметную
область?
Чем отличается информационный объект от таблицы базы данных?
4.
Что такое "реквизит информационного объекта"? Приведите примеры реквизитов для объектов, рассмотренных в примере.
5.
Какие отношения возможны между связанными информационными объектами?
6.
Что такое транзитивная зависимость реквизита? Приведите пример.
7.
Что такое каноническая форма информационно-логической модели. Как эта
форма отражена на схеме данных рассмотренного примера?
8.
Приведите примеры выполнения требований нормализации в проекте базы
данных "Учебный процесс".
9.
Приведите примеры объектов, в которых не выполняются требования нормализации.
44
ПРАКТИЧЕСКАЯ РАБОТА № 11-2:
СОЗДАНИЕ ТАБЛИЦ БД И ФОРМ ВВОДА. ПОСТРОЕНИЕ СХЕМЫ ДАННЫХ.
Создание таблиц базы данных.
Создание таблиц БД является первым шагом в разработке СУБД. Таблицы предназначены для хранения информации БД. Создание таблицы состоит из двух этапов: задание
структуры таблицы; ввод записей в таблицу.
Для создания новой таблицы следует в окне БД выбрать меню "Таблицы" (в старых
версиях Access для этой цели служит вкладка "Таблицы") и нажать кнопку "Создать". В
окне "Новая таблица" необходимо выбрать способ создания таблицы.
Если у разработчика СУБД нет достаточного опыта, рекомендуется для создания
таблицы выбрать режим конструктора.
Создание таблицы в режиме конструктора.
При выборе режима конструктора появляется окно конструктора.
В поле "Имя поля" вводится имя поля таблицы, являющееся его идентификатором.
Рекомендуется формировать имена полей так, чтобы имя было коротким, не содержащим
специальных символов (запятых, пробелов и т.д.) и отражающим смысл поля. Необходимо различать идентификатор поля в структуре таблицы и заголовок поля в выходном до45
кументе. Во втором случае заголовок поля должен в полной мере отражать смысл поля и
обычно задается вручную при форматировании выходного документа.
В поле "Тип данных" выбирается один из типов, показанных в раскрытом списке на
рисунке.
Поле "Описание" содержит комментарии к создаваемому полю таблицы. Его заполнение не является обязательным.
В нижней части окна, на вкладке "Общие" задаются свойства поля. Если щелкнуть
кнопкой мыши по одной из строк таблицы свойств, справа появится подсказка о назначении этого свойства.
Вкладка "Подстановка" служит для организации подсказки при заполнении внешних ключей таблицы. Ключи, чаще всего, являются формальными идентификаторами записей в таблицах БД. Поэтому при заполнении внешних ключей у пользователя могут
возникнуть затруднения, связанные с определением, какому ключу в базовой таблице соответствует запись в подчиненной таблице. Настройка свойств вкладки "Подстановка"
позволяет превратить простое поле для внешнего ключа в поле со списком, содержащим
полный список ключей базовой таблицы и соответствующие этим ключам поля – подсказки из базовой таблицы. После выбора в списке записи, в заполняемую таблицу помещается только ключ. Таким образом, пользователю не нужно помнить ключи и их ввод выполняется выбором из списка, а не вводом с клавиатуры. В дальнейшем поля подстановки
наследуются формами, если в качестве источника данных формы выбрана таблица с такими полями.
На приведенном выше рисунке описана таблица "Группа", состоящая из трех полей
с идентификаторами НГ, КОЛ и ПБАЛЛ. Поле НГ является текстовым и содержит номера студенческих групп. Основное свойство этого поля — длина, не превышающая 6 символов. Поле КОЛ содержит количество студентов в группе и является числовым (целым).
Поле ПБАЛЛ содержит средний балл, полученный студентами группы при поступлении в
учебное заведение, является числовым, но в отличие от поля КОЛ — действительным, содержащим десятичную часть.
Важным действием на этапе разработки структуры таблицы является задание ключевых полей. Для задания простого ключа, состоящего из одного поля таблицы, достаточно в режиме конструктора установить курсор в любую позицию этого поля и нажать
кнопку "Ключевое поле"
на панели инструментов. На рисунке это поле НГ. Для задания составного ключа, состоящего из нескольких полей таблицы, необходимо выделить
эти поля, щелкая мышью по кнопкам слева от соответствующих строк при нажатой клавише Ctrl, а затем нажать кнопку "Ключевое поле". Признаком установки является появление рисунка ключа на кнопках слева от соответствующей строки конструктора.
Имя таблицы запрашивается при закрытии окна конструктора. После закрытия
конструктора в окне БД появляется значок и имя созданной таблицы. Если выделить значок таблицы и щелкнуть по кнопке "Открыть", то таблица будет открыта для ввода записей.
Создание таблицы путем ввода данных.
Создание таблицы путем ввода данных не предусматривает описания структуры
таблицы. После выбора этого режима (режим таблицы) открывается пустая таблица, в которую можно ввести данные.
Любое поле в этой таблице можно изменить по желанию пользователя. Имена полей задаются непосредственно в заголовках. При сохранении этой таблицы Access проанализирует данные и автоматически присвоит соответствующий тип данных каждому
полю, т.е. создаст структуру таблицы. При закрытии режима таблицы Access предложит
создать ключевое поле. Если ответить "Да", то будет добавлено еще одно поле типа
"Счетчик", которое и будет ключевым. Если ответить "Нет", то ключ можно задать позже,
перейдя в режим конструктора.
46
Создание таблицы при помощи Мастера.
Мастер таблиц автоматически создает таблицу по одному из шаблонов, предлагаемых в окне "Создание таблиц":
Мастер определяет ключ таблицы и создает связь новой таблицы с уже существующими. При этом ключ новой таблицы будет включен в таблицу, с которой устанавливается связь. По запросу пользователя мастер создает форму для ввода данных в таблицу.
Ввод данных в таблицу.
Данные в таблицу можно ввести непосредственно в режиме ее открытия или через
специально созданную форму. Второй способ предпочтителен, поскольку формы обеспечивают более удобный интерфейс и возможности контроля ввода.
Вводимые данные должны соответствовать типу данных и формату, определенным
в структуре для каждого поля таблицы. При несоответствии Access выдает предупреждение и не разрешает продолжать ввод. Следует либо ввести данные требуемого формата,
либо отменить ввод.
Контрольные вопросы
1.
Для чего предназначены таблицы БД?
2.
Из скольких этапов состоит создание таблицы?
3.
Как создать новую таблицу, работая в Access?
4.
Какие поля следует заполнить при создании новой таблицы в режиме конструктора?
5.
Как формируется имя поля? В чем его отличие от заголовка поля в выходном документе?
6.
Каково назначение полей "Тип данных" и "Описание"?
7.
Какие свойства поля можно задать? Каково их назначение?
8.
Для чего служит вкладка "Подстановка"?
9.
Как задаются простые ключи? Составные?
47
10.
11.
12.
В чем особенность создания таблицы путем ввода данных?
Как создать таблицу при помощи Мастера?
Какие способы позволяют ввести данные в таблицу?
Определение связей между таблицами в базе данных Access.
Схема данных.
Схема данных является графическим образом БД. Она используется различными
объектами Access для определения связей между несколькими таблицами. Например, при
создании формы, содержащей данные из нескольких взаимосвязанных таблиц, схема данных обеспечивает автоматический согласованный доступ к полям этих таблиц. Она же
обеспечивает целостность взаимосвязанных данных при корректировке таблиц.
После того, как созданы таблицы БД, можно установить связи между ними, обратившись к схеме данных. Запуск схемы данных выполняется через значок "Схема данных"
на панели инструментов Access.
Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях, обычно между полями, имеющими одинаковые имена в обеих таблицах. В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы.
Обязательным условием при установлении связи является совпадение связываемых
полей по типу и формату.
Типы связей.
Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей.
Отношение «один-ко-многим».
Отношение «один-ко-многим» является наиболее часто используемым типом связи
между таблицами. В отношении «один-ко-многим» каждой записи в таблице A могут соответствовать несколько записей в таблице B, но запись в таблице B не может иметь более
одной соответствующей ей записи в таблице A.
Отношение «один-к-одному».
При отношении «один-к-одному» запись в таблице A может иметь не более одной
связанной записи в таблице B и наоборот. Отношения этого типа используются не очень
часто, поскольку большая часть сведений, связанных таким образом, может быть помещена в одну таблицу. Отношение «один-к-одному» может использоваться для разделения
очень широких таблиц, для отделения части таблицы по соображениям защиты, а также
для сохранения сведений, относящихся к подмножеству записей в главной таблице.
Отношение «многие-ко-многим».
При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Этот тип связи возможен только с помощью третьей (связующей) таблицы, первичный ключ которой состоит из двух полей, которые являются внешними ключами таблиц A и B. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей.
Определение связей между таблицами.
Связь между таблицами определяется путем добавления связываемых таблиц в окно «Схема данных» с последующим перетаскиванием ключевого поля из одной таблицы в
другую. Рассмотрим пример связывания таблиц.
Предположим, что требуется установить связь между таблицами "Кафедра" и
"Преподаватель" через поле ККАФ (код кафедры). В таблице "Кафедра" это поле является
уникальным ключом, а в таблице "Преподаватель" — внешним ключом. Если схема данных создается заново, то при нажатии на кнопку "Схема данных" поверх окна схемы данных появится окно "Добавление таблицы". В этом окне следует выделить требуемые таблицы и нажать "Добавить".
48
В результате в окно схемы данных будут добавлены графические образы двух таблиц:
Необходимо перетащить мышью поле ККАФ таблица "Кафедра" на поле ККАФ
таблицы "Преподаватель". В открывшемся окне "Изменение связей" следует установить
флажок "Обеспечение целостности данных". В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ
подчиненной таблицы "Преподаватель" будет введено значение, отсутствующее в поле
ККАФ базовой таблицы "Кафедра".
49
Обратите внимание, что Access автоматически определил тип связи как "один-комногим".
Можно также установить флажки "каскадное обновление связей" и "каскадное удаление связей". В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах, если будут изменены записи в базовой таблице.
После нажатия на кнопку "Создать", образы таблиц будут соединены связями как
показано на рисунке. Ключевые в базовых таблицах выделяются жирным шрифтом.
Для установления связей по составному ключу необходимо в окне "Изменение связей" в полях "Таблица/Запрос" и "Связанная таблица/запрос" вручную выбрать из списков
пары связываемых полей. На рисунке показан пример связи по составному ключу.
Если перетащить поле, не являющееся ключевым и не имеющее уникального индекса, на другое поле, которое также не является ключевым и не имеет уникального индекса, создается неопределенное отношение. В запросах, содержащих таблицы с неопределенным отношением, Microsoft Access по умолчанию отображает линию объедине50
ния между таблицами, но условия целостности данных при этом не накладываются и нет
гарантии уникальности записей в любой из таблиц.
Контрольные вопросы
1.
Что представляет собой схема данных БД?
2.
Каково назначение схемы данных?
3.
Как открыть схему данных в Access?
4.
Как установить связь между таблицами?
5.
Между какими полями таблиц устанавливается связь?
6.
Каково обязательное условие при установлении связи?
7.
Перечислите типы связей между таблицами. Охарактеризуйте их.
8.
Как определить связи между таблицами?
9.
От чего зависит выбор отношения в создаваемой Microsoft Access связи?
10.
В каком случае создается отношение "один-ко-многим"? "Один-к-одному"?
"Многие-ко-многим"?
11.
В каком случае создается неопределенное отношение?
12.
К каким последствиям приводит создание неопределенных отношений?
Разработка форм средствами Access.
Access предоставляет широкие возможности по конструированию графического
интерфейса пользователя для работы с БД. Формы являются важнейшим инструментом,
позволяющим осуществить первоначальную загрузку записей в таблицы, выполнить их
просмотр и редактирование. При этом работа пользователя с БД выполняется в привычном для него виде — в виде документа.
При наличии схемы данных формы помогают выполнить корректный ввод данных
в систему взаимосвязанных таблиц. При этом реализуется важнейший аспект технологии
работы с БД — однократный ввод данных.
Для конструирования форм необходимо предварительно выполнить определенную
последовательность действий по разработке СУБД:

сконструировать таблицы БД;

определить связи между таблицами и создать схему данных;

определить эскиз экранной формы и состав размещаемых на ней объектов.
Конструирование форм обычно выполняют в режиме Мастера с последующей доработкой вручную в режиме конструктора. Мастер позволяет быстро разработать заготовку формы с необходимыми полями и связями, однако, он создает только типовые конструкции, вид которых может не устраивать пользователя. Переход в режим конструктора
позволяет устранить недостатки оформления.
Разработка формы в режиме конструктора.
После выбора режима конструктора в окне "Новая форма" требуется задать таблицу — источник данных для формы. После этого открывается окно конструктора форм,
показанное на рисунке.
51
Область выделения формы служит для вызова контекстно-зависимого меню, через
которое можно получить доступ к свойствам формы.
Для конструирования формы необходимо вызвать панель элементов нажатием
кнопки
("Панель элементов") на панели форматирования окна Access. Панель элементов имеет вид, показанный на рисунке.
Конструирование формы заключается в последовательном выборе объектов на панели элементов и установке их в рабочей области формы. Для каждого устанавливаемого
элемента должны быть определены его свойства. Для вызова окна свойств элемента необходимо выделить его, вызвать правой кнопкой мыши контекстное меню ивыбрать пункт
"Свойства". Пример окна свойств показан на рисунке.
52
Если на панели элементов включена кнопка "Мастер элементов", то при установке
некоторых из них (например, кнопки) запускается Мастер, который поможет определить
главные свойства.
Пример создания однотабличной формы.
Рассмотрим технологию создания однотабличной формы в режиме конструктора на
примере формы для редактирования таблицы "Предмет" базы данных "Учебный процесс".
1.
В окне БД выберем пункт "Формы", режим конструктора.
2.
В окне "Новая форма" выберем источник данных — таблицу "Предмет".
3.
Установим панель элементов нажатием соответствующей кнопки.
4.
Установим на форме в один столбец 7 элементов "Поле". Заметьте, что элементы устанавливаются вместе с надписями, которые имеют формальный характер: "Поле0", "Поле2", ... .
5.
Для каждого из установленных элементов откройте окно свойств и задайте:

на вкладке "Данные" в поле "Данные" – поле – источник данных;

на вкладке "Другие" неформальное имя – идентификатор поля.
6.
Замените формальные тексты в надписях на содержательные. Это можно
сделать прямо на форме щелчком мыши внутри области надписи.
7.
Измените размеры полей, потянув мышью за маркеры. Большие маркеры в
левых верхних углах элементов служат для перемещения только этих элементов. Если же
"потянуть" мышью за рамку объекта, то надпись и поле будут перемещаться вместе. Поле
ПРОГР сделайте большим, поскольку оно предназначено для вывода многострочной текстовой информации.
В результате после открытия форма должна иметь вид, показанный на рисунке.
Создание однотабличной формы в режиме Мастера.
Рассмотрим технологию создания однотабличной формы в режиме мастера на том
же примере.
1.
В окне БД выберем пункт "Формы", режим мастера.
2.
В окне "Новая форма" выберем источник данных — таблицу "Предмет".
53
3.
На первом шаге Мастера переведем все поля из области "Доступные" в область "Выбранные".
4.
На втором шаге Мастера выберем внешний вид формы — в один столбец.
5.
На третьем шаге выберем стиль формы — стандартный.
6.
На четвертом шаге зададим имя формы — "Предмет" и нажмем "Готово".
7.
Для полученной заготовки формы перейдем в режим конструктора и заменим надписи на содержательные. В результате получим форму, аналогичную приведенной
на рисунке выше.
Следует заметить, что объем "ручной" работы при использовании Мастера существенно сократился.
Создание многотабличной формы в режиме мастера.
Многотабличные формы имеют большое количество полей, надписей и других
объектов. Поэтому разработка формы в режиме мастера особенно выгодна. Рассмотрим
создание многотабличной формы, выводящей информацию об успеваемости в группе.
1.
В окне БД выберем пункт "Формы", режим мастера.
2.
В окне "Новая форма" выберем источник данных — таблицу "Изучение".
3.
На первом шаге Мастера переведем все поля таблицы "Изучение" из области
"Доступные" в область "Выбранные". На этом же шаге добавим в область "Выбранные"
следующие поля:

НС, ОЦЕНКА из таблицы "Успеваемость";

ФИО из таблицы "Студент";

ФИО, СТ, ЗВ из таблицы "Преподаватель";

НП, ЧАСЫ из таблицы "Предмет".
4.
На втором шаге Мастера выберем вид представления данных как показано
на рисунке. Область справа, обведенная рамкой, будет оформлена как подчиненная форма, т.е. зависящая от главной и выводящая записи в зависимости от информации на главной форме.
54
5.
На третьем шаге выберем внешний вид формы — ленточный.
6.
На четвертом шаге зададим стиль формы — "Стандартный".
7.
На пятом шаге зададим имя формы и нажмем "Готово". В результате получим форму, показанную на рисунке.
8.
Откроем форму в режиме конструктора и преобразуем к виду, показанному
на рисунке.
На форме, полученной после работы Мастера, сделаны следующие преобразования:
поле с надписью НГ перенесено в область заголовка формы и надпись преобразована в "УСПЕВАЕМОСТЬ ГРУППЫ";

55
поля с названием предмета, общее количество часов и реквизиты преподавателя сгруппированы и выделены инструментом "Прямоугольник";

все поля со списком, унаследованные от таблиц-источников, преобразованы
в простые поля. Для этого надо щелкнуть правой кнопкой мыши по полю со списком и в
контекстном меню выбрать пункт "Преобразовать элемент в", затем выбрать "Поле";

для других полей и подчиненной формы изменены размеры, надписи и положение.
Полученная многотабличная форма является составной, содержащей главную и
подчиненную формы. Она позволяет просматривать информацию об успеваемости групп,
изменяя значение счетчика записей на главной форме. При этом информация во всех полях составной формы будет изменяться согласованно.
Следует заметить, что многотабличная форма может не содержать подчиненных
форм. С другой стороны, на главной форме может быть несколько подчиненных.

Контрольные вопросы
1.
Каково основное назначение форм при разработке СУБД?
2.
Перечислите способы создания форм. Какой способ является оптимальным с
точки зрения трудоемкости?
3.
Почему разработчики СУБД стремятся обеспечить ввод и редактирование
данных через формы, а не напрямую в таблицах?
4.
Сравните разработку форм с помощью Мастера и вручную. Опишите достоинства и недостатки этих технологий.
5.
Как задать требуемые свойства элементу управления, установленному на
форме?
6.
Как задать требуемые свойства форме?
7.
Какие типы (внешний вид) формы предлагает создать Мастер форм (проанализируйте на компьютере)?
8.
Что такое подчиненная форма? Как связаны между собой главная и подчиненная формы в схеме данных?
9.
Что такое составная форма? Какова технология разработки составных форм?
56
ПРАКТИЧЕСКАЯ РАБОТА № 11-3: СОЗДАНИЕ ЗАПРОСОВ.
Конструирование запросов.
Одним из основных инструментов обработки данных в СУБД являются запросы. В
Microsoft Access имеется удобное для пользователя графическое средство формирования
запроса по образцу — QBE (Query By Example), с помощью которого легко может быть
построен сложный запрос.
Запрос строится на основе одной или нескольких таблиц. При этом могут использоваться таблицы базы данных, а также другие запросы. Запрос QBE содержит схему данных, включающую используемые таблицы, и бланк запроса. При конструировании запроса достаточно, работая мышью, выделить и перетащить необходимые поля из таблиц,
представленных в схеме данных запроса, в бланк запроса и ввести условия отбора записей.
С помощью запроса можно выполнить следующие виды обработки данных:

выбрать записи, удовлетворяющие условиям отбора;

включить в результирующую таблицу запроса заданные пользователем поля;

произвести вычисления в каждой из полученных записей;

сгруппировать записи с одинаковыми значениями в одном или нескольких
полях для выполнения над ними групповых функций;

произвести обновление полей в выбранном подмножестве записей;

создать новую таблицу базы данных, используя данные из существующих
таблиц;

удалить выбранное подмножество записей из таблицы базы данных;

добавить выбранное подмножество записей в другую таблицу.
Последовательное выполнение ряда запросов позволяет решать достаточно сложные задачи, не прибегая к программированию.
В Access может быть создано несколько видов запроса:

Запрос на выборку — выбирает данные из взаимосвязанных таблиц и других запросов. Результатом его является таблица, которая существует до закрытия запроса.

Запрос на создание таблицы — основан на запросе выборки, но в отличие от
него результат запроса сохраняется в новой таблице.

Запросы на обновление, добавление, удаление — являются запросами действия, в результате выполнения которых изменяются данные в таблицах.
Окно запроса.
Окно конструктора запросов разделено на две панели. Верхняя панель содержит
схему данных запроса, которая включает выбранные для данного запроса таблицы. Таблицы представлены списками полей. Нижняя панель является бланком запроса по образцу, который нужно заполнить.
57
Схема данных запроса.
В окне запроса отображаются выбранные таблицы и связи между ними, имеющиеся в схеме данных базы. Связи для объединения, которые не может установить Access автоматически, может создать пользователь, перетащив задействованные в связи поля из
одного списка полей в другой.
Бланк запроса по образцу.
Бланк запроса по образцу представлен в виде таблицы в нижней панели окна запроса. До формирования запроса эта таблица пуста.
Каждый столбец бланка относится к одному полю, с которым нужно работать в запросе. Поля могут использоваться для включения их в результат выполнения запроса, для
задания сортировки по ним, а также для задания условий отбора записей.
При заполнении бланка запроса необходимо:

в строку Поле включить имена полей, используемых в запросе;

в строке Вывод на экран отметить поля, которые должны быть включены в
результирующую таблицу;

в строке Условие отбора задать условия отбора записей;

в строке Сортировка выбрать порядок сортировки записей результата.
Поля бланка запроса.
Каждый столбец бланка запроса соответствует одному из полей таблиц, на которых
строится запрос. Кроме того, здесь может размещаться вычисляемое поле, значение которого вычисляется на основе значений других полей.
Для включения нужных полей из таблиц в соответствующие столбцы запроса можно воспользоваться следующими приемами:

в первой строке бланка запроса Поле щелчком мыши вызвать появление
кнопки списка и выбрать из списка нужное поле. Список содержит все поля таблиц, представленных в бланке запроса;

перетащить нужное поле из списка полей таблицы в схеме данных запроса в
первую строку бланка запроса.
В списке полей каждой таблицы на первом месте стоит символ *, который означает
"все поля таблицы". Этот пункт выбирается, если в запрос включаются все поля.
Для удаления поля в бланке запроса надо выделить удаляемый столбец, щелкнув
кнопкой мыши в области маркировки столбца, и нажать клавишу DEL или выполнить
пункт меню Правка/Удалить столбец.
После завершения конструирования запроса, его можно открыть для просмотра.
Форма просмотра запроса — табличная. Однако, это таблица виртуальная, т.е. формируемая в оперативной памяти при открытии запроса. Например, для окна конструктора, показанного выше, получим следующую таблицу:
Условия отбора записей.
Условием отбора является выражение, которое состоит из операторов сравнения и
операндов, используемых для сравнения. В качестве операндов выражения могут использоваться: литералы, константы, идентификаторы (ссылки).
58
Литералом является значение, воспринимаемое буквально, а не как значение переменной или результат вычисления, например, число, строка, дата.
Константами являются не изменяющиеся значения, например, True, False, Да, Нет,
Null (константы автоматически определяются в Access).
Идентификатор представляет собой ссылку на значение поля, элемент управления
или свойство. Идентификаторами могут быть имена полей, таблиц, запросов, форм, отчетов и т.д. Они должны заключаться в квадратные скобки. Во многих случаях Access производит автоматическую подстановку скобок. Если необходимо указать ссылку на поле в
конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, также
заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком.
Например, [Имя таблицы]![Имя поля].
В выражении условия отбора допускается использование операторов сравнения и
логических операторов: =, <, >, <>, Between, In, Like, And, Or, Not, которые определяют
операцию над одним или несколькими операндами. Если выражение в условии отбора не
содержит оператора, то по умолчанию используется оператор =.
Текстовые значения в выражении вводятся в кавычках, если они содержат пробелы
или знаки препинания. В противном случае кавычки можно не вводить, они будут добавлены автоматически.
Допускается использование операторов шаблона — звездочка * и вопросительный
знак ?.
Оператор Between позволяет задать интервал для числового значения. Например,
Between 10 And 100
задает интервал от 10 до 100.
Оператор In позволяет выполнить проверку на равенство любому значению из
списка, который задается в круглых скобках. Например,
In ("Математика", "Информатика", "История")
Оператор Like позволяет использовать образцы, использующие символы шаблона,
при поиске в текстовых полях. Например,
Like "Иванов*"
Условия отбора, заданные в одной строке, связываются с помощью логической
операции "И", заданные в разных строках — с помощью логической операции "ИЛИ".
Эти операции могут быть заданы явно в выражении условия отбора с помощью операторов AND и OR соответственно.
Сформировать условие отбора можно с помощью построителя выражений. Перейти
в окно Построитель выражений можно, нажав кнопку Построить на панели инструментов,
или выбрав команду Построить в контекстно-зависимом меню. Курсор мыши должен
быть установлен в ячейке ввода условия отбора.
После ввода выражения в бланк и нажатия клавиши Enter Access выполняет синтаксический анализ выражения и отображает его в соответствии с результатами этого анализа.
Вычисляемые поля.
В запросе над полями могут производиться вычисления. Результат вычисления образует вычисляемое поле в таблице, создаваемой по запросу. При каждом выполнении запроса производится вычисление с использованием текущих значений полей.
При вычислениях могут использоваться арифметические выражения и встроенные
функции Access. Выражение вводится в бланк запроса в пустую ячейку строки Поле. В
этой ячейке после нажатия клавиши Enter или перевода курсора в другую ячейку формируется имя поля ВыражениеN, где N — целое число, увеличивающееся на единицу для
каждого нового создаваемого вычисляемого поля в запросе. Имя вычисляемого поля выводится перед выражением и отделяется от него двоеточием. Например,
Выражение1: [Цена]*[Количество],
где Цена и Количество — имена полей.
59
Имя вычисляемого поля — Выражение1 — становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить.
В Access имеются встроенные функции, которые можно использовать в вычисляемых полях, например, функция Date формирует текущую дату; функция DLookup возвращает значение конкретного поля из записи связанной таблицы, не участвующей в запросе;
статистические функции над полями подмножества записей, вычисляющие среднее значение, сумму, минимальное, максимальное значение.
Для вычисляемых полей допускается сортировка, задание условий отбора и расчет
итоговых значений, как и для любых других полей.
Запрос на создание таблицы.
Запрос на создание таблицы используется для сохранения результата запроса. Этот
запрос основан на запросе на выборку, но в отличие от него сохраняет таблицу с результатами запроса. Необходимость в запросе на создание таблицы возникает при построении
запроса на обновление полей таблицы с использованием операций группировки данных. В
этом случае кроме обновляемой таблицы требуется таблица — источник данных.
Рассмотрим пример запроса на создание таблицы, содержащей данные о количестве студентов в группах.
Создадим запрос на выборку в режиме конструктора как показано на рисунке:
На панели инструментов нажмем кнопку Групповые операции — в бланк запроса
будет добавлена соответствующая строка. Заменим слово Группировка в столбце НС на
функцию Count. Сохраним запрос под именем Число студентов в группах. При открытии
запрос на выборку должен иметь следующий вид:
Преобразуем запрос на выборку в запрос на создание таблицы. Для этого в режиме
конструктора выберем меню Запрос/Создание таблицы. В окне Создание таблицы введем
имя таблицы — Число студентов.
При открытии запроса будут выданы предупреждения о создании таблицы и о количестве добавляемых записей. При последующих открытиях — выдается предупреждение об удалении старой таблицы Число студентов.
60
Запрос на обновление.
Для обновления данных в полях базовых таблиц может быть использован Запрос на
обновление. Изменения вносятся в группу записей, отбираемых с помощью указанных
пользователем условий отбора. Значения для изменений в полях определяются в бланке
запроса в строке Обновление.
Первоначально Запрос на обновление создается как Запрос на выборку, а затем в
окне конструктора запросов превращается в запрос на обновление с помощью кнопки Обновление на панели инструментов или команды меню Запрос/Обновление. После выполнения этой команды в бланке запроса появляется строка Обновление.
Для отбора обновляемых записей надо включить в бланк запроса поля, требующие
обновления, а также поля, по которым задаются условия отбора. Условия отбора записываются так же, как при создании запроса на выборку.
Для обновляемого поля в строку Обновление надо ввести значение или выражение,
определяющее новое значение поля. Выражение можно создать с помощью построителя
выражений.
После выполнения команды Запрос/Запуск или нажатия соответствующей кнопки
открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о
продолжении операции обновления.
Заметим, если в схеме данных установлен параметр Обеспечение целостности данных и Каскадное обновление связанных полей, то при обновлении ключевых полей результат зависит от взаимосвязей обновляемой таблицы с другими таблицами.
Запрос на добавление.
С помощью запроса на добавление производится добавление записей из таблицы
запроса в другую таблицу. Поэтому надо позаботиться, чтобы в запросе были сформированы записи с полями, соответствующими полям в другой таблице. Структура записи таблицы запроса может не полностью совпадать со структурой записи таблицы, в которую
добавляются записи. В записи запроса может быть меньше полей, если на поля в таблице,
куда добавляются записи, не наложено требование по обязательности их заполнения. Допускается несоответствие типов полей, если возможно преобразование типа данных одного поля в тип данных другого поля.
Первоначально запрос на добавление создается как запрос на выборку из одной или
нескольких взаимосвязанных таблицах. Затем в окне конструктора запросов он превращается в запрос на добавление с помощью кнопки Добавление на панели инструментов или
команды меню Запрос/Добавление. При этом открывается диалоговое окно Добавление.
В этом окне в поле Имя таблицы вводится или выбирается имя таблицы, в которую
надо добавить записи.
После выполнения этой команды в бланке запроса появляется строка Добавление.
Для формирования добавляемых записей надо включить в бланк запроса поля, соответствующие определенным полям таблицы, в которую будет производиться добавление. Кроме того, в бланк запроса могут быть включены поля, по которым задаются условия отбора. Условия отбора вносятся в ячейки строки Условие отбора. Если в таблице, ку61
да добавляются записи, есть ключ, ключевые поля должны быть обязательно внесены в
бланк запроса.
Для указания в строке Добавление имен полей таблицы получателя, в которые будут добавляться значения из соответствующих полей таблицы запроса, надо в каждой
ячейке открыть список и выбрать нужное имя.
Для предварительного просмотра записей, которые планируется добавить в таблицу, надо нажать кнопку Представление запроса на панели инструментов. Возврат в режим
конструктора запросов производится по этой же кнопке.
Для добавления записей надо нажать кнопку Запуск (Run) на панели инструментов.
Открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о
продолжении операции обновления.
Те записи, добавление которых приведет к появлению совпадающих или пустых
значений в ключевом поле, не будут добавлены. Записи не добавляются и в случае, если
невозможно преобразование типа данных в добавляемых полях или не выполняются условия на значения.
Контрольные вопросы
1.
Для чего предназначены запросы?
2.
Какие виды обработки данных выполняют запросы?
3.
Какие типы запросов реализованы в Access?
4.
Из каких частей состоит окно конструктора запроса?
5.
Обязательно ли наличие схемы данных проекта при разработке запроса?
6.
Опишите способы заполнения первых двух строк полей бланка запроса.
7.
Что такое условие отбора записей? Как его задать? Приведите примеры.
8.
Как в запросе создать вычисляемое поле? Где применяются вычисляемые
поля?
9.
Для каких целей применяются запросы на создание таблиц?
10.
Что такое групповые операции в запросах? Для чего они применяются. Приведите примеры.
11.
Каковы общие шаги технологий создания запросов на создание, на обновление и на добавление?
12.
В чем сходство и различие между таблицами БД и запросами?
62
ПРАКТИЧЕСКАЯ РАБОТА № 11-4: СОЗДАНИЕ И НАСТРОЙКА ОТЧЕТОВ.
Разработка отчетов.
Средства Access по разработке отчетов предназначены для создания макета отчета,
по которому может быть осуществлен вывод данных из таблиц в виде выходного печатного документа. Эти средства позволяют конструировать отчет сложной структуры, обеспечивающий вывод взаимосвязанных данных из многих таблиц. При этом могут быть выполнены самые высокие требования к оформлению документа.
Перед началом конструирования отчета пользователь должен произвести подготовительную работу, в результате которой определяется требуемый макет отчета.
В процессе конструирования формируется состав и содержание разделов отчета, а
также размещение в нем значений, выводимых из полей таблиц базы данных. Кроме того,
оформляются заголовки, подписи реквизитов отчета, размещаются вычисляемые реквизиты.
Средства конструирования отчета позволяют группировать данные по нескольким
уровням. Для каждого уровня могут производиться вычисления итогов, определяться заголовки и примечания по каждой группировке. При формировании отчета могут производиться разнообразные вычисления.
При необходимости вывода в отчете данных из многих таблиц в качестве основы
для отчета может быть использован многотабличный запрос. На запрос могут быть возложены наиболее сложные виды выборки и предварительной обработки данных.
Отчет может создаваться с помощью мастера или в режиме конструктора отчетов.
Достаточно часто сначала используется мастер отчетов, который позволяет быстро создать заготовку отчета, а затем заготовка дорабатывается в режиме конструктора.
При создании отчета в режиме конструктора в окне отображаются пустые разделы
отчета, показанные на рисунке.
Наличие этих разделов, а также их добавление или удаление определяется командами меню Вид/Колонтитулы и Вид/3аголовок/Примечание отчета. Для этих же целей
можно использовать соответствующие кнопки панели инструментов конструктора отчетов.
При разработке отчета разделы окна нужно заполнить элементами в соответствии с
необходимым пользователю макетом отчета. В заголовок помещается текст из шапки макета отчета. В колонтитул обычно помещают заголовки, даты и номера страниц. При
определении содержания этих разделов следует исходить из требований к оформлению
отдельных страниц отчета. В области данных размещаются поля таблиц базы данных.
63
Для каждого элемента, а также раздела и отчета в целом могут быть уточнены
свойства. Технология размещения элементов и определения их свойств практически такая
же, как и в конструкторе форм.
Разработка отчета на основе запроса.
Запрос является мощным и удобным средством выборки взаимосвязанных данных.
Поэтому с помощью запроса можно подготовить данные для сложного отчета.
Рассмотрим технологию создания сложного отчета с использованием запроса на
примере формирования бланка "Экзаменационная ведомость" группы по заданному предмету. Макет отчета показан на рисунке.
Организуем запрос, окно конструктора которого показано на рисунке.
64
При создании запроса связи между таблицами установятся автоматически. Связи
таблиц ИЗУЧЕНИЕ, ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ определяются в соответствии со
схемой БД.
Между таблицами СТУДЕНТ и ИЗУЧЕНИЕ автоматически установится связь по
одноименному полю НГ. Эта связь является связью-объединением, которой нет в схеме
данных базы. Заметим, что эти таблицы находятся в отношениях многие-ко-многим, т. к.
один студент изучает много предметов и один предмет изучается многими студентами.
Связь, установленная между таблицами СТУДЕНТ и ИЗУЧЕНИЕ, определяет операцию
симметричного объединения. При этом записи из этих таблиц объединяются и добавляются в результат только в том случае, если связанные поля содержат одинаковые значения.
В запрос введено поле ВИДЗ для отбора только тех записей, которые связаны с видом занятия "Лекция", поскольку преподавателем, принимающим экзамен, обычно является лектор. Кроме того, в строку "Условие отбора" полей НГ и НП соответственно введены записи [Номер группы] и [Название предмета]. Это приведет к открытию окон для
ввода параметров при открытии отчета, например:

Запустим создание отчета в режиме мастера. В качестве источника данных
выберем созданный запрос.

На первом шаге мастера переведем из доступных в выбранные все поля запроса, кроме ВИДЗ.

На втором шаге определяется группировка данных в отчете. В данном случае, способ группировки не очень важен, поскольку эта часть "доработки" заготовки макета будет выполнена вручную в режиме конструктора. Оставим группировку, как показано
на рисунке.
65

На третьем шаге выберем способ сортировки записей — по возрастанию
номеров студентов НС.

На четвертом шаге выберем вид макета отчета — "структура 1".

На пятом шаге выберем стиль отчета — "строгий".

На шестом шаге зададим имя отчета — "Экзаменационная ведомость" и
нажмем "Готово".

Для редактирования откроем заготовку отчета в режиме конструктора. Рабочая область окна показана на рисунке.

Преобразуем заготовку к следующему виду:
66
На рисунке специально убрана сетка, чтобы состав элементов был заметнее. Большая часть надписей и полей заготовки перемещена на требуемые позиции, изменен размер
этих элементов и размер шрифта. Недостающие элементы (линии и надписи) установлены
при помощи панели элементов.
Пример экзаменационной ведомости для группы M102 и предмета "Информатика"
показан на рисунке.
67
Контрольные вопросы
1.
Каково основное назначение отчетов?
2.
Сравните назначение отчетов и назначение форм.
3.
Какова оптимальная технология разработки отчетов с точки зрения трудоемкости?
4.
Как организовать открытие окна для ввода данных в запросе или в отчете,
создаваемом на базе запроса?
5.
Как при работе с Мастером отчетов изменить группировку данных в отчете?
6.
Какие разделы имеются в окне конструктора отчетов? Для чего они предназначены? Как добавить отсутствующие и удалить ненужные разделы?
68
ПРАКТИЧЕСКАЯ РАБОТА № 11-5:
СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
(КНОПОЧНЫЕ ФОРМЫ, МАКРОСЫ).
Главная кнопочная форма (ГКФ) - это главное меню базы данных. ГКФ отображается при запуске базы данных и обеспечивает навигацию по базе данных и придает ей законченный вид. В качестве примера на рисунке представлена ГКФ "Успеваемость_студентов".
Как правило, в базе данных создаются несколько кнопочных форм одна главная и
несколько подчиненных. В базе данных "Успеваемость_студентов" в качестве примера
создано три подчиненных кнопочных форм: Формы ввода данных, Отчеты и Запросы, которые активизируются с помощью кнопок, расположенных на главной кнопочной форме.
В диспетчере кнопочных форм имеются команды для открытия форм и отчётов, но
нет команд для открытия запросов и таблиц. Для открытия кнопок Запросы или Таблицы
на кнопочной форме можно использовать макросы. Сначала в окне базы данных создают
макросы с уникальными именами, а затем в кнопочной форме создают кнопки для вызова
этих макросов.
Создание главной кнопочной формы.
Главная кнопочная форма создается с целью навигации по базе данных, т.е. она
может использоваться в качестве главного меню БД. Элементами главной кнопочной
формы являются объекты форм и отчётов.
Запросы и таблицы не являются элементами главной кнопочной формы. Поэтому
для создания кнопок Запросы или Таблицы на кнопочной форме можно использовать
макросы. Сначала в окне базы данных создают макросы «Открыть Запрос» или «Открыть
Таблицу» с уникальными именами, а затем в кнопочной форме создают кнопки для вызова этих макросов.
Для одной базы данных можно создать несколько кнопочных форм. Кнопки следует группировать на страницах кнопочной формы таким образом, чтобы пользователю было понятно, в каких кнопочных формах можно выполнять определенные команды (запросы, отчеты, ввода и редактирования данных). Необходимо отметить, что на подчиненных
кнопочных формах должны быть помещены кнопки возврата в главную кнопочную форму.
Технология создания кнопочных форм следующая:
1) создать страницу главной кнопочной формы (ГКФ);
69
2) создать необходимое количество страниц подчиненных кнопочных форм
(например, формы для ввода данных, для отчетов, для запросов и т.д.);
3) создать элементы главной кнопочной формы;
4) создать элементы для кнопочных форм отчетов и форм ввода или изменения
данных;
5) создать макросы для запросов или для таблиц с уникальными именами;
6) создать элементы для кнопочных форм запросов или таблиц.
Структура кнопочных форм может быть представлена в следующем виде.
Для создания главной кнопочной формы и ее элементов необходимо открыть базу
данных, (например, «Успеваемость_ студентов») и выполнить команду Сервис / Служебные программы / Диспетчер кнопочных форм. Если кнопочная форма ранее не создавалась, то откроется окно диалога «Диспетчер кнопочных форм»,
в котором надо нажать кнопку «Да», тем самым подтвердить создание кнопочной
формы. В результате будет создана страница Главной кнопочной формы.
Далее можно создать еще три страницы кнопочной формы: Формы ввода данных,
Отчеты и Запросы. Для этого следует щелкнуть на кнопке «Создать» и в появившемся
окне ввести имя новой страницы «Формы ввода данных»
70
и щелкнуть на кнопке «ОК». Будет создана страница кнопочной формы «Формы ввода
данных». Аналогичным образом надо создать еще две страницы, в итоге получим четыре
страницы кнопочных форм, которые отображаются в окне «Диспетчер кнопочных форм».
После этого создаем элементы ГКФ, для этого в «Окне диспетчер кнопочных
форм» выделяем страницу «Главная кнопочная форма» и щелкаем «Изменить», откроется
новое окно «Изменение страниц кнопочной формы».
В этом окне щелкаем на кнопке «Создать», откроется новое окно «Изменение элемента кнопочной формы»,
71
в котором выполняем следующее:
форму: Ввод данных в формы, щелкаем на
кнопке «ОК».
В окне «Изменение страницы кнопочной формы» отобразится элемент кнопочной
формы «Формы для ввода данных».
Аналогичным методом надо создать элементы: «Запросы» и «Отчеты», а затем
элемент (кнопку) "Выход из БД".
В результате в окне «Изменение страницы кнопочной формы» будут отображаться
все элементы главной кнопочной формы.
Кнопочная форма появится в списке в области окна базы данных на вкладке Формы на панели Объекты, а на вкладе Таблицы в списках появится таблица Switchboard
72
Items. Дважды щелкнув на надписи "Кнопочная форма", откроется Главная кнопочная
форма.
Для того чтобы эта форма отображалась при запуске базы данных, необходимо выполнить команду Сервис/Программы запуска, и в открывшемся окне выбрать "Кнопочная
форма" из раскрывающегося списка, кроме того, надо снять флажки Окно базы данных и
Строка состояния. Можно также ввести заголовок и значок приложения.
Но на этом создание кнопочных форм еще не законченно, так как на подчиненных
кнопочных формах (Формы ввода данных, Отчеты, Запросы) нет элементов. Каким образом поместить элементы на подчиненные формы рассмотрим в следующем разделе.
Создание подчиненных кнопочных форм: отчеты и формы.
Для создания элементов кнопочной формы "Формы ввода данных" необходимо запустить базу данных (например, «Успеваемость студентов» с главной кнопочной формой)
и выполнить команду Сервис / Служебные программы / Диспетчер кнопочных форм.
Откроется окно "Диспетчер кнопочных форм". Затем нужно выделить «Формы
ввода данных» в окне «Диспетчер кнопочных форм»
73
и щелкнуть на кнопке Изменить, откроется окно диалога «Изменение страницы кнопочной формы».
В этом окне щелкаем на кнопке «Создать», откроется новое окно «Изменение страницы кнопочной формы»,
в котором выполняем:
В окне «Изменение страницы кнопочной формы» отобразится элемент «Студенты». После создания по такой же технологии элемента «Группы студентов», он тоже будет отображаться в окне.
74
Далее требуется создать кнопку возврата в главную кнопочную форму, для этого
щелкаем на кнопке «Создать» и в появившемся окне выбираем команду «Перейти к кнопочной форме», выбираем «Главная кнопочная форма» и вводим «Перейти к главной кнопочной форме». Нажимаем на кнопке «ОК»
и закрываем окно «Изменение страницы кнопочной формы».
Запустим главную кнопочную форму в окне БД, в которой щелкнем на кнопке
"Формы ввода данных", откроется "Формы ввода данных".
Создание элементов для кнопочной формы "Отчеты" осуществляется по той же
технологии, в результате получим.
75
Технология создания подчиненной кнопочной формы "Запросы" будет рассмотрено
в следующем разделе.
Создание подчиненной кнопочной формы: запросы.
Для создания элементов подчиненной кнопочной формы "Запросы" необходимо
запустить базу данных (например, «Успеваемость_студентов» с главной кнопочной формой) и создать макросы "Открыть Запрос" или "Открыть Таблицу" с уникальными именами, а затем в кнопочной форме создают кнопки для вызова этих макросов.
При создании макроса "Успеваемость студентов" надо выбрать вкладку "Макросы"
и щелкнуть на пиктограмме "Создать", откроется окно диалога "Макрос". В этом окне в
раскрывающемся списке выберите макрокоманду "Открыть Запрос" и из раскрывающегося списка выберите имя запроса "Успеваемость студентов",
затем щелкните на кнопке "Закрыть". В появившемся окне "Сохранить изменения макета или структуры объекта Макрос1?" щелкните на кнопке "Да". Откроется окно "Сохранение", в котором надо указать имя макроса "Успеваемость студентов" и щелкните на
кнопке "ОК".
76
Имя макроса сохранится в списке макросов в окне БД. После создания и сохранения макроса "Параметрический_запрос" в окне БД будут отображаться имена созданных
макросов.
Для создания элементов кнопочной формы запроса "Успеваемость студентов"
необходимо выполнить команду Сервис / Служебные программы / Диспетчер кнопочных
форм. Откроется "Диспетчер кнопочных форм".
Затем нужно выделить «Запросы» в окне «Диспетчер кнопочных форм» и щелкнуть
на кнопке Изменить, откроется окно диалога «Изменение страницы кнопочной формы».
В этом окне щелкаем на кнопке «Создать», откроется новое окно «Изменение страницы кнопочной формы»,
77
в котором выполняем:
кнопке «ОК».
В окне «Изменение страницы кнопочной формы» отобразится элемент кнопочной
формы «Отчет: Успеваемость студентов». После создания по такой же технологии элемента «Параметрический_запрос», он тоже будет отображаться в окне.
Далее требуется создать кнопку возврата в главную кнопочную форму. В результате в окне «Изменение страницы кнопочной формы» будут отображаться все элементы
кнопочной формы "Запросы".
Далее закроем окна «Изменение страницы кнопочной формы» и "Диспетчер кнопочных форм". В окне БД на вкладке "Формы" щелкнем на надписи "Кнопочная форма",
откроется Главная кнопочная форма. В Главной кнопочной форме щелкнем на кнопке Запросы, откроется кнопочная форма "Запросы".
Таким образом, создана кнопочная форма "Запросы", которая является подчиненной кнопочной формой.
78
Основы создания макросов.
Язык макросов является языком программирования, который позволяет реализовать задачи пользователя, выполняя необходимые действия над объектами Access и их
элементами. Макрос — программа, состоящая из последовательности макрокоманд. Макрокоманда — это инструкция, ориентированная на выполнение определенного действия.
Например, макрокомандой можно открыть форму, отчет, напечатать отчет, запустить на выполнение запрос, применить фильтр, присвоить значение, создать свое меню
для формы или отчета. Макрокоманда ЗадатьКомандуМеню позволяет выполнить любую
заданную команду меню. Имеющийся в Access набор макрокоманд реализует практически
любые действия, которые необходимы для решения задачи.
Язык макросов обеспечивает возможность выполнения большинства задач, не прибегая к программированию на Visual Basic. Макросы, являясь надстройкой над Visual
Basic, обеспечивают пользователя средствами решения задач, не требующими знания детального программирования. Язык макросов является языком более высокого уровня, чем
Visual Basic.
Макросы определяют набор методов обработки объектов. В Access имеются средства, обеспечивающие взаимодействие макросов с объектами на основе событий. События
наступают при выполнении определенных действий, к которым относятся прежде всего
действия пользователя. Последнее обстоятельство позволяет управлять выполнением программы извне. Пользователь, выполняя различные действия в формах, инициирует выполнение макросов, автоматизирующих решение связанных с действиями пользователя
подзадач. Такой подход существенно отличает программирование на языке макросов от
программирования в традиционном понимании, при котором только программа управляет
процессом.
Заметим, что наличие аппарата запуска программ через события, вызываемые действиями пользователя, не исключает возможности написания программ на языке макросов, которые без вмешательства пользователя могут решать нужные задачи. В этом случае
задача решается рядом взаимосвязанных макросов.
Для организации ветвлений в программе в макросе определяются условия выполнения макрокоманд. Пользователь запускает главную программу на выполнение и далее
все управление ее выполнением осуществляется изнутри. Программа сама открывает необходимые объекты, выбирает и обрабатывает данные, вызывает другие макросы, следуя
алгоритму, приводящему к решению задачи. При необходимости программа инициирует
диалог с пользователем.
Конструирование макроса.
Создание макросов осуществляется в диалоговом режиме и сводится к записи в
окне макроса последовательности макрокоманд, для которых задаются параметры. Каждому макросу присваивается имя. При выполнении макроса макрокоманды выполняются
последовательно в порядке их расположения. При этом используются объекты или данные, указанные в аргументах макрокоманд. Имеется возможность определить условия выполнения макрокоманды.
Выполнение макросов инициируется простой операцией и может сводиться к его
открытию, как это делается и для других объектов базы данных. Помимо этого, Access
предоставляет возможность автоматически инициировать выполнение макроса при
наступлении некоторого события. Для связи макроса с событием достаточно в бланке
свойств объекта или его элемента управления внести в строку этого события имя макроса.
События, с которыми можно связать макрос, определяются в свойствах форм и отчетов и
их элементах управления. Создание макроса начинается в окне базы данных, где надо выбрать закладку Макросы (Macros) и нажать кнопку Создать (New). После этого открывается окно макроса.
79
Формирование макрокоманд в окне макроса.
Макрокоманды, составляющие макрос, вводятся в столбец Макрокоманда. Для
ввода макрокоманды можно нажать кнопку раскрытия списка макрокоманд в этом столбце и выбрать нужную. Можно ввести имя макрокоманды с клавиатуры. В нижней части
окна выводятся аргументы макрокоманды. Значения аргументов задаются путем выбора
их из списка, открывающегося в строке аргумента. В поле справа от строк аргументов выводится сообщение с пояснениями для выбранного аргумента.
В строки столбца Примечание вводят необязательный комментарий, описывающий
результат выполнения макрокоманды. Каждая новая макрокоманда макроса добавляется в
следующей строке бланка. Порядок размещения макрокоманд в бланке определяет последовательность их выполнения.
После ввода всех макрокоманд в макрос его надо сохранить, воспользовавшись командой меню Файл/Сохранить или кнопкой панели инструментов макроса.
Для выполнения макроса можно нажать кнопку панели инструментов Запуск. Если
макрос уже закрыт, то для его выполнения надо в окне базы данных выбрать макрос и
нажать кнопку Запуск в этом окне. Таким образом, по инициативе пользователя задача
может решаться многократно.
Для просмотра и редактирования существующего макроса надо выбрать его в окне
базы данных и нажать кнопку Конструктор.
Пример разработки макроса.
Пусть необходимо рассчитать количество студентов в группах и внести эти данные
в поле КОЛ таблицы ГРУППА. Подсчет количества студентов реализован запросом Число
студентов в группе. Обновление поля КОЛ на основе полученных в этом запросе данных
выполняет запрос Обновление ГРУППА_КОЛ. Последовательное выполнение этих запросов решает поставленную задачу.
1.
Сначала создадим запрос на обновление. Оформим окно конструктора запроса как показано на рисунке:
В схему данных запроса добавлены таблица Группа и таблица Число студентов,
полученная после выполнения запроса на создание Число студентов в группе.
2.
Преобразуем запрос на выборку в запрос на обновление. Для этого выполним команду меню Запрос/Обновление. В строке Обновление введем имя поля [Count-НС]
таблицы Число студентов, из которой выбираются значения для обновления. Сохраним
запрос на обновление под именем Обновление ГРУППА_КОЛ.
80
3.
Создадим макрос, состоящий из макрокоманд, показанных в окне конструк-
тора:
В столбце Примечания записаны комментарии к макрокомандам. В зависимости от
выбранной макрокоманды меняется нижняя часть окна конструктора — Аргументы макрокоманды. На рисунке активна макрокоманда СдвигРазмера, которая устанавливает положение и размеры окна таблицы Группа, демонстрируемого после ее обновления.
Сохраним макрос под именем Расчет количества студентов в группах. После нажатия кнопки Запуск получим результаты выполнения макроса, показанные на рисунке.
Поверх окна Группа выводится сообщение, в соответствии с последней макрокомандой.
81
Контрольные вопросы
1.
Чем отличаются макросы в Access от макросов в Word и Excel?
2.
Как организовать запуск макроса по некоторому событию?
3.
В чем сходство и различие между макросами и модулями в Access?
4.
Как получить справку о той или иной макрокоманде?
Вывод каких сообщений в рассмотренном примере отключает макрокоманда ВыводНаЭкран?
82
Список литературы
Основные источники:
1. Гагарина Л.Г., Киселев Д.В., Федотова Е.Л. Разработка и эксплуатация автоматизированных информационных систем: учебное пособие. –М. ИД «ФОРУМ»:
ИНФРА-М, 2012.
2. Голышева А.В., Клеандрова И.А., Прокди Р.Г. Access 2007 без воды. Все, что
нужно для уверенной работы. –М.: Наука и техника, 2013.
3. Горохова Т.Н. Разработка и эксплуатация информационных систем: Учебное
пособие. –СПб.: ГОУ СПО Санкт-Петербургский колледж управления и экономики «Александровский лицей», 2010.
4. Дунаев В. Базы данных. Язык SQL для студента. –СПб: БХВ-Петербург, 2012.
5. Избачков Ю.С., Петров В.Н. Информационные системы. –СПб.: Питер, 2011.
6. Илюшечкин В.М. Основы использования и проектирования баз данных. –М.:
Юрайт, 2011.
7. Карпова И.П. Базы данных. –СПб: Питер, 2013.
8. Советов Б.Я., Цехановский В.В., Чертовской В.Д. Базы данных. Теория и практика. –М.: Юрайт, 2013.
9. Фуфаев Э.В. Базы данных: учебное пособие для студентов среднего профессионального образования. –М.: Издательский центр «Академия», 2012.
10. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. –СПб.: КОРОНА
принт, 2011.
Дополнительные источники:
1. Брешенков А.В., Губарь А.М. Проектирование баз данных в среде Access:
Учебное пособие для вузов. –М.: Изд-во МГТУ им. Н.Э. Баумана, 2012.
2. Виноградов Г.П., Кирсанова Н.В. Проектирование структуры и создание реляционных баз данных средствами СУБД Access: Учебное пособие. 1-е изд. –
Тверь: ТГТУ, 2012.
3. Епанешников А.М., Епанешников В.А. Практика создания приложений в
Access. –М.: Диалог-МИФИ, 2009.
4. Информатика и информационные технологии: учебное пособие / под ред. Ю.Д.
Романовой. –М.: Эксмо, 2009.
5. Кириллов В., Громов Г. Введение в реляционные базы данных. –СПб: БХВПетербург, 2009.
83
6. Леонтьев Ю. Microsoft Office 2007. Краткий курс. –СПб.: Питер, 2012.
7. Международный стандарт ISO/IEC 12207 «Жизненный цикл автоматизированных информационных систем».
8. Михеева И.В. Практикум по информационным технологиям в профессиональной деятельности: Учебное пособие для среднего профессионального образования. –М.: Издательский центр «Академия», 2009.
9. Попов В.Б. Основы информационных и телекоммуникационных технологий. –
М.: Финансы и статистика, 2011.
10. Фуфаев Э.В., Фуфаева Л.И. Пакеты прикладных программ: Учебное пособие
для среднего профессионального образования. –М.: Академия, 2009.
Интернет-ресурсы:
1. http://www.interface.ru/ - Разработчикам информационных систем.
2. http://citforum.ru/ - Разработчикам информационных систем.
3. http://www.torins.ru/ - Сайт ассоциации разработчиков информационных систем.
84
Download