Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная №3-№4 Анализ баз данных, SQL-запросы.doc
Скачиваний:
18
Добавлен:
25.05.2014
Размер:
50.69 Кб
Скачать

Лабораторная работа n 3 анализ баз данных. Sql-запросы.

1.Цель работы.

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

2.0Бщие теоретические сведения

Дня реализации выборочного запроса в FOX 5.0 как и в других СУБД реляционного типа используется инструкцию SELECT, существуют лишь некоторые различия в синтаксисе для различных СУБД. В рамках выборочного запроса пользователь формулирует критерий отбора данных, набор источников данных (таблиц), способы преобразования отобранной информации. Для облегчения работы с запросами формируемыми командой SELECT создана компонента расположенная в разделе DATA менеджера БД которая имеет стандартный инструмент модификации (QUERY DESIGNER).

Пользователю доступны следующие способы проектирования запросов: для создания простейших запросов: можно использовать мастер запросов; конструктор запросов для создания достаточно сложных запросов, или формировать запрос в программе, используя команды SQL.

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

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

Join Определяет условия объединения таблиц

Filter Определяет фильтры, накладываемые для выбора записи

Order by Определяет критерий упорядочивания

Group by Определяет условия группировки данных

Miscellaneous Дополнительные установки , признак выборки повторяющихся значений, количество или процент выбора данных

Упрощенный синтаксис инструкции SELECT:

SELECT [DISTINCT] список Выбираемых Полей

FROM список Таблиц

[WHERE условие Выборки]

[GROUP BY условие Группировки]

[ORDER BY условия Упорядочивания]

[INTO имя Таблицы]

[TO FILE имя Файла [ADDITIVE ] [ TO PRINTER ]]

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

Фраза From содержит список таблиц (tables), запросов (query) или представлений (views) которые являются источниками данных, из которых осуществляется выборка они могут быть объединены в псевдонимы, так же через псевдоним возможно получить доступ к другой системе СУБД локальной или удалённой. Так же данной фразе можно при необходимости описывать условия объединения таблиц. Существует внутреннее объединение INNER JOIN и внешнее OUTER JOIN. При использовании INNER JOIN в логический набор записей включаются только соответствующие строки обеих таблиц, при использовании OUTER JOIN включаются все строки одной из таблиц даже если нет соответствующих строк в других таблицах

Фраза Where определяет условия выбора записей для обработки. Другие команды SQL (DELETE, UPDATE и т.д.) тоже имеют эту фразу, эти команды рассмотрят только те строки, которые удовлетворяют условию отбора. Фразу Where может содержать подчинённые запросы, такой запрос выполняется для каждой строки внешнего запроса. SQL СУБД FOX 5.0 распознаёт пять предикатов поиска, которые могут использоваться во фразе Where:

Операторы сравнения (<, >, >=, <=, =, <>, !=, = =, # );

Диапазон BETWWIN;

Вхождение IN;

Сопоставление с образцом LIKE;

Неопределённое значение IS NULL;

Существование хотя бы одной строки удовлетворяющей условиям отбора в подчиненном запросе EXISTS;

Так же возможны составные предикативы разделённые словами NOT, AND, OR.

Фраза Group by определяет условия группировки записей. Записи каждой группы содержат одно и то же значение заданного поля (полей). Имя поля может быть именем любого столбца (может быть не упомянутого в СПИСКЕ ПОЛЕЙ) из любой таблицы. К сформированным группам можно применять групповые (итоговые функции) такие как: AVG, COUNT, MAX, SUM и т.д.

Фраза Order by определяет условия сортировки записей результата отбора

Фраза Into определяет тип хранилища результатов запроса:

DBF TABLE BROWSE-таблица,

CURSOR курсор,

ТО FILE файл (формы, отчёта, ярлыка, таблицы);

ON SCREEN непосредственно на экран, на принтер;

INTO ARRAY массив;

З. ХОД РАБОТЫ

3.1 Формирование запросов

Для вызова конструктора запросов в окне проекта выберите группу "Queries" на вкладке "Data" и нажмите кнопку New. В открывшемся окне диалога "New Query" нажмите кнопку New Query . Выберите из списка “Tables in Database” таблицу и, используя кнопку Add, перенесите ее в окно конструктора запросов. Завершив выбор таблиц, нажмите кнопку ОК. После выбора таблиц на экране появится окно конструктора запросов, которое содержит выбранные Вами таблицы, а в основном меню появится пункт Query.

3.1.1 Простые запросы

Необходимо спроектировать запрос для формирования списка документов, полученных после 01.05.98.

Порядок выполнения:

Выполнить программу, открывающую и связывающую базы данных. Создать файл запроса указанным выше способом. Выбрать поля, которые должны быть включены в результат запроса. Активизируйте контрольный индикатор No duplicates (без дубликатов) для исключения повторяющихся блоков данных (на вкладке Miscellaneous). Оставьте в списке полей только те, которые должны появиться в результате запроса. Установите критерий отбора. Выполните запрос и сохраните последовательность SQL директив в файле, с расширением *.qpr.

3.1.2. Сложные условия (И, ИЛИ)

Необходимо спроектировать запрос для формирования списка документов, полученных из МОиПО после 01.05.98 или документов типа «приказ».

Дополните имеющийся запрос новыми критериями, выполните запрос и сохраните его в файле.

3.1.3.Запрос к связанным базам данных

Необходимо спроектировать запрос для формирования списка документов, исполненных на кафедре АСУ до 01.05.98.

Для выбора еще одной таблицы данных нажмите кнопку Add контекстного меню. Модифицируйте критерий отбора, и список выводимых полей. Выполните запрос и сохраните его в файле.