Санкт-Петербургский колледж информационных технологий МЕТОДИЧЕСКИЕ УКАЗАНИЯ для выполнения практической работы «Создание и использование запросов на выборку в базе данных «Студенты» Специальность – 230115 ПМ02, МДК02.02 Преподаватель: Женихова Н.В. Санкт-Петербургский колледж информационных технологий Практическая работа «Создание и использование запросов на выборку в базе данных «Студенты»» 1. Цели практической работы Познакомиться с основными видами запросов; Научиться создавать запросы на выборку; Изучить операторы условий и выбора данных, используемые в запросах; Развивать познавательные интересы и повышать технический уровень. 2. Теоретические сведения СУБД Access представляет довольно широкий спектр возможностей для поиска и отбора информации в базе данных. К таким средствам можно отнести использование команд поиска, фильтрации и использование запросов. Простейшим способом поиска информации в базе данных является использование команды Правка/Найти. Одним из основных инструментов выборки и обработки данных в СУБД являются запросы. Запрос может строиться на основе одной или нескольких взаимосвязанных таблиц, а также на основе другого запроса (подзапрос). Для чего же нужен запрос? Запрос позволяет выбрать данные из БД по заданным условиям отбора и отсортировать их в определённом порядке, произвести вычисления и получить результат в виде таблицы. С помощью запроса можно производить обновление данных в таблицах базы, добавление и удаление записей. Запрос – это требование предоставить информацию, накопленную в таблицах базы данных, удовлетворяющую заданному условию. В основе любого запроса лежит бланк запроса, в строки и столбцы которого вводятся используемые поля и условия. С помощью СУБД Access могут быть заданы следующие типы запросов: Запросы на выборку – эти запросы выполняют выборку данных из таблиц базы данных; Запросы на изменение – эти запросы дают возможность модифицировать данные в таблицах (удалять, обновлять и добавлять записи); Запросы с параметром – эти запросы позволяют определять одно или несколько условий отбора во время их выполнения; Перекрёстные запросы – эти запросы позволяют группировать данные и представлять их в компактном виде; Запросы SQL – эти запросы могут быть созданы только с помощью инструкций SQL в режиме SQL: запрос – объединение, запрос к серверу и управляющий запрос. Самым распространённым типом запроса является запрос на выборку. Для подготовки запроса необходимо определить: Источники данных; Поля, по которым будет проводиться поиск; Поля, выводимые в результате выполнения запроса и образующих структуру результирующего набора данных. Запрос на выборку позволяет достаточно просто выбрать данные из одной или нескольких взаимосвязанных таблиц. Результаты выполнения запроса отображаются в виде таблицы (результирующего набора данных), существующей до закрытия запроса. Записи этой таблицы формируются на основе записей в исходных таблицах и связей между этими таблицами в соответствии с заданными запросом условиями отбора. Несмотря на то, что поля результирующего набора данных принадлежат, как правило, нескольким таблицам базы данных, с ними Санкт-Петербургский колледж информационных технологий можно работать так, как если бы они принадлежали одной таблице. В результирующем наборе данных можно менять данные и сделанные изменения будут внесены в базовые таблицы. Все запросы сохраняются в окне базы данных под определённым именем. СУБД Access используется четыре способа создания нового запроса: 1. С использованием Мастера 2. С помощью конструктора 3. В режиме SQL-редактора 4. На основе существующего фильтра. Для указания условий отбора данных и для создания вычисляемых полей в запросах используются выражения. Выражения представляют собой формулы, по которым вычисляются необходимые значения. Различаются арифметические и логические выражения. Выражения могут состоять из следующих элементов: Литералов; Операторов; Констант; Идентификаторов; Функций. Литерал – это точное значение, которое Access использует именно в том виде, как оно вводится. При записи литерала используются специальные символыограничители, которые указывают тип данных литерала. Если литерал – число, то он вводится без ограничителей. Например, 465.8. Текстовый литерал должен иметь в качестве ограничителя “ или`. Например, “Иванов” или `Иванов`. В литералах типа дата используются ограничители #. Например, #12/11/96#. В случае литерала типа поле или элемента управления вводятся ограничители [ ]. Например, [Фамилия ]. Оператор указывает действие, которое должно быть выполнено с элементами выражения. Выделяются следующие группы операторов: Арифметические: * умножение, + сложение, - вычитание, / деление, ^ возведение в степень. Конкатенация (соединение частей текста) - &, например, =[Фамилия] & “ ”&[Имя]. Сравнения: < меньше, <= меньше или равно, > больше, >= больше или равно, = равно, <> неравно. Логические: And (И), Not (Нет), Or (Или) и др. Операторы SQL: Like – для использования логики замены в выражениях, In – для определения, содержится ли элемент данных в списке значений, Between … And – для выбора значений из определенного интервала. Константа – это неизменяемая величина. К наиболее часто используемым константам относятся Null (соответствует полю, не содержащему значений или символов), Истина, Ложь. Идентификатор – это имя, введенное в выражение, которое хранится в поле или элементе управления. На основе использования идентификатора можно создавать выражения, которые используют информацию, хранящуюся в таблицах, формах, отчетах. Идентификаторы обычно заключаются [ ]. Например, [Дата] относится к значению поля “Дата” таблицы СТУДЕНТ. Функция – это специальное имя, которое используется для выполнения какой-либо операции и может применяться в выражениях. В Access встроено несколько десятков функций. Аргументы функции должны заключаться в скобки ( ). Скобки могут быть опущены только при нулевом аргументе. Примерами функций, используемых при построении выражений, в запросах могут служить: Avg( ) – среднее арифметическое значений, Count( ) – количество записей, Sum( ) – Санкт-Петербургский колледж информационных технологий сумма значений всех записей по одному из полей и т.д. В данной практической работе надо построить запросы на выборку используя режим конструктора. Конструктор запросов используется не только для создания новых запросов, но и для изменения уже существующих запросов. 3. Порядок создания запросов на выборку в режиме конструктора Выберите закладку ЗАПРОСЫ, если находитесь в другом окне. Щёлкните по кнопке Создать. В появившемся диалоговом окне выберите Конструктор, щёлкнув по кнопке Ок. Добавьте нужные таблицы, выбирая их и щёлкая по кнопке Добавить. Завершите выбор, щёлкнув по кнопке Закрыть. Выберите нужные поля из таблиц для формирования выходной таблицы. Для этого достаточно сделать двойной щелчок мышкой по имени поля. Второй вариант – перетащить мышкой название поля в клетки запроса. В строке Условие отбора прописать необходимые критерии отбора под теми полями, по которым производиться поиск данных. Запустите запрос на выполнение, нажав на кнопку Пуск. Сохраните запрос под определённым именем. 4. Задание по формированию запросов на выборку 1. Получить данные о студентах, которые учатся на факультете YYYY из групп ХХ1 или ХХ2 и их оценки по предмету ZZZ не должны быть «5». 2. Получить информацию о студентах, фамилии которых могут начинаться на одну из букв А, К, С, а их отчество может начинаться с Ал… или Мих….. 3. Получить данные о студентах мужского пола, родившихся после мая NNNN- го года. 4. Найти записи о студентах, обучающихся на всех факультетах, кроме того, который вы введёте. (Используйте запрос с параметром). 5. Требуется узнать, кто из студентов проживает в общежитии в комнатах с N1 по N2. (Используйте запрос с параметром). 6. Диспетчера интересует, кто из преподавателей занимается в аудитории XXX после NN часов. 7. Комендант общежития хочет узнать, кто из студентов не получил постельного белья. 8. В комнате N1 студенческого общежития разбили окно. Нужно срочно вызвать к директору подозреваемых для дачи показаний. Для этого надо выдать информацию о том, где находятся студенты из этой комнаты, т. е мы должны знать все расписание студентов из этой комнаты. 9. Получить информацию о студентах, поступивших учиться в NNNN-ом году на факультет YYYY и успевающих по всем предметам. 10. Получить списки преподавателей, работающих в группах Х1, Х2, Х3. 5. Вопросы для самоконтроля 1. Что такое запрос? 2. Типы запросов. 3. Зачем нужны запросы? 4. Какие выражения используют при создании условий отбора в запросах? 5. Способы создания запроса. 6. Источники данных для создания запроса. 7. Что такое результирующий набор данных?