рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Элементы языка QBE

Элементы языка QBE - раздел Программирование, Среда Delphi широко известна и не вызывает дополнительных трудностей при изучении и использовании   Язык Qbe (Query By Example – Запрос По Образцу) Был Разработа...

 

Язык QBE (Query By Example – запрос по образцу) был разработан в компании IBM в 1975 году. Это язык реляционного исчисления с переменными на доменах, рассчитанный на работу в интерактивном режиме. Пользователь заполняет ячейки предъявляемых ему таблиц, поэтому говорят, что язык имеет двумерный синтаксис. В отличие от SQL нет общепризнанных стандартов языка QBE, но элементы этого языка достаточно широко распространены (например, СУБД Access, Paradox, Visual FoxPro).

Опишем возможности языка QBE на примерах, рассматривая отношения по поставщикам S (S# , Sn, Scity, Status), изделиям P (P#, Pn, Pcity, W) и поставкам SP (S#, P#, Q). Здесь S# - номер поставщика, Sn – его имя, Scity – место проживания, Status – статус поставщика, выраженный целым числом, P# - номер изделия, Pn – его наименование, Pcity – место хранения, W – вес, Q – объем поставки.

1. Получить имена и номера поставщиков из Москвы.

На экране по требованию пользователя появляется пустая таблица S, которая после заполнения полей приобретает вид

 

S S# Sn Scity Status
  P.X P.Y Москва  

 

Будем считать, что символы ‘P.’ задают режим выдачи на экран, а подчеркиванием выделяются пременные (в отличие от констант). Введенный запрос можно сформулировать так: “Выдать значения полей S# и Sn таблицы S для тех записей, в которых поле Scity принимает значение ‘Москва’”.

Какое значение имеют переменные? Почему нельзя было ограничиться просто знаком вопроса? Мы узнаем это чуть позже.

2. Выдать номера поставщиков, имеющих поставки объемом не менее 100 единиц.

 

SP S# P# Q
  P.X   >=100

 

Заметим, что номера поставщиков в результате повторяться не будут, то есть режим, подобный DISTINCT в SQL, действует автоматически.

3. Выдать номера поставщиков, имеющих поставки изделия P1 либо изделия P2.

 

SP S# P# Q
  P.X P1  
  P.Y P2  

 

4. Выдать номера поставщиков, имеющих поставки как изделия P1, так и изделия P2.

 

SP S# P# Q
  P.X P1  
  P.X P2  

 

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

5. Получить имена поставщиков из Казани статуса 5, имеющих поставки изделия P1 объемом не менее 100 единиц.

Для реализации этого запроса последовательно заполняются две таблицы

 

SP S# P# Q
  X P1 >=100

 

S S# Sn Scity Status
  X P.Y Казань

 

Снова переменная X указывает, что в таблицах SP и S имеется в виду один и тот же поставщик.

6. Получить номера и имена поставщиков-немосквичей, имеющих поставки изделий весом более 100 единиц.

Последовательно заполняются три таблицы

P P# Pn Pcity W
  X1     >100
SP S# P# Q
  Y1 X1  
               

 

S S# Sn Scity Status
  P.Y1 P.Y2 ¹Москва  

 

Здесь таблицы P и SP связываются переменной X1, а SP и S – переменной Y1.

7. Выдать имена поставщиков, не имеющих поставки изделия P1.

Запрос

SP S# P# Q
  X ¹P1  

 

S S# Sn Scity Status
  X P.Y    

 

неправилен. Если некоторый поставщик поставляет как изделие P1, так и другие изделия, то он попадет в результаты запроса именно благодаря изделию, отличному от P1.

Для подобных запросов в языке QBE предусмотрено отрицание, относящееся ко всей записи, а не отдельному полю. Будем обозначать его символом ‘¬’. Наличие этого символа в первой колонке таблицы некоторой строки на экране обозначает, что подобной записи не должно быть. В рассматриваемом примере к нужному результату приводит запрос

 

SP S# P# Q
¬ X P1  

 

S S# Sn Scity Status
  X P.Y    

 

8. Выдать номера изделий, поставляемых более чем одним поставщиком.

 

SP S# P# Q
  X P. Y  
  ¹X Y  

 

9. Получить имена и номера поставщиков самого высокого статуса.

 

S S# Sn Scity Status
  P.X P.Y   SS
¬       >SS

 

Перечислим некоторые дополнительные средства языка QBE.

1. Условия можно помещать отдельно в блоке условий.

2. По требованию пользователя можно создавать новые таблицы.

3. Имеются различные агрегатные функции, позволяющие задавать запросы с группировкой.

4. Наряду с запросами на чтение существуют запросы на включение, удаление, обновление записей.

5. Имеется набор встроенных функций для работы с данными иерархической структуры.

6. Предусмотрены операции со словарем БД, то есть со справочником, содержащим подробные сведения о БД.

В целом язык QBE обладает средствами, сравнимыми с возможностями SQL. Часто элементы языка QBE используются для удобного формирования SQL-запросов в режиме диалога.

 

– Конец работы –

Эта тема принадлежит разделу:

Среда Delphi широко известна и не вызывает дополнительных трудностей при изучении и использовании

В настоящее время список источников по теории и практике использования баз... В данном пособии подробно излагаются вопросы связанные с проектированием и нормализацией базы данных реляционной...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Элементы языка QBE

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

История создания баз данных
  Существуют различные определения базы данных. Обычно они либо неполны, либо слишком громоздки. Дадим простое определение, расширяя его по мере появления новых понятий.

Модели данных СУБД
  Коцептуальной моделью данных в БД называют глобальное логическое описание данных. Структуры данных коцептуальной модели влияют на все характеристики СУБД, охватывая · языки

Двенадцать правил Кодда для реляционных СУБД
В статье, опубликованной в 1985 году [3], Э. Кодд сформулировал двенадцать правил, которым должна соответствовать настоящая реляционная БД. Они являются полуофициальным определением понятия

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

Нормальная форма Бойса-Кодда
  Пусть в определенном выше отношении SP присутствует еще и имя поставщика Sname. Будем для удобства считать, что имя однозначно определяет поставщика. Тогда в отношении SP (Sn, Sname

Четвертая нормальная форма
  Рассмотрим таблицу R (Subj, Teach, Book), где Subj – учебный предмет, Teach- преподаватель по этому предмету, Book – книга, рекомендуемая преподавателем Teach для изучения предмета

Семантическое моделирование данных.
Элементы модели "сущность-связь" Семантическое моделирование данных на основе ER-диаграмм компактно и доступно изложено в [5], и мы будем следовать этому источни

В реляционной СУБД
  Одним из главных достоинств иерархических и сетевых СУБД считают естественность представления данных иерархической и сетевой природы. А как представлять такие данные в реляционных С

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

Основы реляционного исчисления
  Реляционное исчисление это математический аппарат, который позволяет путем использования исчисления предикатов, кванторов и переменных описывать отношения и операции над ними в виде

Общая характеристика и стандарты языка SQL
  Язык SQL (Structered Query Language) впервые появился в рамках проекта разработки экспериментальной реляционной СУБД System R в исследовательской лаборатории фирмы IBM в 1975-1979 г

Многотабличные запросы SQL. Соединения таблиц. Самосоединения. Псевдонимы
  Запросы могут выбирать данные изнескольких таблиц. Эти таблицы должны быть перечислены после слова FROM. Если таблицы не связаны между собой, то результатом запроса будут всевозможн

Внешнее соединение таблиц
  Рассмотренные соединения называют внутренними (INNER JOIN). В некоторых случаях требуются соединения другого вида – внешние соединения (OUTER JOIN). Рассмотрим две таблицы A (Stud,

Для реализации итоговых запросов в SQL имеются следующие стандартные функции, которые называют агрегатными
· MAX (поле) – максимальное значение поля; · MIN (поле) – минимальное значение поля; · AVG (поле) – среднее значение поля; · SUM (поле) – сумма значений поля; ·

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

Целостность данных
  Термин “целостность данных” относится к правильности и полноте информации, содержащейся в БД. Вероятно, корректнее говорить о непротиворечивости данных, поскольку невозможно предотв

Триггеры и хранимые процедуры
  Как уже говорилось, целостность данных часто связана с порядками и правилами в конкретной организации. Например: · клиенты не могут размещать заказы на сумму, превышающую и

Обработка транзакций
  Транзакцией называются несколько последовательных операторов SQL, которые рассматриваются как единое целое. В транзакции каждый оператор решает часть общей задачи, но для того, чтоб

Представления и работа с ними
  Представлением (VIEW) называется SQL-запрос на чтение, которому присвоили имя и сохранили в БД. Представление является виртуальной таблицей, то есть обеспечивает доступ к результата

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

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

Динамический SQL
Рассмотренные возможности SQL реализуются в так называемом статическом SQL. В каждом встроенном операторе программист заранее указывает, на какие таблицы и столбцы он будет ссылать

Подходы к оптимизации запросов
  Говоря про оптимизацию запросов в реляционных СУБД, обычно имеют в виду такой способ обработки, когда по начальному представлению запроса путем преобразований вырабатывается процеду

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги