Работа с базами данных

Реализация запросов СУБД

Показывать лекцию целиком

Цель работы

Освоение приемов работы с Microsoft Access, создание простых и сложных запросов.

Подготовка к работе

Изучить литературу о СУБД Microsoft Access, приемах работы и создание простых и сложных запросов.

Контрольные вопросы

  • Создание запросов.
  • Простые запросы.
  • Сложные запросы.
  • Применение операторов "or", "and", between".
  • Запрос на удаление.
  • Использование групповых операций.
  • Использование вычисляемых полей.
  • I Реализация простых и сложных запросов к базе данных "Приемная комиссия"

  • Построить и выполнить запрос к базе данных "Приемная комиссия": получить список всех экзаменов на всех факультетах. Список отсортировать в алфавитном порядке названий факультетов. Для выполнения достаточно одной таблицы ФАКУЛЬТЕТЫ.
  • открыть вкладку Создание, в открывшемся панели выбрать Конструктор запросов;
  • в поле схемы запроса поместить таблицу ФАКУЛЬТЕТЫ. Для этого в окне Добавление таблицы, вкладке Таблицы выбрать название таблицы ФАКУЛЬТЕТЫ, щелкнуть на кнопках Добавить и Закрыть. Запрос сохранить под именем "Список экзаменов";
  • заполнить бланк запроса с помощью контекстного меню в верхней половине бланка открываются те таблицы, к которым обращён запрос. В этих таблицах дважды щёлкают на названиях тех полей, которые должны войти в результирующую таблицу. При этом автоматически заполняются столбцы в нижней части бланка. Сформировав структуру запроса, его закрывают;
  • для сортировки данных в запросе следует щелкнуть на строке Сортировка. Появляется кнопка раскрывающегося списка, в котором можно выбрать метод сортировки по возрастанию или по убыванию;
  • возможна многоуровневая сортировка (сразу по нескольким полям), но в строгой очерёдности слева на право. Поля надо располагать с учётом будущей сортировки, при необходимости перетаскивая их мышью на соответствующие места;
  • управление отображением данных осуществляется установкой (или сбросом) флажка ).
  • (рис 11.1)
  • Сменить заголовки граф запроса. Заголовками граф таблицы являются имена полей. Имеется возможность замены их на любые другие надписи, при этом имена полей в БД не изменятся. Делается это через параметры ). (рис 11.2) После этого вернуться к запросу "). Обратите внимание, что заголовки меняются только в просмотровом режиме в конструкторе они остаются прежними. (рис 11.3)
  • Выведите список всех специальностей с указанием факультета и плана приема. Отсортировать список в алфавитном порядке по двум ключам: названию факультета (первый ключ) и названию специальности (второй ключ). Напомним, что сортировка сначала происходит по первому ключу и, в случае совпадения у нескольких записей его значения, они упорядочиваются по второму.
  • Построить запрос в конструкторе запросов в виде, показанном на рисунке (рис 11.4). (рис 11.4) Обратите внимание, мы можем быстро просмотреть запрос с помощью кнопки выполнить
  • Исполнить запрос. В результате должна получиться следующая таблица (рис 11.5). (рис 11.5)
  • Получить список всех абитуриентов, живущих в Самаре и имеющих медали. В списке указать фамилию, номер школы и факультет на который они поступают. Отсортировать список в алфавитном порядке фамилий.
  • Для реализации данного запроса информация берется из трех таблиц АНКЕТЫ, ФАКУЛЬТЕТЫ, АБИТУРИЕНТЫ.
  • В конструкторе запросов это будет выглядеть так (см. рис 11.6) (рис 11.6) Обратите внимание на то, что, в запросе используются поля только из трех таблиц АНКЕТЫ, ФАКУЛЬТЕТЫ и АБИТУРИЕНТЫ, в реализации запроса участвует таблица СПЕЦИАЛЬНОСТИ, т.к. таблица АБИТУРИЕНТЫ связана с таблицей ФАКУЛЬТЕТЫ через таблицу СПЕЦИАЛЬНОСТИ.

    Результатом запроса должна быть следующая таблица (рис 11.7):

    (рис 11.7)

    Самостоятельно:

  • Получить список всех абитуриентов, поступающих в ВУЗ имеющих производственный стаж. Указать фамилию, город, специальность, стаж и факультет на который поступают. Отсортировать фамилии по возрастанию.
  • Получить список абитуриентов, поступающих в ВУЗ имеющих производственный стаж и медаль. Указать фамилию, специальность и факультет на который поступают. Отсортировать фамилии по возрастанию.
  • II Реализация запросов на удаление, применение операторов or и and. Использование вычисляемых полей. Использование групповых операций

  • Удалите из таблицы ОЦЕНКИ сведения об абитуриентах, получивших двойки или не явившихся на экзамены. Для этой цели будет использоваться второй вид запроса: запрос на удаление. Алгоритм выполнения запроса.
  • перейти на вкладку Создать, далее Конструктор запросов;
  • Добавить таблицу ОЦЕНКИ;
  • установить тип запроса (рис 11.8); (рис 11.8)
  • Получить список всех абитуриентов, сдавших физику с оценкой хорошо и отлично.
  • В данном запросе следует применить оператор ). (рис 11.9) Как вы могли заметить в поле . (рис 11.10)
  • Выведите таблицу со значениями суммы баллов, включив в неё регистрационный номер, фамилию и сумму баллов. Отсортировать по убыванию суммы:
  • В данном запросе используется вычисляемое поле СУММА;
  • Данные запрос в конструкторе будет выглядеть следующим образом (рис 11.11). (рис 11.11) Выражение можно вводить, как непосредственно в ячейке конструктора, так и воспользовавшись построителем выражений .
  • Квадратные скобки обозначают значения соответствующего поля.
  • Примечание. Вычисляемое поле представляется в следующем формате:<имя поля> <выражение>.

    В результате выполненного запроса таблица будет выглядеть следующим образом (рис 11.12).

    (рис 11.12)
  • При обработке данных бывает необходимо учитывать в запросах итоги, которые вычисляются определенным образом для различных групп записей в таблице.

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

    При выполнении групповых операций можно использовать итоговые функции, которые следует выбирать из списка в добавленном поле Групповые операции. Основные итоговые функции:
  • Sum - суммирование числа значений в группе (в столбце),
  • Avg - среднее значение для группы,
  • Min - минимальное значение для группы,
  • Max - максимальное значение для группы,
  • Count - подсчет числа значений для группы,
  • First - значение поля в первой записи группы,
  • Last - значение поля в последней записи группы.
  • Найдите Количество абитуриентов набравших 14 баллов. Для этого необходимо применить групповые операции, и в зависимости от условий для каждого поля, следует выбрать из списка необходимую функцию (рис 11.13). (рис 11.13)
  • Самостоятельно:

  • Получите список студентов сдавших математику с оценкой хорошо и отлично по факультетам 01 и 03.
  • Сделайте запрос таким образом, чтобы остались абитуриенты, набравшие 12 баллов и более, с полем зачисление. Обратите внимание, что таблица Итоги заполнится автоматически.
  • Найдите среднюю сумму баллов.
  • Найдите фамилию студента получившего min балл при поступлении.
  • Найдите количество студентов сдавших русский язык на 5.
  • Вернуться к учебному плану