Разработка баз данных в среде MICROSOFT ACCESS 2002

advertisement
Министерство общего и профессионального образования
Российской Федерации
Средняя школа №32
Губина С., 11Б класс
РАЗРАБОТКА БАЗ ДАННЫХ
В СРЕДЕ MICROSOFT ACCESS 2002
Пенза 2009
Введение
В настоящее время среди разработчиков баз данных (БД) большой
популярностью пользуется настольная реляционная СУБД Access 2002,
входящая в состав пакета Microsoft Office XP (варианты его поставки –
Professional, Professional with Front Page, Professional Special Edition и Developer) [1 – 6]. Дружественный интерфейс и простота настройки, эффективные средства создания таблиц, форм, запросов и отчетов, интеграция с
другими приложениями пакета, средства организации работы с базами
данных в составе рабочей группе и защиты информации – вот далеко не
полный перечень достоинств этого приложения.
В практикуме рассматривается создание и использование таблиц, запросов, форм и отчетов. Предполагается использование практикума для изучения основ построения и использования реляционных баз данных. Поэтому значительное внимание уделяется организации связей между таблицами, поддержанию семантической и ссылочной целостности.
Даются задания и контрольные вопросы по выполнению основных этапов разработки базы данных.
Лабораторный практикум предназначен для школьников, изучающих
курс “Пользователь ЭВМ”.
2
1. Знакомство с системой Access 2002
Для работы с Access 2002 требуется компьютер с процессором не
ниже Pentium 133 МГц и объемом оперативной памяти не менее 24 Мбайт
под управлением операционной системы Microsoft Windows 98, 32 Мбайт
– Windows ME, 64 Мбайт – Windows 2000 Professional или Windows XP. Рекомендуется использовать компьютер с процессором Pentium IV и объемом оперативной памяти 128 Мбайт под управлением операционной системы Microsoft Windows XP. База данных, созданная с помощью СУБД
Access, может содержать множество объектов разных типов, отображаемых на вкладках ее окна. Коротко охарактеризуем назначение каждого типа объектов.
В реляционных базах данных вся информация хранится в виде таблиц. Каждая строка таблицы представляет собой запись, а столбец - поле.
Запись содержит набор данных об этом объекте таблицы (например, номер
личного дела, фамилию, имя, отчество учащегося, класс, дату рождения
учащегося, пол, номер телефона), а поле - однородные данные о всех объектах таблицы (например, фамилии всех учащихся), а поле - однородные
данные о всех объектах таблицы (например, фамилии всех студентов).
Основное назначение запросов – поиск данных на основании заданных критериев. Благодаря запросам можно в любой момент выбрать из базы данных необходимую информацию.
Форма представляет собой бланк, подлежащий заполнению, или
маску, накладываемую на набор данных. Форма-бланк позволяет упростить процесс заполнения таблиц базы данных, делая его привычным для
пользователей. С помощью формы-маски можно ограничить объем информации, доступный пользователю базы данных.
Отчеты представляют собой документы и служат для отображения
итоговых данных из таблиц и запросов в удобном для просмотра виде.
Макросы представляют собой макрокоманды, автоматизирующие
процессы работы с базой данных (например, ее заполнение, поиск в базе
данных, формирование форм и отчетов и так далее).
Модули представляют собой соответствующим образом оформленные процедуры обработки событий или выполнения вычислений, написанные на языке VBA. Они предназначены для выполнения операций, которые
невозможно (или затруднительно) реализовать с помощью команд или
макрокоманд Access.
3
Страницы доступа к данным представляют собой специальный тип
Web - страниц, предназначенный для просмотра и работы через Интернет
или интрасеть с данными, хранящимися в базах данных Microsoft Access.
Страница доступа к данным может также включать данные из других источников, например, Microsoft Excel.
Существует несколько способов запуска СУБД Access:
– с помощью его ярлыка на рабочем столе Windows;
– через стартовое меню (кнопка Пуск/Программы/Microsoft
Access);
– путем открытия файла *. mdb (в Access 2002 все объекты базы данных хранятся в одном файле с расширением .mdb).
Существует несколько способов выхода из среды Access:
– закрытие окна Access (щелчок на кнопке, изображающей крестик);
– активизация команды Выход из меню Файл;
– активизация команды Закрыть из контекстного меню окна Access;
– нажатие комбинации клавиш Alt+F4.
После запуска Access 2002 на экране появляется ее окно, а также
диалоговое окно, с помощью которого пользователь может выбрать один
из следующих вариантов продолжения работы: создание пустой базы данных (переключатель Новая база данных), создание базы данных с помощью мастера (переключатель Запуск мастера), открытие одной из существующих баз данных (переключатель Открыть базу данных).
В результате выбора переключателя Новая база данных образуется
пустая база данных (файл *.mdb), в которую впоследствии можно поместить таблицы, запросы, формы, отчеты и т.д. Если же выбрать переключатель Запуск мастера, то после нажатия кнопки OK начнется процесс создания новой базы данных на основе какой-либо базы из коллекции Access
2002. В случае необходимости открыть существующую базу данных следует установить переключатель Открыть базу данных, выбрать в окне,
расположенном чуть ниже этого переключателя нужную базу данных и
нажать кнопку OK. Если необходимая база данных не указана в этом списке, ее можно отыскать в окне Открытие файла базы данных, которое открывается после выделения строки Другие файлы и нажатия кнопки OK.
Если появление стартового диалогового окна при запуске Access вас
не устраивает, отмените его открытие. Для этого при открытом окне базы
данных выберете в меню Сервис команду Параметры и на вкладке Вид
выключите опцию окно запуска. После выключения опции окно запуска
открыть существующую базу данных или создать новую можно через меню Файл или посредством кнопок Создать базу данных и Открыть базу
4
данных, расположенных на панели инструментов База данных. Новая база данных создается следующим образом:
 Активизировать команду Создать базу данных меню Файл или
нажать кнопку Создать базу данных.
 В диалоговом окне Создание выбрать вкладку Общие и пиктограмму
Новая база данных, после чего нажать кнопку OK.
 В окне Файл новой базы данных указать, в какой папке сохранить
создаваемую базу данных.
 В поле Имя файла заменить предложенное по умолчанию имя db1
