дистанционное обучение

ФГБОУ ВО ДГМА ИМЕНИ С.С. ПРОКОФЬЕВА

Музыкальная школа для одаренных детей

урок 19.11.22 (2ч)

Цель работы: закрепление навыков по созданию и заполнению таблиц; отработка приемов реализации сложных запросов на выборку.
   Используемое программное обеспечение: Microsoft Access.

Задание 1

   Требуется создать таблицу «ОЦЕНКИ» и ввести в нее данные с результатами вступительных экзаменов.
   1. Создать таблицу, соответствующую следующему отношению:
   
   ОЦЕНКИ (РЕГ_НОМ, ОЦЕНКА_1, ОЦЕНКА_2, ОЦЕНКА_3)

   2. Связать таблицу ОЦЕНКИ с таблицей АБИТУРИЕНТЫ через поле РЕГ_НОМ.
   3. Ввести в таблицу следующие данные:

   ОЦЕНКИ

http://informat45.ucoz.ru/practica/11_klass/3_13/3-13-1.png

Пояснение. Оценка "ноль" выставляется за неявку на экзамене.

Задание 2

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

   Запрос 1. Получить список всех абитуриентов, живущих в Перми и имеющих медали. В списке указать фамилию и номер школы, факультет, на который они поступают. Отсортировать список в алфавитном порядке фамилий.
   Пояснение. Для реализации данного запроса информация должна извлекаться из трех таблиц: АНКЕТЫ, ФАКУЛЬТЕТЫ, АБИТУРИЕНТЫ. Команда на гипотетическом языке запросов имеет вид:

   .выбор АНКЕТЫ.ФАМИЛИЯ, АНКЕТЫ.УЧ_ЗАВЕДЕНИЕ, ФАКУЛЬТЕТЫ.ФАКУЛЬТЕТ где АНКЕТЫ.ГОРОД = "Пермь" и АБИТУРИЕНТЫ.MEДАЛЬ=ДА сортировать АНКЕТЫ.ФАМИЛИЯ по возрастанию

В конструкторе запросов эта команда будет выглядеть так:

http://informat45.ucoz.ru/practica/11_klass/3_13/3-13-2.png

   Обратите внимание на то, что хотя в команде непосредственно используются поля только из трех таблиц: АНКЕТЫ, ФАКУЛЬТЕТЫ и АБИТУРИЕНТЫ, в реализации запроса участвует четвертая таблица СПЕЦИАЛЬНОСТИ. Ее нельзя исключить, поскольку будет нарушена связность схемы: таблица АБИТУРИЕНТЫ связана с таблицей ФАКУЛЬТЕТЫ через таблицу СПЕЦИАЛЬНОСТИ.

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

http://informat45.ucoz.ru/practica/11_klass/3_13/3-13-3.png

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

   Пояснение. В этом запросе должны использоваться три таблицы: АНКЕТЫ, СПЕЦИАЛЬНОСТИ, АБИТУРИЕНТЫ. На гипотетическом языке запросов команда выглядит так:

   .выбор АНКЕТЫ.ФАМИЛИЯ, АНКЕТЫ.ГОРОД, СПЕЦИАЛЬНОСТИ .СПЕЦИАЛЬНОСТЬ, АБИТУРИЕНТЫ. СТАЖ где ФАКУЛЬТЕТЫ.ФАКУЛЬТЕТ= "Юридический" и АБИТУРИЕНТЫ.СТАЖ>0 сортировать АНКЕТЫ.ФАМИЛИЯ по возрастанию

   Самостоятельно реализовать запрос через конструктор. В результате должна быть получена следующая таблица:

http://informat45.ucoz.ru/practica/11_klass/3_13/3-13-4.png

 

Цель работы: обучение реализации запросов на удаление; обучение использованию вычисляемых полей в запросах.
   Используемые программные средства: Microsoft Access.

Задание 1

   Требуется удалить из таблицы ОЦЕНКИ сведения об абитуриентах, получивших двойки или не явившихся на экзамены.

   Справочная информация

   Для этой цели будет использован второй вид запроса: запрос на удаление. На языке запросов эту команду запишем так:

   .удаление из ОЦЕНКИ где ОЦЕНКА_1<3 или ОЦЕНКА_2<3 или ОЦЕНКА_3<3

   1. Алгоритм выполнения запроса.
   => перейти на вкладку Запросы, выполнить команду Создать;
   => выбрать Конструктор, щелкнуть на кнопке ОК;
   => добавить таблицу ОЦЕНКИ;
   => установить тип запроса командой Запрос -> Удаление.
   2. Далее заполнить бланк конструктора так, как показано на рисунке.

http://informat45.ucoz.ru/practica/11_klass/3_14/3-14-1.png

   Справочная информация

   Поле ОЦЕНКИ.* обозначает удаление всех записей из таблицы ОЦЕНКИ, удовлетворяющих заданному условию. В результате из таблицы ОЦЕНКИ будут удалены записи с регистрационными номерами 3005 и 2010.
   Команда удаления производит автоматическое удаление записей из таблицы. Кроме того, записи можно удалять и «ручным» способом. Для этого достаточно открыть соответствующую таблицу, выделить удаляемую строку и выполнить команду Удалить запись.

Задание 2

   Требуется вывести таблицу со значениями суммы баллов, включив в нее регистрационный номер, фамилию и сумму баллов. Отсортировать по убыванию суммы.
   Пояснение. Главным показателем, влияющим на зачисление абитуриента в вуз, является сумма баллов, полученных им на экзаменах. Непосредственно в таблицах БД арифметические вычисления выполнять нельзя (как это делается в электронных таблицах). Однако вычисления могут присутствовать в запросах, которые реализуются с помощью вычисляемых полей.
   В данном запросе будет использоваться вычисляемое поле СУММА. Это поле будет присутствовать только в запросе и не войдет в таблицы базы
данных. Команда на гипотетическом языке запросов:

   .выбор АНКЕТА. РЕГ_НОМ, АНКЕТА.ФАМИЛИЯ, СУММА:
   ОЦЕНКИ.ОЦЕНКА_1+ОЦЕНКА_2+ОЦЕНКА_З сортировать
   СУММА по убыванию

   Вид этого запроса в конструкторе приведен на рисунке.

http://informat45.ucoz.ru/practica/11_klass/3_14/3-14-2.png

   Вычисляемое поле представляется в следующем формате: <имя поля>:<выражение>

   Выражение можно вводить как непосредственно в ячейке конструктора, так и воспользовавшись построителем выражений.
   Выражение записывается по традиционным правилам для арифметических выражений, используемых в программировании и в электронных таблицах. Квадратные скобки обозначают значение соответствующего поля. Обратите внимание на то, что составное имя Оценки.[ОЦЕНКА_1] используется только для первого слагаемого. Для остальных подразумевается их принадлежность к таблице ОЦЕНКИ.

   В результате выполнения этого запроса будет получена следующая таблица:

http://informat45.ucoz.ru/practica/11_klass/3_14/3-14-3.png

   По вычисляемому полю может быть определено условие отбора. Например, если в условие отбора добавить: СУММА>13, то в итоговую таблицу попадут только первые 5 строк.