Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЭУБД лекции.doc
Скачиваний:
25
Добавлен:
27.08.2019
Размер:
399.36 Кб
Скачать

Функции, определяемые пользователем – назначение, создание, применение, порядок работы с ними

Использование функций, определяемых пользователем

Функция, определяемая пользователем, представляет собой обычную функцию, написанную на алгоритмическом языке, например, Pascal. Функция оформляется в виде DLL, откуда вызывается обычным способом. Библиотека обычно содержит несколько функций.

Достоинства применения функций:

  • расширение состава функций языка SQL;

  • возможность использования функций другими приложениями.

Порядок работы с пользовательской функцией:

  • создать функцию и включить ее в библиотеку;

  • объявить функцию на сервере;

  • вызвать функцию в операторе SQL.

Пример

Функция извлечения квадратного корня из числа.

Library IBDLL;

Uses

SysUtils;

Classes;

Function Sqrt2 (x; real): real; cdecl; export;

Begin

If x<0 then Sqrt2:=sqrt(x);

End;

Exports

Sqrt2;

Begin

End.

Сортировка, поиск и фильтрация в бд и выборках

Структурная схема терминов

Сортировка

Сортировка определяет порядок расположения записей в наборе данных. Порядок расположения записей в БД может быть неопределенным. По умолчанию записи не отсортированы или сортируются по текущему индексу.

С отсортированными наборами данных работать более быстро и удобно. Сортировка заключается в упорядочивании записей по определенному полю в порядке возрастания или убывания содержащихся в нем значений. Сортировку можно выполнить и по нескольким полям. Сортировка наборов TTable выполняется автоматически по текущему индексу. При смене индекса происходит автоматическое переупорядочивание записей.

Текущий индекс задается свойствами компонента TTable: IndexName, IndexFieldNames. Свойства являются взаимоисключающими, можно выбрать только одно из них.

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

Пример 1

Procedure TForm1.Button4Click (Sender: TObject);

Begin

Case RadioGroup1.ItemIndex of

0: Table1. IndexName := 'indName';

1: Table1. IndexName := 'indBirthDay';

end;

end;

Пример 2

Procedure TForm1.Button5Click (Sender: TObject);

Begin

Case RadioGroup1.ItemIndex of

0: Table1.IndexFieldNames := 'Name';

1: Table1.IndexFieldNames := 'Name; BirthDay';

2: Table1.IndexFieldNames := 'Code';

end;

end;

Фильтрация записей

Фильтрация записей – это задание ограничения для записей отбираемых в набор данных.

Система Delphi дает возможность осуществлять фильтрации записей:

  • по выражению;

  • по диапазону.

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