более выразительным (или оставить его без изменения) и нажать на
кнопку Создать.
2. Создание таблиц базы данных
5
2.1. Проектирование базы данных
В качестве примера разработки базы данных в среде СУБД Access выберем систему под условным названием ЖУРНАЛ, позволяющую:
- хранить основные сведения об учащихся всех классов школы (номер
личного дела, фамилию, имя, отчество, класс, дату рождения, пол, номер домашнего телефона), изучаемых ими предметах и оценках, которые они получили в течение учебного года;
- производить ввод новых данных в систему и редактирование существующих;
- находить сведения о конкретных учащихся, предметах, классах и т. п.;
- составлять различного рода справки и отчеты.
Перед тем как приступить к работе по созданию базы данных в среде
Access, необходимо выполнить инфологическое и логическое проектирование БД. Инфологическое проектирование заключается в разработке инфологической модели предметной области, обычно представляемой в виде
ER-диаграммы, дополненной таблицами описания объектов и описания атрибутов объектов. Мы не будем здесь касаться вопросов построения инфологической модели рассматриваемой предметной области, покажем лишь конечный результат – ER-диаграмму (рис. 2.1).
2
Рис. 2.1. ER-диаграмма
На этапе логического проектирования вначале дается обоснование разбиения БД на таблицы. Разбиение осуществляется в соответствии с семантическим анализом предметной области, при этом, как правило, каждому объекту
(сущности) предметной области ставится в соответствие таблица, атрибутам
объекта соответствуют атрибуты таблицы, а идентификатору объекта соответствует ключ таблицы. Затем осуществляется выбор атрибутов полей каждой таблицы: имени поля, типа данных поля, свойств поля.
При создании таблиц в среде Access для каждого поля, включаемого в запись, следует указать тип данных. Тип данных определяет вид информации,
которая будет храниться в данном поле. В табл. 2.1 приведены типы данных
полей, различаемые Access 2002 [4 – 6].
3
Таблица 2.1
Типы данных для полей таблиц Access 2002
Тип данных
Описание
Текстовый
Поля этого типа содержат текст, объем которого не должен превышать 255 символов (длина поля задается в свойстве Размер поля)
Поля этого типа содержат числовые данные, используемые для
проведения расчетов
Поля этого типа содержат значения даты и времени
В полях этого типа могут храниться числа, содержащие 15 разрядов
слева от десятичной точки и 4 разряда справа от нее
Поле этого типа содержит число, значение которого автоматически
увеличивается на единицу, когда в таблицу добавляется новая запись
В таких полях сохраняются значения Да или Нет (поля этого типа
не индексируются)
В MEMO – полях хранятся текстовые либо текстовые и числовые
данные объемом не более 64000 символов (поля этого типа не индексируются)
В поля данного типа помещаются объекты, обработанные OLE –
сервером (такие поля не индексируются, и их объем не должен превышать 128 Мбайт)
В полях этого типа хранятся гиперссылки, которые представляют
собой путь к файлу на жестком диске либо адрес в сетях Интернет
или интранет
Создает поле, позволяющее выбрать значение из другой таблицы
или из списка значений, используя поле со списком
Числовой
Дата/время
Денежный
Счетчик
Логический
Поле
MEMO
Поле объекта
OLE
Гиперссылка
Мастер
Подстановок
Выбор полей каждой таблицы базы данных надо производить с таким расчетом, чтобы они достаточно полно описывали соответствующий объект
предметной области. Атрибуты полей необходимо выбирать в соответствии
с их возможными реальными значениями. Для нашего примера (базы данных
ЖУРНАЛ) описание полей таблиц базы данных может выглядеть примерно
так, как указано в табл. 2.2 – 2.4.
4
Таблица 2.2
Описание полей таблицы УЧАЩИЙСЯ
Имя поля
Номер
Тип данных
Текстовый
Свойства поля
Описание
Длина 5, индекс без повторений, Номер личного дела
первичный ключ
Фамилия
Текстовый
Длина 20, индекс с повторениями Фамилия учащегося
Имя
Текстовый
Длина 15
Имя учащегося
Отчество
Текстовый
Длина 20
Отчество учащегося
Класс
Текстовый
Список:”11А”;”11Б”;”11В”;
Шифр класса
“11 Г”
Дата
рожде- Дата/время
ния
Краткий формат даты: по умолчанию 01.01.88
Пол
Текстовый
Список: “М”, ”Ж”
Телефон
Текстовый
Длина 8, необязательное
Номер телефона
Таблица 2.3
Описание полей таблицы ПРЕДМЕТ
Имя поля
Код предмета
Тип данных
Числовой
Свойства поля
Описание
Целое, индекс без повторений,
первичный ключ
Название
Текстовый
Длина 50, индекс без повторений
Учитель
Текстовый
Длина 50, индекс с повторени- Фамилия и инициалы
ями
учителя
5
Таблица 2.4
Описание полей таблицы УСПЕВАЕМОСТЬ
Имя поля
Номер
Тип данных
Текстовый
Свойства поля
Описание
Длина 5, индекс с повторения- Номер личного дела
ми, составной ключ
Код предмета
Числовой
Целое, индекс с повторениями,
составной ключ
Дата оценки
Дата/время
Краткий формат даты, индекс Дата оценки
без
повторений,
составной
ключ
Оценка
Числовой
Целое в диапазоне [2..5]
Для обеспечения семантической целостности базы данных при заполнении ее таблиц значения полей Класс и Пол таблицы УЧАЩИЙСЯ будет выбираться из списка, значение поля Оценка таблицы УСПЕВАЕМОСТЬ будет
проверяться на принадлежность диапазону значений [2..5], значение поля
Дата рождения таблицы УЧАЩИЙСЯ будет задаваться по умолчанию равным 01.01.88, кроме этого, будет осуществляться проверка обязательности
заполнения всех полей таблиц, кроме поля Телефон таблицы УЧАЩИЙСЯ.
После этого разрабатывается структура связей таблиц базы данных. В
нашем примере объект УЧАЩИЙСЯ связан с объектом ПРЕДМЕТ связью
“многие-ко-многим” (один ученик изучает несколько предметов, и один
предмет может изучаться многими учениками), которая формализуется с помощью объекта
УСПЕВАЕМОСТЬ. Затем дается обоснование состава и
структуры индексов. Создание индексов для таблиц Microsoft Access ускоряет выполнение операций поиска, сортировки и группировки, в которых
используются индексированные поля. Для ключевых полей таблиц индексы
6
создаются автоматически. Для нашего случая целесообразно создать индексы для полей Фамилия таблицы УЧАЩИЙСЯ, Название и Учитель таблицы
ПРЕДМЕТ, поскольку эти поля часто будут использоваться в запросах.
2.2. Создание таблиц с использованием Конструктора
Теперь можно приступать к работе по созданию таблиц в среде Access.
После запуска СУБД Access создадим пустую базу данных и сохраним ее
под именем ЖУРНАЛ. Создание таблиц базы данных рекомендуется проводить в следующем порядке:
1. В окне база данных нажать кнопку Создать, в появившемся
окне
Новая таблица выбрать способ создания таблицы Конструктор и нажать
кнопку OK.
2. В появившемся окне Конструктора таблица задать имена, типы и
свойства полей таблицы (рис. 2.2).
Тип поля выбирается из выпадающего списка, который появляется при
щелчке мышью по кнопке в столбце Тип данных. При задании свойств полей разработчику таблиц довольно часто приходиться пользоваться Мастером подстановок и Построителем выражений. Так, для обеспечения выбора
значения поля Класс таблицы УЧАЩИЙСЯ из списка значений, необходимо
сделать следующее:
 выбрать вкладку Подстановка в нижней части окна, в строке Тип элемента управления выбрать из выпадающего списка (появляется при
двойном щелчке мышью в строке) значение Список;
7
 в строке Тип источника строк выбрать из выпадающего списка значение
Список значений;
 в строке Источник строк задать через точку с запятой список значений:
