Визуальный построитель запросов на извлечение

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

Курсовая работа

по диiиплине

Базы данных

тема:

Визуальный построитель запросов на извлечение

Содержание

Введение

. Постановка задачи

. Язык запросов SQL

.1 Общие сведения о SQL

.2 Оператор SELECT

.2.1 Раздел FROM

.2.2 Раздел WHERE

.2.3 Раздел GROUP BY

.2.4 Раздел HAVING

.2.5 Агрегатные функции и результаты запросов

. Программная реализация

.1 Алгоритм работы приложения

.2 Интерфейс приложения

Заключение

Список использованной литературы

Приложение А (обязательное) Листинг программы

Введение

В современном мире базы данных применяются повсеместно. Совершенно очевидна необходимость развития технологий хранения и доступа к данным. Создание стандарта SQL было большим прорывом в этом направлении. Но, несмотря на первоначальное желание разработчиков сделать этот язык запросов максимально приближенным к естественному (английскому), это получилось с определенными оговорками.

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

Целью данной работы является создание такого визуального построителя запросов на извлечение данных (с помощью оператора SELECT).

1. Постановка задачи

Задача данной курсовой работы заключается в создании визуального построителя запросов на извлечение - программы, позволяющей создавать SQL-запросы с оператором SELECT визуальным способом (выбором соответствующих параметров запроса).

2. Язык запросов SQL

.1 Общие сведения о SQL

(англ. Structured Query Language - язык структурированных запросов) - универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL является информационно-логическим языком, а не языком программирования.

Существенным свойством языка запросов SQL являются возможность простого формулирования запросов.

Существенной особенностью SQL является возможность указания в запросе потребности группирования отношения-результата по указанным полям с поддержкой условий выборки на всю группу целиком. Такие условия выборки могут содержать агрегатные функции, вычисляемые на группе. Эта возможность SQL главным образом отличает этот язык от языков реляционной алгебры и реляционного иiисления, не содержащих аналогичных средств.

Еще одним отличием SQL является необязательное удаление кортежей-дубликатов в окончательном или промежуточных отношениях-результатах. Строго говоря, результатом оператора выборки в языке SQL является не отношение, а мультимножество кортежей. В тех случаях, когда семантика запроса требует наличия отношения, уничтожение дубликатов производится неявно.

Самый общий вид запроса на языке SQL представляет теоретико-множественное алгебраическое выражение, составленное из элементарных запросов.

2.2 Оператор SELECT

- оператор языка SQL, возвращающий набор данных (выборку) из базы.

Он используется для выборки нуля или более строк из одной или нескольких таблиц, хранимых процедур, представлений БД. В большинстве приложений SELECT является наиболее часто используемым оператором языка управления данными. При формировании запроса SELECT пользователь описывает ожидаемый набор данных, но не указывает, какие физические операции должны быть произведены для получения этого набора. Определение для запроса оптимального плана является задачей СУБД.

2.2.1 Раздел FROM

Результатом выполнения раздела FROM является расширенное декартово произведение таблиц, заданных списком таблиц раздела FROM. Расширенное декартово произведение (расширенное, потому что в качестве операндов и результата допускаются мультимножества) в стандарте определяется следующим образом:

"Расширенное произведение R есть мультимножество всех строк r таких, что r является конкатенацией строк из всех идентифицированных таблиц в том порядке, в котором они идентифицированы. Мощность R есть произведение мощностей идентифицированных таблиц. Порядковый номер столбца в R есть n+s, где n - порядковый номер порождающего столбца в именованной таблице T, а s - сумма степеней всех таблиц, идентифицированных до T в разделе FROM".

Если табличное выражение содержит только раздел FROM (это единственный обязательный раздел табличного выражения), то результат табличного выражения совпадает с результатом раздела FROM.

2.2.2 Раздел WHERE

Если в табличном выражении присутствует раздел WHERE, то следующим вычисляется он.

Вычисление раздела WHERE производится по следующим правилам.

Пусть R - результат вычисления раздела FROM. Тогда условие поиска применяется ко всем строкам R, и результатом раздела WHERE является таблица, состоящая из тех строк R, для которого результатом вычисления условия поиска является TRUE.

Заметим, что поскольку стандарт SQL/89 допускает наличие в базе данных неопределенных значений, то вычисление условия поиска производится не в булевой, а в трехзначной логике со значениями TRUE, FALSE и UNKNOWN (неизвестно). Для любого предиката известно, в каких ситуациях он может порождать значение UNKNOWN.

Среди предикатов условия поиска в соответствии с SQL/89 могут находиться следующие предикаты: предикат сравнения, преди?/p>