Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 72
Текст из файла (страница 72)
В случаях, когда для хранения реплик БД используется папка П о р т ф е л ь ( M y B r i e f c a s e ) , репликациюБД называют портфельной репликацией. Для использования этой репликации на рабочем столе системы должен быть создан портфель, если его тамнет. Это можно сделать с помощью контекстного меню, вызванного на рабочем столе.По одной базе данных можно создать набор реплик. В наборе различают основную реплику и дополнительные реплики. Основная реплика отличается отобычной (дополнительной) реплики тем, что в ней можно изменять структуру БД. Основную реплику можно сделать обычной, а дополнительную реплику — основной, но в любой момент времени в наборе реплик одна реплика является основной, а остальные — дополнительными. Дополнительные репликиможно создавать из основной и дополнительных реплик.Создание основной реплики состоит в преобразовании файла исходной БДв новый файл.
Исходную базу данных будем называть реплицируемой. Еслиосновную реплику назвать тем же именем, что и исходная (реплицируемая)БД, то последняя пропадет. Для безопасности перед проведением преобразования целесообразно создать резервную копию исходного файла БД. Еслипользователь не создал резервную копию исходной БД до начала репликации, он может это сделать в процессе ее выполнения.В ходе репликации в файл исходной БД добавляются специальные таблицы, поля и свойства. После репликации исходная база данных становитсяосновной репликой в наборе реплик. Основная и дополнительная репликимогут содержать реплицируемые и не реплицируемые (локальные) объекты.Полученная основная реплика с точки зрения работы пользователя не отличается от исходной БД.При репликации базы данных Access добавляет системные таблицы (например, MsysSidetables, MsysSchemaProb, MSysReplicas), изменять содержимое большинства из которых пользователю не рекомендуется. Эти таблицымогут быть видимыми или невидимыми, в зависимости от того, как установл е н ф л а ж о к С и с т е м н ы е о б ъ е к т ы ( S y s t e m O b j e c t s ) н а в к л а д к е В и д (View).В каждую таблицу реплицированной БД добавляются следующие системные поля:• s _ G U I D — глобальный уникальный идентификатор каждой записи;•s_ColLineage, s Lineage — двоичные поля, содержащие информацию обистории изменения записей;• s Generation — поле, содержащее информацию о групповых изменениях.Реплицироваться могут все объекты БД: таблицы, формы, запросы, отчеты, макросы и модули.
В наборе реплик реплицируемыми должны быть однии те же объекты. Каждая из реплик может содержать свои собственные ло-342Часть 3. Современные СУБД и их применениекальные объекты, структура и содержание которых не передается в другиереплики. Признак реплицируемости объекта БД устанавливается Access путем изменения свойств объектов или программно с помощью программныхинтерфейсов к специальным объектам (см. далее). Изменение структуры реплицируемых объектов, а также содержимого БД основной реплики по специальным командам синхронизации передается во все дополнительные реплики. Схема образования основной реплики показана на рис. 10.35.Рис.
10.35. Схема образования основной репликиРепликация базы данных позволяет обмениваться изменениями отдельных ее копий и может применяться для следующих целей.1. Распространение приложений. Все изменения существующих объектови добавление новых объектов БД выполняются в основной реплике.
Всеансе синхронизации между репликами последние изменения распространяются на объекты дополнительных реплик набора.2. Доступ к данным. Пользователи, работающие на переносных компьютерах и имеющие реплики основной БД, после подключения к сети могутпровести синхронизацию внесенных ими на переносных компьютерах исправлений с изменениями общей реплики.3.
Резервное копирование. Поместив реплику на другом компьютере, можно организовать резервное копирование данных основной базы. В отличие от стандартных методов копирования, которые не позволяют работать с БД во время резервного копирования, репликация разрешаетвносить изменения даже во время синхронизации.4. Перераспределение нагрузки и распараллеливание работы пользователей. Размещение реплик БД на дополнительных сетевых серверах и прикрепление к ним части пользователей позволяет равномерно распределить нагрузку на серверы.
Одновременная работа группы пользователейс репликами одной БД позволяет распараллелить работу и ускорить ре-10. СУБД Access 2002343шение некоторых задач при работе с ней, например, ввод большого числаисходных данных.Синхронизацией называют процесс обновления двух компонентов в наборе реплик, при котором производится обмен обновленными записями и объектами из каждого компонента. Access одной командой позволяет выполнитьсинхронизацию между двумя репликами одного набора.
При этом можно синхронизировать между собой две дополнительные реплики. Схема синхронизации реплик показана на рис. 10.36.Рис. 10.36. Синхронизация репликПосле завершения синхронизации изменения, внесенные в один компонент, оказываются внесенными в другой компонент. Обе реплики становятсяидентичными. Исключение могут составлять локальные объекты. В случаях,когда создается более двух реплик, для упрощения управления поддержанием соответствия структур и содержания реплик, синхронизации предпочтительно выполнять через основную реплику. В противном случае реплики набора быстро «разойдутся» и обеспечить их идентичность будет сложно.Разумной схемой синхронизации нескольких реплик является выполнение синхронизации данных с основной репликой, избегая синхронизациинапрямую с другими дополнительными репликами.
При этом все последниеизменения БД всегда имеются в основной реплике. Архивирование базы данных лучше свести к архивированию БД основной реплики, а не создаватьмножество различающихся архивов дополнительных реплик.Синхронизацию структур набора реплик также целесообразно выполнятьчерез основную реплику. Другими словами, управлять набором реплицируе-Часть 3.
Современные СУБД и их применение344мых объектов (включать и исключать их из числа реплицируемых) и их структурой (изменять реплицируемые объекты) нужно из основной реплики. Вовсех репликах, в том числе основной, кроме того, допускается создание и изменение локальных объектов.Д л я защиты реплицированной Б Д можно использовать защиту на уровнепользователя, которая позволяет определить права пользователей на ее объекты. Такие права не мешают синхронизации базы данных.
Защита реплицированной базы данных, точнее, любой из ее реплик, с помощью пароля Б Д недопускается. Базу данных, защищенную паролем, нельзя реплицировать.Созданиеи удалениерепликРепликацию базы данных Access можно выполнять следующим образом:• по команде С е р в и с | Р е п л и к а ц и я ( T o o l s | R e p l i c a t i o n ) м е н ю A c c e s s ;• с помощью программы П р о в о д н и к ;• путем вызова Диспетчера репликации пакета Microsoft Office Х Р для разработчиков;•используя специальные объекты.
Это могут быть объекты J R O (Jet andReplication Objects) — для работы с базами данных Access, либо объектыдоступа к данным DAO ( D a t a Access Objects) — для работы с базами M SAccess версии 97 и более ранних.В первом случае перед созданием основной реплики рекомендуется создатьрезервную копию исходной БД, так как последняя при репликации будетпреобразована.
Д л я создания реплики нужно открыть исходную Б Д и выдатькоманду С е р в и с | Р е п л и к а ц и я | С о з д а т ь д о п о л н и т е л ь н у ю р е п л и к у ( T o o l s| Replication | Create Replica).Система Access выдаст предупреждающее сообщение о закрытии БД. Вочередном окне предлагается выбрать вариант дальнейших действий по репликации БД: создавать (Да (Yes)) или не создавать (Нет (No)) резервную копию исходной базы данных, отменить репликацию ( О т м е н а ( C a n c e l ) ) иливызвать справку ( С п р а в к а ( H e l p ) ) .
Если копия уже создана, следует нажатькнопку Нет (No). Автоматически создаваемая резервная копия исходной БД,если пользователь не изменит ее имя, хранится в той же папке, где и основнаяБД. И м я файла резервной копии, если пользователь его не изменит, совпадает с именем файла исходной БД, а имя файла имеет расширение bak.В очередном окне остается определить имя и местоположение основнойреплики.Для создания дополнительной реплики достаточно открыть основную илидополнительную реплику и выдать команду С е р в и с | Р е п л и к а ц и я | С о з д а т ьд о п о л н и т е л ь н у ю р е п л и к у ( T o o l s | R e p l i c a t i o n | C r e a t e R e p l i c a ) .
В открывшемся окне указывается имя и местоположение дополнительной реплики.Таким местом может быть и П о р т ф е л ь ( M y B r i e f c a s e ) .10. СУБД Access 2002345Во втором случае репликация БД выполняется из приложения П р о в о д н и кВызов процедуры репликации происходит при перетаскиваниимышью значка исходной БД из папки в П о р т ф е л ь ( M y B r i e f c a s e ) .
Дальнейшие действия пользователя от описанных действий сильно не отличаются.В отличие от предыдущего случая, здесь одна из реплик остается в исходной папке, а другая — в папке П о р т ф е л ь ( M y B r i e f c a s e ) . Пользователю предлагается сделать выбор какую из реплик сделать основной, а какую дополнительной. Д л я этого в последнем предлагаемом пользователю окне, называемомП о р т ф е л ь ( M y B r i e f c a s e ) , необходимо отметить один из переключателей: «исходная копия» (основной репликой считать реплику в исходной папке) либо«копия в портфель» (основной репликой считать реплику в папке П о р т ф е л ь(Explorer).(My Briefcase)).При установленном пакете Microsoft Office Х Р для разработчиков диспетчер реплик позволяет выполнять следующее: управлять большим наборомреплик; поддерживать пользователей портативных компьютеров, которые невсегда подсоединены к сети; создавать реплики нескольких баз данных; устанавливать расписания синхронизации компонентов набора реплик; устранятьошибки и др.Диспетчер реплик обеспечивает визуальный интерфейс для преобразования баз данных, создания реплик, просмотра связей между компонентаминабора реплик, а также для установления свойств реплик.СинхронизациярепликСинхронизацию реплик можно выполнять при работе в Access или в средеWindows.В первом случае нужно при открытой Б Д выполнить команду меню Сервис | Репликация | С и н х р о н и з а ц и я (Tools | Replication | Synchronize Now).В появившемся окне синхронизации можно определить место нахожденияреплики, с которой требуется синхронизировать открытую БД, а также изменить статус одной из реплик набора.
Если текущая реплика обладает правами основной, то она может легко передать свой статус той реплике, с которойосуществляется синхронизация. Последние, в свою очередь, могут легко передать статус основной другим репликам. Д л я изменения статуса синхронизируемых реплик достаточно отметить мышью флажок напротив предложенного системой варианта изменения статуса.В Windows синхронизация выполняется с помощью системной папки Порт ф е л ь ( M y B r i e f c a s e ) . Открытие окна портфеля происходит двойным нажатием левой кнопки мыши на соответствующем ярлыке рабочего стола.Окно П о р т ф е л ь ( M y B r i e f c a s e ) имеет строку меню, а в основной частисодержит список файлов в одноименной папке.
Д л я синхронизации отдельных файлов БД их следует отметить мышью с помощью клавиши < C t r l > ив ы д а т ь к о м а н д у П о р т ф е л ь | О б н о в и т ь ( M y B r i e f c a s e | Update). Н а х о д я щ и -Часть 3. Современные СУБД и их применение346еся в папке П о р т ф е л ь ( M y B r i e f c a s e ) файлы БД, как отмечалось, могут бытьосновными и дополнительными репликами. Появится окно, подобное приведенному на рис. 10.37.Обновление Портфельgull]Са*СэПеречисленные Файлы необходимо обновить. Если нужно изменитьоперацию обновления для Файла, щелкните правой кнопкой мыши наэтом Файле и выберите нужную операцию.В ПортфелеНе измененIReplica of:!dbl.mdb I1 4 .