Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Блок № 1 Основы БД.doc
Скачиваний:
14
Добавлен:
20.09.2019
Размер:
2.93 Mб
Скачать

2.7. Схема обмена данными при работе с бд

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

Основные этапы взаимодействия пользователя с БД:

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

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

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

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

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

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

Рис. 2.9. Схема обмена данными при работе с базой данных

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

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

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

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

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

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

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

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

Взаимодействие пользователя, СУБД и ОС при обработке запроса на получение данных (цифрами отмечена последовательность действий):

        1. Пользователь в процессе диалога с приложением посылает СУБД запрос на получение данных из БД (стрелка 1). Запрос формулируется на программном уровне средствами языка манипулирования данными.

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

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

        4. СУБД получает информацию о запрошенной части концептуальной модели (стрелка 5).

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

        6. В СУБД возвращается информация о местоположении данных в терминах операционной системы (стрелка 7).

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

        8. ОС, используя программы методов доступа файловой системы, осуществляет перекачку информации из устройств хранения и пересылает ее в системный буфер (стрелка 9).

        9. ОС оповещает СУБД каким-либо образом (например, кодом возврата) об окончании пересылки данных (стрелка 10).

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

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