- •Базы данных
- •Содержание
- •Введение
- •1. Основные понятия реляционных баз данных
- •2. Субд Microsoft Access
- •3. Лабораторный практикум Лабораторная работа № 1 Проектирование баз данных с использованием er-технологии
- •Лабораторная работа № 2 Создание и связывание таблиц базы данных
- •Лабораторная работа № 3 Создание запросов на выборку
- •Лабораторная работа № 4 Запросы на выборку в форме sql
- •Лабораторная работа № 5 Перекрестные запросы
- •Лабораторная работа № 6 Запросы на изменение
- •Лабораторная работа № 7 Создание однотабличных форм
- •Лабораторная работа № 8 Создание многотабличных форм
- •Лабораторная работа № 9 Создание главной кнопочной формы
- •Лабораторная работа № 10 Создание отчетов
- •Лабораторная работа № 11 Создание макросов
- •Лабораторная работа № 12 Автоматизированное создание баз данных с использованием case-средств
- •Лабораторная работа № 13 Средства защиты базы данных
- •Лабораторная работа № 14 Работа с базами данных в распределенной среде
- •Лабораторная работа № 15 Интеграция базы данных с глобальной сетью Интернет
- •4. Варианты заданий к лабораторным работам
- •Библиографический список
Лабораторная работа № 14 Работа с базами данных в распределенной среде
Теоретические сведения
Сетевые возможности наиболее развиты в корпоративных СУБД, но в связи с распространенностью сетевых технологий настольные СУБД также обеспечивают работу в многопользовательском режиме. Access допускает до 255 одновременно работающих с БД пользователей. Кроме самостоятельного использования Access может применяться в качестве интерфейсного средства при работе в гетерогенной СБД (как правило, совместно с MS SQL-сервером).
Существует несколько способов совместного использования данных Access в многопользовательской среде:
совместное использование всей БД (таблиц, форм, отчетов, запросов, макросов и модулей);
совместное использование таблиц БД;
совместное использование объектов БД или страниц доступа к данным в Интернете;
репликация БД;
создание приложения в архитектуре «клиент-сервер».
Можно поместить всю БД Access на сетевой сервер или в общую папку. Следует убедиться, что для БД задано открытие в режиме совместного доступа. Установить этот режим можно командой Сервис > Параметры. На вкладке Другие в группе параметров Режим открытия по умолчанию следует выбрать параметр Общий доступ (рис. 51).
Рис. 51. Настройка параметров при совместном использовании БД
Здесь же можно настроить параметры, управляющие блокировкой и обновлением данных. Блокировкой называется запрещение изменения данных, если их корректирует другой пользователь. Можно выбрать одно из трех возможных значений параметра блокировки.
1. Отсутствует. При выборе параметра изменяемая запись не блокируется. При попытке сохранить измененную запись, которую в это же время изменял другой пользователь, на экране появляется предложение:
сохранить данный вариант записи, уничтожив изменения, внесенные другим пользователем;
скопировать свою измененную запись в буфер обмена;
отказаться от собственных изменений.
Использование этого значения параметра блокировки может привести к нарушению целостности данных, если квалификация и ответственность пользователей, вносящих изменения недостаточно высоки.
2. Изменяемой записи. Access блокирует изменяемую в данный момент запись, не позволяя изменять ее другим пользователям. При этом заблокированными могут оказаться другие записи, расположенные рядом на диске. Выбор данного значения параметра блокировки гарантирует завершение всех начатых изменений.
3. Всех записей. Access блокирует все записи формы и базовых таблиц на весь период их открытия, поэтому другие пользователи не могут изменить или заблокировать записи. Этот параметр следует использовать в случае выполнения массовой корректировки БД либо при выполнении какой-либо приоритетной задачи, предъявляющей жесткие требования ко времени ее выполнения.
Кроме того, в Access возможна временная ручная блокировка поля. Чтобы заблокировать поле, необходимо выделить его и нажать клавиши [Ctrl]+[F11]. Чтобы снять блокировку, следует выделить поле и нажать клавиши [Ctrl]+[Shift]+[F11].
Можно выполнить настройку периода обновления и повторов обновления. В поле Период повтора обновления (мс) задается интервал, по истечении которого Access попытается сохранить измененную запись, заблокированную другим пользователем. В поле Число повторов обновления задается число попыток сохранения измененной записи, заблокированной другим пользователем. В поле Период обновления ODBC (с) задается интервал, по истечении которого Access автоматически обновляет записи, доступ к которым осуществляется через ODBC. В поле Период обновления (с) задается период автоматического обновления данных. Этот параметр действует только при работе с БД в сети.
Совместное использование всей БД является наиболее простым способом организации совместного доступа. Все работают с одними и теми же данными, формами, отчетами, запросами, макросами и модулями. Это приемлемо, когда информационные потребности пользователей совпадают.
Существует другой путь – разделение БД на две части. На сетевой сервер помещаются только таблицы БД, а остальные объекты хранятся на компьютерах пользователей. Работа происходит быстрее, так как по сети передаются только данные. Если разделить БД на серверную часть и клиентскую часть, пользователь получит возможность изменять формы, отчеты и другие объекты в собственной клиентской БД, не влияя при этом на других пользователей.
Для разделения БД, необходимо выполнить следующие шаги:
выбрать команду Сервис > Служебные программы > Разделение баз данных;
на вопрос мастера Разделить базу данных? указать место на диске, где будет размещена отделенная БД (часть исходной БД, содержащая таблицы).
При формировании запросов используемые таблицы могут находиться в другой БД Access и даже в БД других СУБД. При этом используется присоединение таблиц. Администратор сети может создать несколько копий стандартной БД с присоединенными таблицами или позволить пользователю создавать собственные БД и присоединять таблицы самостоятельно. Пользователи могут корректировать данные в присоединенной таблице, но не могут менять ее структуру.
Для пользователей, совместно работающих с одним приложением и не всегда имеющих возможность подключиться к локальной сети, предназначена процедура репликации БД. Репликацией называется создание специальных копий (реплик) обшей БД, с которыми пользователи могут одновременно работать на разных компьютерах (в командировке, когда невозможно подключиться к сети или когда необходимо уменьшить загрузку сети). В отличие от обычной копии файлов БД для реплики возможна синхронизация изменений.
Преобразование БД в реплицированную выполняется командой меню Сервис > Репликация >Создать реплику. При этом Access присваивает БД статус основной реплики и создает новую реплику. Реплицировать можно только закрытую БД, которая не защищена паролем. Поскольку исходная БД при репликации изменяется, то перед созданием реплики следует создать резервную копию исходной БД.
После внесения изменений в реплики возможна их синхронизация с помощью команды Сервис > Репликация >Синхронизация. При проведении сеанса синхронизации изменения, сделанные одним пользователем, могут автоматически вноситься в общую реплику и реплики других пользователей и наоборот. В процессе синхронизации производится обмен обновленными записями и объектами между репликами. Если пользователи двух разных реплик по-разному изменили одну и ту же запись, то создается конфликтная таблица. Для просмотра и исправления конфликтующих записей следует выполнить команду Сервис > Репликация > Устранить конфликты. При проведении синхронизации работа с БД может продолжаться.
В БД могут реплицироваться не все объекты, часть может использоваться локально. Некоторые объекты реплицируются группами пользователей. Для создания реплик БД можно использовать также «Портфель» Windows.
Практическая работа
При выполнении лабораторной работы необходимо:
поместить БД на сетевой сервер или в общую папку, задать для БД открытие в режиме совместного доступа, выполнить необходимые настройки блокировки и обновления и проверить работу с БД в многопользовательском режиме
разделить БД на серверную и клиентскую часть, выполнить необходимые настройки и проверить работу с БД в многопользовательском режиме;
создать реплику БД на удаленном компьютере, внести изменения в реплику и провести сеанс синхронизации, устранив возможные конфликты;
составить отчет по лабораторной работе.