“11А”; “11Б”; “11В”; ”11Г”.
Аналогично следует поступить и для обеспечения выбора значения поля Пол
таблицы УЧАЩИЙСЯ из списка значений: “М”; “Ж”.
Рис. 2.2. Спецификация полей таблицы
Чтобы обеспечить проверку вводимых значений поля Оценка таблицы
8
УСПЕВАЕМОСТЬ на принадлежность заданному диапазону [2..5], необходимо задать необходимое выражение в качестве значения свойства Условие
на значение этого поля. Для этого нужно вызвать Построитель выражений,
щелкнув мышью в поле задания значения свойства, а затем еще раз – по появившейся кнопке. Для нашего случая это может быть, например, выражение
Between 2 And 5.
При задании свойств поля Дата рождения таблицы УЧАЩИЙСЯ установим значение по умолчанию: 01.01.88.
Для всех полей таблиц базы данных ЖУРНАЛ , кроме поля Телефон, установим для свойства Обязательное поле значение Да. Это означает, что такие поля обязательно должны содержать данные.
3. Установить индексы.
Для полей Фамилия таблицы УЧАЩИЙСЯ, Учитель таблицы ПРЕДМЕТ
в качестве значений свойства Индексированное поле зададим Да (Допускаются совпадения).
4. Установить первичный ключ.
Для этого необходимо выбрать поле, являющееся ключом, и нажать кнопку
с изображением ключа на панели инструментов. Другой способ установки
первичного ключа – выбрать команду Ключевое поле из меню Правка. Если ключ составной (включает несколько полей), то вначале необходимо выделить эти поля (удерживая нажатой клавишу Ctrl), а затем нажать на панели инструментов кнопку с изображением ключа.
Для нашего примера в качестве первичных ключей зададим поля Номер
таблицы УЧАЩИЙСЯ и Код предмета таблицы ПРЕДМЕТ. Для таблицы
УСПЕВАЕМОСТЬ первичный ключ будет состоять из трех полей: Номер,
Код предмета, Дата оценки. Следует обратить внимание на то, что значения
9
этих полей здесь не являются уникальными (один и тот же учащийся получает оценки по многим предметам, многие учащиеся получают оценки по
одному и тому же предмету, в один и тот же день многие учащиеся получают оценки). Поэтому перед тем как задать составной ключ, укажем у него
для свойства Индексированное поле значение Да (Допускаются совпадения).
5. Сохранить проект таблицы.
Подготовленный проект таблицы следует сохранить, поскольку на его основе будет строиться вся таблица. Для этой цели следует воспользоваться
командой Сохранить меню Файл. Если таблица сохраняется первый раз,
Access выводит на экран диалоговое окно Сохранение. Введите имя таблицы
(длиной не более 64 символов) или воспользуйтесь именем, предлагаемым
программой.
6. Отредактировать проект таблицы.
Проект таблицы можно модифицировать, в частности, добавлять (удалять)
поля или изменять их параметры. При этом все исправления в проект следует внести до начала заполнения базы данных, поскольку попытка изменить
параметры полей заполненной базы данных может повлечь за собой потерю
или искажение данных.
Для вставки нового поля надо установить курсор на строку проекта, перед
которой должна быть введена новая строка, и нажать соответствующую
кнопку на панели инструментов или вызвать команду Строки (или Поле
подстановок) из меню Вставка.
Если из проекта таблицы необходимо удалить поле (или несколько полей),
то необходимо отметить соответствующую строку (или строки) и выбрать
команду Удалить строки из меню Правка.
10
7. Ввести и отредактировать записи таблицы.
Итак, проект таблицы готов! Теперь можно заполнить таблицу конкретными данными и по мере необходимости вносить в нее изменения. Для ввода
записей в таблицу необходимо выделить ее имя в окне базы данных и нажать
кнопку Открыть. Если в данный момент открыто окно Конструктора таблиц, следует установить режим таблицы, вызвав команду Режим таблицы
из меню Вид или щелкнув на кнопке Вид (первая слева кнопка) панели инструментов.
8. Связать таблицы.
Access позволяет создавать реляционные базы данных, отдельные таблицы которых могут быть связаны между собой. Связь между таблицами определяет тип отношения между их полями. Как правило, связывают ключевое
поле одной таблицы с соответствующим ему полем другой таблицы, которое
называют полем внешнего ключа. Связанные поля могут иметь разные имена, однако у них должны быть одинаковые типы данных и одинаковые значения свойств. При наличии связи между таблицами Access будет автоматически выбирать связанные данные из таблиц в запросах, отчетах и формах.
В нашем примере необходимо установить связи между таблицами УЧАЩИЙСЯ и УСПЕВАЕМОСТЬ (“один-ко-многим”) и ПРЕДМЕТ и УСПЕВАЕМОСТЬ (“один-ко-многим”). Для этого в меню Сервис следует выбрать
команду Схема данных или нажать соответствующую кнопку на панели инструментов. На экране появится окно Схема данных, в котором можно задать и просмотреть связи между таблицами базы данных.
Чтобы добавить таблицы или запросы в окно Схема данных, необходимо
выбрать команду Добавить таблицу в меню Связи или нажать кнопку Добавить таблицу на панели инструментов. В результате появляется диалого-
11
вое окно Добавление таблицы (если таблицы базы данных связываются
впервые, то это окно появляется сразу же после выбора команды Схема
данных), на вкладке Таблицы которого отображается список таблиц базы
данных. Выбирая подлежащие связи таблицы и нажимая каждый раз кнопку
Добавить, переносим их в окно Схема данных. После этого окно Добавление таблицы надо закрыть. Затем следует переместить с помощью мыши
поле связи одной таблицы к полю связи другой таблицы. В нашем примере
при связывании таблиц УЧАЩИЙСЯ и УСПЕВАЕМОСТЬ полем связи является ключевое поле Номер, а при связывании таблиц ПРЕДМЕТ и УСПЕВАЕМОСТЬ – ключевое поле Код предмета. После этого на экране появится
диалоговое окно
Изменение связей, в котором будет предложена связь
между таблицами УЧАЩИЙСЯ и УСПЕВАЕМОСТЬ через поле Номер (для
обеих таблиц). Для этих таблиц по умолчанию установлено отношение типа
“один-ко-многим”. Эта установка отображается в поле Тип отношения. Таким образом, одной записи главной таблицы УЧАЩИЙСЯ может быть поставлено в соответствие несколько записей таблицы
УСПЕВАЕМОСТЬ.
Ссылочная целостность данных обеспечивается посредством установки опций каскадное обновление связанных полей и каскадное удаление связанных записей (предварительно следует активизировать опцию Обеспечение целостности данных). Проверка ссылочной целостности связей между
таблицами позволяет избежать ряда ошибок, допускаемых при удалении записей из первичной таблицы и вводе данных в связанную таблицу, например:
 добавления в связанную таблицу записей, для которых отсутствует соответствующая запись в главной таблице;
 изменения в главной таблице, которые приведут к появлению “осиро-
12
тевших” записей в связанной таблице:
 удаление записей в главной таблице, на которые ссылаются записи из
