Выполнение лабораторной работы

1. Создать на диске свой каталог.

2. Запустить СУБД Access.

3. Создать новую БД Фирма.

4. Создать в ней таблицу Служащий, содержащую следующие поля:

· ФИО служащего (20 символов);

· отдел его работы (10 символов);

· должность (15 символов);

· дата рождения (средний формат);

· пол (1 символ);

· оклад (денежный);

· семейное положение (10 символов);

· количество детей (байт).

5. Установить требуемый тип полей и их названия. Поле, содержащее ФИО служащего, определить как ключевое.

6. Занести в таблицу 10 записей. Попробовать занести в таблицу двух служащих с одинаковыми ФИО и посмотреть результат.

7. Результат работы показать преподавателю.

8. Создать таблицу ОТДЕЛ, включающую следующие поля:

· название отела. Из него в дальнейшем будут выбираться значения поля Отдел таблицы СЛУЖАЩИЙ;

· начальник отдела (текстовое 20);

· телефон отдела (текстовое 8. маска вида 27-13-56);

· аудитория (целый).

Заполнить таблицу 5-ю записями.

9. Создать таблицу ДОЛЖНОСТЬ, включающую следующие поля:

· названия должностей. Из него в дальнейшем будут выбираться значения поля Должность таблицы СЛУЖАЩИЙ;

· образование, соответствующее данной должности (текстовое 10. Представляет перечень: высшее, незаконченное высшее, среднее специальное, среднее).

Заполнить таблицу 5-ю записями.

10. Связать поля Отдел и Должность таблицы СЛУЖАЩИЙ с однотипными полями таблиц ОТДЕЛ и ДОЛЖНОСТЬ, используя «Мастер подстановок», отредактировав типы полей «Отдел его работы» и «Должность».

11. Дополнить таблицу СЛУЖАЩИЙ 10-ю записями. Результат показать преподавателю.


Лабораторная работа № 6 Фильтрация, простые запросы и отчеты в СУБД Access
  Цель работы

Цель работы: изучение и закрепление на практике методов выборки данных из таблиц БД путем фильтрации. Изучение простых запросов. Изучение и закрепление на практике средств и методов создания отчетов в среде СУБД Access.

& Теоретический материал

В СУБД Access предусмотрено несколько механизмов выборки необходимой информации из таблиц БД. Простейшим из них является фильтрация, направленная на отбор группы записей, удовлетворяющих некоторому условию. В СУБД Access существует несколько разновидностей фильтров (пункты меню «Главная» - «Фильтр»):

Фильтр по выделенному. В режиме просмотра таблицы в некотором поле выделяется значение, которое является условием отбора, например, название факультета в таблице описания студентов вуза. Далее нажимается пиктограмма Фильтр по выделенному на панели инструментов. Все записи таблицы, содержащие выделенное значение, отобразятся на экране. Остальные будут скрыты.

Удаление фильтра осуществляется отжатием утопленной кнопки (Удалить фильтр).

В данном режиме можно произвести фильтрацию только по части значения. Для этого надо её выделить (например, первые буквы некоторого слова) и нажать кнопку Фильтр по выделенному.

Фильтр по исключенному выделенному. Выделяется значение, используемое в качестве критерия фильтрации, и нажатием правой кнопки мыши вызывается контекстное меню, в котором выбирается опция Исключить выделенное.

Фильтр по сложному критерию. При фильтрации условия отбора записей могут включать логические операции И и ИЛИ. Для реализации операции ИЛИ необходимо произвести фильтрацию по первому значению, затем нажать кнопку Изменить фильтр на панели инструментов, что приведет к открытию окна диалога по настройке фильтра. Внизу окна находятся ярлыки вкладок. На первой из них уже указано в качестве отбора первое значение. Необходимо перейти на вкладку ИЛИ и, нажав кнопку раскрытия, выбрать следующее значение. Далее нажимается кнопка Применить фильтр .Очевидно, что можно выбрать несколько значений, связанных операцией ИЛИ.

