Многопользовательский доступ к данным

7.1. Технология «клиент-сервер»

 

Сервер – компьютер, предназначенный для выполнения определенных служебных задач (напр., файл-сервер).

Также сервер – программное обеспечение, которое отвечает на запросы клиентов и предоставляет им доступ к ресурсам или услугам.

 

Виды серверов:

 

· FTP-сервер (ftp – протокол для передачи файлов);

· WEB-сервер (принимает от клиентов http-запросы, возвращает http-ответы);

· сервер БД;

· SMTP-сервер;

· прокси-сервер (позволяет клиентам выполнять косвенные запросы к другим сетевым службам) и др.

 

Клиент – это аппаратный или программный компонент, который отправляет серверу запросы, в ответ получает информацию и предоставляет её пользователю.

По сути, сервер владеет и распоряжается информационными ресурсами системы, клиент имеет возможность ими воспользоваться.

 

В случае если обработка и представление данных происходят на машине клиента, это толстый клиент.

При использовании тонких клиентовбольшая часть обработки данных происходит на сервере. В отличие от толстого, компьютеру – тонкому клиенту не требуется специального ПО.

 

При работе с базами данных часто используется следующая схема:

 

 

 

Тонкий клиент (веб-браузер) обращается к веб-серверу по протоколу http, веб-сервер отправляет запрос к серверу БД, получает данные, обрабатывает их, формирует html-страницу и возвращает её клиенту.


Транзакции

 

Транзакция представляет собой команду или группу команд SQL, которые завершаются или отменяются как единое целое.

Классический пример транзакции – пересылка денег через банкомат. Предположим, через банкомат происходит перевод $5000 с накопительного счёта на текущий. Программа вычитает $5000 с накопительного счёта, после чего увеличивает текущий счёт на $5000. Во время работы программы после вычитания денег с накопительного счёта, но до увеличения текущего счёта на банкомате происходит сбой питания. Вопрос: что происходит с $5000? Деньги возвращаются на накопительный счёт, помещаются на текущий счёт или пропадают навеки?

Если эти две команды объединены в транзакцию, проблем нет. Это гарантирует, что обе команды либо успешно завершатся, либо не завершится ни одна из них. Без транзакций существует опасность того, что будет выполнена лишь одна команда.

Каждый из операторов INSERT, UPDATE, DELETE создаёт транзакцию, которая завершается при завершении оператора. Транзакция может состоять также из нескольких операторов. Для управления транзакциями существуют специальные команды.

 

Синтаксис   Применение  
BEGIN { TRAN | TRANSACTION } [имя_транзакции | переменная] Определение начала транзакции. Имя транзакции может храниться в переменной.
COMMIT { TRAN | TRANSACTION } [имя_транзакции | переменная] Отметка об успешном завершении транзакции, изменение данных становится постоянным.
COMMIT WORK Завершение транзакции. Работает аналогично COMMIT TRAN, но без имени транзакции.  
ROLLBACK { TRAN | TRANSACTION } [имя_транзакции | имя_точки_сохранения | переменная] Откат изменений до начала транзакции или до точки сохранения. Команда освобождает ресурсы, занятые транзакцией.
ROLLBACK [ WORK ] Работает аналогично ROLLBACK TRAN, но без имени транзакции.
SAVE { TRAN | TRANSACTION } { имя_точки_сохранения | переменная } Установка точки сохранения внутри транзакции, к которой может выполняться откат. Точка сохранения определяет место, к которому может возвратиться транзакция, если часть транзакции условно отменена.

 

Если во время транзакции происходят ошибки, выполняется команда ROLLBACK TRAN.

При многопользовательском доступе всегда есть возможность параллельного доступа, т.е. одновременного обращения нескольких пользователей к одним и тем же данным. Из-за этого могут возникать проблемы.









Дата добавления: 2018-09-24; просмотров: 412;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.