- •Практическая работа с базами данных в OpenOffice.Org Base
- •1. Реляционные базы данных
- •1.1 Назначение баз данных и принципы построения
- •1.2 Свойства полей
- •1.3 Объекты базы данных
- •2. Технология создания таблиц
- •2.1. Проектирование базы данных
- •2.2. Создание новой базы данных Сессия
- •2.3. Создание таблицы в режиме дизайна
- •3. Установление связей между таблицами
- •4. Создание форм. Ввод данных в таблицы бд
- •4.1. Создание формы для таблицы Студент
- •4.2. Ввод данных в таблицу Студент с использованием формы
- •4.3. Использование формы для просмотра данных
- •4.4. Просмотр данных в таблице Студент
- •5. Работа с запросами
- •5.1. Создание запросов по образцу
- •5.2. Примеры построения запросов
- •6. Создание отчетов
5. Работа с запросами
Запрос является объектом БДOOoBaseи предназначен для отбора данных, удовлетворяющих заданным условиям, и предоставления их пользователю в удобном виде. Отбор необходимых данных может производиться как из одной таблицы, так и из нескольких связанных таблиц.
Результатом выполнения запроса является набор записей, собранных в таблице, называемых ответной (динамической, временной) таблицей. С ней можно работать как с обычной таблицей: можно просматривать и отбирать информацию, производить вычисления, печатать и т.п. Однако, в отличие от реальной, ответная таблица в БД физически не существует – OooBaseсоздает ее из исходных таблиц только во время выполнения запроса.
Запрос, в отличие от фильтра, можно сохранить, задав ему имя для дальнейшего использования. Если вам неоднократно приходится обращаться к отобранным данным, рекомендуется составлять запрос.
5.1. Создание запросов по образцу
Для создания запросов в современных СУБД предназначены два языка:
• QBE (Query By Example) - запрос по образцу;
• SQL(StructuredQueryLanguage) структурированный язык запросов.
Наиболее просто и наглядно запросы создаются с помощью языкаQBE. Запросы на этом языке организуются путем интерактивного заполнения специальных запросных форм. Создание запросов с помощью языкаSQLтребует программирования запроса с помощью операторов и функций данного языка. В данной работе рассматриваются толькоQBE– запросы.
Для создания QBE – запроса необходимо в Главном окне БД выбрать вкладку Запросы и соответствующую ей задачу Создать запрос в режиме дизайна. После этого появятся два окна: окно построителя запросов и окно добавления таблиц , рис. 23.
Рис. 23. Окна построителя запросов и добавления таблиц
Далее необходимо в окне добавления таблиц выбрать и добавить в верхнюю часть окна построителя запросов нужные таблицы, после чего окно добавления таблиц закрывается. Связи между таблицами берутся из схемы данных, созданной ранее, и устанавливаются автоматически.
Нижняя часть построителя запросов состоит из ряда строк, назначение которых следующее:
Поле- здесь располагается название отобранного для запроса поля;
Псевдоним- альтернативное название поля для ответной таблицы;
Таблица- название таблицы, из которой берется поле;
Сортировка- для указания того, нужна ли сортировка по полю, и если нужна, то какая; при выполнении щелчка на этой строке появляется поле списка с перечнем способов сортировки;
Видимый- флажок, указывающий на то, будет ли показан данный столбец в ответной форме, или он введен для иных целей (участвует только в выражении отбора записей и т.п.);
Функция- для выбора групповой операции;
Критерий- для задания условия отбора;
Или- строки для создания сложного условия отбора.
Строки КритерийиИЛИпредназначены для ввода условий (критериев) отбора в запрос. Условия отбора указываются для одного или нескольких полей и представляют собой логическое выражение. В логических выражениях используются логические операторыAND(“И”),OR(“ИЛИ”) иNOT(“НЕ”), операторы отношений (<, <=, >, >=, =, < >), командыOOo.
Логические операторы AND и OR в QBE – запросах, в отличие от языка SQL, в условиях отбора явно не указываются. Принято следующее соглашение: условия, находящиеся в одной строке, связываются логическим оператором AND (условия выполняются одновременно), а условия в разных строках означают выполнение логического оператора OR (выполняется хотя бы одно из условий).
Операторы отношений сравнивают содержимое поля с указанным условием.
Команды OOo, используемые в условиях отбора:
• LIKE x – поле данных содержит указанное выражение x; выражение x может быть текстовым и содержать символы подстановки ‘?’ и ‘*’;
• NOTLIKEx– поле данных не содержит указанное выражениеx; выражениеxможет быть текстовым и содержать символы подстановки ‘?’ и ‘*’;
• BETWEENxANDy– поле данных содержит значение, находящееся в интервале [x,y];
• NOTBETWEENxANDy– поле данных не содержит значения в интервале [x,y];
• ISEMPTY– поле данных пустое (NULL);
• ISNOTEMPTY– поле данных не пустое;
• IN(a;b;c…) – поле данных содержит одно из указанных значенийa,b,c,…,которые могут быть числами или символами; результат запроса определяется операторомOR;
• NOTIN(a;b;c…) – поле данных не содержит указанных значенийa,b,c,…;
• = TRUE– поле данных имеет значениеTRUE(ИСТИНА);
• = FALSE– поле данных имеет значениеFALSE(ЛОЖЬ).