Механизм работы приложения MIDAS
1. Клиентская программа соединяется с сервером приложений. Если он не запущен, то запускается автоматически.
2. Клиентская программа запрашивает данные у сервера приложений.
3. Сервер приложений обращается к СУБД за получением набора данных, запаковывает его и отсылает клиентской программе.
4. Клиентская программа распаковывает посылку, преобразует ее в локальный набор данных и отображает в соответствующих компонентах (TDBgrid).
5. Пользователь вносит изменения в локальный набор данных: удаляет, изменяет и добавляет записи.
6. Клиентская программа реагирует на действия пользователя и посылает запакованный протокол изменений серверу приложений.
7. Сервер приложений распаковывает посылки и формирует транзакцию к серверу баз данных, который в случае ошибок формирует набор ошибочных записей.
8. Набор посылается обратно в клиентскую программу.
9. Клиентская программа пытается решить проблему с ошибочными записями, взаимодействуя с пользователем.
10. Клиентский набор данных обновляется.
Доступ к данным по технологии ADO
Это технология Microsoft, которая является надстройкой в виде компонентов ActiveX над другой технологией поставщиков OLE DB, имеющихся в системе.
OLE DB – это расширение технологии OLE, позволяющее получить доступ к информации, организованной произвольным способом, а не только реляционно (e-mail, мультимедийная информация, обычные файлы), а также получить доступ к данным, которые не всегда доступны в сети. Поставщики данных OLE DB основаны на протоколе ODBC.
Тема 1.3. Введение в работу с удаленными базами данных
Физическая организация базы данных формата InterBase
БД состоит из последовательности страниц, нумеруемых с нуля.
Нулевая страница является служебной и содержит информацию, необходимую для соединения с БД.
Размер страницы – 1 Кб (по умолчанию), а также 2, 4, 8 Кб – установлен при создании и может быть изменен при сохранении и восстановлении БД, поэтому размер страницы рекомендуется задавать равным размеру кластера диска. При этом учитывается длина записи и наличие BLOB-полей. Объем буфера ввода-вывода для операции чтения и записи определяется количеством страниц (75 по умолчанию). Если БД будет читаться чаще, объем следует увеличить.
В InterBase поддерживается многоверсионная структура записей. При изменении записи создается новая версия, куда записывается, помимо данных, номер транзакции и указатель на предыдущую версию. Старая версия помечена как измененная, а её указатель на следующую версию содержит адрес вновь созданной версии. Каждая стартующая транзакция работает с измененной версией записи. При удалении записи она помечается как удаленная, а удаляется, когда с ней завершены все активные транзакции.
При добавлении новой записи происходит компресация страницы за счет использования "дырок". Если суммарной "дырки" не хватает, то запись помещается на новую страницу. Выделение страниц не оптимизировано. На служебной странице хранятся номера всех свободных страниц.
Многоверсионная структура записи и неоптимальное выделение страниц ведут к высокой фрагментации и замедлению работы с БД, поэтому периодически приходится выполнять дефрагментацию либо путем сохранения БД на диске с последующим восстановлением из резерва копий, либо путем автосборки "мусора".
Организация сеанса связи с удаленной БД
Для организации сеанса связи с удаленной БД, а также ведения и корректировки данных используются специальные утилиты, поставляемые с Delphi и InterBase.
Дата добавления: 2021-09-25; просмотров: 324;