Операция И реализуется между значениями различных полей, например, надо выбрать из таблицы СТУДЕНТ женатых студентов определенного факультета. Для этого производят фильтрацию по первому значению, например, факультету, а затем результат фильтруется по второму значению, например, семейному положению.

Вопросы, которые формируются средствами СУБД к одной или нескольким таблицам, называются запросами.

Запросы позволяют:

формировать сложные критерии для выбора записей из одной или нескольких таблиц;

указывать поля, которые должны быть отображены для выбранных записей;

редактировать группы записей, удовлетворяющих определенным критериям;

выполнять вычисления с использованием выбранных данных.

Очевидно, что запросы перекрывают возможности фильтрации, т.е. являются более мощным инструментом обработки данных в БД.

В СУБД Paradox используется методология «Запрос по образцу» (Query by Example или QBE), включающая форму (бланк) запроса и специальный язык для её заполнения. Переход к формированию запроса реализуется путем перехода на вкладку "Создание" конкретной БД и нажатия кнопки «Конструктор запросов». На экране появляется бланк запроса (рис. 6.1), представляющий набор пустых столбцов, каждый из которых содержит фиксированный набор ячеек. Операции работы с бланком запроса перечислены на ленте. По умолчанию предлагается вид запроса – «Выборка».

Ячейки первой строки бланка предназначены для отображения имен полей, включаемых в выборку, второй - имен таблиц, из которых выбираются поля (т.е. запрос может быть обращен сразу к нескольким таблицам), третьей - порядка сортировки полей в выборке (можно выбрать сортировку по возрастанию, по убыванию или в произвольном порядке), четвертой - разрешения на вывод на экран данного поля путем установки или снятия мышью соответствующего флажка Ö, пятой - установки условий (критериев) на вывод строк соответствующих полей. Для этих же целей служит и последняя строка. Над строкой Поле находится зона выделения столбца.

Рис. 6.1

Исходно бланк запроса пуст. Для занесения конкретного поля в бланк необходимо:

- двойным щелчком левой клавиши мыши поместить его в первый свободный столбец бланка,

или

- перетащить его мышью (при нажатой левой клавише мыши).

Полная очистка бланка при его переформировании может быть выполнена командой главного меню Правка ® Очистить. Очистка конкретного столбца проводиться путем его выделения щелчком левой клавиши мыши в зоне выделения и нажатия клавиши Delete на клавиатуре или нажатия кнопки (Удалить в буфер)на панели инструментов.

Запуск запроса на выполнение осуществляется командами главного меню Запрос ® Запуск или нажатием кнопки на панели инструментов.

Сохранение запроса для дальнейшего использования производится командами главного меню Файл ® Сохранить как/Экспорт или нажатием кнопки на панели инструментов (Сохранить). Далее СУБД запросит имя сохраняемого запроса. Целесообразно, чтобы оно имело смысловую нагрузку, что облегчит дальнейшее использование запроса.

Самое главное в запросе - возможность использования критериев выборки, которые вводятся в строку Условие отбора. Можно выделить следующие типы запросов на основе критериев выборки:

Выборка по строгому совпадению. В строку Условие отбора для определенного поля вводится одно из значений, существующих в таблице. Например, название конкретного товара или название фирмы, города.

Данные запросы можно параметризовать, т.е. вводить условия отбора в виде параметра при каждом запуске запроса, что устраняет необходимость предварительно его модификации. Для параметризации необходимо в строке Условие отбора вместо самого условия ввести текст приглашения на его ввод по формату

[<текст приглашения>].

При запуске параметризованного запроса появляется диалоговое окно (рис. 6.2), в котором пользователь должен ввести собственно условие отбора и нажать клавишу ОК.

Рис. 6.2

Выборка по строгому несовпадению. В этом случае в выборку отбираются все записи таблицы, кроме записей, содержащих значение, указанное в строке Условие отбора. Для реализации данного запроса перед значением вводится префикс Not или <>. Например, Not "МТФ" в поле Факультет запроса к таблице СТУДЕНТ приведет к выборке всех студентов вуза, кроме студентов МТФ.

