Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Выполнение запросов в SQL Explorer

Поиск

 

Утилита SQL Explorer позволяет вводить и выполнять SQL-запросы. Если в окне утилиты в меню Options выбрать команду Query, то откроется окно для уточнения правил, используемых при записи запроса (рисунок 1). Это окно позволяет задать синтаксис, принятый в конкретной реализации языка SQL. По умолчанию используется синтаксис, принятый в продуктах фирмы Borland.

 

Рисунок 1 - Окно для уточнения синтаксиса

 

Для формирования запроса следует в области Databases утилиты выбрать базу данных, открыть список таблиц и указать нужную таблицу (рисунок 2).

 

Справа появится поле с тремя закладками:

– закладка Definition содержит описание таблицы;

– закладка Data – данные;

– закладка Enter SQL – инструменты для записи и выполнения запроса.

 

Надо перейти на страницу Enter SQL и ввести текст запроса.

Рисунок 2 - Работа с запросами в SQL Explorer

 

Страница для работы с запросами содержит поле редактора для записи текста запроса и расположенные справа кнопки для задания действий с запросами:

· Execute Query – выполнить;

· Previous Query, Next Query – кнопки для перемещения по запросам.

 

Сверху находятся кнопки для навигации и работы с записями. Эти кнопки имеют такие же обозначения, как кнопки компонента DBNavigator.

 

Применение языка SQL

 

Реляционные базы данных имеют мощный теоретический фундамент, основанный на математической теории множеств. Основными операциями над отношениями являются: выборка (Restriction), проекция (Projection), соединение (Join), объединение (Union), пересечение, разность, декартово произведение (Cross Join).

Далее рассматриваются конструкции языка SQL и приводятся примеры, иллюстрирующие суть операций. При этом необходимо учитывать следующие моменты:

· в примерах используются таблицы поставляемой с системой Delphi демонстрационной базы данных DBDemos;

· в командах SQL зарезервированные слова записываются прописными буквами;

· для лучшего усвоения материала целесообразно сразу выполнять примеры и анализировать получаемые наборы данных;

· удобным средством для тестирования примеров является SQL Explorer.

 

Операции выборки и проекции являются унарными, поскольку они работают с одним отношением.

 

Операция выборки – это построение горизонтального подмножества, т.е. получение части строк, обладающих заданными свойствами. Операция выборки работает с одной таблицей и позволяет получить либо все, либо те строки таблицы, которые удовлетворяют заданному условию (предикату). Напомним, что под предикатом понимается некоторое специфицированное условие, значение которого имеет булевский тип.

Например, вывести все строки таблицы country:

SELECT * FROM country

 

или из таблицы orders извлечь сведения о заказах, оплаченных в кредит:

SELECT * FROM orders WHERE PaymentMethod="Credit"

 

 

Операция проекции – это построение вертикального подмножества отношения, т.е. выделение подмножества столбцов таблицы. Операция проекции применяется к одной таблице и в качестве результата выдаёт таблицу, у которой оставлена только часть атрибутов и исключены строки-дубликаты.

Например, вывести названия фирм, город и страну из таблицы vendors:

SELECT VendorName,City,Country FROM vendors

 

На практике очень часто требуется получить подмножество столбцов и строк таблицы – выполнить комбинацию выборки и проекции. Для этого достаточно перечислить столбцы таблицы и наложить ограничения на строки.

Например, получить фамилии работников, которых зовут Roger:

SELECT firstName,lastName FROM employee

WHERE firstName="Roger"

 

Декартово произведение R×S двух отношений (двух таблиц) определяет новое отношение – результат сцепления каждой записи из отношения R с каждой записью из отношения S.

Пусть таблица R имеет поля а1, а2 и таблица S имеет поля b1, b2.

Оператор SELECT R.a1, R.a2, S.b1, S.b2 FROM R,S сформирует результирующую таблицу, причём если одна из исходных таблиц имеет N записей и K полей, а другая – M записей и L полей, то их декартово произведение будет содержать N×M записей и K+L полей. Исходные таблицы могут содержать поля с одинаковыми именами, тогда имена полей полученного набора данных будут содержать названия таблиц для обеспечения уникальности имён.

Как правило, пользователя интересует только та часть записей декартова произведения, которая удовлетворяет некоторому условию, поэтому вместо декартова произведения используется одна из самых важных операций реляционной алгебры – операция соединения.

Если в предложении FROM указано более одной таблицы, то эти таблицы соединяются. По умолчанию результирующая таблица представляет собой перекрёстное соединение (Cross Join) или декартово произведение.

Операция объединения (UNION) позволяет объединить результаты отдельных запросов по нескольким таблицам в единую результирующую таблицу. Таким образом, предложение UNION объединяет вывод двух или более SQL-запросов в единый набор строк и столбцов. При этом результаты запросов должны быть совместимы, т. е. иметь одинаковое количество полей с совпадающими типами данных (быть совместимыми по объединению).


 

Пример 1. Из таблиц employee и country получить список работников и заказчиков, проживающих во Франции:

SELECT first_name,last_name,job_country FROM employee

WHERE job_country = "France"

UNION

SELECT contact_first,contact_last,country FROM customer

WHERE country = "France"

 

Операция пересечения отношений R и S определяет отношение (таблицу), которое содержит записи, присутствующие как R, так и в S. Отношения R и S должны быть совместимы по объединению. Таким образом, пересечением двух таблиц – R и S является таблица, содержащая все строки, присутствующие в обеих исходных таблицах одновременно.

Разность двух отношений R и S состоит из записей, которые имеются в отношении R, но отсутствуют в отношении S. Причем отношения R и S должны быть совместимы по объединению. Таким образом, разностью двух таблиц R и S является таблица, содержащая все строки, которые присутствуют в таблице R, но отсутствуют в таблице S. Наиболее важной командой языка манипулирования данными является команда SELECT.

 



Поделиться:


Последнее изменение этой страницы: 2016-04-23; просмотров: 925; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.34.105 (0.01 с.)