Справочная информация
Существуют СУБД, ориентированные на программистов и ориентированные на конечного пользователя. Любые действия, выполняемые с базой данных, производятся на ЭВМ с помощью программ. СУБД, ориентированные на программистов, фактически являются системами программирования со своим специализированным языком, в среде которых программисты создают программы обработки баз данных. Затем с этими программами работают конечные пользователи. К числу СУБД такого типа относятся FoxPro, Paradox и др. СУБД Microsoft Access (MS Access) относится к системам, ориентированным на конечного пользователя. Она позволяет пользователю, не прибегая к программированию, легко выполнять основные действия с базой данных: создание, редактирование и манипулирование данными. MS Access работает в операционной среде Windows, может использоваться как на автономном ПК, так и в локальной компьютерной сети. С помощью Access создаются и эксплуатируются персональные базы данных, а также корпоративные БД с относительно небольшим объемом данных. Для создания крупных промышленных информационных систем MS Access не годится. Среда Access (см. рис.3) имеет интерфейс, характерный для Windows-приложений и включает в себя следующие составляющие: титульную строку с кнопками управления окном, главное меню, панель инструментов, рабочее поле и строку состояния. На рабочем поле устанавливается окно, соответствующее выбранному режиму работы. На рис.6 открыто окно, соответствующее основному режиму – режиму работы с базой данных, подрежиму работы с таблицей. Как и для любого приложения, в Access существует иерархия режимов, о которой будет сказано далее.
Рис.3. Среда MS Access с окном базы данных на рабочем поле
Данные, с которыми работает СУБД, также могут быть выстроены в иерархическую последовательность. На верхнем уровне такой иерархии находятся основные объекты MS Access. К ним относятся: таблицы, запросы, формы, отчеты, макросы и модули. Таблица – это главный тип объекта. Все остальные разновидности объектов являются производными от таблицы. Элементы данных, составляющих таблицу - это записи и поля. Свойства элементов таблицы определяются типами, форматами полей и некоторыми другими параметрами. Форма – это вспомогательный объект, без которого, в принципе, можно обойтись. Формы создаются для повышения удобства пользователя при просмотре, вводе и редактировании данных в таблицы. Запрос – результат обращения пользователя к СУБД для поиска данных, добавления, удаления и обновления записей. Результат поиска (выборки) данных представляется в табличном виде. Термином «запрос» называют также сами команды обращения к СУБД. Отчет – это документ, предназначенный для вывода на печать, сформированный на основании информации, содержащейся в таблицах и запросах. Макросы и модули являются объектами повышенной сложности и при начальном знакомстве с MS Access могут не использоваться. Еще одним особым видом данных является схема – описание структуры связей в многотабличной базе данных.
Режимы работы СУБД Access многообразны. Так же, как и для других приложений Windows, иерархия режимов реализована через главное меню. Есть режимы общего характера: работа с файлами (меню Файл); работа с буфером обмена (меню Правка); режим настройки среды (меню Вид); справочный режим (меню Справка). Однако основным режимом можно назвать режим работы с базой данных. Он устанавливается после выполнения команды [ Файл –Создать базу данных ] или [ Файл – Открыть базу данных ]. Поскольку база данных храниться в файле, то в первом случае система потребует задать имя и место хранения файла, а во втором случае – указать на существующий файл с базой данных. После раскрытия на экране окна базы данных (рис.3) становятся доступными подрежимы работы с основными объектами Access: таблицами, запросами, формами и отчетами, которые инициируются открытием соответствующих закладок в окне. В каждом из этих режимов открывается выбор из трех командных кнопок: открыть, конструктор, создать. Если соответствующий объект еще не создавался, то активной является только команда создать. Если объект в окне выделен какой-то из существующих объектов, то активными будут также команды открыть и конструктор. Команда открыть позволяет просмотреть объект, а команда конструктор – просмотреть или изменить структуру объекта. Команды отдаются через главное меню, через кнопки на панели инструментов или в окнах, через контекстное меню (по правой кнопке мыши). Набор активных команд, как правило, носит контекстный характер, т.е. зависит от текущего режима работы. Наиболее важные команды вынесены на панель инструментов.
ЗАДАНИЕ 1 1. Запустить на исполнение MS Access. 2. Открыть базу данных «ВИДЕОТЕКА» (путь и файл, в котором хранится БД, будет указан учителем). 3. Установить режим работы с таблицей (закладка «Таблицы»). Открыть таблицу «Кассеты»: команда Открыть. Изучить содержимое таблицы. 4. Закрыть таблицу. Перейти в режим работы с конструктором таблицы: команда Конструктор. 5. Последовательно перемещаясь от поля к полю, познакомиться со свойствами полей: типами, форматами, описаниями. 6. Закрыть конструктор. ЗАДАНИЕ 2 1. Перейти в режим работы с формами (закладка «Формы»). 2. Открыть форму «Кассеты». 3. Через открывшуюся форму просмотреть последовательность записей. Выполнить переход на первую и последнюю запись, на запись с указанным номером. 4. Добавить в конец таблицы еще одну запись о новой кассете: 21, «Сибирский цирюльник», Россия, 180, мелодрама, 25.12.99, выдана 5. Закрыть форму. ЗАДАНИЕ 3 В этом задании выполняются действия на сортировку записей в полной таблице. 1. Отсортировать таблицу в алфавитном порядке названий фильмов (ключ сортировки – поле «Фильм»). Для этого: Þ выделить столбец «Фильм» (щелкнуть по заголовку) Þ через контекстное меню или кнопку на панели инструментов выполнить сортировку. 2. Отсортировать таблицу по двум ключам: «Страна» и «Время» в порядке убывания. Для этого: Þ выделить два столбца: «Страна» и «Время» (щелкнуть по заголовкам при нажатой клавише < Shift>) Þ через контекстное меню или кнопку на панели инструментов выполнить сортировку. Обратите внимание на результат: записи с одинаковым значением поля «Страна» расположились в порядке убывания поля «Время». Здесь «Страна» называется первичным, а «Время» - вторичным ключом сортировки.
ЗАДАНИЕ 4 В этом задании выполняются действия, связанные с отбором записей из таблицы с помощью фильтра. 1. Открыть таблицу «Кассеты». 2. С помощью фильтра отобрать все кассеты, выданные клиентам. Для этого: Þ отдать команду Записи Þ Фильтр Þ Изменить фильтр или через кнопку Þ в появившемся шаблоне в поле «Выдана» щелчком выставить флажок (галочку) Þ отдать команду Фильтр Þ Применить фильтр или через кнопку 3. Аналогично предыдущему отобрать все не выданные кассеты. 4. Отобрать все фильмы, созданные в США.
ПРИЛОЖЕНИЕ База данных «ВИДЕОТЕКА»
Структура таблицы
Таблица базы данных
Работа 2.2. Создание базы данных «Классный журнал»
Цель работы: - освоение приемов работы с MS Access в процессе создания спроектированной базы данных; Используемое программное средство: MS Access.
1. Открыть файл для новой базы данных: Þ Файл Þ Создать БД Þ Новая БД Þ в файловом окне указать путь и имя файла: «Классный журнал»
На экране откроется окно: 2. Создать таблицу УЧЕНИКИ: Þ в режиме Таблицы выбирается команда Создание таблицы в режиме конструктора Þ в открывшемся окне конструктора таблиц для всех полей таблицы УЧЕНИКИ указать имена, типы и форматы полей: УЧЕНИКИ
3. Назначить главный ключ таблицы: Þ установить указатель мыши на поле НОМЕР_УЧ, Þ выполнить команду Правка – Ключевое поле или нажать на кнопку, изображающую ключ на панели инструментов 4. Сохранить таблицу с именем УЧЕНИКИ. Окно конструктора таблиц показано на рисунке
5. Создать, назначить главный ключ и сохранить таблицу ПРЕДМЕТЫ следующей структуры:
ПРЕДМЕТЫ
6. Создать, назначить главный ключ и сохранить таблицу ОЦЕНКИ:
ОЦЕНКИ
При назначении составного ключа одновременно выделяются поля НОМЕР_УЧ, НАЗВ_ПРЕДМЕТА и ДАТА. Выделение производится с помощью мыши при нажатой клавише Shift. Затем выполняется команда Правка – Ключевое поле. 7. Связать таблицы УЧЕНИКИ и ОЦЕНКИ. Для этого: Þ выполнить команду Сервис - Схема данных; Откроется окно «Добавление таблицы»; Þ выделить название таблицы «Ученики» и выполнить команду Добавить Þ выделить название таблицы «Оценки» и выполнить команду Добавить Þ выполнить команду Закрыть. В окне «Схема данных» появятся образы двух таблиц Þ с помощью мыши, перетащить ключевое поле НОМЕР_УЧ из образа таблицы «Ученики» на это же поле в образе таблицы «Оценки» Откроется окно «Связи». Последовательно активизировать флажки «Обеспечить целостность данных», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей». Тип связи «один-ко-многим» будет выбран автоматически.
8. Связать таблицы ПРЕДМЕТЫ и ОЦЕНКИ, действуя аналогично предыдущему этапу. 9. Выполнить команду Þ Создать. Схема готова! В окне «Схема данных» будет иметь следующий вид: 10. Ввести данные в таблицу УЧЕНИКИ. Для этого:
Þ в режиме «Таблицы» выделить название таблицы УЧЕНИКИ; Þ отдать команду Открыть; На экране появится бланк таблицы, содержащей заголовки полей и пустую строку Þ ввести данные: 11. Аналогично ввести данные в таблицу ПРЕДМЕТЫ:
12. Ввести данные в таблицу ОЦЕНКИ
13. Создать форму для просмотра и ввода в таблице УЧЕНИКИ. Для этого:
Þ перейти на вкладку «Формы» Þ Создать Þ выбрать способ создания формы: «Мастер форм» Þ выбрать таблицу УЧЕНИКИ Þ переместить все поля таблицы из окна «Доступные поля» в окно «Выбранные поля» Þ Далее Þ включить радиокнопку «В один столбец» Þ Далее Þ выбрать стиль формы «Стандартный» Þ Далее Þ задать имя формы: оставить имя УЧЕНИКИ; включить радиокнопку «Открытие формы для просмотра и ввода данных» Þ Готово.
14. Сохранить базу данных по команде Файл – Сохранить.
Работа 2.3. Реализация запросов с помощью конструктора
Цель работы: освоение приемов реализации запросов на выборку с помощью конструктора запросов MS Access. Используемые программные средства: MS Access.
Основные понятия Конструктор запросов - высокоуровневое средство формирования запросов в СУБД MS Access, который можно рассматривать как пользовательскую оболочку к языку запросов SQL. Для формирования запроса в конструкторе используется табличная форма. Окно конструктора запросов представлено на следующем рисунке:
Поле схемы запроса – верхняя часть окна конструктора запросов, куда помещаются схемы таблиц, данные из которых используются в запросе Бланк запроса – таблица в нижней части окна. Столбцы относятся к полям, участвующим в формировании запроса. В первой строке указываются имена всех этих полей. Вторая строка – имя таблицы, из которой извлекается соответствующее поле. Третья строка – признак сортировки. Используется лишь для ключей сортировки. Флажки в четвертой строке отмечают признак вывода данного поля на экран при выполнении запроса. В следующих строках формируется условие отбора.
ЗАДАНИЕ 1 Получить список учеников класса, содержащий номер в журнале, фамилию и имя каждого ученика. Команда выборки на учебном языке запросов: .выбрать УЧЕНИКИ.НОМЕР_УЧ, УЧЕНИКИ.ФАМИЛИЯ, УЧЕНИКИ.ИМЯ сортировать УЧЕНИКИ.НОМЕР_УЧ по возрастанию
1. Перейти к работе с конструктором запросов: Þ выбрать в списке объектов «Запросы» Þ выбрать режим «Создание запроса в режиме конструктора» Þ отдать команду Создать 2. В поле схемы запроса поместить таблицу «Ученики»: Þ в окне «Добавление таблицы», вкладке «Таблицы» выбрать название таблицы «Ученики» Þ выполнить команду Добавить - Закрыть 3. Заполнить бланк запроса Þ внести в бланк данные, показанные на предыдущем рисунке. 4. Исполнить запрос: Þ выполнить команду Запрос - Запуск. На экране появится таблица следующего вида:
1. Сохранить запрос с именем «Список учеников»
ЗАДАНИЕ 2 Вывести список всех оценок, полученных Волеговым Кириллом по всем предметам. Указать даты получения оценок.
Команда на учебном языке запросов: .выбрать ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, ОЦЕНКИ.ДАТА, ОЦЕНКИ.ОЦЕНКА где ОЦЕНКИ.НОМЕР_УЧ=5 сортировать ОЦЕНКИ.НАЗВ_ПРЕДМЕТА по возрастанию, ОЦЕНКИ.ДАТА по возрастанию 1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:
2. Исполнить запрос. Результат будет следующим:
3. Сохранить запрос с именем «Оценки Волегова»
ЗАДАНИЕ 3 Получить список всех оценок, полученных по алгебре всеми учениками класса. Отсортировать по фамилиям учеников и по датам получения оценок.
Команда на учебном языке запросов: .выбрать УЧЕНИКИ.ФАМИЛИЯ, ОЦЕНКИ.ДАТА, ОЦЕНКИ.ОЦЕНКА где ОЦЕНКИ.НАЗВ_ПРЕДМЕТА=”Алгебра” сортировать УЧЕНИКИ.ФАМИЛИЯ по возрастанию, ОЦЕНКИ.ДАТА по возрастанию 1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:
2. Исполнить запрос. Результатом будет следующая таблица:
3. Сохранить запрос с именем «Оценки по алгебре»
ЗАДАНИЕ 4
Вывести список всех двоек, полученных учениками класса, с указанием фамилии ученика, даты получения двойки, предмета и учителя. Отсортировать по фамилиям учеников
Команда на учебном языке запросов: .выбрать УЧЕНИКИ.ФАМИЛИЯ, ОЦЕНКИ.ДАТА, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, ПРЕДМЕТЫ_УЧИТЕЛЬ где ОЦЕНКИ.ОЦЕНКА=2 сортировать УЧЕНИКИ.ФАМИЛИЯ по возрастанию Для реализации этого запроса используются все три связанные таблицы.
1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:
2. Исполнить запрос. Результатом будет следующая таблица:
3. Сохранить запрос с именем «Двоечники»
ЗАДАНИЕ 5 Вывести список всех учеников класса получивших пятерки по алгебре и по истории, указав фамилию, имя, предмет и дату получения оценки
Команда на учебном языке запросов: .выбрать УЧЕНИКИ.ФАМИЛИЯ, УЧЕНИКИ.ИМЯ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, ОЦЕНКИ.ДАТА где (ОЦЕНКИ.НАЗВ_ПРЕДМЕТА=”Алгебра” или ОЦЕНКИ.НАЗВ_ПРЕДМЕТА=”История”) и ОЦЕНКИ.ОЦЕНКА=5 сортировать УЧЕНИКИ.ФАМИЛИЯ по возрастанию
1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:
Обратите внимание на то, как реализовано сложное логическое выражение в условии отбора. Условия отбора, записанные в одной строке, объединяются операцией «и». Условия во второй строке объединяются с условием первой строки операцией «или». Такая реализация условия отбора в этом запросе равносильна раскрытию скобок в логическом выражении в команде на учебном языке: (НАЗВ_ПРЕДМЕТА=”Алгебра” или НАЗВ_ПРЕДМЕТА=”История”) и ОЦЕНКА = 5 тождественно выражению: НАЗВ_ПРЕДМЕТА=”Алгебра” и ОЦЕНКА = 5 или НАЗВ_ПРЕДМЕТА=”История” и ОЦЕНКА = 5
2. Исполнить запрос. Результатом будет следующая таблица:
3. Сохранить запрос с именем «Пятерки по алгебре и истории»
ЗАДАНИЕ 6 Вычислить средние оценки для всех учеников по всем предметам. Вывести фамилию ученика, название предмета, среднюю оценку, ФИО учителя по этому предмету.
Команда на учебном языке запросов: .выбрать УЧЕНИКИ.ФАМ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, Avg(ОЦЕНКИ.ОЦЕНКА), ПРЕДМЕТЫ.УЧИТЕЛЬ группировать УЧЕНИКИ.ФАМ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, ПРЕДМЕТЫ.УЧИТЕЛЬ сортировать УЧЕНИКИ.ФАМ по возрастанию, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА по возрастанию
1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:
Для того чтобы в конструкторе запросов появилась строка «Групповая операция», нужно через главное меню окна Access отдать команду Вид - Групповые операции. Во всех полях новой строки установится слово «Группировка». Функция вычисления среднего Avg выбирается из списка, который открывается после щелчка по кнопке в этой строке в ячейке для поля ОЦЕНКА.
2. Исполнить запрос. Результатом будет следующая таблица: 3. Сохранить запрос с именем «Средние оценки»
ЗАДАНИЕ 7 Получить список учеников, имеющих среднюю оценку по алгебре выше четырех. Вывести фамилию ученика и среднюю оценку по алгебре. Отсортировать список по фамилиям
Команда на учебном языке запросов:
.выбрать УЧЕНИКИ.ФАМ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, Avg(ОЦЕНКИ.ОЦЕНКА) группировать УЧЕНИКИ.ФАМ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА где ОЦЕНКИ.НАЗВ_ПРЕДМЕТА = “ Алгебра ” и Avg(ОЦЕНКИ.ОЦЕНКА) > 4 сортировать УЧЕНИКИ.ФАМ по возрастанию
1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:
2. Исполнить запрос. Результатом будет следующая таблица:
3. Сохранить запрос с именем «Средние оценки больше 4»
|