Выборка по неточному совпадению. Для выборки записей в условиях неполноты знаний о требуемых значениях используется оператор Like <условие>. Само <условие> образуется следующими подстановочными символами:

·? - любой один символ;

· * - любое количество символов (0 - ¥);

· # - любая одна цифра;

· [список_символов] - любой символ из списка;

· [!список_символов] - любой символ, не входящий в список;

В списке можно указывать сразу диапазон символов, Например, [Г-Л] или [г-лГ-Л].

Примеры использования оператора Like в поле ФИО таблицы СТУДЕНТ:

Like?????????? - выбираются все студенты, ФИО которых содержит 10 символов;

Like "В?????????" - выбираются все студенты, ФИО которых содержит 10 символов и начинается на букву "В";

Like "В*" - выбираются все студенты, ФИО которых начинается на букву "В". Длина ФИО произвольная;

Like "[ВД]*" - выбираются все студенты, ФИО которых начинается на буквы "В" или "Д". Длина ФИО произвольная;

Like "[В-М]*" - выбираются все студенты, ФИО которых начинается на буквы от "В" до "М". Длина ФИО произвольная.

Выборка по диапазону. Для формирования данных условий выбора используются операторы сравнения >, >=, <, <= и <>. Операции сравнения могут связываться логическими операциями And (И) и Or (ИЛИ). Для этих же целей используется оператор диапазона Between <нижнее_значение> and < верхнее_значение >. Например, выбор книг стоимостью от 100 до 200 рублей может быть реализован через ввод в запросе условия в поле Стоимость в виде >=100 and <=200 или Between 100 and 200.

Перечень значений в условии выборки можно задать и оператором In (значение, значение,...). Например, выбор студентов факультетов МТФ или ФАПУ можно реализовать, указав в поле Факультет запроса условие In ("МТФ", "ФАПУ"). Это же условие можно записать и через операцию ИЛИ: "МТФ" or "ФАПУ". Также можно указать одно название факультета в строке Условие отбора (см. рис. 3.1), а второе в следующей строке или. Число строк или не ограничено.

Для выбора записей с пустыми значениями в некотором поле надо в соответствующем поле бланка запроса указать оператор Is Null. Наоборот, записи с непустыми значениями в данном поле выбираются по оператору Is not Null.

В выражениях отбора также можно использовать знаки математических операций +, -, /, * и неограниченное число круглых скобок. Сложные выражения в условиях отбора могут формироваться с помощью соответствующего построителя, который вызывается кнопкой на панели инструментов.

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

<Название_формируемого_поля>:<выражение>.

В <выражении> можно использовать знаки арифметических операций, круглые скобки и имена полей в []. Например, стоимость партии можно вычислить по выражению

Стоимость партии:[количество товара]*[стоимость единицы товара].

Если используется поле другой таблицы, то в префиксе через! указывается имя данной таблицы. Например

Стоимость партии:[Товар]![количество товара]*[стоимость единицы товара].

6. Запрос с групповыми операциями. Рассмотренные запросы анализируют отдельные записи таблицы. Вместе с тем, СУБД Access позволяет находить интегральные показатели для групп записей в таблице. Каждая такая группа характеризуется одинаковым значением по какому-то полю, например, одинаковым названием факультета или семейным положением. Для перехода в данный режим запросов необходимо в панели инструментов нажать клавишу Групповые операции , что приведет к появлению в бланке запроса новой второй строки с одноименным названием. В ячейках данной строки указывается или режим группировки по некоторому поляю (опция Группировка), или название групповой операции:

· Sum - сумма значений

· Avg - среднее значение по данному полю для всей группы;

· Count - число записей в данной группе;

· Max -максимальное значение поля в каждой группе;

· Min -минимальное значение поля в каждой группе;

· First -первое значение данного поля в каждой группе;