связанной таблицы.
После нажатия кнопки OK в окне Изменение связей созданная связь
между таблицами отображается графически (рис. 2.3).
Рис. 2.3. Схема данных с установленными связями
Для удаления связи следует вначале ее выделить, щелкнув по ней левой
кнопкой мыши, а затем нажать клавишу Del на клавиатуре компьютера. Другой способ удаления – щелкнуть по связи правой кнопкой мыши, а затем из
контекстного меню выбрать команду Удалить связь.
13
2.3. Задания и контрольные вопросы
Задания
1. Используя базу данных ЖУРНАЛ, создайте таблицы, описанные в теоретической части раздела. Для этого используйте Конструктор таблиц.
2. По индивидуальному заданию разработайте проект базы данных.
3. Используя Конструктор таблиц, реализуйте таблицы базы данных и
связи между ними.
Контрольные вопросы
1. Как реализовать выбор значения поля таблицы из списка значений?
2. Что представляет из себя индекс без повторений и индекс с повторениями?
3. Как осуществляется связывание таблиц?
4. Какие ограничения семантической целостности можно задать в Access?
5. Как задаются ограничения семантической целостности?
6. Как описать первичный ключ, состоящий из нескольких полей?
14
3. Проектирование QBE-запросов
Запросы предназначены для отбора данных, удовлетворяющих заданным
критериям (например, сведений об успеваемости учащегося с заданной фамилией, сведений об учащихся, обучающихся в заданном классе). В Access
запросы делятся на QBE-запросы (Query By Example – запрос по образцу),
параметры которых устанавливаются в окне Конструктора запросов, и SQLзапросы (Structured Query Language – структурированный язык запросов),
при создании которых используются операторы и функции языка SQL. Access позволяет легко преобразовать QBE-запрос в SQL-запрос и наоборот. В
нашем практикуме создание запросов с помощью языка SQL не рассматривается.
Для создания QBE-запроса необходимо открыть базу данных, перейти на
вкладку Запросы и нажать кнопку Создать. На экране появится диалоговое
окно Новый запрос, предназначенное для выбора способа построения запроса. Рассмотрим примеры создания
наиболее часто используемых на
практике типов запросов.
3.1. Простые запросы
Простой запрос – это запрос без критериев отбора, производящий выборку
из определенных полей нескольких таблиц или других запросов. Создадим
запрос для отбора фамилий, классов, названий предметов, оценок и даты получения оценок из таблиц базы данных УСПЕВАЕМОСТЬ, т. е. сведений об
успеваемости всех учеников.
15
В окне Новый запрос выберем Мастер Простой запрос, в появившемся
диалоговом окне Создание простых запросов выберем путем переноса из
окна Доступные поля в окно Выбранные поля необходимые для запроса
поля: из таблицы УЧАЩИЙСЯ – поля Фамилия и Класс, из таблицы ПРЕДМЕТ – поле Название и из таблицы УСПЕВАЕМОСТЬ – поле Оценка и Дата
оценки. Выбор нужной таблицы осуществляется в окне Таблицы/запросы,
перенос – с помощью кнопок переноса, расположенных между окнами Доступные поля и Выбранные поля. После нажатия кнопки Далее появляется
новое окно, позволяющее задать в качестве результата поиска подробный
или итоговый отчет. Подробный отчет включает вывод каждого поля каждой
записи, итоговый – позволяет вывести результаты обработки числовых полей: сумму значений, минимальные, максимальные, средние значения полей,
а также - число записей. После нажатия кнопки Далее необходимо задать
имя запросу (или оставить предложенное Access) и выполнить запрос, нажав
кнопку Готово. Результат выполнения запроса для нашего примера (в случае
выбора подробного отчета в качестве результата поиска) представлен на рис.
3.1.
На практике данные, полученные в результате выполнения запроса, довольно часто приходится представлять в отсортированном виде. Выполнить
сортировку в окне запроса можно с помощью команды Сортировка из меню
Записи, а также кнопок Сортировка по возрастанию и Сортировка по
убыванию панели инструментов Запрос в режиме таблицы. Для этого следует вначале отметить столбец таблицы, по которому будут отсортированы
записи, а потом задать способ сортировки. Данные можно сортировать по
алфавиту, а также по возрастанию или убыванию. При алфавитно-цифровой
сортировке по возрастанию данные располагаются в таком порядке: сначала
16
– значения, начинающиеся со знаков пунктуации или специальных символов, затем – значения, начинающиеся с цифр, а затем – значения, которые
начинаются с букв.
Рис. 3.1. Результат выполнения простого запроса
3.2. Конструктор запросов
Мастер Простой запрос служит для создания простых запросов. Если же
запрос достаточно сложен, например, содержит критерии отбора данных, то
17
следует воспользоваться Конструктором запросов. Рассмотрим в качестве
примера процесс создания запроса, позволяющего найти в базе данных фамилии учеников “11Б” класса, получивших на уроках по предмету “Физика”
оценки “5” или “4”. Для этого в окне Новый запрос следует выбрать способ
Конструктор и нажать кнопку OK. В результате появится пустое окно Конструктора запроса и диалоговое окно Добавление таблицы, состоящее из
трех вкладок – Таблицы, Запросы и Таблицы и запросы. На них осуществляется выбор таблиц и запросов, используемых при разработке запроса. Перейдем на вкладку Таблицы, выберем таблицу УЧАЩИЙСЯ и выполним щелчок на кнопке Добавить. Аналогичным образом добавим таблицы
УСПЕВАЕМОСТЬ и ПРЕДМЕТ. Закроем диалоговое окно, щелкнув на кнопке Закрыть. Добавленные таблицы появятся в окне Конструктора запроса.
Посредством команды Добавить таблицу из меню Запрос можно снова открыть диалоговое окно Добавление таблицы и пополнить список таблиц
запроса.
Окно Конструктора запроса разделено на две части. В верхней половине
находятся окна таблиц со списками полей. Имя каждой таблицы отображается в строке заголовка такого окна. При составлении запроса на основе нескольких таблиц между ними необходимо установить связи, задав отношения между полями. В противном случае результат выполнения запроса может оказаться некорректным. В рассматриваемом примере отношения между
таблицами уже заданы, поэтому при добавлении таблиц они появляются в
окне Конструктора вместе со связями.
Нижняя половина Конструктора запроса представляет собой бланк запроса, в котором собственно и производится его построение. Дальнейшую
разработку запроса рекомендуется выполнять в следующей последователь-
18
ности:
 добавление полей в запрос;
 установка критериев отбора записей;
 сортировка записей.
