Автор работы: Пользователь скрыл имя, 22 Марта 2012 в 15:52, курсовая работа
Язык QBE был разработан компанией IBM в 1970-х годах и предназначался для пользователей, заинтересованных в выборке информации из баз данных. Этот язык получил у пользователей столь широкое признание, что в настоящее время в той или иной мере он реализован практически во всех популярных СУБД, включая и Microsoft Access. Средства поддержки языка QBE в СУБД Microsoft Access весьма просты в эксплуатации и в то же время предоставляют пользователям достаточно широкий спектр возможностей работы с данными.
Введение
1 Использование средств QBE для создания запросов на выборку данных
1.1 Задание критериев отбора
1.2 Создание многотабличных запросов
1.4 Сложные типы запросов QBE
2 Изменение содержимого таблиц с помощь активных запросов
2.1 Активные запросы создания таблиц
2.2 Активные запросы удаления
2.3 Активные запросы обновления
2.4 Активные запросы добавления записей
Заключение
Глоссарий
Список использованных источников
Приложения
Версия шаблона | 2.1 |
Филиал |
|
Вид работы | Курсовая работа |
Название дисциплины | Базы данных |
Тема | Язык QBE |
Фамилия студента |
|
Имя студента |
|
Отчество студента |
|
№ контракта |
|
Введение
1 Использование средств QBE для создания запросов на выборку данных
1.1 Задание критериев отбора
1.2 Создание многотабличных запросов
1.4 Сложные типы запросов QBE
2 Изменение содержимого таблиц с помощь активных запросов
2.1 Активные запросы создания таблиц
2.2 Активные запросы удаления
2.3 Активные запросы обновления
2.4 Активные запросы добавления записей
Заключение
Глоссарий
Список использованных источников
Приложения
Язык QBE был разработан компанией IBM в 1970-х годах и предназначался для пользователей, заинтересованных в выборке информации из баз данных. Этот язык получил у пользователей столь широкое признание, что в настоящее время в той или иной мере он реализован практически во всех популярных СУБД, включая и Microsoft Access. Средства поддержки языка QBE в СУБД Microsoft Access весьма просты в эксплуатации и в то же время предоставляют пользователям достаточно широкий спектр возможностей работы с данными.
Средства языка QBE могут использоваться для ввода запросов к информации, сохраняемой в одной или нескольких таблицах, а также для определения набора полей, которые должны присутствовать в результирующей таблице. Отбор записей может проводиться по конкретному или общему критерию и предусматривать выполнение необходимых вычислений на основе информации, сохраняемой в таблицах. Кроме того, средства языка QBE можно использовать для выполнения различных операций над таблицами, например, для вставки и удаления записей, модификации значений полей или создания новых полей и таблиц.
Хранимые в базе данные можно обрабатывать вручную, последовательно просматривая и редактируя данные в таблицах с помощью имеющихся в СУБД средств. Для повышения эффективности обработки данных применяют запросы, позволяющие производить множественную обработку данных, т, е. одновременно вводить, редактировать и удалять множество записей, а также выбирать данные из таблиц.
Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке, удалению или модификации хранимых данных.
Для подготовки запросов с помощью различных СУБД чаще всего используются два основных языка описания запросов:
• QBE (Query By Example) — язык запросов по образцу;
• SQL (Structured Query Language) — структурированный язык запросов.
По возможностям манипулирования данными при описании запросов указанные языки практически эквивалентны (за исключением реализации в QBE выражения NOT EXISTS, что связано с неоднозначностью его интерпретации). Более того, на практике запрос, составленный на QBE, обычно транслируется в SQL – запрос и лишь затем выполняется.
Главное отличие между данными языками заключается в способе формирования запросов: язык QBE предполагает ручное или визуальное формирование запроса, в то время как использование SQL означает программирование запроса
Теоретической основой языка QBE является реляционное исчисление с переменными-доменами (однако в языке присутствуют и элементы исчисления кортежей). Язык QBE позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы (иногда также используют термин QBF – запрос по форме). Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции — достаточно описать образец ожидаемого результата. В каждой из современных реляционных СУБД имеется свой вариант языка QBE.
Выборка, вставка, удаление и модификация могут производиться безусловно или в соответствии с условиями, задаваемыми с помощью логических выражений. Вычисления над данными задаются с помощью арифметических выражений и порождают в ответных таблицах новые поля, называемые вычисляемыми.
Запросная форма обычно имеет вид таблицы, имя и названия полей которой совпадают с именем и названиями полей соответствующей исходной таблицы. Чтобы узнать имена доступных таблиц БД, в языке QBE предусмотрен запрос на выборку имен таблиц. Названия полей исходной таблицы могут вводиться в шаблон вручную или автоматически. Во втором случае используется запрос на выборку заголовков столбцов.
СУБД Microsoft Access при создании запроса с использованием средств QBE неявно формирует эквивалентный оператор языка SQL, предназначенный для выполнения указанных действий, Язык SQL широко используется для выполнения запросов, обновления и обслуживания реляционных баз данных.
А для каждого из запросов на языке QBE, используемых в качестве примера, приведен эквивалентный оператор SQL в базе данных Microsoft Access.
Цель курсовой работы: дать характеристику языка запросов QBE, привести примеры применения языка.
Для достижения поставленной цели необходимо решить следующие задачи:
- Дать определение и краткое введение в язык QBE.
- Изучить средства QBE для создания запросов.
- Рассмотреть активные запросы языкаQBE,
- Представить основные направления и перспективы языка.
Объект исследования: Язык QBE.
Предмет: исследование существующих средств QBE для создания запросов.
1 Использование средств QBE для создания запросов на выборку данных
Запросы на выборку данных являются самым распространенным типом запросов. Не предназначены для извлечения данных из одной или нескольких таблиц и отображения полученных результатов в виде сетки с выбранными данными, допускающей обновление содержащихся в ней записей (с некоторыми ограничениями). В сетке с выбранными данными извлеченная из таблицы информация отображается в виде набора столбцов и строк, подобно обычной электронной таблице. Запросы на выборку допускают группирование записей, а также вычисление сумм, счетчиков, средних значений и применение агрегирующих функций других типов.
В начале создания нового запроса к базе данных открывается окно Select Query (запрос на выборку)и на экран выводится диалоговое окно, которое в нашем случае будет содержать список таблиц и запросов, существующих в базе данных Dream-Home[1]. В этом окне пользователю необходимо указать таблицы и/или запросы, содержащие интересующие его данные. Окно Select Query представляет собой графический инструмент языка QBE. Для определения образца интересующих нас записей в графической среде этого окна для выборки, перетаскивания или манипулирования содержащимися в нем объектами можно использовать мышь. Определение полей и записей, которые должны быть включены в результаты запроса, производится в сетке языка QBE.
При создании запроса в сетке формирования запроса QBE СУБД Microsoft Access неявно генерирует для него эквивалентный оператор SQL. Просмотреть и отредактировать этот оператор SQL можно в окне SQL. Следует отметить, что многие из приведенных в этой главе операторов SQL, сгенерированных СУБД Microsoft Access, не отвечают требованием стандарта SQL. Однако за все надо расплачиваться: на обмен данными через СУБД требуется большее время, чем на обмен аналогичными данными прямо из файлов, специально созданных для того или иного приложения. (Список основных команд операций описан в Приложении 1)
1.1 Задание критериев отбора
Критериями отбора называют ограничения, налагаемые на результаты выполнения запроса с целью выборки только тех полей или записей данных, которые представляют интерес для пользователя. Например, для извлечения из таблицы PropertyForRent только столбцов номера объекта (propertyNo), города (city), типа объекта (type) и суммы арендной платы (rent) в сетке QBE может быть подготовлен запрос. После выполнения этого запроса полученные результаты будут отображены в сетке данных, содержащей только указанные столбцы таблицы PropertyForRent.[2]
Заполненное окно Select Query (Запрос на выборку) со списком полей исходной таблицы (в данном случае — PropertyForRent), отображенным над сеткой QBE. В некоторых из приведенных ниже примеров будет показана только сетка QBE, поскольку состав полей исходной таблицы (таблиц)можно легко определить по набору полей, помещенному в сетку.
Предположим, что в запрос, необходимо добавить новый критерий, который позволит нам выбирать сведения только об объектах недвижимости, расположенных в городе Глазго, т.е. следует определить критерий, который ограничит результирующий набор данных только теми записями, в которых поле city имеет значение 'Glasgow'. Для этого достаточно ввести в сетке
QBE указанное значение в ячейку Criteria столбца city. Можно продолжить усложнение условий отбора, вводя дополнительные критерии для того же поля или для других полей. Если поместить некоторые выражения в несколько ячеек строки Criteria, СУБД Access соединит их, используя логическую операцию AND (И) или OR (Или). Если выражения в разных ячейках будут введены в одну и ту же строку сетки QBE, СУБД Access использует для их соединения операцию AND. Это означает, что в результирующий набор будут помещены только записи, которые отвечают одновременно всем указанным критериям отбора.
Если выражения будут помещены в разные строки сетки QBE, СУБД Microsoft Access использует для их соединения логическую операцию OR.В этом случае в результирующий набор попадут любые записи, отвечающие хотя бы одному из указанных условий отбора. Например, для вывода сведений о расположенных в городе Глазго объектах недвижимости, ежемесячная арендная плата для которых составляет от 350 до 450 фунтов стерлингов, достаточно поместить значение 'Glasgow' в ячейку Criteria (Условие отбора)столбца city и ввести выражение 'Between 350 And 450' в ячейку Criteria столбца rent. После выполнения данного запроса будет выведена сетка данных, содержащая только те записи, которые отвечают указанному критерию.
Предположим, что теперь требуется так изменить данный запрос, чтобы одно временно выбирались и сведения обо всех объектах недвижимости, расположенных в городе Абердин, причем установленный для них размер арендной платы не имеет значения. Для этого достаточно поместить значение 'Aberdeen' в ячейку строки or под ячейкой со значением 'Glasgow' столбца city. Вид сетки QBE с расширенным вариантом запроса .После выполнения того запроса будет выведена сетка данных, содержащая записи, отвечающие указанному критерию. В этом случае считаются удовлетворяющими установленному критерию все записи, у которых поле city содержит значение 'Glasgow' и (операция And) значение в поле rent находится в диапазоне от 350 до 450 фунтов стерлингов, или (операция Or) записи, у которых значение в поле city равно 'Aberdeen' независимо от значения в поле rent).
При определении значений, которые следует выбирать, могут использоваться подстановочные символы или оператор LIKE. В этом случае отбор будет вестись по заданной начальной части значения или по указанному более сложному шаблону. Например, предположим, что необходимо выбрать сведения об объектах недвижимости, расположенных в городе Глазго, однако правильность написания названия этого города на английском языке вызывает у вас сомнение. В этом случае можно воспользоваться конструкцией с оператором LIKE и поместить в ячейку Criteria столбца city выражение 'LIKE Glasgo'. В альтернативном варианте для достижения того же самого результата можно использовать подстановочные символы и поместить в ту же ячейку значение 'Glasg*',если неизвестно точное количество букв в названии города. Подстановочный символ (*)указывает местоположение произвольного количества символов. С другой стороны, если мы точно знаем длину требуемого значения, можно ввести в качестве критерия значение 'Glasg??'. Подстановочный символ (?) указывает местоположение единственного неизвестного символа.
1.2 Создание многотабличных запросов
В правильно нормализованной базе данных связанные данные могут храниться сразу в нескольких таблицах. Поэтому очень важно, чтобы при обработке запросов СУБД поддерживала возможность объединения связанной информации, сохраняемой в различных таблицах.