- •ВВЕДЕНИЕ
- •3. СОЗДАНИЕ ТАБЛИЦ БАЗЫ ДАННЫХ
- •3.1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
- •3.3. СОЗДАНИЕ И ИЗМЕНЕНИЕ ТАБЛИЦ СРЕДСТВАМИ ЯЗЫКА SQL
- •3.3.1. Управляющие запросы и запросы на изменение таблиц
- •3.3.2. Управляющий запрос на создание таблицы
- •3.3.3. Запрос на создание таблицы из других таблиц
- •3.3.4. Запрос на добавление
- •3.3.5. Запрос на удаление
- •3.3.6. Запрос на обновление
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •4. ПРОЕКТИРОВАНИЕ ЗАПРОСОВ
- •4.1. КОНСТРУКТОР ЗАПРОСОВ
- •4.2. ВЫЧИСЛЕНИЯ В ЗАПРОСЕ
- •4.3. ПАРАМЕТРИЧЕСКИЕ ЗАПРОСЫ
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •5.1. СТРУКТУРА ЗАПРОСА. УСЛОВИЯ ПОИСКА
- •5.2. ПАРАМЕТРИЧЕСКИЕ ЗАПРОСЫ
- •5.3. ПЕРЕКРЕСТНЫЕ ЗАПРОСЫ
- •5.4. ПОИСК В СВЯЗАННЫХ ТАБЛИЦАХ
- •5.5. ЗАПРОСЫ НА ОБЪЕДИНЕНИЕ
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •6. СОЗДАНИЕ ФОРМ
- •7. РАЗРАБОТКА ОТЧЕТОВ
- •7.1. РАБОТА С ПРОСТЕЙШИМИ ОТЧЕТАМИ
- •8. ТЕМЫ ЗАДАНИЙ НА ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ «КАФЕДРА»
- •СОДЕРЖАНИЕ
виях отбора можно ссылаться только на столбцы обновляемых таблиц или запросов. Если в условиях отбора используется вложенный запрос, то в нем нельзя ссылаться на обновляемые таблицы и запросы. При выполнении условия отбора будут изменены только записи, удовлетворяющие указанному условию. Если в инструкции не используется условие отбора, то изменяются все строки таблиц и запросов.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Как реализовать выбор значения поля таблицы из списка значений?
2.Что представляет собой индекс без повторений и индекс с повторениями?
3.Как осуществляется связывание таблиц?
4.Какие ограничения семантической целостности можно задать в Access?
5.Как задаются ограничения семантической целост-
ности?
6.Как описать первичный ключ, состоящий из нескольких полей?
7.Как сформировать новую таблицу, поместив в нее фамилии студентов, не аттестованных по физике?
8.Как реализуется каскадное удаление?
9.В чем особенности использования вложенных запросов в командах удаления и обновления?
4. ПРОЕКТИРОВАНИЕ ЗАПРОСОВ
Запросы предназначены для отбора данных, удовлетворяющих заданным критериям (например, сведений об успеваемости студента с заданной фамилией, сведений о студентах, обучающихся в заданной учебной группе). В Access запросы делятся на QBE-запросы (Query By Example − запрос по об-
25
разцу), параметры которых устанавливаются в окне Конст-
руктора запросов, и SQL-запросы (Structured Query Language
− структурированный язык запросов), при создании которых используются операторы и функции языка SQL. Access позволяет легко преобразовать QBE-запрос в SQL-запрос и наоборот.
Для создания QBE-запроса необходимо открыть базу данных, перейти на вкладку Запросы и нажать кнопку Создать. На экране появится диалоговое окно Новый запрос, предназначенное для выбора способа построения запроса. Рассмотрим примеры создания наиболее часто используемых на практике типов запросов.
4.1. КОНСТРУКТОР ЗАПРОСОВ
Рассмотрим в качестве примера процесс создания запроса, позволяющего найти в базе данных фамилии студентов группы "РС-061", получивших на экзаменах по дисциплине "Физика" оценки "5" или "4". Для этого в окне Новый запрос следует выбрать способ Конструктор и нажать кнопку ОК. В результате появится пустое окно Конструктора запросов и диалоговое окно Добавление таблицы, состоящее из трех вкладок: Таблицы, Запросы и Таблицы и запросы. На них осуществляется выбор таблиц и запросов, используемых при создании запроса. Перейдем на вкладку Таблицы, выберем таблицу СТУДЕНТ и выполним щелчок на кнопке Добавить. Аналогичным образом добавим таблицы УСПЕВАЕМОСТЬ и ДИСЦИПЛИНА. Закроем диалоговое окно, щелкнув на кнопке Закрыть. Добавленные таблицы появятся в окне Конструктора запросов. Посредством команды Добавить таблицу из меню Запрос можно снова открыть диалоговое окно Добавление таблицы и пополнить список таблиц запроса.
Окно Конструктора запросов разделено на две части. В верхней половине находятся окна таблиц со списками полей.
26
Имя каждой таблицы отображается в строке заголовка такого окна. При составлении запроса на основе нескольких таблиц между ними необходимо установить связи, задав отношения между полями. В противном случае результат выполнения запроса может оказаться некорректным. В рассматриваемом примере отношения между таблицами уже заданы, поэтому при добавлении таблиц они появляются в окне Конструктора вместе со связями.
Нижняя половина Конструктора запросов представляет собой бланк запроса, в котором собственно и производится его построение. Дальнейшую разработку запроса рекомендуется выполнять в следующей последовательности:
•добавление полей в запрос;
•установка критериев отбора записей;
•сортировка записей.
Добавить нужные поля в бланк запроса можно путем перетаскивания их имен из списка полей таблиц, находящихся в верхней части окна Конструктора, в строку бланка Поле. Еще один способ добавления — двойной щелчок по имени поля.
Первым поместим в строку Поле поле Фамилия таблицы СТУДЕНТ, следом за ним — поле Группа из той же таблицы. Из таблицы ДИСЦИПЛИНА перенесем в бланк запроса поле Название и, наконец, — поле Оценка из таблицы
УСПЕВАЕМОСТЬ.
Для удаления поля из бланка запроса следует отметить колонку, в которой оно находится, и нажать клавишу Del или выполнить команду Удалить столбцы из меню Правка. Чтобы удалить из запроса таблицу, надо сначала отметить ее в верхней части Конструктора запросов, выполнив щелчок на имени любого из ее полей, а затем нажать клавишу Del или вызвать команду Удалить из меню Правка. После этого будут автоматически удалены поля удаленной из запроса таблицы, помещенные в бланк запроса.
27
Посредством критериев отбора пользователь указывает, какие записи нужно выбирать в таблицах и отображать в результатах поиска. Критерии отбора указываются для одного
или нескольких полей.
Формируемый в нашем примере запрос должен отбирать данные о студентах группы РС-061, получивших по дисциплине "Физика" оценки "5" или "4". Поэтому для перечисленных ниже полей установим в строке Условие отбора бланка запроса такие критерии отбора:
Группа = РС-061 Название = Физика
Оценка = 5 Or 4
Сначала введем критерий для поля Группа — 00АО1. После ввода нажмем клавишу Enter, вследствие чего Access проверит принадлежность этого значения заданному списку и автоматически заключит его в кавычки. Затем перейдем в ячейку на пересечении строки Условие отбора и столбца Название и введем значение "Физика" (в кавычках или без кавычек). Наконец, зададим критерий для поля Оценка: 5 Or 4. Access автоматически проверит синтаксис этого выражения и в случае его нарушения выдаст сообщение об ошибке.
При выполнении запроса записи могут быть отсортированы по алфавиту, в порядке возрастания или убывания (для числовых полей). Можно одновременно производить сортировку по содержимому нескольких полей (до десяти). Для выполнения сортировки следует перейти в столбец бланка запроса, содержащий имя поля, по которому необходимо произвести сортировку, и указать способ сортировки в строке Сортировка. При выполнении щелчка на этой строке появляется поле списка с перечнем способов сортировки. При закрытии окна Конструктора запросов Access перемещает поля с заполненной ячейкой Сортировка в левую часть бланка запроса.
28