- •Федеральное агентство связи
- •Государственное образовательное учреждение высшего
- •Профессионального образования
- •«Поволжская государственная академия телекоммуникаций и информатики»
- •Разработка и эксплуатация удаленных баз данных
- •Конспект лекций
- •Введение
- •Раздел 1. Теория проектирования удаленных баз данных архитектуры удаленных бд Структурная схема терминов
- •Архитектуры бд
- •Локальная
- •Архитектура "файл-сервер"
- •Архитектура удаленных бд ("клиент-сервер")
- •Достоинства и недостатки различных архитектур приложений бд
- •Основные технологии доступа к данным Технология com (component object model)
- •Создание распределенных приложений на базе dCom
- •Технология corba (общая архитектура брокеров объектных запросов)
- •Технология midas
- •Доступ к данным по технологии ado
- •Технология com (component object model)
- •Составные части технологии com
- •Создание распределенных приложений на базе dCom
- •Технология midas
- •Доступ к данным по технологии ado
- •Введение в работу с удаленными бд
- •Организация сеанса связи с удаленной бд
- •Сервер interbase
- •Физическая организация базы данных формата InterBase
- •Типы данных в таблицах InterBase Типы столбцов таблиц формата InterBase
- •Организация сеанса связи с удаленной бд
- •Физическая организация удаленной бд
- •Создание и модификация таблиц Операции с таблицами
- •Операции с индексами
- •Графическое проектирование структуры бд Просмотры View
- •Создание бд
- •Создание и использование доменов
- •Компоненты доступа к данным. Запросы на выборку данных
- •Компоненты для доступа к данным и их отображения
- •Формирование запросов на выборку данных
- •Запросы на изменение данных Структурная схема терминов
- •Работа с записями
- •Методика изменения данных при помощи компонент
- •Использование хранимых процедур
- •Понятие и назначение хранимых процедур
- •Язык хранимых процедур
- •Использование триггеров и генераторов
- •Понятие триггера
- •Команды создания, изменения и удаления триггера
- •Генераторы - назначение, создание, установка начального значения
- •Функции, определяемые пользователем – назначение, создание, применение, порядок работы с ними
- •Сортировка, поиск и фильтрация в бд и выборках
- •Сортировка
- •Фильтрация записей
- •Организация данных в бд InterBase
- •Поиск в наборах данных
- •Манипулирование данными в выборках
- •Управление транзакциями и кэширование памяти
- •Механизм транзакций
- •Механизм кэшированных изменений
- •Перехват исключительных ситуаций и обработка ошибок
- •Понятие исключительных ситуаций
- •Обработка исключений
- •Формирование и вывод отчетов
- •Назначение и виды отчетов
- •Компоненты для формирования отчетов
- •Особенности проектирования клиентской части приложения в различных технологиях доступа
- •Особенности проектирования клиентской части приложения в различных технологиях доступа
- •Установка привилегий доступа к данным
- •Понятие привилегии, привилегии по умолчанию
- •Состав параметров при установлении привилегий
- •Назначение привилегий пользователю и группам пользователей
- •Отмена привилегий
- •Копирование, перенос и восстановление данных Создание резервной копии и восстановление бд
- •Восстановление транзакций
- •Регистрация новых пользователей
- •Копирование клиентской части приложения бд Структурная схема терминов
- •Утилита Install Shield
- •Определение файлов, объектов и элементов среды
- •Задание диалога при разархивировании
- •Создание прообраза копии диска
- •Создание копии на дискетах
Функции, определяемые пользователем – назначение, создание, применение, порядок работы с ними
Использование функций, определяемых пользователем
Функция, определяемая пользователем, представляет собой обычную функцию, написанную на алгоритмическом языке, например, 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-запроса, кроме того, поиск с помощью фильтрации действует медленнее, чем индексный, поэтому при работе с удаленными БД фильтрацию использовать не целесообразно.