· Last -последнее значение данного поля в каждой группе и др.

Опции выбора вызываются нажатием кнопки раскрытия в требуемой ячейке.

При запуске запроса СУБД разбивает таблицу на группы, число которых равно числу существующих значений в группируемом поле, и реализует для каждой группы требуемую операцию, т.е. число строк в выборке равно числу групп.

Отчет – это документированный результат анализа информации, хранящейся в БД. Он предназначен, прежде всего, для печати и позволяет:

- снабдить результаты анализа пояснительной информацией (заголовком-названием, названием фирмы, датой создания отчета, номерами страниц, выводами и т.п.);

- ввести пояснительную графику (логотип фирмы, диаграммы и т.д.);

- разбить анализируемые данные по группам;

- производить вычисления по записям и итоговые (для всего отчета, отдель-ных групп, страниц и т.д.).

- Существует несколько разновидностей отчетов:

- в столбец;

- ленточный;

- почтовые наклейки и др.

Создать отчет можно:

- нажатием кнопки на панели инструментов Новый объект и выбором опции Автоотчет;

- переходом на вкладку Отчеты БД и нажатием кнопки Создать.

Во втором случае СУБД предлагает набор средств для создания отчетов, наиболее универсальным из которых является конструктор. По своим возможностям и структуре он аналогичен конструктору формуляров, т.е. включает бланк формируемого отчета и панель инструментов (см. рис. 6.3).

Поле бланка разбито на несколько областей:

- заголовок отчета;

- верхний колонтитул;

- область данных;

- нижний колонтитул;

- примечание отчета.

Рис. 6.3

Содержимое заголовка и примечания отчета выводится (печатается) один раз, поэтому в них целесообразно включать разовую информацию: название отчета, название фирмы, её логотип, дату формирования отчета, итоговые показатели по всему отчету и другую служебную информацию.

В верхнем и нижнем колонтитулах указывается информация, отображаемая на каждой странице печатаемого отчета: номера страниц, дата и время печати, повторение названия фирмы или отчета и т.п. Можно также здесь рассчитывать итоговые показатели по страницам.

Содержание области данных в отчете отображается для каждой записи источника информации (таблицы или запроса).

Панель инструментов конструктора отчетов практически полностью совпадает с аналогичной панелью конструктора формуляров, т.е. не требует детального рассмотрения.

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

Порядок сортировки
Поле/выражение
Для задания группировки необходимо вызвать щелчком правой клавиши мыши в свободном месте бланка отчета вызвать контекстное меню и выбрать опцию Сортировка и группировка или нажать клавишу на панели инструментов. В любом случае произведенные действия вызовут появление соответствующего окна (рис. 6.4), в котором указываются:


Рис. 6.4

· поле или выражение, по которому информация в отчете должна быть разбита по группам;

· порядок сортировки внутри группы (по возрастанию или убыванию);

· параметры группировки (например, необходимость шапки и/или примечания группы, интервал и т.п.).

Значения интервала группировки зависят от типа используемого для этих целей поля или выражения: например, для полей типа Дата/время используются интервалы вида:

· год;

· квартал;

· месяц;

· неделя;

· день;

· час;

· минута;

· каждое отдельное значение.

Текстовые поля можно группировать по количеству первых символов, число которых указывается в свойствах группы.

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

=[Количество_товара]*[Стоимость_1_товара]

Для расчета итоговых значений в примечаниях отчета и/или групп необходимо создать там новое поле и на вкладке Данные его свойств ввести выражение вида

=<Операция>(<Аргумент>)

Список групповых операций приводился ранее, в лабораторной работе № 6. Аргументом является выражение или название поля. Например, если суммируются все стоимости партий товара, то можно использовать выражение вида

=Sum([Количество_товара]*[Стоимость_1_товара])

или

=Sum(Поле23),

где Поле23 - название поля, в котором вычисляются стоимости каждой партии. Его можно увидеть на вкладке Другие свойств вычисляемого поля.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: