Ваша первая база данных в microsoft access 97

advertisement
Министерство образования Российской Федерации
Уральский государственный технический университет
ВАША ПЕРВАЯ БАЗА ДАННЫХ
В MICROSOFT ACCESS 97
Методические указания к практическим занятиям
по курсам «Информатика»,
«Проектирование баз данных информационно-измерительных систем»
для студентов всех форм обучения специальности
200700 – Радиотехника
Екатеринбург 2000
УДК 519.95
Составитель В.Д.Нехорошев
Научный редактор доц., канд. техн. наук В.А.Добряк
ВАША ПЕРВАЯ БАЗА ДАННЫХ В MICROSOFT ACCESS 97: Методические
указания к практическим занятиям по курсу “Информатика” / В.Д.Нехорошев.
Екатеринбург: УГТУ, 2000. 34 с.
Методические указания предназначены для выполнения практических занятий по изучению системы управления реляционной базой данных Microsoft
Access 97. Указания содержат введение в проектирование реляционной базы данных, описание основных технологических операций по разработке учебной базы
данных и задания для самостоятельной работы.
Библиогр.: 5 назв. Рис. 20. Табл. 1.
Подготовлено кафедрой радиоэлектроники информационных систем.
 Уральский государственный
технический университет, 2000
ОГЛАВЛЕНИЕ
1. ЦЕЛЬ И СОДЕРЖАНИЕ РАБОТЫ........................................................................ 4
2. ЗАДАНИЕ ДЛЯ ДОМАШНЕЙ ПОДГОТОВКИ .................................................. 4
3. MICROSOFT ACCESS 97 .......................................................................................... 5
3.1. Запуск программы .................................................................................................. 5
3.2. Строки меню и панели инструментов.................................................................. 7
3.3. Окно базы данных .................................................................................................. 8
3.4. Объекты Access ...................................................................................................... 9
4. СОЗДАНИЕ ОДНОТАБЛИЧНОЙ БАЗЫ ДАННЫХ........................................ 10
4.1. Формирование структуры таблицы.................................................................... 10
4.2. Ввод и редактирование данных в режиме таблицы.......................................... 12
4.3. Разработка однотабличных пользовательских форм........................................ 13
4.4. Формирование запросов ...................................................................................... 15
4.5. Формирование отчетов ........................................................................................ 18
5. РАЗРАБОТКА СХЕМЫ И СОЗДАНИЕ СТРУКТУРЫ РЕЛЯЦИОННОЙ
БАЗЫ ДАННЫХ............................................................................................................ 23
5.1. Разработка информационно-логической модели данных ................................ 23
5.2. Создание реляционной схемы базы данных и формирование таблиц в
Microsoft Access.................................................................................................... 25
5.3. Установление связей между таблицами ............................................................ 25
6. ТЕХНОЛОГИЯ РАБОТЫ С РЕЛЯЦИОННОЙ БАЗОЙ ДАННЫХ .............. 26
6.1. Разработка многотабличной пользовательской формы ввода данных........... 26
6.2. Формирование запросов для многотабличной базы данных ........................... 28
7. СОЗДАНИЕ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ............................................... 31
8. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ......................................... 32
БИБЛИОГРАФИЧЕСКИЙ СПИСОК ...................................................................... 33
3
1. ЦЕЛЬ И СОДЕРЖАНИЕ РАБОТЫ
Сбором и накоплением данных, их корректировкой и сортировкой, отбором
необходимых данных занимается в той или иной мере любой специалист независимо от сферы деятельности. Особенно это актуально для тех, кто работает в информационной сфере производства, где основным сырьем и продуктом является
информация. Среди программных продуктов, обеспечивающих переработку данных, весьма популярна система управления базой данных Microsoft
Access.
Целью работы является изучение основных технологических операций и
процессов в среде системы управления базой данных Microsoft Access 97, что позволит профессионально создавать и редактировать базу данных реляционного типа, осуществлять к ней запросы, формировать отчеты и т.п.
При подготовке к работе изучается теория реляционных баз данных. В лаборатории разрабатывается небольшая учебная база данных. Сначала создается простейшая однотабличная база данных, и на ее примере изучаются основные приемы
ввода и редактирования данных, формирования запросов и отчетов. Это позволяет
новичку получить первое представление о базах данных и навыки работы в среде
Access 97. Затем создается структура многотабличной реляционной базы данных
более полно демонстрирующей возможности работы с информацией. И в конце
предлагаются задания для самостоятельной работы.
Отчет о лабораторной работе не оформляется. Прием задания производится
непосредственно на компьютере по предъявлению работающей базы данных.
2. ЗАДАНИЕ ДЛЯ ДОМАШНЕЙ ПОДГОТОВКИ
Для эффективной работы в лаборатории изучите с помощью указанной в
библиографическом списке литературы следующие вопросы:
! Развитие технологии баз данных: файловые, иерархические, сетевые, реляционные, объектно-ориентированные системы. Классификация баз данных. Этапы
проектирования базы данных.
! Концептуальная модель данных. Объекты. Отношения. Мощность отношения.
Атрибуты. Ключи.
! Реляционная модель данных. Реляционные таблицы. Ключи: простой, составной, первичный, вторичный. Процесс нормализации. Функциональные зависимости. Нормальные формы реляционных таблиц: первая, вторая, третья, БойсаКодда, четвертая и пятая. Преобразование концептуальной модели данных в реляционную.
! Реляционные языки манипулирования данными. Графический язык QBE. Язык
запросов SQL. Основные операторы языка SQL для создания, изменения и удаления реляционных таблиц, ввода и удаления записей. Выборка с помощью
оператора SELECT. Использование групповых функций. Подчиненные запросы.
Операции соединения таблиц.
4
3. MICROSOFT ACCESS 97
Access 97 предназначен для разработки настольных баз данных и создания
приложений баз данных архитектуры клиент/сервер, работающих под управлением
операционных систем Windows 95, 98, Windows NT. Как компонент, входящий в
состав Microsoft Office 97 Professional, Access 97 имеет стандартный интерфейс
пользователя, что обеспечивает его совместимость с Excel 97 и Word 97.
3.1. Запуск программы
База данных в Microsoft Access 97 представляет собой большой единый объект, который объединяет такие составляющие, как таблицы, отчеты, запросы, формы и т.д., и хранится в едином дисковом файле. Работа в Microsoft Access начинается именно с создания или открытия такого файла базы данных.
Microsoft Access запускается из стартового меню Windows подобно остальным приложениям. В дальнейшем, когда Вы создадите свой файл базы данных на
диске компьютера, он может быть загружен автоматически при двойном щелчке по
значку или ярлыку файла базы данных.
Во время запуска программы появится диалоговое окно «Microsoft Access»,
где предлагается открыть существующую базу данных или создать новую (рис. 1).
Рис. 1. Диалоговое окно при запуске программы
Выберите опцию «Новая база данных» и нажмите кнопку <ОК>. В результате откроется стандартное диалоговое окно «Файл новой базы данных» для задания имени файла создаваемой базы данных. Файлы баз данных Access 97 имеют
расширение .mdb. Назовите файл своим именем, например, «Петров». Выберите
личную папку как место сохранения этого файла и нажмите кнопку <Создать>
(рис. 2).
5
Рис. 2. Создание файла базы данных
После запуска на экране появляется главное окно Microsoft Access (рис. 3).
Как видите, Access использует большинство тех же средств, что и другие программы для Windows. Это – строка меню, линейка инструментов, содержащая кнопки
для быстрого доступа к часто используемым операциям и собственно окно базы
данных.
Рис. 3. Вид экрана после запуска Microsoft Access
6
3.2. Строки меню и панели инструментов
Панели инструментов, строки меню и контекстные меню позволяют организовать команды так, чтобы их можно быстро найти и использовать. В Microsoft
Access 97 панели инструментов могут состоять только из кнопок, только из меню
или из того и другого. Это значит, что строки меню и контекстные меню являются
лишь разновидностями панелей инструментов, что позволяет настраивать их одним
и тем же способом. Например, несмотря на то, что встроенная строка меню попрежнему появляется по умолчанию в верхней части экрана и содержит стандартные меню, такие как «Файл», «Правка» и «Вид», теперь в ней можно добавлять или
удалять кнопки и меню, а также перемещать ее. Кроме того, при настройке встроенной строки меню, контекстных меню или панелей инструментов можно создавать собственные панели инструментов, строки меню и контекстные меню.
Для создания и настройки панелей инструментов, строк меню и контекстных
меню, а также для установки свойств, влияющих на их вид и работу, используется
диалоговое окно «Настройка». Для его открытия нужно выбрать команду «Вид,
Панели инструментов, Настройка». Пока, однако, никаких изменений в настройку
панелей инструментов вносить не требуется.
Рассмотрим команды установленные по умолчанию во встроенной строке
меню. Строка меню содержит семь раскрывающихся меню: «Файл», «Правка»,
«Вид», «Вставка», «Сервис», «Окно», «?». Заметим, что горячие клавиши работают
так же, как и в других программах.
Одно из самых важных - на период обучения - меню «?» (Справка). Оно
служит для вызова интерактивной справочной системы Microsoft Access. Например, выбрав из меню «?» команду «Вызов справки», Вы попадёте в справочную
систему по Microsoft Access 97 . Структура самой справочной системы стандартная, с тремя вкладками: «Содержание», «Указатель», «Поиск». Кроме того, справочная система способна выдавать по ходу дела подсказку (она называется контекстно-зависимой). Если, работая в среде Microsoft Access, Вы захотите узнать о какой-то кнопке, диалоговом окне, списке или другом элементе управления, установите на этот элемент курсор, нажмите клавишу <F1>, и перед Вами появится необходимая информация.
В меню «Файл» находятся команды, позволяющие открыть, закрыть или
создать новую базу данных, экспортировать или импортировать отдельные объекты и целые базы данных (в том числе и в других форматах), распечатать выбранные объекты.
Меню «Правка» отвечает за редактирование, то есть позволяет копировать,
перемещать, вставлять объекты из буфера обмена и является почти полностью
стандартным.
Команды меню «Вид» позволяют настроить внешний вид списка объектов
базы данных и помогают в навигации по ним.
Меню «Вставка» содержит команды создания новых объектов базы данных.
В меню «Сервис» находятся следующие команды и подменю:
! команды «Орфография» и «Автозамена» позаимствованы из текстовых процессоров и предназначены для поддержки правописания;
! подменю «Связи с Office» содержит команды для передачи данных в Microsoft
Word, Microsoft Excel;
7
команда «Схема данных» открывает окно с графическим отображением структуры таблиц, запросов и связей между ними. В окне «Схема данных» можно не
только просматривать, но и изменять связи между таблицами и запросами;
! подменю «Анализ» содержит команды оптимизации структуры таблиц и быстродействия отдельных объектов базы данных. Команда «Архивариус» формирует текстовое описание выбранных объектов;
! в подменю «Служебные программы» команда «Преобразовать базу данных»
преобразует базу данных ранних версий Microsoft Access в базу данных Microsoft Access 97. Команда «Сжать базу данных» производит перезапись на диске
фрагментированного файла базы данных. Сжатие базы данных обычно уменьшает ее размер и повышает производительность. Команда «Восстановить базу
данных» восстанавливает поврежденную базу данных. Причиной повреждения
базы данных может быть, например, отключение питания или сбои в работе
оборудования при использовании базы данных. Команда «Создать MDE-файл»
преобразует исходную базу данных в MDE-формат и сохраняет ее в новом файле с расширением .mde. Используется для создания компактного, занимающего
мало места приложения базы данных, в котором все исходные тексты программ
на Visual Basic удалены. В MDE-формате также нельзя изменять структуру
форм и отчетов;
! подменю «Защита» содержит команды, позволяющие управлять доступом пользователей, как к отдельным объектам, так и к базе данных в целом;
! подменю «Репликация» используется при репликации базы данных, т.е. создании копий базы данных или объектов, допускающих синхронизацию;
! команда «Параметры запуска» открывает диалоговое окно, в котором задаются
параметры запуска базы данных, такие как заголовок приложения и значок, а
также загружаемая при запуске форма;
! подменю «Макрос» используется при работе с макросами;
! команда «Элементы ActiveX» используется для подключения новых элементов
управления, которые в дальнейшем можно размещать на формах;
! подменю «Надстройки» содержит команды, реализующие дополнительные возможности Microsoft Access, такие как разделение баз данных, кнопочные формы
и др.;
! команда «Параметры» открывает диалоговое окно для задания характеристик
среды Microsoft Access, таких как шрифты и цвета экрана, действия, выполняемые при нажатии клавиш, или параметры отображения.
Команды меню «Окно» отвечают за расположение окон объектов в пределах
главного окна Microsoft Access.
В процессе работы строки меню и панели инструментов могут изменять
свой состав и своё содержание в зависимости от того, какие объекты базы данных
открыты. Строки меню и панели инструментов Вы освоите при разработке базы
данных.
!
3.3. Окно базы данных
Окно базы данных (рис. 3) содержит вкладки: «Таблицы», «Запросы»,
«Формы», «Отчеты», «Макросы», «Модули». Рабочее поле окна базы данных
предназначено для отображения списка объектов Access выбранного типа. Все
8
операции по обработке объектов базы данных начинаются в этом окне. В правой
части окна имеются три кнопки, которые позволяют начать работу с объектом:
! первая кнопка позволяет «Открыть» выбранную таблицу, форму, запрос, или
выполнить «Просмотр» отчета, или осуществить «Запуск» макроса;
! кнопка <Конструктор> позволяет перейти в режим доработки любого ранее
созданного объекта;
! кнопка <Создать> позволяет приступить к созданию нового объекта любого
выбранного типа.
При создании объекта предоставляется возможность выбора режима его разработки. Это может быть «Мастер», или «Конструктор», или некоторый другой режим,
зависящий от выбранного типа объекта.
3.4. Объекты Access
Система управления реляционной базой данных Microsoft Access 97 ориентирована на работу с объектами, к которым относятся таблицы, формы, запросы,
отчеты, макросы и модули.
Таблицы создаются пользователем для хранения информации об объектах
модели данных предметной области.
Запросы создаются пользователем для выборки нужных данных из одной
или нескольких связанных таблиц. Запрос может формироваться с помощью запросов по образцу (QBE) или с помощью языка структурированных запросов SQL. С
помощью запроса можно также обновить, удалить или добавить данные в таблицы
или создать новые таблицы на основе уже существующих.
Формы предназначены для ввода, просмотра и корректировки взаимосвязанных данных базы на экране в удобном виде, который может соответствовать
привычному для пользователя документу. Формы также могут использоваться для
создания панелей управления в приложении пользователя.
Отчеты предназначены для формирования выходного документа, который
можно вывести на печать.
Макросы содержат описание действий, которые должны быть выполнены в
ответ на некоторое событие. Каждое действие реализуется макрокомандой. Макросы поддерживаются только для совместимости с предыдущими версиями. Рекомендуется использовать вместо макросов программирование на языке Visual Basic.
Модули содержат программы на языке Visual Basic, которые могут разрабатываться пользователем для реализации нестандартных процедур при создании
приложения. Visual Basic является общим языком программирования для продуктов Microsoft Office.
Пользователю предоставляется большая свобода в конструировании перечисленных объектов. Кроме этого, существует множество мастеров, которые помогают выполнить работы, не прибегая к конструированию. Мастера позволяют создать новые формы, запросы, отчеты, анализировать таблицы базы данных и даже
полностью создать одну из многочисленных типовых баз данных.
9
4. СОЗДАНИЕ ОДНОТАБЛИЧНОЙ БАЗЫ ДАННЫХ
Изучение работы в среде Microsoft Access начнем с создания простой базы
данных состоящей из одной таблицы.
Основным структурным компонентом базы данных является таблица. Каждая таблица содержит записи определенного вида, например о студентах, обучающихся в высшем учебном заведении.
Создание таблицы базы данных состоит из двух этапов. На первом этапе определяется ее структура: состав полей, их имена, последовательность размещения в
таблице, тип данных, размер, ключевые поля и другие свойства полей. На втором
этапе производится создание записей таблицы и заполнение их данными.
4.1. Формирование структуры таблицы
Для создания таблицы в окне базы данных выберите вкладку «Таблицы» и
нажмите кнопку <Создать>. Затем в диалоговом окне «Новая таблица» Вам будут
предложены способы создания таблицы: «Режим таблицы», «Конструктор», «Мастер таблиц», «Импорт таблиц», «Связь с таблицами». Выберите режим конструктора, при котором структура таблицы полностью задается пользователем. В результате откроется окно конструктора (рис. 4).
Рис. 4. Окно конструктора таблиц
В окне конструктора определяется перечень полей. Для каждого поля задаются: имя, тип данных, описание – краткий комментарий, а также свойства. Имя
поля в таблице должно быть уникальным. Тип данных определяется значениями,
которые предполагается вводить в поле, и операциями, которые будут выполняться
с этими значениями. В Microsoft Access 97 допускается использование следующих
типов данных:
10
текстовый – для текстовой информации и чисел при невыполнении математических расчетов (до 255 символов);
! МЕМО – для хранения произвольного текста, комментариев (до 65535 символов);
! числовой – при выполнении над данными математических операций;
! денежный – специальный числовой тип для операций с точностью до 15 знаков
в целой и до 4 знаков в дробной части;
! дата/время – для хранения информации о дате и времени, относящиеся к годам
с 100 по 9999;
! счетчик – специальное числовое поле, в котором Access автоматически присваивает уникальный порядковый номер каждой записи;
! логический – для хранения логической информации, которая может иметь только одно из двух возможных значений (True/False, Да/Нет);
! объект OLE - объект (например, электронная таблица Microsoft Excel, документ
Microsoft Word, рисунок, звукозапись или другие данные в двоичном формате),
связанный или внедренный в таблицу Microsoft Access;
! гиперссылка – адреса Web и HTML документов.
Свойства поля зависят от выбранного типа данных. Наиболее важные свойства полей:
! Размер поля задаёт максимальный размер данных, сохраняемых в поле. Для поля с текстовым типом данных максимальный размер 255 байт. Для поля с числовым типом данных можно задать использование целых чисел длиной 1, 2, 4
байта или использование чисел с плавающей точкой длиной 4 или 8 байт.
! Формат поля задаёт формат вывода данных на экран и на печать.
! Число десятичных знаков задаёт для числового и денежного типов данных число знаков после запятой.
! Подпись поля задаёт текст, который выводится в заголовках таблиц, форм, отчетов.
! Условие на значение задаёт ограничение на вводимые значения и позволяет
осуществлять контроль ввода.
! Сообщение об ошибке задаёт текст сообщения, выводимый на экран при нарушении условия на значение.
Сформируйте структуру таблицы СТУДЕНТ для хранения в ней справочных
сведений о студентах, обучающихся в вузе. Для этого в окне конструктора введите
имена, типы и размеры полей, приведенные в табл. 1. Для определения первого поля выполните следующие действия:
! введите в ячейку столбца «Имя поля» имя первого поля «Номер», ввод закончите нажатием клавиши <Enter>;
! в ячейке столбца «Тип данных» оставьте выводящееся по умолчанию значение
«Текстовый»;
! переключитесь на панель «Свойства поля» клавишей <F6>, откорректируйте
размер поля (введите значение 5).
!
Примечание. Заполнение ячейки столбца «Описание» является необязательным и может включать дополнительные сведения о содержащихся в поле
данных.
11
Аналогично определите все остальные поля таблицы. Если значение типа
«Текстовый» не подходит, то нажмите кнопку раскрытия списка и выберите нужный тип данных.
Таблица 1
Структура таблицы СТУДЕНТ
Имя поля
Номер
Фамилия
Имя
Отчество
Пол
Дата рождения
Группа
Тип поля
Текстовый
Текстовый
Текстовый
Текстовый
Текстовый
Дата/время
Текстовый
Размер поля
5
15
10
15
1
Краткий формат
5
После определения всех полей таблицы требуется задать первичный ключ.
Первичный ключ – это одно или несколько полей, однозначно идентифицирующих
запись. Если первичный ключ состоит из одного поля, он называется простым, если из нескольких полей – составным ключом. В нашем случае в качестве первичного ключа нельзя использовать поле «Фамилия», так как среди студентов могут
быть однофамильцы. Для однозначного выбора студента подходит поле «Номер»
(номер зачетной книжки) и это поле мы выберем в качестве первичного ключа. Для
задания первичного ключа выделите в окне конструктора строку с полем «Номер»,
щелкнув на этой строке в столбце маркировки (крайний слева узкий столбец без
названия), и нажмите кнопку
(Ключевое поле) на панели инструментов.
Сохраните таблицу, выполнив команду меню «Файл, Сохранить» и задав в
окне диалога «Сохранение» имя таблицы «СТУДЕНТ». После сохранения таблицы
делается доступным режим таблицы, позволяющий перейти ко второму этапу создания таблицы – вводу данных. Переход в режим таблицы осуществляется нажатием кнопки
(Режим таблицы).
Задание. Введите дополнительно в структуру таблицы СТУДЕНТ поле
«Адрес».
4.2. Ввод и редактирование данных в режиме таблицы
Для перехода в режим таблицы из окна базы данных надо выбрать таблицу и
нажать кнопку <Открыть>. В режиме таблицы (рис. 5) вдоль верхнего края окна
расположены имена полей таблицы. Каждое поле соответствует определенному
столбцу в таблице. Каждая запись занимает одну строку таблицы. В нижней части
окна отображаются порядковый номер текущей записи и набор кнопок для быстрого перемещения по записям.
12
Рис. 5. Таблица в табличном режиме
Ввод в определенную ячейку таблицы (выделенную курсором) осуществляется путем набора информации на клавиатуре и последующим нажатием клавиши
<Enter> или <Tab>. Редактировать данные ячейки таблицы можно как с полной, так
и с частичной их заменой. Для полной замены данных необходимо подвести курсор к редактируемой ячейке так, чтобы все её содержимое было высвечено в реверсивном виде, а затем набрать (ввести) новое значение. Частичную замену данных
можно осуществить двумя способами: во-первых, щелкнуть в нужную ячейку, и
она автоматически откроется для редактирования; во-вторых, используя клавиши
клавиатуры, переместиться в нужную ячейку, а затем нажать функциональную
клавишу <F2>. Для удаления записи её необходимо выделить (щёлкнуть по области маркировки записи) и нажать клавишу <Del>.
Задание. Введите в таблицу СТУДЕНТ данные о студентах из двух групп.
Желательно, чтобы в каждой группе было не менее пяти студентов. Пол студента указывайте одной буквой «м» или «ж».
4.3. Разработка однотабличных пользовательских форм
Данные в таблицу базы данных вводить и редактировать намного удобнее,
если воспользоваться экраном в виде некоторого бланка, формы. Такой способ
ввода позволяет видеть на экране все данные одной записи. Можно создать форму,
напоминающую печатную форму, расположить в ней окна списков, фотографии,
графики и др. Форма может быть создана пользователем в режиме конструктора
форм или с помощью мастера. В первом случае создание начинается с пустой
формы и конструирование полностью возлагается на пользователя. Мастер форм
или автоформа автоматизирует создание формы, уточняя у пользователя параметры формы.
Создайте пользовательскую форму для ввода и редактирования данных таблицы СТУДЕНТ. Для этого в окне базы данных выберите вкладку «Формы» и нажмите кнопку <Создать>. В результате откроется диалоговое окно «Новая форма»,
в котором требуется выбрать способ создания формы и источник данных. Воспользуйтесь мастером по разработке форм, выбрав в списке «Автоформа: в столбец». В
дальнейшем Вы всегда сможете в режиме конструктора внести коррективы в полученную форму. В качестве источника данных выберите из выпадающего списка
таблицу СТУДЕНТ и нажмите кнопку <ОК>. Мастер автоматически создаст форму
под именем СТУДЕНТ и откроет её (рис. 6). Вы можете получить оформление в
стиле, отличном от показанного на рисунке, поскольку мастер запоминает изменения параметров, сделанные в предшествующие запуски. В форме можно создавать
13
новые записи, вводить и редактировать данные. Все изменения в данных будут сохранены в таблице СТУДЕНТ.
Рис. 6. Форма созданная мастером
Сохраните созданную форму, для этого выполните команду меню «Файл,
Сохранить». В открывшемся диалоговом окне «Сохранение» требуется задать имя
формы. По умолчанию предлагается имя СТУДЕНТ, согласитесь с этим предложением, нажав кнопку <ОК>.
Для изменения формы необходимо открыть форму в режиме конструирования. Для этого на вкладке «Формы» окна базы данных выделите форму СТУДЕНТ
и нажмите кнопку <Конструктор>. В результате открывается окно макета формы
СТУДЕНТ (рис. 7). В режиме конструирования может производиться настройка
областей и элементов формы.
Рис. 7. Форма в режиме конструирования
14
В окне конструктора выделяются области заголовка, данных и примечаний
формы. Области формы наполняются различными графическими объектами, которые называются элементами управления. Одни элементы управления связаны с записями таблиц и предназначены для отображения данных некоторого поля. Другие
предназначены, прежде всего, для создания макета формы и содержат надписи полей, внедряемые объекты, заголовки. Элементы управления для размещения на
форме выбираются из панели элементов. Если в режиме конструирования формы
Вы не видите панель элементов, то для её отображения выполните команду меню
«Вид, Панель элементов».
Как форма в целом, так и каждый из её элементов обладает свойствами, которые можно просматривать и корректировать. Свойства элемента позволяют определить его внешний вид, размер, местоположение в форме, установить связь с
определенной процедурой на Visual Basic. Свойства выбранного элемента отображаются в отдельном окне, где для каждого свойства и его значения отводится строка. Для удобства пользования свойства распределены по вкладкам окна: «Макет»,
«Данные», «События», «Другие» и «Все». Если, находясь в режиме конструирования формы, Вы не видите окна свойств, то для его отображения нужно выполнить
команду меню «Вид, Свойства».
Предположим, Вам нужно выровнять надписи полей по правому краю. Для
этого в окне макета формы выделите элемент управления – надпись «Номер». Затем в окне свойств выберите вкладку «Макет», найдите свойство «Выравнивание
текста» и из выпадающего списка значений выберите «По правому краю». Эти
действия повторите для других надписей на форме. Если одновременно выделить
несколько элементов управления, то можно изменять свойства сразу у всех выделенных элементов. Для выделения нескольких элементов управления на форме
следует удерживать нажатой клавишу <Shift>.
Задание. Установите размер шрифта 10 пунктов во всех текстовых полях
формы.
4.4. Формирование запросов
Запрос позволяет выбрать необходимые данные из таблиц, произвести вычисления и получить результат в виде таблицы. Через запрос можно производить
обновление данных в таблицах, добавление и удаление записей. С помощью Access
могут быть созданы следующие типы запросов:
! Запрос на выборку выбирает данные из таблиц и других запросов. Результат
представляется в виде динамического набора в режиме таблицы. Изменения,
внесенные в динамический набор, отражаются в базовых таблицах. Это самый
распространенный тип запроса.
! Запрос на изменение изменяет или перемещает данные. К этому типу относятся:
запрос на добавление записей, запрос на удаление записей, запрос на создание
таблицы, запрос на обновление.
! Перекрестный запрос предназначен для группирования данных и представления их в компактном виде.
! Запрос с параметром позволяет определить одно или несколько условий отбора
во время выполнения запроса.
15
Запросы SQL – запросы, которые могут быть созданы только с помощью инструкций языка структурированных запросов в режиме SQL: запрос – объединение, запрос к серверу и управляющий запрос.
Разработка запроса производится самостоятельно в режиме конструктора
или с использованием мастера по созданию запросов. Чаще всего запрос разрабатывается самостоятельно. В Microsoft Access имеется удобное для пользователя
графическое средство формирования запроса по образцу – QBE (Query By
Example), с помощью которого легко может быть построен запрос любой сложности.
Для создания запроса надо в окне базы данных открыть вкладку «Запросы» и
нажать кнопку <Создать>. В открывшемся окне «Новый запрос» выбрать режим
конструктора. В окне «Добавление таблицы» выбрать используемые в запросе таблицы (в нашем случае таблицу СТУДЕНТ) и нажать кнопку <Добавить>. Затем
кнопкой <Закрыть> выйти из окна «Добавление таблицы». В результате мы оказываемся в окне конструктора запросов (рис. 8).
!
Рис. 8. Окно конструктора запросов
Окно конструктора запросов разделено на две панели. Верхняя панель содержит схему данных запроса, которая включает выбранные для заданного запроса
таблицы. Таблицы представлены списками полей. Нижняя панель является бланком запроса по образцу, который нужно заполнить. Каждый столбец бланка относится к одному полю, с которым нужно работать в запросе. Поля могут использоваться для включения их в результат выполнения запроса, для задания сортировки
по ним и для задания условий отбора записей.
При заполнении бланка запроса необходимо:
! в строку «Поле» включить имена полей, используемых в запросе;
! в строке «Вывод на экран» отметить поля, которые должны быть включены в
результирующую таблицу;
! в строке «Условие отбора» задать условия отбора записей;
! в строке «Сортировка» выбрать порядок сортировки записей результата.
16
Для включения нужных полей из таблиц в столбцы запроса достаточно перетащить их из списка полей таблицы в схеме данных в первую строку бланка запроса. В первой строке бланка запроса также может размещаться вычисляемое поле,
значение которого вычисляется на основе значений других полей.
Рассмотрим конструирование однотабличного запроса на примере выборки
информации из таблицы СТУДЕНТ. Пусть требуется выбрать студентов мужского
пола с сортировкой по возрасту. В окне конструктора запроса (рис. 8) с помощью
мыши перетащим из списка таблицы СТУДЕНТ поля «Фамилия», «Имя», «Отчество», «Пол», «Дата рождения» в столбцы бланка запроса в строку «Поле». В столбце
бланка, в который мы поместили поле «Пол», в строке «Условие отбора» введем
букву «м», а в строке «Вывод на экран» уберем галочку. В столбце бланка, в который мы поместили поле «Дата рождения», в строке «Сортировка» выберем из выпадающего списка значение «по возрастанию».
Выполним запрос, нажав на панели инструментов кнопку
(Запуск) или
(Режим таблицы). На экране появится окно запроса в режиме таблицы с
кнопку
записями из таблицы СТУДЕНТ, отвечающими заданным условиям отбора. Для
сохранения запроса нажмем кнопку
(Сохранить) и в окне «Сохранение» введем
имя запроса «Студенты мужского пола». Закроем запрос по команде меню «Файл,
Закрыть» или нажав кнопку окна запроса
(Закрыть). Повторно выполнить
сохраненный запрос можно нажатием кнопки <Открыть> в окне базы данных.
Любой запрос, созданный в Microsoft Access, можно представить в виде инструкции SQL. Язык структурированных запросов (Structured Query Language) SQL
использует набор слов английского языка для описания запроса. Использование
SQL в Microsoft Access играет большую роль при работе с базами данных клиент/сервер, которые обрабатывают инструкции SQL на сервере и после выполнения
запроса передают результирующую таблицу приложению (клиенту) для дальнейшей обработки. Microsoft Access позволяет автоматически переводить выражения,
содержащиеся в бланке запроса по образцу, в последовательность предложений
языка SQL. Снова откройте запрос «Студенты мужского пола». Выполните команду меню «Вид, Режим SQL». В результате в окне запроса Вы увидите тот же самый
запрос, но записанный в виде текста инструкций SQL. Зарезервированные слова
SQL выведены прописными буквами. Закройте окно запроса.
Как нам поступить в случае, когда требуется список студентов не мужского,
а женского пола? Конечно, можно создать новый запрос или в существующем изменить условие отбора записей. Существует еще одна возможность – использовать
запрос с параметрами. При этом перед выполнением запроса Microsoft Access через
диалоговое окно будет запрашивать у пользователя конкретные значения параметров и введет их в условие отбора.
Выполните преобразование запроса «Студенты мужского пола» в запрос с
параметром. Для этого откройте запрос «Студенты мужского пола» в режиме конструктора. В условие отбора поля «Пол» вместо буквы «м» введем название параметра, который будет запрашиваться при выполнении запроса. Название параметра
введем как текст, заключенный в квадратные скобки: [Пол студентов м/ж]. Выполните запрос. Перед выполнением запроса будет появляться диалоговое окно
(рис. 9), в котором надо ввести букву «м» или «ж».
17
Рис. 9. Диалоговое окно для ввода параметра
После введения запрашиваемого параметра логично будет переименовать
запрос «Студенты мужского пола» в запрос «Студенты указанного пола». Для этого закройте запрос. В окне базы данных на вкладке «Запросы» выделите запрос
«Студенты мужского пола» и выполните команду меню «Правка, Переименовать».
Внесите изменение в название запроса.
Задание. Создайте следующие запросы:
1. Запрос с параметром, в котором выбираются студенты, родившиеся после
указанной даты.
2. Запрос, в котором выбираются все студенты с одинаковыми именами (для построения воспользуйтесь мастером создания запросов «Повторяющиеся записи»).
3. Запрос, выбирающий всех студентов, фамилии которых начинаются с той же
буквы, что и Ваша собственная фамилия. При задании условия отбора используйте символ шаблона звездочка *. После завершения ввода условия с символом
шаблона система автоматически вставляет оператор Like (поиск по образцу).
4.5. Формирование отчетов
Конечным продуктом большинства приложений баз данных является отчет,
который можно распечатать. Средства Microsoft Access по разработке отчетов позволяют конструировать отчет сложной структуры, обеспечивающий вывод взаимосвязанных данных из многих таблиц. При этом могут быть выполнены самые
высокие требования к оформлению документа.
В процессе конструирования определяется состав и содержание разделов отчета, а также размещение в нем выводимых значений из полей таблиц базы данных. Кроме этого, оформляются заголовки, подписи полей отчета, размещение вычисляемых полей. Средства конструирования отчета позволяют группировать данные по нескольким уровням. Для каждого уровня могут производиться вычисления
итогов, определяются заголовки и примечания по каждой группировке.
Отчет может создаваться с помощью мастера или в режиме конструктора отчетов. Во многих случаях удобно использовать мастера. Созданный мастером отчет можно доработать в режиме конструктора.
Рассмотрим создание однотабличного отчета на примере получения списков
студентов по группам. Пусть макет отчета должен иметь вид в соответствии с
рис. 10.
18
СПИСОК СТУДЕНТОВ
(текущая дата)
Список студентов группы _____
Номер зач.кн.
-------
Фамилия И.О.
-----
Год рождения
-----
---
---
Средний возраст студентов в группе _____ лет
Рис. 10. Макет списка студентов
На макете показано оформление списка студентов для одной группы. В отчете должны последовательно со своими заголовками выводиться списки студентов для каждой группы. При формировании отчета необходимо рассчитать средний
возраст студентов для каждой группы. Записи списка группы должны выводиться
по алфавиту. На каждой странице отчета предполагается вывод названия отчета.
Для создания отчета в окне базы данных выберите вкладку «Отчеты» и нажмите кнопку <Создать>. В окне «Новый отчет» выберем режим конструктора и в
качестве источника данных таблицу СТУДЕНТ. В открывшемся окне конструктора
отчет будет содержать пустые разделы: «Верхний колонтитул», «Область данных»,
«Нижний колонтитул» (рис. 11). Колонтитулы нам не потребуются, поэтому спрячем их, выполнив команду меню «Вид, Колонтитулы». Если отсутствует раздел
«Заголовок отчета», добавим его, выполнив команду меню «Вид, Заголовок/примечание отчета».
Рис. 11. Разделы отчета в режиме конструктора
Поскольку общий список студентов должен быть разбит по группам, выполним группировку записей по полю «Группа». Для этого нажмем кнопку
(Сор19
тировка и группировка) на панели инструментов и заполним поля открывшегося
окна, как показано на рис. 12.
Рис. 12. Окно сортировки и группировки
В первой строке из выпадающего списка выберите поле «Группа», во второй
строке поле «Фамилия». Во втором столбце окна задается порядок сортировки.
Чтобы установить группировку, выделите строку с полем «Группа» и задайте свойствам «Заголовок группы» и «Примечание группы» значение «Да». Для поля «Фамилия» эти свойства по умолчанию имеют значение «Нет», что определяет только
сортировку по этому полю. После определения группировки окно «Сортировка и
группировка» можно закрыть, а в окне конструктора отчетов появятся дополнительные разделы «Заголовок группы 'Группа'» , «Примечание группы 'Группа'».
Теперь разместим поля из таблицы в отчете. Нажмите кнопку
(Список
полей) на панели инструментов, в результате откроется окно со списком полей
таблицы СТУДЕНТ. Из этого окна с помощью мыши перетащите поле «Группа» в
раздел отчета «Заголовок группы 'Группа'». Обратите внимание: поле таблицы
размещается в отчете в виде двух связанных объектов – надпись и поле. Объект-надпись располагается слева от объекта-поле и служит для задания надписей
или заголовков к полям. Свойства объектов можно изменять в окне свойств. Если
Вы не видите окна свойств, то его можно открыть, нажав на кнопку
на панели
инструментов или выполнив команду меню «Вид, Свойства». Не забывайте: в окне
свойств отображаются свойства выделенного в данный момент объекта. Выделите
объект-надпись и в окне свойств на вкладке «Макет», в строку свойства «Подпись»
введите новое значение «Список студентов группы». На этой же вкладке можно,
корректируя значения соответствующих свойств, установить тип и размер шрифта,
подходящие для этого документа.
Размеры и положение объектов можно изменять с помощью мыши или клавиатуры. Выделенный объект со всех сторон окружен небольшими черными квадратами. Потянув с помощью мыши за один из этих квадратов, можно изменять
размеры объекта. Размер выделенного объекта также можно изменить, удерживая
одновременно нажатыми клавишу <Shift> и одну из клавиш – стрелок. Для перемещения объекта поместите курсор мыши на границу объекта так, чтобы курсор
приобрел вид раскрытой ладони, нажмите левую клавишу и, не отпуская ее, пере-
20
местите в нужное место. Переместить выделенный объект также можно с помощью
клавиш – стрелок при одновременно нажатой клавише <Ctrl>.
Для формирования табличной части отчета последовательно поместим поля
«Номер», «Фамилия», «Имя», «Отчество», «Дата рождения» в раздел отчета «Область данных». Каждое поле размещается вместе с надписью. Надписи полей следует перенести в область «Заголовок группы 'Группа'», используя буфер обмена
путем вырезания и вставки. Если они не совпадают с названиями столбцов в макете, их надо откорректировать. Заметим, что надписи также можно создать заново,
воспользовавшись кнопкой панели элементов
(Надпись). Поля разместите в одной строке.
В любой момент Вы можете посмотреть, как будет выглядеть отчет, нажав
кнопку
(Предварительный просмотр) на панели инструментов, а затем
(Конструктор),
вернуться в режим конструктора нажатием на кнопку
расположенную на том же месте.
Для включения расчетного поля «Средний возраст студентов в группе» на(Поле) на панели элементов и поместим текстовое поле в разделе
жмем кнопку
«Примечание группы 'Группа'». Зададим в свойствах этого элемента выражение
для расчета среднего значения. Для этого в окне свойств на вкладке «Данные» в
строку «Данные» введем следующее выражение: «=Year(Now())-Year(Avg([Дата
рождения]))», кавычки печатать не нужно. В выражении использованы три функции: Now() – возвращает текущие дату и время; Year() – возвращает год из значения Дата/Время; Avg() – вычисляет арифметическое среднее набора сгруппированных значений. Текстовое поле размещается вместе с надписью. Отредактируем
надпись поля. Для этого выделим объект-надпись и в окне свойств на вкладке
«Макет» в строке «Подпись» запишем «Средний возраст студентов в группе». При
необходимости изменим размеры и расположение элементов на отчете.
В раздел «Заголовок отчета» введем название отчета «СПИСОК
СТУДЕНТОВ». Для этого воспользуемся кнопкой
(Надпись) панели элементов.
Установим нужный шрифт надписи.
Для добавления в заголовок отчета текущей даты воспользуемся встроенной
функцией Now(). Нажмите кнопку
(Поле) на панели элементов и поместите текстовое поле в разделе «Заголовок отчета». В окне свойств для этого элемента на
вкладке «Данные» в строке «Данные» задайте «=Now()», кавычки печатать не нужно, на вкладке «Макет» в строке «Формат поля» выберите значение «Длинный
формат даты». Надпись этого поля выделите и удалите. Добавить в отчет поле текущей даты можно также другим способом: выполнить команду меню «Вставка,
Дата и время».
Создадим линии в соответствии с макетом, воспользовавшись кнопкой
(Линии) панели элементов. Вид полученного отчета в режиме конструктора показан на рис. 13.
21
Рис. 13. Окно конструктора отчетов
Переход в режим предварительного просмотра из режима конструктора от(Предварительный просмотр) на панели
четов выполняется нажатием кнопки
инструментов или командой меню «Вид, Предварительный просмотр». Отчет при
просмотре отобразится таким, каким он будет напечатан.
Задание. Введите в отчет расчетное поле «Число студентов в группе». В
выражении для расчета можно использовать статистическую функцию Count(*),
которая возвращает количество сгруппированных записей.
Примечание. В процессе работы файл базы данных становится фрагментированным и место на диске используется нерационально. Для дефрагментации
файла и уменьшения его размера рекомендуется изредка (например, перед сохранением файла на гибком диске) проводить сжатие базы данных. Сжатие выполняется командой меню «Сервис, Служебные программы, Сжать базу данных».
22
5. РАЗРАБОТКА СХЕМЫ И СОЗДАНИЕ СТРУКТУРЫ
РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ
Microsoft Access является реляционной системой управления базой данных и
позволяет создавать и поддерживать базы данных значительно более сложные, чем
однотабличная база данных. Реляционная модель ориентирована на организацию
данных в виде двумерных таблиц. Основными понятиями реляционной базы данных являются: таблица (отношение, реляция), строка таблицы (запись, кортеж),
столбец таблицы (поле, домен).
Создание базы данных необходимо начинать с её проектирования. В результате проектирования должна быть определена структура реляционной базы, то есть
состав реляционных таблиц, их структура и логические связи. Структура реляционной таблицы определяется составом столбцов, их последовательностью, типом
данных каждого столбца и их размером, а также ключом таблицы.
Первым этапом проектирования базы данных любого типа является анализ
предметной области, который заканчивается построением информационнологической модели данных. На этом этапе выясняются требования пользователей к
разрабатываемой базе данных в виде списка возможных вопросов. Собираются образцы требуемых документов, форм, бланков. Выявляются информационные объекты и связи между ними, что позволяет построить информационно-логическую
модель. Для её представления наиболее удобен графический способ (E-R схемы).
На втором этапе осуществляется переход от информационно-логической модели данных к схеме реляционной базы данных.
На третьем этапе реляционная схема реализуется в среде конкретной системы управления базой данных, например, Microsoft Access. После формирования
структуры базы данных осуществляется наполнение таблиц данными.
5.1. Разработка информационно-логической модели данных
Информационно-логическая модель является моделью данных, отображающей предметную область в виде совокупности информационных объектов и структурных связей между ними. Информационный объект – это информационное отображение некоторой сущности, то есть реального объекта, явления, процесса или
события, о которых должна быть представлена информация в базе данных. Информационный объект определяется рядом качественных и количественных характеристик, которые представлены соответствующими атрибутами (реквизитами). Состав атрибутов информационного объекта определяет его структуру. При выборе
атрибутов информационного объекта можно сразу потребовать выполнения правил
нормализации, которым подчиняются реляционные таблицы. В один информационный объект атрибуты включаются в соответствии с требованиями третьей нормальной формы реляционной модели. Применительно к информационному объекту эти требования формулируются следующим образом:
! Информационный объект должен содержать уникальный идентификатор-ключ.
! Все описательные (неключевые) атрибуты должны быть взаимно независимы.
! Все атрибуты, входящие в составной ключ, должны быть взаимно независимы.
! Каждый описательный атрибут должен функционально полно зависеть от ключа. Это означает, что каждому значению ключа соответствует только одно значение описательного атрибута.
23
При составном ключе описательные атрибуты должны зависеть целиком от
всей совокупности атрибутов, образующих ключ (не допускается полная зависимость описательного атрибута от какой-либо части ключа).
! Каждый описательный (неключевой) атрибут не может зависеть от ключа транзитивно, то есть через промежуточный атрибут.
Очень часто проблемы, связанные с выполнением этих требований, решаются путем расщепления совокупности атрибутов с образованием двух информационных объектов вместо одного.
Связи между информационными объектами называются отношениями. Отношения могут быть следующих типов:
! 1 : 1 (один к одному), когда каждому экземпляру первого объекта соответствует только один экземпляр второго объекта.
! 1 : М (один ко многим), когда каждому экземпляру первого объекта может соответствовать несколько экземпляров второго объекта, а каждому экземпляру
второго объекта может соответствовать не более одного экземпляра первого
объекта.
! М : М (многие ко многим), когда каждому экземпляру первого объекта может
соответствовать несколько экземпляров второго объекта и, наоборот, каждому
экземпляру второго объекта может соответствовать несколько экземпляров первого объекта.
Рассмотрим процесс проектирования базы данных для предметной области
«Учебный процесс». Пусть необходимо построить базу данных, располагая которой, пользователь может получить справочную информацию о результатах сдачи
экзаменов студентами. Пользователю на основе данных из базы также необходимо
формировать списки студентов групп и экзаменационную ведомость.
На основе анализа приведенного описания задачи выявляются значимые атрибуты и их взаимосвязи. В результате выделено три информационных объекта:
СТУДЕНТ, ПРЕДМЕТ, ОЦЕНКА – и установлены связи между ними. Информационно-логическая модель рассматриваемой предметной области, построенная в соответствии с выявленными объектами и связями, представлена на рис. 14.
!
Номер
Фамилия
Имя
СТУДЕНТ
ПРЕДМЕТ
1
1
Получил
Сдан
Отчество
Группа
*
ОЦЕНКА
*
Оценка
Рис. 14. Информационно-логическая модель
предметной области «Учебный процесс»
24
Название
Преподаватель
5.2. Создание реляционной схемы базы данных и формирование
таблиц в Microsoft Access
По информационно-логической модели создается реляционная схема базы
данных в виде списка таблиц с указанием атрибутов и ключей. Существуют достаточно формализованные методы преобразования объектов и отношений в реляционные таблицы. Каждый объект преобразуется в свою таблицу. Поля таблицы составляются из атрибутов этого объекта. В качестве ключа выбирается атрибут, однозначно определяющий строки. Если такого не находится, то добавляется новый
атрибут, решающий эту задачу. Для установления связи между двумя таблицами
ключ одной таблицы помещают в другую в качестве внешнего ключа. Внешний
ключ всегда добавляется в таблицу, со стороны которой мощность равна «многим».
Преобразование информационно-логической модели «Учебный процесс» дает нам следующую реляционную схему базы данных:
СТУДЕНТ(Номер, Фамилия, Имя, Отчество, Группа)
ПРЕДМЕТ(Код предмета, Название, Преподаватель)
ОЦЕНКА(Номер, Код предмета, Оценка)
В таблицу ПРЕДМЕТ введен ключевой атрибут «Код предмета». В таблицу
ОЦЕНКА для установления связей с другими таблицами введены атрибуты «Номер» и «Код предмета», которые по отдельности являются внешними ключами, а
вместе образуют составной ключ таблицы.
Создание реляционной базы данных с помощью Microsoft Access начинается
с задания структуры таблиц. Нами уже сформирована таблица СТУДЕНТ, её
структура в целом соответствует результатам проектирования. Имеющиеся в ней
дополнительные атрибуты «Пол», «Дата рождения», «Адрес» только расширяют
функциональные возможности базы данных. Нам осталось только пополнить базу
данных еще двумя таблицами ПРЕДМЕТ и ОЦЕНКА.
Задание. Создайте структуры таблиц ПРЕДМЕТ и ОЦЕНКА. Для поля
«Код предмета» установите тип данных: в таблице ПРЕДМЕТ – счетчик, в таблице ОЦЕНКА – числовой (длинное целое). Для задания составного ключа в таблице ОЦЕНКА в режиме конструктора выделите сразу два поля, входящих в ключ, и
нажмите на кнопку
(Ключевое поле) на панели инструментов. Вводить данные
в таблицы ПРЕДМЕТ и ОЦЕНКА пока не надо, это будет сделано позже с использованием формы.
5.3. Установление связей между таблицами
Выполните команду «Сервис, Схема данных». В окне «Добавление таблицы» выделите три таблицы: СТУДЕНТ, ПРЕДМЕТ, ОЦЕНКА – и нажмите кнопку
«Добавить», после этого окно «Добавление таблицы» можно закрыть. Таблицы,
представленные списками полей, отобразятся в окне «Схема данных».
Установите связь (1 : М) между таблицами СТУДЕНТ и ОЦЕНКА. Для этого
протащите указатель мыши от поля «Номер» таблицы СТУДЕНТ к полю «Номер»
таблицы ОЦЕНКА. В появившемся диалоговом окне «Связи» установите флажки:
«Обеспечение целостности данных», «каскадное обновление связанных полей»,
«каскадное удаление связанных записей» – и нажмите кнопку <Создать>. Анало25
гичную связь установите между таблицами ПРЕДМЕТ и ОЦЕНКА по полю «Код
предмета».
В результате описанных действий окно «Схема данных» приобретает вид,
показанный на рис. 15. Сохраните схему данных, выполнив команду «Файл, Сохранить», и закройте окно «Схема данных». Установленные связи запоминаются в
Microsoft Access и используются для связывания данных в каждом новом запросе,
форме или отчете, включающем связанные таблицы.
Рис. 15. Схема базы данных «Учебный процесс»
6. ТЕХНОЛОГИЯ РАБОТЫ С РЕЛЯЦИОННОЙ БАЗОЙ ДАННЫХ
6.1. Разработка многотабличной пользовательской формы ввода
данных
Многотабличная форма создается для работы с несколькими взаимосвязанными таблицами. Многотабличная форма может состоять из основной части и одной или нескольких подчиненных включаемых форм, то есть быть составной. Подчиненная форма может быть построена на основе как подчиненной, так и главной
таблицы относительно таблицы-источника основной части формы.
Многотабличная форма может не иметь включаемых форм. В этом случае в
форму кроме полей таблицы, на основе которой она строится, добавляются поля из
связанной таблицы, являющейся главной относительно основной таблицы формы.
Многотабличная форма может быть создана в режиме конструктора или с
помощью мастера форм. Наиболее технологичным является первоначальное создание форм с помощью мастера с последующей их доработкой в конструкторе.
Рассмотрим технологию разработки составной формы для одновременной
загрузки и работы с данными двух таблиц ПРЕДМЕТ и ОЦЕНКА. В окне базы
данных выберите вкладку «Формы» и нажмите кнопку <Создать>. В открывшемся
окне «Новая форма» установите режим создания «Мастер форм» и в качестве источника данных основной части формы выберите таблицу ПРЕДМЕТ. В следующем диалоговом окне «Создание форм» выбираются таблицы и из них – поля,
включаемые в форму. В нашем случае нужно выбрать из таблицы ПРЕДМЕТ поля
«Название» и «Преподаватель», а из таблицы ОЦЕНКА – поля «Номер» и «Оценка». Затем можно сразу нажать кнопку <Готово>, не переходя к другим не столь
26
важным шагам мастера. Основная и подчиненная части составной формы сохраняются в отдельных формах с именами «ПРЕДМЕТ» и «ОЦЕНКА подчиненная форма». После завершения работы мастера созданная составная форма автоматически
открывается (рис. 16).
Рис. 16. Составная форма «Предмет», созданная мастером
В подчиненной форме студент задается номером зачетной книжки, что, конечно, неудобно, лучше для этого использовать фамилию. Еще лучше фамилию
студента не вводить, а выбирать из списка. Использование выбора значения из
списка увеличивает скорость ввода и снижает вероятность ошибки при вводе. Чтобы реализовать эти возможности, внесем изменения в подчиненную форму. Для
этого закройте составную форму и откройте форму «ОЦЕНКА подчиненная форма» в режиме конструктора. В разделе «Область данных» находятся два текстовых
поля (элементы управления), связанных с полями таблицы ОЦЕНКА «Номер» и
«Оценка». Удалите их. Для удаления элемент нужно выделить и нажать клавишу
<Delete>. На их место нужно внести элементы управления «Поле со списком». Для
их добавления в форму лучше использовать мастер списков. Для создания с помощью мастера раскрывающегося списка, который позволит выбирать фамилии студентов, выполните следующие действия:
!
!
!
!
!
Убедитесь, что на панели элементов кнопка
(Мастера) нажата (утоплена).
Если панель элементов закрыта, выполните команду меню «Вид, Панель элементов».
На панели элементов нажмите кнопку
(Поле со списком). После нажатия
указатель мыши, находясь над активной областью формы, будет превращаться в
значок поля со списком.
Затем на панели инструментов нажмите кнопку
(Список полей). В появившемся окне списка полей выделите поле «Номер» и перетащите его с помощью
мыши в область данных формы. Появится первое диалоговое окно мастера списков.
В первом диалоговом окне выберите переключатель «поле со списком использует значения из таблицы или запроса» и нажмите кнопку <Далее>.
Во втором диалоговом окне выделите таблицу СТУДЕНТ и нажмите кнопку
<Далее>.
27
В третьем диалоговом окне переместите поля «Номер» и «Фамилия» в список
«Выбранные поля». Перемещение осуществляется путем выделения поля и нажатия на кнопку
. Затем нажмите кнопку <Далее>.
! В четвертом диалоговом окне мастер отображает список значений для поля со
списком. Флажок «Скрыть ключевой столбец» оставьте установленным. Этот
параметр предписывает не показывать присоединенный столбец поля «Номер».
Измените размер столбца «Фамилия», перетащив с помощью мыши его правую
границу; ширина этого столбца должна быть достаточной для отображения любой фамилии. Нажмите кнопку <Далее>.
! В следующем диалоговом окне предлагается сохранять значение в поле «Номер». Примите предложенное значение, нажав кнопку <Далее>.
! В последнем диалоговом окне задайте новую подпись «Фамилия» и нажмите
кнопку <Готово>.
Для создания с помощью мастера раскрывающегося списка, который позволит выбирать оценку, выполните следующие действия:
!
На панели элементов нажмите кнопку
(Поле со списком). Затем перетащите
с помощью мыши поле «Оценка» из окна списка полей в область данных, поместив его под полем со списком студентов, добавленным ранее. Появится первое диалоговое окно мастера списков.
! В первом диалоговом окне мастера списков выберите переключатель «Будет
введен фиксированный набор значений» и нажмите кнопку <Далее>.
! Во втором диалоговом окне в поле «Число столбцов» оставьте число 1. В столбец введите возможные значения оценок: 2, 3, 4, 5. Каждая оценка вводится в
отдельную строку столбца, без запятых. Для перехода на следующую строку
можно использовать клавишу <Tab>. Нажмите кнопку <Далее>.
! В третьем диалоговом окне предлагается сохранять выбранное значение в поле
«Оценка». Примите предложенное значение, нажав кнопку <Далее>.
! В последнем диалоговом окне задайте подпись «Оценка» и нажмите кнопку
<Готово>.
Закройте подчиненную форму, подтвердив сохранение сделанных изменений. Теперь проверьте работоспособность составной формы в целом. Для её открытия выделите форму «ПРЕДМЕТ» и нажмите кнопку <Открыть>.
!
Задание. Введите название четырех предметов и фамилии ведущих преподавателей. Для перехода от одной записи к другой используйте кнопки в нижней
части формы. В подчиненной форме из выпадающих списков выберите фамилии
студентов и оценки по соответствующим предметам.
6.2. Формирование запросов для многотабличной базы данных
Рассмотрим конструирование многотабличного запроса на выборку на примере выборки информации об успеваемости конкретных студентов. Пусть необходимо получить информацию об оценках, полученных студентом по всем предметам. Результат должен содержать фамилию студента, наименования сданных предметов и оценки.
Для создания запроса надо в окне базы данных открыть вкладку «Запросы» и
нажать кнопку <Создать>. В открывшемся окне «Новый запрос» выбрать режим
конструктора. В окне «Добавление таблицы» выбрать используемые в запросе таб28
лицы: СТУДЕНТ, ОЦЕНКА, ПРЕДМЕТ – и нажать кнопку <Добавить>. Затем
кнопкой <Закрыть> выйти из окна «Добавление таблицы».
Перетащим с помощью мыши требуемые поля в строку бланка запроса «Поле»: «Фамилия» – из таблицы СТУДЕНТ, «Название» – из таблицы ПРЕДМЕТ,
«Оценка» – из таблицы ОЦЕНКА. Для получения информации об успеваемости
конкретного студента зададим в строке «Условие отбора» его фамилию. Вы можете использовать любую фамилию, входящую в таблицу СТУДЕНТ. Предположим,
Вас интересует успеваемость студента Иванова. Заполненный бланк запроса примет вид, показанный на рис. 17.
Рис. 17. Конструирование запроса на получение данных
об успеваемости студента
Выполним запрос, нажав на панели инструментов кнопку
(Режим таблицы). Таблица будет содержать по одной записи о каждом сданном предмете.
Для обобщения данных в запросе могут использоваться встроенные статистические функции SQL, выполняющие вычисления на множестве сгруппированных записей. Вот некоторые из них:
! Avg() – вычисляет арифметическое среднее набора чисел, содержащихся в
указанном поле запроса;
! Count() – вычисляет количество непустых записей, возвращаемых запросом;
! Max() – возвращает максимальное из набора значений, содержащихся в указанном поле;
! Min() – возвращает минимальное из набора значений, содержащихся в указанном поле;
! Sum() – возвращает сумму набора значений, содержащихся в заданном поле.
Создадим запрос, вычисляющий средний балл студентов с использованием
статистической функции. Для этого в окне базы данных перейдите на вкладку «Запросы» и нажмите кнопку <Создать>. В открывшемся окне «Новый запрос» выберите режим конструктора. В окне «Добавление таблицы» выберите используемые в
запросе таблицы: СТУДЕНТ, ОЦЕНКА – и нажмите кнопку <Добавить>. Затем
29
кнопкой <Закрыть> закройте окно «Добавление таблицы». Перетащите с помощью
мыши по очереди поля: «Фамилия» - из таблицы СТУДЕНТ, «Оценка» – из таблицы ОЦЕНКА в ячейки строки «Поле» бланка запроса.
Статистическая функция SQL указывается в строке «Групповая операция»
(Групповые опебланка запроса. Чтобы увидеть эту строку, нажмите на кнопку
рации) на панели инструментов либо выполните команду меню «Вид, Групповые
операции». В результате в бланк запроса добавляется строка «Групповая операция», содержащая по умолчанию в каждой ячейке операцию «Группировка». Установите курсор в столбец «Оценка» строки «Групповая операция» и выберите из
выпадающего списка функцию Avg(). В строке «Сортировка» этого же столбца
выберите из выпадающего списка значение «по убыванию». Заполненный бланк
запроса примет вид, показанный на рис. 18.
Рис. 18. Конструирование запроса с использованием групповых операций
Задание. Создайте запрос на выборку информации о студентах, сдавших
экзамены по одному из предметов (выберите самостоятельно) на «хорошо» и
«отлично».
30
7. СОЗДАНИЕ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ
Чтобы придать приложению законченный вид, создадим стартовую кнопочную форму, помогающую перемещаться по базе данных. На кнопочную панель
помещаются кнопки, при нажатии которых открываются формы или отчеты (или
открываются другие кнопочные формы, с помощью которых открываются другие
формы или отчеты), осуществляется выход из Microsoft Access или изменяется сама кнопочная форма.
Для создания кнопочной формы выполните команду меню «Сервис, Надстройки, Диспетчер кнопочных форм». Если выводится приглашение подтвердить
создание кнопочной формы, нажмите кнопку <Да>. В диалоговом окне «Диспетчер
кнопочных форм» (рис. 19) нажмите кнопку <Изменить>.
Рис. 19. Диспетчер кнопочных форм
В диалоговом окне «Изменение страницы кнопочной формы» введите имя в
поле «Название кнопочной формы» и нажмите кнопку <Создать>.
В диалоговом окне «Изменение элемента кнопочной формы» введите текст
подписи для первой кнопки и выберите команду в поле со списком «Команда». Например, введите текст «Ввод и редактирование информации о студентах», а затем
выберите в поле «Команда» команду «Открытие формы в режиме редактирования». Для большинства выбранных команд под полем «Команда» открывается новое поле со списком. При необходимости выберите нужный элемент в этом поле.
Например, если выбрана одна из команд работы с формами, то в поле со списком
«Форма» следует выбрать имя открываемой формы.
Повторите действия по созданию элементов кнопочной формы нужное число раз, чтобы ввести кнопки, вызывающие:
! форму для ввода и редактирования информации о предметах и оценках;
! отчет «Список студентов»;
! изменение кнопочной формы;
! выход из приложения.
Чтобы изменить или удалить какую-либо из созданных кнопок, выберите
имя этой кнопки в списке «Элементы данной кнопочной формы» и нажмите кноп31
ку <Изменить> или <Удалить>. При необходимости можно изменить порядок элементов в списке с помощью кнопок <Вверх> и <Вниз>.
Закончив создание кнопочной формы, нажмите кнопку <Закрыть>.
Примечание. Диспетчер кнопочных форм позволяет создавать кнопочную
форму, кнопки которой открывают другие кнопочные формы.
Для того чтобы кнопочная форма автоматически открывалась при открытии
базы данных, выполните следующие действия. Выполните команду меню «Сервис,
Параметры запуска». В диалоговом окне «Параметры запуска» (рис. 20) в поле со
списком «Форма» выберите значение «Кнопочная форма». В этом диалоговом окне
также можно настроить интерфейс и другие параметры приложения.
Рис. 20. Настройка параметров запуска
При следующем открытии базы данных указанная кнопочная форма будет
открываться автоматически.
8. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
1. Создайте запрос «Отличники» на выборку информации о студентах, сдавших все экзамены на «отлично». При создании можно использовать группировку записей по студентам с подсчетом среднего балла (функция Avg). У
«отличника» средний балл равен 5.
2. Создайте отчет «Экзаменационная ведомость», отображающий результаты
сдачи студентами экзаменов по указанному предмету, с подсчетом среднего
балла в группе.
3. Требуется расширить функциональные возможности созданной базы данных. База данных должна хранить информацию о преподавателях (ученая
степень, ученое звание, адрес, телефон). Оценки студентов должны храниться с указанием номера семестра. Каждый предмет должен характеризоваться
числом часов на лекционные и на лабораторные занятия. Внесите необходимые для этого изменения в модель данных и структуры таблиц. Создайте отдельные формы для ввода в базу данных информации о преподавателях и
изучаемых предметах.
32
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Хансен Г., Хансен Д. Базы данных: разработка и управление: Пер. с англ. М.:
ЗАО «Издательство БИНОМ», 1999. 704 с.
2. Дженнингс Р. Microsoft Access 97 в подлиннике: Пер. с англ. В 2 т. СПб.: BHV –
Санкт-Петербург, 1997.
3. Информатика: Учебник / Под ред. проф. Н.В.Макаровой. М.: Финансы и статистика, 1997. 768 с.
4. Информатика: Практикум по технологии работы на компьютере / Под ред.
Н.В.Макаровой. М.: Финансы и статистика, 1997. 384 с.
5. Экономическая информатика: Учебник для вузов / Под ред. проф. В.В. Евдокимова. СПб.: Питер, 1997. 592 с.
33
ВАША ПЕРВАЯ БАЗА ДАННЫХ В MICROSOFT ACCESS 97
Составитель
Нехорошев Виктор Дмитриевич
Редактор
И.В.Коршунова
Подписано в печать 10.01.2000
Бумага типографская
Офсетная печать
Уч.-изд. л. 2,12
Тираж 50
Заказ 11
Издательство УГТУ
620002, Екатеринбург, Мира, 19
ЗАО УМЦ УПИ. 620002, Екатеринбург, Мира, 17
Формат 60х84 1/16
Усл. печ. л. 1,98
Цена “С”
Download