Добавить в корзинуПозвонить
Найти в Дзене

Схема обмена данными при работе с БД

Пользователю любой категории (администратору БД, разработчику приложения, обычному пользователю) для грамотного решения задач по­лезно представлять вычислительный процесс, происходящий в ОС при работе с БД. Раскроем внутренние механизмы этого процесса на примере наиболее общего случая организации ИС, функционирующей на одном ПК, - когда пользователь работает с «полной» версией программы СУБД (рис. 1.3). Варианты, представленные на рис. 1.4 и рис. 1.5, можно считать част­ными случаями. При работе пользователя с базой данных над ее содержимым выпол­няются следующие основные операции: выбор, добавление, модифика­ция (замена) и удаление данных. Рассмотрим, как происходит обмен данными между отдельным пользователем и персональной СУБД при выполнении наиболее часто используемой операции выбора данных. Обмен данными между пользователем и БД для других операций отли­чается несущественно. Схематично обмен данными при работе пользователя с БД можно пред­ставить так, как показано на рис. 1.6, где

Пользователю любой категории (администратору БД, разработчику приложения, обычному пользователю) для грамотного решения задач по­лезно представлять вычислительный процесс, происходящий в ОС при работе с БД. Раскроем внутренние механизмы этого процесса на примере наиболее общего случая организации ИС, функционирующей на одном ПК, - когда пользователь работает с «полной» версией программы СУБД (рис. 1.3). Варианты, представленные на рис. 1.4 и рис. 1.5, можно считать част­ными случаями.

При работе пользователя с базой данных над ее содержимым выпол­няются следующие основные операции: выбор, добавление, модифика­ция (замена) и удаление данных. Рассмотрим, как происходит обмен данными между отдельным пользователем и персональной СУБД при выполнении наиболее часто используемой операции выбора данных. Обмен данными между пользователем и БД для других операций отли­чается несущественно.

Схематично обмен данными при работе пользователя с БД можно пред­ставить так, как показано на рис. 1.6, где обычными стрелками обозначены связи по управлению, утолщенными — связи по информации.

Цикл взаимодействия пользователя с БД с помощью приложения мож­но разделить на следующие основные этапы:

1. Пользователь терминала (1) в процессе диалога с приложением фор­мулирует запрос (2) на некоторые данные из БД.

Рис. 1.6. Схема обмена данными при работе с БД
Рис. 1.6. Схема обмена данными при работе с БД

2. Приложение (3) на программном уровне средствами языка манипули­рования данными формулирует запрос (4), с которым обращается к СУБД.

3. Используя свои системные управляющие блоки и таблицы, СУБД с помощью словаря данных определяет местоположение требуемых данных и обращается (5) за ними к ОС.

4. Программы методов доступа файловой системы ОС считывают (6) из внешней памяти искомые данные и помещают их в системные буферы СУБД.

5. Преобразуя полученные данные к требуемому формату, СУБД пере­сылает их (7) в соответствующую область программы и сигнализирует (8) о завершении операции каким-либо образом (например, кодом возврата).

6. Результаты выбора данных из базы приложение (3) отображает (9) на терминале пользователя (1).

В случае работы пользователя в диалоговом режиме с СУБД (без прило­жения) цикл взаимодействия пользователя с БД упрощается. Его можно представить следующими этапами:

1. Пользователь терминала (10) формулирует на языке запросов СУБД, например QBE, по связи (11) требование на выборку некоторых данных из базы.

2. СУБД определяет местоположение требуемых данных и обращается (5) за ними к ОС, которая считывает (6) из внешней памяти искомые дан­ные и помещает их в системные буферы СУБД.

3. Информация из системных буферов преобразуется (12) к требуемому формату, после чего отображается (13) на терминале пользователя (10).

Напомним, что описанная схема поясняет, как функционирует СУБД с одним пользователем на отдельной ПЭВМ.

Если компьютер и ОС поддерживают многопользовательский режим ра­боты, то в такой вычислительной системе может функционировать много­пользовательская СУБД. Последняя, в общем случае, позволяет одновремен­но обслуживать нескольких пользователей, работающих непосредственно с СУБД или с приложениями (каждое из которых может поддерживать ра­боту с одним или несколькими пользователями).

Иногда к вычислительной системе подключается так называемый «удаленный пользователь», находящийся на некотором удалении от ЭВМ и соединенный с ней при помощи какой-либо передающей среды (интерфейс ЭВМ, телефонный канал связи, радиоканал, оптико-воло­конная линия и т. д.). Чаще всего такой пользователь программным спо­собом эмулируется под обычного локального пользователя. СУБД, как правило, этой подмены «не замечает» и работает по обслуживанию зап­росов обычным образом.

В многопользовательских СУБД при выполнении различных опера­ций параллельно проистекают процессы, подобные описанным выше и показанным на рис. 1.6.

При обслуживании нескольких параллельных источников запросов (от пользователей и приложений) СУБД так планирует использование своих ресурсов и ресурсов ЭВМ, чтобы обеспечить независимое или почти неза­висимое выполнение операций, порождаемых запросами.

Многопользовательские СУБД часто применяются на больших и сред­них ЭВМ, где основным режимом использования ресурсов является кол­лективный доступ.

На персональных ЭВМ пользователь обычно работает один, но с различ­ными программами, в том числе и одновременно (точнее, попеременно). Иног­да такими программами оказываются СУБД: различные программы или раз­ные копии одной и той же СУБД. Последняя ситуация возникает, например, при работе с различными базами данных с помощью СУБД Access.

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