- •Практическая работа № 5. Создание запросов к базе данных
- •Теоретические сведения
- •Конструктор запросов
- •Команды, используемые при формировании запросов
- •Сохранение запроса
- •Формирование списка полей результирующей таблицы запроса
- •Вычисляемые поля запроса
- •Вкладка Order By конструктора запросов
- •Выбор записей, находящихся в заданном диапазоне значений
- •Формирование списка условий
- •Многотабличные запросы
- •Группировка полей запроса
- •Использование в запросе выражений и функций полей
- •Изменение наименований полей в запросе
- •Задание и порядок выполнения работы Задание 1
- •Задание 2
- •Порядок выполнения задания
- •Задание 3
- •Задание 4. Упорядочение по нескольким полям
- •Порядок выполнения задания
- •Задание 5
- •Порядок выполнения задания
- •Задание 6
- •Порядок выполнения задания
Изменение наименований полей в запросе
Visual FoxPro по умолчанию присваивает полям результирующей таблицы запроса наименования, которые имеют поля исходной таблицы. Вычисляемым и итоговым полям присваиваются наименования в соответствии с соглашением, принятым в Visual FoxPro.
Используя ключевое слово AS, вы можете по своему усмотрению изменить наименования полей результирующей таблицы. При этом наименования полей изменятся только в результирующей таблице, а имена полей в исходной таблице останутся без изменения.
Для изменения наименования поля необходимо за именем поля или выражением, заданным для определения поля результирующей таблицы, поместить ключевое слово AS, а за ним указать новое имя поля.
Задание и порядок выполнения работы Задание 1
Создать базу данных Book (Книги), которая содержит две таблицы: Book (Книги) и таблицу The_author (Автора). Структура таблиц указана ниже. Создайте между таблицами тип связи один-ко-многим (один со стороны таблицы Авторы и много со стороны таблицы Книги) по полю Код_автора. Откройте таблицы в режиме редактирования и заполните их.
Структура таблицы Book (Книги)
Имя поля |
Свойство Caption |
Тип поля |
Kode_book |
Код книги |
Integer |
The_name |
Название |
Character |
Genre |
Жанр |
Character |
The_price |
Цена |
Currency |
Code_author |
Код автора |
Integer |
Поле Kode_book сделайте индексированным, тип индекса Primary. Поле Code_author сделайте индексированным, тип индекса Regular.
Структура таблицы The_author (Автора)
Имя поля |
Свойство Caption |
Тип поля |
Code_author |
Код автора |
Integer |
Surname |
Фамилия |
Character |
Name |
Имя |
Character |
Patronymic |
Отчество |
Character |
Поле Code_author сделайте индексированным, тип индекса Primary.
Созданные таблицы заполнить следующим образом
Задание 2
Используя данные из таблицы Аuthor, создайте запрос, результирующая таблица которого будет содержать фамилию автора и его имя.
Порядок выполнения задания
Откройте окно запроса для таблицы The_author.
На вкладке Fields (Поля) перенесите в список Selected fields (Выбранные поля) поле Surname, содержащее фамилию автора.
Для объединения фамилии и имени автора нажмите кнопку вызова построителя выражения поля Functions and expressions (Функции и выражения) и в диалоговом окне Expression Builder (Построитель выражений) создайте следующее выражение:
ALLTRIM(The_author.surname) + " " + ALLTRIM(The_author.name)
Закройте окно построителя выражения, нажав кнопку ОК.
Для размещения созданного выражения в списке Selected fields (Выбранные поля) нажмите кнопку Add (Добавить).
На этом формирование запроса завершено (рис. 3). Нажмите кнопку Run (Выполнить) на стандартной панели инструментов, и на экране появится результирующая таблица (рис. 4).
Рис. 4. Определение вычисляемого поля
Рис. 5. Результат выборки