Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену по БД и СУБД.docx
Скачиваний:
13
Добавлен:
22.04.2019
Размер:
441.15 Кб
Скачать
  1. Перечислите и опишите типы запросов. Охарактеризуйте возможности запросов, вызывающих изменения в таблицах базы данных. Опишите процесс создания визуальных запросов.

Запрос в Visual Fox Pro - это тот же вопрос. Если вы обращаетесь с запросами к базе данных, то вы задаете ей вопросы о данных, содержащихся в ней. Запросы хранятся как программные файлы с расширением .QPR, которые содержат команду SELECT языка SQL.  Для создания запросов в Visual FoxPro можно использовать Query Wizard (Мастер по созданию запросов), или Query Designer(Конструктор запросов), или же и то, и другое. Применение Query Wizard целесообразно для быстрого создания несложных, стандартных запросов. В свою очередь Query Designer позволяет вам творчески подойти к задаче и конструировать более изящные, эффективные и сложные запросы. Далее будут рассмотрены приемы создания запросов как с помощью Query Designer, так и Query Wizard.

Рассмотрим создание запросов с помощью Query Designer. Для этого откройте ваш проект. В окне Project Manager щелкните по закладке Data и выберите пункт Queries. В меню справа щелкните на пункт New, затем в появившемся окне New Queryвыберите New Query. Закройте пока окно Add Table or View и поместите на рабочий стол панель инструментов Query Designer.

Теперь рассмотрим как можно включать в запрос вычисляемые поля. В окне Project Manager откройте запрос, нажав кнопку Modify справа. Теперь, щелкнув по уже знакомой нам вкладке Fields, нажмите кнопку с многоточием (...), находящуюся внизу, рядом со списком Functions and expressions. Откроется диалоговое окно построителя выражений Expression Builder. В этом окне с помощью разнообразных инструментов вы можете строить различные выражения, используя нужные поля таблиц.

Набрав выражение в Expression Builder, нажмите OK, затем щелкните по списку Functions and expressions и, нажав кнопкуAdd, переместите вычисляемое поле в список полей для запроса. Проверить работу полученного запроса можно, щелкнув по кнопке с изображением восклицательного знака в панели стандартных инструментов в верхней части экрана. При просмотре результатов запроса можно менять порядок следования столбцов следующим образом: захватив заголовок столбца, тащите его на нужное место. Для повторного редактирования вычисляемого поля, необходимо щелкнуть по нему в списке полей, выбранных для запроса и, затем, нажав кнопку Remove, переместить его в список Functions and expressions. Теперь можно редактировать поле в Expression Builder, зайдя туда с помощью кнопки (...). Теперь обратимся ко вкладке Filter окна Query Designer. С помощью средств данной вкладки можно строить дополнительные критерии (условия) отбора данных при запросе. Сначала рассмотрим поля и кнопки вкладки Filter. Средства вкладки Filter:

Поле или кнопка

Назначение

Поле со стрелкой

Позволяет менять местами построенные условия. Просто захватите это поле мышью у фильтра и тащите его на нужное место

Поле Field Name

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

Поле Not

При установке этого флажка построенный критерий меняется на противоположный

Поле Criteria

Служит для задания операции условного выражения критерия

Поле Example

Служит для записи правой части критерия

Поле Case

При установке этого флажка в условии учитывается регистр символов

Поле Logical

Служит для задания логической связи нескольких критериев

Кнопка Insert

Вставка нового критерия

Кнопка Remove

Удаление построенного критерия

Теперь познакомимся с допустимыми операциями для задания условия объединения. Операции для задания условия объединения:

Операция

Значение

=

Равно

Like

Подобно

==

Точно соответствует

>

Больше

<

Меньше

>=

Больше либо равно

<=

Меньше либо равно

Is NULL

Значение не определено

Between

Задание интервала вхождение значения

In

Задание списка значений

Пришло время многотабличных запросов. Начните создание нового запроса в Query Designer. Поместите в диалоговое окно Query Designer две таблицы: Group и Student. Выберите следующие поля для запроса во вкладке Fields: Student.number, Student.name, Student.ocenka, Group.group_n. Теперь щелкните по вкладке Join (Объединение).

С помощью средств данной вкладки можно настраивать условие объединения данных таблиц. Слева от имени поля во вкладке вы видите 2 кнопки. Самая левая кнопка позволяет изменить порядок следования выражений, если их несколько. С помощью второй кнопки можно модифицировать тип условия объединения. При щелчке на ней открывается окно Join Condition (Условие объединения). Это окно можно также открыть, щелкнув по кнопке Add Join (Добавить объединение) или дважды щекнув по линии, свяэывающей таблицы в области исходных данных. С помощью окна Join Condition можно выбрать тип объединения и описать каждое условие. Типы объединений:

Тип

Характеристики

Inner Join (Внутреннее объединение)

Включает только те записи из таблиц, которые отвечают условию объединения

Left outer Join (Левое внешнее объединение)

Включает все записи из таблицы слева и те записи из таблиц, которые отвечают условию объединения

Right outer Join (Правое внешнее объединение)

Включает все записи из таблицы справа и те записи из таблиц, которые отвечают условию объединения

Full Join (Полное внешнее объединение)

Включает все записи из таблиц, причем если находятся записи, совпадающие по заданному условию объединения, то в результирующем наборе эти записи объединяются в одну

Тип объединения можно выбрать из раскрывающегося списка Type (Тип). При описании типов мы не сказали о декартовом произведении (Cartesian product). Оно представляет собой результат объединения, при котором отсутствует критерий объединения. В этом случае каждая запись из одной таблицы объединяется с каждой записью из другой таблицы. Поля - участники объединения, выбираются из списков Field Name и Value (Значение). Для инвертирования логики критерия используется кнопка Not. Условия объединения,установленные на основе постоянных отношений между таблицами, нельзя модифицировать. Вы должны сначала удалить это условие, а потом задать его снова во вкладке Join. Удаление его не повлияет на постоянные отношения таблиц. Группировка полей в запросе

Иногда нужно составить отчет, содержащий лишь некоторые итоговые значения. В окне Query Designer это можно сделать с помощью вкладки Group by(Сгруппировать по). Для вычисления неких итоговых значений существуют специальные функции, доступные в Expression Builder.

Тип

Характеристики

COUNT

Подсчет количества записей в группе

SUM

Суммирование значения поля для записей в группе

AVG

Вычисление среднего значения поля для записей в группе

MIN

Определение минимального значения поля для записей в группе

MAX

Определение максимального значения поля для записей в группе

Варианты назначения запроса:

Назначение

 

Определение

Browse (Окно просмотра)

Результаты запроса можно просматривать только в окне Browse

Cursor (Курсор)

Создается временная таблица (курсор) с результатами запроса

Table (Таблица)

Создается постоянная таблица

Graph (График)

Результаты запроса можно использовать для построения графика с помощью Microsoft Graph

Screen (Экран)

Результаты отображаются только на экране

Report (Отчет)

Результаты запроса можно использовать в качестве исходных данных для отчета

Label (Почтовая наклейка)

Результаты запроса можно использовать в качестве исходных данных для почтовой наклейки