Добавить нужные поля в бланк запроса можно путем перетаскивания их
имен из списка полей таблиц, находящихся в верхней части окна Конструктора, в строку бланка Поле. Еще один способ добавления – двойной щелчок
по имени поля.
Первым поместим в строку Поле поле Фамилия таблицы УЧАЩИЙСЯ,
следом за ним – поле Класс из той же таблицы. Из таблицы ПРЕДМЕТ перенесем в бланк запроса поле Название и, наконец, - поле Оценка из таблицы
УСПЕВАЕМОСТЬ.
Для удаления поля из бланка запроса следует отметить колонку, в которой
оно находится, и нажать клавишу Del или выполнить команду Удалить
столбцы из меню Правка. Чтобы удалить из запроса таблицу, надо сначала
отметить ее в верхней части Конструктора запроса, выполнив щелчок на
имени любого из ее полей, а затем нажать клавишу Del или вызвать команду
Удалить из меню Правка. После этого будут автоматически удалены поля
удаленной из запроса таблицы, помещенные в бланк запроса.
Посредством критериев отбора пользователь указывает, какие записи
нужно выбирать в таблицах и отображать в результатах поиска. Критерии
отбора указываются для одного или нескольких полей.
Формируемый в нашем примере запрос должен отбирать данные об учащихся “11Б” класса, получивших по предмету “Физика” оценки “5” или “4”.
Поэтому для перечисленных ниже полей установим в строке Условие отбора бланка запроса такие критерии отбора:
19
Класс = 11Б
Название = Физика
Оценка = 5 Or 4
Сначала введем критерий для поля Класс – 11Б. После ввода нажмем клавишу Enter, вследствие чего Access проверит принадлежность этого значения
заданному списку (“11А”; ”11Б”; ”11В”; ”11Г”) и автоматически заключит
его в кавычки. Затем перейдем в ячейку на пересечении строки Условие отбора и столбца Название и введем значение “Физика” (в кавычках или без
кавычек). Наконец, зададим критерий для поля Оценка: 5 Or 4. Access автоматически проверит синтаксис этого выражения и в случае его нарушения
выдаст сообщение об ошибке.
При выполнении запроса записи могут быть отсортированы по алфавиту, в
порядке возрастания или убывания (для числовых полей). Можно одновременно производить сортировку по содержимому нескольких полей (до десяти). Для выполнения сортировки следует перейти в столбец бланка запроса,
содержащий имя поля, по которому необходимо произвести сортировку, и
указать способ сортировки в строке Сортировка. При выполнении щелчка
на этой строке появляется поле списка с перечнем способов сортировки. При
закрытии окна Конструктора запроса Access перемещает поля с заполненной ячейкой Сортировка в левую часть бланка запроса.
В завершении отсортируем фамилии учащихся в алфавитном порядке. Для
этого перейдем в столбец, содержащий поле Фамилия, выполним щелчок в
строке Сортировка и в появившемся списке выберем способ сортировки по
возрастанию (если задать сортировку по убыванию, Access отсортирует фамилии учащихся от Я до А). Результат формирования нашего запроса пред-
20
ставлен на рис. 3.2.
Рис. 3.2. Спецификация запроса
В случае необходимости можно отменить отображение поля в результате
выполнения запроса (даже того, по которому производится сортировка). Поле отображается в таблице результатов запроса, если в соответствующей колонке бланка запроса в строке Вывод на экран включен контрольный индикатор. Для отмены отображения поля достаточно выполнить щелчок на индикаторе.
Готовый запрос выполняется после щелчка на кнопке с изображением
восклицательного знака, расположенной на панели инструментов Конструктора запросов, или при активизации команды Запуск из меню Запрос.
Для выполнения запроса можно воспользоваться также кнопкой Открыть из
списка режимов отображения на панели инструментов База данных или командой Режим таблицы меню Вид. Результат выполнения нашего запроса
представлен на рис. 3.3.
21
Рис. 3.3. Результат выполнения запроса
3.3. Вычисления в запросе
Запрос можно использовать для выполнения расчетов и подведения итогов, обобщив данные из исходных таблиц. Для этих целей используются ста-
22
тистические функции SQL (таблица).
Статистические функции SQL
Функция
Sum
Действие
Суммирование значений определенного поля, находящихся в записях, которые отобраны запросом
Avg
Вычисление среднего значения в тех записях определенного пля, которые
отобраны запросом
Min
Вычисление минимального значения в записях определенного поля, отобранных запросом
Max
Вычисление максимального значения в записях определенного поля, отобранных запросом
Count
Вычисление количества записей, отобранных запросом, в определенном
поле
First
Определяется первое значение в указанном поле записей, отобранных запросом
Last
Определяется последнее значение в указанном поле записей, отобранных
запросом
StDev
Вычисляется стандартное отклонение значений данного поля для всех записей, отобранных запросом
Var
Вычисляется вариация значений данного поля для всех записей, отобранных запросом
Статистическую функцию задают в строке бланка запроса Групповая
операция, которая появляется после нажатия кнопки с греческой литерой
сигма, расположенной на панели инструментов, или с помощью команды
Групповые операции меню Вид. Посредством статистической функции
можно обработать каждое поле запроса. Результат обработки появляется в
23
результирующем наборе записей запроса.
Рассмотрим использования вычислений в запросе на примере. Создадим
запрос, с помощью которого можно определить средний балл по предмету
“Литература” в классах 11А, 11Б, 11В и 11Г. Для этого в окно Конструктора
запроса добавим таблицы УЧАЩИЙСЯ, УСПЕВАЕМОСТЬ и ПРЕДМЕТ, перенесем из них в бланк запроса поля Класс, Название, Оценка. В строке
Условие отбора для поля Класс зададим критерий отбора – “11А” Or “11Б”
Or “11В” Or “11Г”, в строке Сортировка для этого же поля выберем значение по возрастанию. Теперь выполним щелчок на кнопке Групповые операции панели инструментов (кнопка с греческой литерой сигма), в бланке
запроса появится строка Групповая операция со значением Группировка в
каждом поле. Выполнив щелчок в этой строке для поля Оценка, выберем из
выпадающего списка функцию Avg. Результат формирования нашего запроса
представлен на рис. 3.4.
24
Рис. 3.4. Спецификация запроса с вычислением
Запустим запрос на выполнение, выполнив щелчок на кнопке Запуск панели инструментов (кнопка с литерой “!”). Результат выполнения запроса
представлен на рис. 3.5.
Рис. 3.5. Результат выполнения запроса с вычислением
3.4. Параметрические запросы
При работе с базой данных довольно часто приходится выполнять запросы, которые незначительно отличаются друг от друга, например, значением
одного из полей в критерии отбора. Такие запросы целесообразно формировать как один параметрический запрос, вводя каждый раз при его выполнении новое значение параметра.
Рассмотрим создание параметрического запроса, позволяющего отыскивать в таблицах базы данных сведения об успеваемости любого учащегося по
заданной в процессе выполнения запроса фамилии учащегося. Формирование параметрического запроса проводится примерно так же, как и формирование обычного запроса в режиме Конструктора, только поля строки Условие отбора заполняются не конкретными критериями отбора, а обращением
25
к пользователю для ввода критерия (рис. 3.6). Обращение необходимо заключить в квадратные скобки, например: [Фамилия], [Класс]. Во время выполнения запроса это обращение будет адресовано пользователю, который
введет критерий отбора. На основе этого критерия (с учетом других критериев, заданных в спецификации запроса) будет осуществляться отбор записей.
Рис. 3.6. Спецификация параметрического запроса
Теперь надо активизировать команду Параметры меню Запрос. В поле
Параметр диалогового окна Параметры запроса следует ввести текст, который находится в поле Условие отбора спецификации запроса (рис. 3.7). В
данном случае скобки не нужны. После определения типа данных в поле
Тип данных и нажатия кнопки OK запрос будет готов.
26
Рис. 3.7. Окно задания текста приглашения
При запуске запроса на выполнение Access обратится к пользователю с
просьбой задать значение первого критерия отбора в окне Введите значение параметра с приглашением Фамилия. Присвоим первому параметру
значение, например Николаева (рис. 3.8). После нажатия кнопки OK Access
попросит пользователя ввести значение второго параметра в окне Введите
значение параметра с приглашением Класс. Присвоим второму параметру
значение, например 11Б (рис. 3.9). После нажатия кнопки OK будет получен
результат выполнения параметрического запроса (рис. 3.10).
Рис. 3.8. Ввод значения первого параметра для параметрического запроса
27
Рис. 3.9. Ввод значения второго параметра для параметрического запроса
Рис. 3.10. Результат выполнения параметрического запроса
28
3.5. Перекрестные запросы
Перекрестные запросы позволяют отображать отобранные данные в компактном формате, подобном формату электронной таблицы. Результаты выполнения перекрестных запросов часто используют для создания диаграмм и
графиков с помощью Мастера. Создавать перекрестные запросы можно с
помощью Конструктора либо с помощью Мастера перекрестных запросов.
Необходимо иметь в виду, что Мастер позволяет создать перекрестный запрос на основе только одной таблицы или одного запроса.
Создадим с помощью Мастера перекрестный запрос, отображающий в
виде таблицы результаты получения учащимися оценок по отдельному
предмету. Строки такой таблицы должны представлять фамилии учащихся,
столбцы – даты получения оценок.
Поскольку в нашем случае перекрестный запрос должен выводить поля из
разных таблиц базы данных, то предварительно создадим запрос, включающий эти поля, и на его основе будем строить перекрестный. Например, создадим запрос, результатом выполнения которого будет страница классного
журнала 11Б класса по предмету “Химия”. Создание этого вспомогательного
запроса проводится аналогично созданию запроса из рассмотренного ранее
примера (п. 3.2). Приступим теперь к созданию собственно перекрестного
запроса. Для этого в диалоговом окне Новый запрос выберем значение Перекрестный запрос и нажмем кнопку OK. В первом диалоговом окне Создание перекрестных таблиц выберем только что созданный вспомогательный запрос, на основе которого Мастер создаст перекрестный запрос, и
нажмем кнопку Далее. Чтобы указать, имена каких полей будут использоваться в качестве заголовков строк перекрестной таблицы, из предложенных
29
полей Доступные поля следующего окна Мастера выберем поле Фамилия и
перенесем его в список Выбранные поля с помощью кнопки переноса >.
Нажав кнопку Далее, перейдем в следующее окно Мастера. В этом окне
нужно выбрать поле, значения которого будут фигурировать в заголовках
столбцов перекрестной таблицы. В нашем примере это будет поле Дата
оценки.
В следующем окне Мастера укажем, значения какого поля будут находиться в ячейках перекрестной таблицы (в нашем случае – поля Оценка). Задав в следующем окне имя запросу (или оставив предложенное Access) и
нажав кнопку Готово, получим результат выполнения перекрестного запроса
(рис. 3.11).
Рис. 3.11. Результат выполнения перекрестного запроса
3.6. Задания и контрольные вопросы
Задания
1. Используя базу данных ЖУРНАЛ, создайте и проанализируйте все запросы, описанные в теоретической части раздела.
30
2. По индивидуальному заданию сформулируйте наиболее типичные запросы к проектируемой базе данных, учитывая необходимость реализации
всех рассмотренных в теоретической части видов запросов.
3. Реализуйте типичные запросы к проектируемой базе данных, проанализируйте правильность их выполнения.
Контрольные вопросы
1. В каких случаях при создании запроса целесообразнее воспользоваться
Мастером запросов, а каких – Конструктором?
2. Как в таблице УЧАЩИЙСЯ найти сведения обо всех учащихся, фамилии которых начинаются на букву 'К'?
3. Если таблица ПРЕДМЕТ содержит столбцы Фамилия и Средний балл,
то как вывести сведения о десяти учащихся с наибольшим баллом?
4. Как осуществить сортировку данных в запросе?
5. Создайте запрос, позволяющий узнать сведения обо всех отличниках
вашего класса.
6. Создайте параметрический запрос, позволяющий узнать оценку определенного учащегося по определенному предмету.
7. Создайте запрос с группировкой, выводящий средний балл каждого
учащегося с учетом всех предметов.
31
4. Создание форм
Формы представляют собой удобный способ работы с базой данных, создающий определенный комфорт при вводе и изменении данных для различных категорий пользователей.
Если предполагается, что вводимые данные будут изменяться редко, то
для работы с ними используйте таблицу. Режим таблицы рекомендуется использовать и тогда, когда необходимо получить наиболее полный обзор данных. Но если данные будут изменяться часто, помещайте их в форму, поскольку в режиме формы можно сконцентрировать внимание на данных, относящихся к определенной записи, например на информации, касающейся
конкретного учащегося.
Любая форма строится на основе таблицы или запроса. Имена полей переносятся в форму из спецификации таблицы или запроса, а расположение полей задается разработчиком формы. При разработке макета формы следует
определить последовательность расположения полей, объединить логически
взаимосвязанные поля в группы, задать название формы, а также ввести в
нее элементы управления. Для каждой базы данных, как правило, разрабатывается несколько форм, предназначенных для различных категорий пользователей.
Форму можно создать тремя способами: используя Автоформу, с помощью Мастера форм, с помощью Конструктора форм. Каждую форму можно отобразить на экране в одном из трех режимов: в режиме формы (рабочий
режим), в режиме Конструктора и в режиме таблицы. Переключение между
этими режимами осуществляется либо с помощью команд меню Вид, либо с
помощью кнопки Вид на панели инструментов (первая кнопка слева), от-
32
крывающей список с названиями режимов.
4.1. Автоформы
Автоформа автоматически создает на основе выбранной таблицы или запроса форму одного из следующих типов: в столбец, ленточную, табличную.
При создании формы Автоформа: в столбец для каждой записи отводится
отдельная страница формы. Такой тип формы лучше всего подходит для записей с большим числом полей. При создании формы Автоформа: ленточная каждая запись размещается в одной строке, что позволяет наглядно
представить несколько записей. Автоформа: табличная имеет вид таблицы
и выступает в качестве подчиненной формы в составных формах.
Рассмотрим пример создания формы с помощью Автоформы. В окне базы
данных ЖУРНАЛ выберем вкладку Формы и нажмем кнопку Создать. В
появившемся окне Новая форма выберем строку Автоформа: в столбец, затем в выпадающем списке выберем в качестве источника данных для создания формы таблицу УЧАЩИЙСЯ и нажмем кнопку OK. В результате на
экране появится форма (рис. 4.1). Аналогично создаются формы Автоформа:
ленточная и Автоформа: табличная.
33
Рис. 4.1. Готовая форма Автоформа: в столбец
4.2. Создание формы с помощью Мастера форм
Мастер форм выполняет поэтапное руководство процессом создания
формы, позволяя при этом выбирать поля из нескольких таблиц и предлагая
на выбор стандартные шаблоны и стили оформления.
Рассмотрим пример создания формы на основе таблицы УЧАЩИЙСЯ с
помощью Мастера форм. Для этого в окне Новая форма выберем строку
Мастер форм и нажмем кнопку ОК. В первом диалоговом окне Мастера
форм выберем в списке Таблицы/Запросы таблицу УЧАЩИЙСЯ, а в списке
Доступные поля - поля для подготавливаемой формы. С помощью кнопки с
двойной стрелкой (>>) перенесем все поля в список Выбранные поля и,
нажав кнопку Далее, перейдем в следующее окно Мастера форм.
Во втором окне Мастера форм активизируем переключатель в один
столбец и нажмем кнопку Далее. В третьем окне Мастера форм зададим
стиль оформления Стандартный, после чего нажмем кнопку Далее. В последнем окне Мастера форм зададим заголовок формы (УЧАЩИЙСЯ5) и
нажмем кнопку Готово. В результате на экране появится форма, созданная
Мастером форм (рис. 4.2).
34
Рис. 4.2. Форма, созданная с помощью Мастера форм
4.3. Создание составной формы
На основе нескольких связанных таблиц можно создать составную форму,
в которой главная форма связана с подчиненной.
С помощью Мастера форм построим составную форму для базы данных
ЖУРНАЛ, включающую: фамилию, имя, отчество, класс, название предмета
и оценку. Для этого в окне Новая форма зададим способ создания формы –
Мастер форм и нажмем кнопку OK. Название таблицы на этом этапе можно
не указывать. В появившемся диалоговом окне Мастера выберем соответствующие таблицы и поля для создаваемой формы и нажмем кнопку Далее.
В следующем окне необходимо задать логическую структуру формы, определяющую, какие поля будут отражены в главной форме, а какие – в подчиненной или связанной. Для нашего примера в окне с надписью “Выберите
тип представления данных” выберем строку по УЧАЩИЙСЯ. Это будет
35
означать, что в главной форме будут отображаться поля из таблицы УЧАЩИЙСЯ (Фамилия, Имя, Отчество, Класс), а в подчиненной (или связанной) – все остальные (Название, Оценка). Здесь же необходимо выбрать опцию, определяющую вид составной формы. В случае выбора опции Подчиненные формы будут одновременно отображаться две формы: главная и
внутри нее – подчиненная. В случае же выбора опции Связанные формы
вторую форму можно увидеть только по нажатию специальной кнопки на
главной форме. Для нашего примера выберем опцию Подчиненные формы
и нажмем кнопку Далее.
В следующем диалоговом окне Мастера выбирается внешний вид подчиненной формы: ленточный или табличный. Выберем вторую опцию и перейдем к следующему окну, в котором задается стиль оформления формы.
Выберем в списке элемент Стандартный и перейдем к последнему окну
Мастера. Это окно предназначено для ввода названий главной и подчиненной форм. Оставим без изменения названия, предложенные Мастером
(УЧАЩИЙСЯ и УСПЕВАЕМОСТЬ) и нажмем кнопку Готово. На экране появится составная форма (рис. 4.3).
Следует обратить внимание на то, что составная форма имеет два набора
кнопок для навигации по базе данных – для основной и подчиненной форм.
36
Рис. 4.3. Составная форма
4.4. Создание диаграммы
Среди форм различных типов широко распространенной является форма,
представляющая собой диаграмму. Создадим диаграмму, которая будет
отображать средние оценки по предметам в классах 11А, 11Б, 11В и 11Г. В
качестве источника данных для построения диаграммы используются таблица или запрос, включающие необходимые для этого поля. В нашем примере
следует предварительно создать запрос, на основе которого будет строиться
диаграмма (см. п. 3.3).
Теперь можно приступить к созданию диаграммы. В окне Новая форма
выберем в верхнем списке строку Диаграмма, в выпадающем списке – имя
предварительно созданного запроса (источника данных) и нажмем кнопку
OK. На экране появится первое диалоговое окно Мастера диаграмм. Здесь
37
необходимо выбрать поля, которые будут отображены в диаграмме. В нашем
случае перенесем все поля из окна Доступные поля в окно Поля диаграммы, нажав кнопку с двойной стрелкой (>>). Если же в диаграмму необходимо включить лишь некоторые поля, то переносить их надо в той последовательности, в которой они должны быть представлены в диаграмме. После
нажатия кнопки Далее на экране появится окно выбора типа диаграммы.
Мастер позволяет строить двадцать различных типов диаграмм. Для
нашего примера, очевидно, лучше всего подойдет гистограмма. Нажав
кнопку Далее, перейдем к следующему окну Мастера, в котором следует
задать надписи на диаграмме и ее легенду (описание условных обозначений).
Для этого необходимо перенести кнопки полей в соответствующие области
образца диаграммы: Ряды, Оси, Данные. В области Данные можно производить обработку отображаемых на диаграмме данных: вычислять сумму,
среднее, максимум, минимум и т. д. Для этого следует дважды щелкнуть на
поле, находящемся в области Данные и выбрать из выпадающего списка
нужную операцию обработки. После этого можно, не покидая этого окна,
посмотреть образец диаграммы, нажав кнопку Образец. Для нашего примера
никаких действий производить в этом окне нет необходимости, Мастер сам
задаст надписи на диаграмме и создаст для нее легенду. Выбор операции обработки отображаемых данных (среднего балла по каждому предмету) также
ни на что не повлияет, поскольку такие вычисления уже проводились в самом запросе, и в результатах его выполнения каждый предмет представлен
одной записью.
Нажав кнопку Далее, перейдем в последнее окно Мастера диаграмм, в
котором предлагается задать имя созданной диаграмме. Дадим диаграмме
имя Успеваемость: диаграмма и нажмем кнопку Готово. На экране появит-
38
ся созданная диаграмма. Ее можно сохранить во внешнем файле для дальнейшего использования или во внешней базе данных с помощью команды
Сохранить как/экспорт меню Файл. Если диаграмму необходимо изменить, то следует перейти в режим Конструктора, выбрав команду Конструктор в меню Вид или нажав соответствующую кнопку на панели инструментов. Access обрабатывает диаграммы с помощью приложения Microsoft Graph – программы деловой графики, которая входит в комплект поставки Microsoft Office 2002. Программа Microsoft Graph активна до тех пор,
пока диаграмма находится на экране, и прекращает свою работу только при
закрытии окна диаграммы.
Созданную диаграмму всегда можно модифицировать. Например, изменить ее тип, параметры, ориентацию данных, а также добавить новые или
удалить ненужные элементы. Для внесения изменений в диаграмму следует
вызвать программу Microsoft Graph, выполнив двойной щелчок на диаграмме в окне Конструктора форм. После внесения изменений надо снова переключиться в окно Конструктора диаграммы, закрыв окно Microsoft Graph, и
сохранить ее.
Внесем некоторые изменения в созданную для нашего примера диаграмму. Откроем окно Конструктора и вызовем программу Microsoft Graph.
Прежде всего увеличим размеры самой диаграммы и ее легенды. Затем дадим названия всей диаграмме и оси значений. Для этого в меню Диаграмма
выберем пункт Параметры диаграммы.. . В появившемся окне выберем
вкладку Заголовки и введем в соответствующих окошках названия диаграммы и оси значений. Щелкнув дважды на названии диаграммы, откроем
окно, в котором зададим требуемый формат для названия диаграммы. То же
самое проделаем и для названия оси значений. Закроем окно Microsoft Graph,
39
возвратясь в окно Конструктора. При закрытии этого окна Access запросит
подтверждение сохранения изменений. Сохраним внесенные изменения, ответив Да. Созданная нами диаграмма имеет вид, представленный на рис. 4.4.
Рис. 4.4. Диаграмма Успеваемость
40
4.5. Задания и контрольные вопросы
Задания
1. Используя базу данных ЖУРНАЛ, создайте все формы, описанные в
теоретической части раздела.
2. По индивидуальному заданию сформулируйте наиболее типичные
формы для проектируемой базы данных, учитывая необходимость реализации всех рассмотренных в теоретической части видов форм.
3. Реализуйте типичные формы для проектируемой базы данных, проанализируйте правильность их выполнения.
Контрольные вопросы
1. Какие средства существуют в Access для создания форм? Чем они отличаются друг от друга?
2. С какой целью создаются составные формы?
3. Чем отличаются подчиненные формы от связанных?
4. Как осуществить ввод новой записи в форму?
5. Как отфильтровать данные в форме?
6. Каким образом можно просмотреть свойства объекта формы?
7. Как внедрить в форму рисунок?
8. Создайте диаграмму, показывающую число отличников в заданных
классах.
41
5. Разработка отчетов
5.1. Работа с простейшими отчетами
Отчет – это средство представления информации из базы данных в печатном виде. Отчеты являются документами, содержащими группировку и
вычисления промежуточных и общих итогов.
Для создания отчета необходимо открыть окно База данных, выбрать
вкладку Отчет и нажать кнопку Создать.
В появившемся окне Новый отчет необходимо выбрать способ создания
отчета. Выберем вариант Автоотчет: в столбец. В этом случае каждое поле
образует отдельную строку с заголовком слева (если выбрать вариант Автоотчет: ленточный, то поля каждой записи образуют отдельную строку). Далее следует выбрать
таблицу или запрос, содержащие данные отчета, и
нажать кнопку OK. Другой способ создания отчета - выбрать на вкладках
Таблица или Запросы окна База данных таблицу или запрос, на основании
которых строится отчет, далее выбрать команду Отчет или Автоотчет в меню Вставка или нажать кнопку раскрытия списка рядом с кнопкой Новый
объект на панели инструментов и выбрать команду Отчет или Автоотчет.
При выборе команды Отчет раскрывается окно Новый отчет. При выборе
команды Автоотчет отчеты содержат только записи (в них нет заголовка,
номера страницы и даты создания).
Создадим описанным способом автоотчет по таблице ПРЕДМЕТ. После
создания отчета он выводится на экран в режиме предварительного просмотра (рис. 5.1).
42
Рис. 5.1. Отчет в режиме предварительного просмотра
Предварительный просмотр отчета производится так же, как и просмотр
документа в редакторе Word, с тем отличием, что для перехода на другие
страницы используются кнопки перехода, расположенные в нижней части
окна (рис. 5.1). На рис. 5.1 видны заголовок отчета, содержащий слово
"ПРЕДМЕТ" и область данных с названиями и содержимым полей. Если
43
прокрутить отчет до конца страницы, то будет виден нижний колонтитул,
содержащий дату создания отчета и номер страницы. В более сложных отчетах мы рассмотрим и другие области. Отчет можно просмотреть, щелкнув по
кнопке Просмотр вкладки Отчеты окна База данных.
Прежде чем печатать отчет, необходимо настроить параметры печати. Для
этого, находясь в режиме предварительного просмотра отчета или выделив
имя отчета на вкладке Отчеты окна База данных, необходимо выбрать команду Параметры страницы меню Файл и задать параметры страницы в
окне Параметры страницы (рис. 5.2).
Рис. 5.2. Окно Параметры страницы
Окно Параметры страницы содержит три вкладки. На вкладках Поля и
Страница задаются размеры полей, ориентация и размер бумаги. Вкладка
44
Столбцы (рис. 5.2) позволяет выводить отчет в несколько столбцов. Рекомендуется, установив параметры страницы, предварительно просмотреть отчет. Учтите, что ширина страницы может быть недостаточной для размещения указанного числа столбцов с заданными интервалами, о чем предупредит
Access (не помещающиеся данные будут обрезаны).
5.2. Создание отчета с помощью Мастера
Создадим с помощью основного Мастера отчетов отчет, содержащий
сведения об успеваемости школьников: названия дисциплин и оценки. Данные сгруппируем по классам и фамилиям учащихся и подсчитаем средний
балл каждого школьника и класса. Для создания отчета откроем окно База
данных, выберем вкладку Отчеты и нажмем кнопку Создать. В появившемся окне Новый отчет выберем Мастер отчетов (источник данных выбирать не надо) и щелкнем по кнопке OK. В первом окне Мастера отчетов
следует выбрать поля для отчета. Отметим, что таблицы, из которых выбираются поля, должны быть связаны, иначе Мастер не сможет построить отчет.
Следующее окно Мастера (рис. 5.3) показывает возможные группировки
данных в отчете.
Так как первыми были выбраны поля из таблицы УЧАЩИЙСЯ, которая
связана отношением "один-ко-многим" с остальными таблицами, Access
предложит сгруппировать данные по учащимся. В списке Выберите тип
представления данных можно выбрать другие способы группировки. Справа наглядно показывается вид получаемого отчета. Кнопка Вывести дополнительные сведения позволяет получить пояснения по группировке дан-
45
ных. Очевидно, что в нашем примере группировка по учащимся является
наиболее подходящей. Нажав кнопку Далее, переходим к окну дополнительной группировки (рис. 5.4).
Рис. 5.3. Окно выбора условий группировки
В списке полей этого окна выберем дополнительный уровень группировки
по полю Класс. Кнопки со стрелками вниз и вверх позволяют перемещать
дополнительный уровень группировки. Становится доступной также кнопка
Группировка. Нажав эту кнопку, попадаем в окно Интервалы группировки (рис. 5.5).
46
Рис. 5.4. Окно дополнительных условий группировки
Рис. 5.5. Окно Интервалы группировки
В списке Интервалы группировки можно задать группировку по полному значению дополнительного текстового поля группировки (Обычный) или
47
по 1 – 5 первым символам (рис. 5.5). Числовые поля можно группировать по
полному значению или по диапазонам значений с шагом 10, 50, 100, 500,
1000 и т. д. до 500 000. Для полей типа дата/время возможна группировка по
полным значениям, по годам, кварталам, месяцам, неделям, дням, часам,
минутам. Для нашего примера выберем группировку по полному шифру
класса и нажмем кнопку Далее в окне дополнительных условий группировки
(рис. 5.4).
Очередное окно (рис. 5.6) задает порядок сортировки в области данных
отчета (классы сортируются по умолчанию в порядке возрастания). Допускается выбор до четырех уровней сортировки. Кнопки справа от списка полей
позволяют изменить порядок сортировки. В рассматриваемом примере применим сортировку по алфавиту названий предметов. Далее нажмем кнопку
Итоги окна условий сортировки (рис. 5.6).
Рис. 5.6. Окно условий сортировки
48
В окне Итоги (рис. 5.7) зададим вывод среднего балла в областях примечаний групп отчета. Для этого к единственному числовому полю Оценка
применим функцию Avg. Это обеспечит вывод среднего балла для каждого
учащегося и целого класса. Можно одновременно задать подсчет суммы
(Sum), среднего значения (Avg), минимального (Min) и максимального значений (Max). При вычислении суммы можно установить флажок Вычислить
проценты, тогда наряду с суммами будут выводиться проценты, которые составляют эти суммы от общей суммы по отчету. В окне Итоги можно задать
вывод в отчете только итоговых значений (переключатель Только итоги).
Рис. 5.7. Окно Итоги
После выбора итоговой функции нажмем кнопку OK и в окне рис. 5.6
49
нажмем кнопку Далее. В окне вида макета для отчета (рис. 5.8) выберем вид
макета и ориентацию страницы.
Рис. 5.8. Окно вида макета для отчета
В окне можно посмотреть, как будет выглядеть отчет при выборе различных макетов. Выберем ступенчатый вид при книжной ориентации. Установим флажок Настроить ширину полей для размещения на одной странице, такая настройка рекомендуется для более компактного построения отчета.
Нажав кнопку Далее, переходим в окно выбора стиля оформления, в котором выберем Строгий стиль оформления (рис. 5.9).
50
Рис. 5.9. Окно выбора стиля оформления отчета
В последнем окне Мастера (рис. 5.10) задаем имя отчета УСПЕВАЕМОСТЬ, которое является и заголовком отчета. Выберем также опцию просмотреть отчет для предварительного просмотра отчета. Выбор опции изменить макет отчета позволяет сразу перейти в режим Конструктора для
корректировки отчета. Чтобы завершить создание отчета, нажмем кнопку
Готово.
51
Рис. 5.10. Окно задания имени отчета
Внешний вид получившегося отчета в режиме предварительного просмотра представлен на рис. 5.11. Если пролистать отчет, то на второй странице
можно увидеть итоги для 11Б класса. Отчет можно вывести на печать. При
выходе из режима предварительного просмотра отчет автоматически сохраняется.
52
Рис. 5.11. Отчет УСПЕВАЕМОСТЬ в режиме предварительного просмотра
53
5.3. Задания и контрольные вопросы
Задания
1. Используя базу данных ЖУРНАЛ, сформируйте все отчеты, описанные
в теоретической части раздела.
2. По индивидуальному заданию сформулируйте наиболее типичные отчеты для проектируемой базы данных, учитывая необходимость реализации всех рассмотренных в теоретической части видов отчетов.
3. Реализуйте типичные отчеты для проектируемой базы данных, проанализируйте правильность их выполнения.
Контрольные вопросы
1. Чем отличаются отчеты, сформированные Мастерами Автоотчет: в
столбец и Автоотчет: Ленточный?
2. Как задать вывод отчета на печать в несколько столбцов?
3. Как задаются уровни группировки в Мастере отчетов?
4. Что такое уровни группировки и как их можно задать для различных
типов полей?
5. Как сформировать с помощью Мастера отчет, содержащий суммарный балл каждого учащегося?
6. Как внедрить в отчет рисунок?
7. Каким образом можно задать фон отчета?
54
55
Список литературы
1. Боровиков В.В. Microsoft Access 2002. Программирование и разработка
баз данных и приложений. – СОЛОН-Р, 2002. – 560 с.
2. Харитонова И., Вольман Н. Программирование в Access 2002: учебный
курс. – СПб.: Питер, 2002. – 480 с.
3. Баркер С. Профессиональное программирование в Access 2002. – М.:
Вильямс, 2002. – 992 с.
4. Дженнингс Р. Использование Access 2002. – М.: Вильямс, 2002. –
1012 с.
5. Бекаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access 2002. –
СПб.: БХВ – Петербург, 2002. – 720 с.
6. Михеева В.Д., Харитонова И.А. Microsoft Access 2002. – СПб.: БХВ –
Петербург, 2002. – 1040 с.
7. Дейт К. Дж. Введение в системы баз данных, 6-е издание. – К.; М.;
СПб.: Издательский дом "Вильямс", 2000. – 848 с.
8. Хансен Г., Хансен Дж. Базы данных. Разработка и управление. – М.:
БИНОМ, 1999. – 704 с.
9. Теория экономических информационных систем: Методические указания к лабораторным работам / Сост. В. И. Горбаченко. – Пенза: Изд-во
Пенз. гос. ун-та, 1998. – 32 с.
56
Содержание
Ввeдeние
2
1. Знакомство с системой Access
3
2. Создание таблиц базы данных
5
2.1. Проектирование базы данных
5
2.2. Создание таблиц с использованием Конструктора
7
2.3. Задания и контрольные вопросы
13
3. Проектирование QBE-запросов
14
3.1. Простые запросы
14
3.2. Конструктор запросов
17
3.3. Вычисления в запросе
21
3.4. Параметрические запросы
24
3.5. Перекрестные запросы
27
3.6. Задания и контрольные вопросы
29
4. Создание форм
30
4.1. Автоформы
31
4.2. Создание формы с помощью Мастера форм
32
4.3. Создание составной формы
33
4.4. Создание диаграммы
35
4.5. Задания и контрольные вопросы
38
5. Разработка отчетов
39
57
5.1. Работа с простейшими отчетами
39
5.2. Создание отчета с помощью Мастера
42
5.3. Задания и контрольные вопросы
49
Список литературы
51
58
Download