- •Архитектуры удаленных баз данных
- •Основные понятия и определения.
- •Базовые архитектуры распределенной обработки данных
- •Двухуровневые модели
- •Модель удаленного управления данными (Модель «файл-сервер»)
- •Модель удаленного доступа к данным
- •Модель сервера баз данных
- •3.1. Архитектура «выделенный сервер баз данных»
- •3.2. Архитектура «активный сервер баз данных»
- •4. Модели серверов бд.
- •4.1 Архитектура модели «один к одному»
- •4.2. Архитектура модели многопотоковая односерверная
- •4.3. Архитектура виртуального сервера
- •4.4. Многопотоковая мультисерверная архитектура
- •Модель сервера приложений
- •Лекция 2 Типы параллелизма
- •Лекция 3 Основные технологии доступа к данным и типовые элементы доступа План изложения материала
- •Структурная схема терминов
- •Технология com (component object model)
- •Создание распределенных приложений на базе dCom
- •Технология corba (общая архитектура брокеров объектных запросов)
- •Технология midas
- •Доступ к данным по технологии ado
- •Технологии ado.Net
- •Технологии ado .Net. Доступ к данным
- •Ado .Net. Объектная модель
- •События класса DataTable
- •Листинг 1: html, txt
- •Лекция 4
- •Введение в работу с удаленными бд. Cервер бд InterBase
- •Введение
- •Структурная схема терминов
- •Физическая организация базы данных формата InterBase
- •Типы данных в таблицах InterBase
- •Организация сеанса связи с удаленной бд
- •Утилиты для работы с удаленными бд в Delphi
- •Лекция 5
- •Синтаксические особенности языка sql
- •Операции с индексами
- •Просмотры View
- •Создание бд
- •Создание и использование доменов
События класса DataTable
В классе определены четыре события, которые позволяют перехватывать и в случае необходимости отменять изменения состояния таблицы данных.
Изменения строк.
DataRowChanging – изменения вносятся в строку таблицы.
Объявление соответствующего обработчика события имеет вид
private static void Row_Changing( object sender, DataRowChangeEventArgs e )
DataRowChanged – изменения внесены в строку таблицы.
Объявление соответствующего обработчика события имеет вид
private static void Row_Changed( object sender, DataRowChangeEventArgs e )
Пример программного кода для объекта – представителя класса DataTable:
Листинг 1: html, txt
Параметр обработчика события DataRowChangeEventArgs обладает двумя свойствами (Action и Row), которые позволяют определить изменяемую строку и выполняемое над строкой действие. Действие кодируется значениями специального перечисления:
enum RowDataAction
{
Add,
Change,
Delete,
Commit,
Rollback,
Nothing
}
Изменения полей (элементов в строках таблицы)
DataColumnChanging – изменения вносятся в поле строки данных.
Объявление соответствующего обработчика события имеет вид
private static void Column_Changing
(object sender, DataColumnChangeEventArgs e)
DataColumnChanged – изменения были внесены в поле строки данных.
Объявление соответствующего обработчика события имеет вид
private static void Column_Changed
(object sender, DataColumnChangeEventArgs e)
Параметр обработчика события DataColumnChangeEventArgs e обладает тремя свойствами:
-
Свойство
Описание
Column
Get. Объект-представитель класса DataColumn с изменённым значением
ProposedValue
Gets, sets. Новое значение для поля в строке
Row
Строка, содержащая запись с изменяемым (измененным) значением
Лекция 4
Введение в работу с удаленными бд. Cервер бд InterBase
Введение
Структурная схема терминов
SQL-сервер Local InterBase
Все серверы БД имеют похожие принципы организации данных и управления ими. Локальный сервер InterBase представляет собой локальную копию (версию) настоящего сервера Interbase, он устанавливается на компьютер локально, и позволяет локально разрабатывать и отлаживать приложения для работы с удаленными БД. В результате становится возможным так называемое масштабирование БД. Приложение, отлаженное локально для Local InterBase, может быть без всяких изменений перенесено на удаленный компьютер и будет работать с удаленной базой данных. SQL-сервер InterBase является "промышленной" СУБД, предназначается для хранения и выдачи больших объемов информации, в условиях одновременной работы множества клиентских приложений.
Целостность БД задается путем использования:
Отношения подчиненности между таблицами путем задания первичных ключей у родительской таблицы (primary) и внешних – у дочерних (foreign).
Ограничения на значения отдельных столбцов путем определения ограничений (constraint) на значение домена или столбца.
Бизнес-правил, задаваемых при помощи триггеров, т.е. подпрограмм, автоматически выполняемых сервером до или (и) после события изменения записи в БД.
Уникальных значений нужных полей путем создания и использования генераторов (generator).
Бизнес-правила – это правила работы с БД, позволяющие быстро модифицировать ее структуру, изменять значения ключевых полей, перестраивать индексы.
Для ускорения работы клиентских приложений с удаленной БД могут быть использованы хранимые процедуры(stored procedure), т.е. процедуры, которые хранятся и выполняются на сервере.
В составе записей БД могут входить BLOB-поля, предназначенные для хранения больших объемов информации в двоичном виде: текст, графические документы, файлы, мультимедиа и т.д. Интерпретация BLOB-полей выполняется в клиентском приложении, однако разработчик может определить BLOB-фильтры для автоматического преобразования BLOB-поля в другой вид.
InterBase позволяет определить UDF (user defined function) – пользовательские функции, в которых могут реализовываться подпрограммы, отсутствующие в стандартных функциях InterBase, например, вычисление максимума и минимума, преобразование типов, и т.п. Функция пишется на любом языке программирования в виде DLL.
InterBase может посылать уведомления клиентским приложениям о наступлении события. Для обеспечения быстрого выполнения запросов можно создавать виртуальные таблицы, в которых объединены записи в соответствии с некоторым условием.
