Что такое разделенная БД

 

Разделенная база данных — это БД, объекты которой разделены на два отдельных файла:

¦     внутренняя или серверная БД (back-end database) содержит исходные данные — иначе говоря, таблицы и ничего больше;

¦     внешняя или клиентская БД (front-end database) содержит все, чем вы пользуетесь при работе с таблицами, а именно все объекты БД других типов, например, запросы, отчеты, формы и макросы.

После разделения базы данных внутренняя БД помещается в общедоступное место (например, на сетевой диск). Внешняя БД функционирует несколько иначе. Ее копируют на все компьютеры, которые собираются использовать внутреннюю БД. На рис. 18.1 показан этот принцип работы.

Разделенные БД обладают рядом достоинств.

¦     Производительность. Когда применяется разделенная БД, у каждого клиента есть копии объектов, необходимых ему для работы, — например, формы — готовые и ждущие на его компьютере. Это означает, что пользователю не нужно извлекать эту информацию из совместно используемой БД, что потребовало бы больше времени (и создало бы дополнительный трафик в вашей сети). В этом случае из совместно используемой БД вам необходимо получить только нужные для работы данные.

¦     Более легкое обновление. Изменение данных в многопользовательской БД относительно безопасно для людей, но программа Access плохо справляется с неразберихой, возникающей при попытках пользователей изменить структуру объектов БД. Разделенная БД I
лишена этой проблемы, поскольку объекты, которые часто нуждаются в корректировках, например запросы, отчеты и формы, находятся в клиентской БД. Если эти объекты нужно модифицировать (или добавить новые), можно безопасно изменить клиентскую БД на одном компьютере, а затем распространить ее между всеми, кому она понадобится.

¦      

Такой подход не только легче, но и гораздо надежнее, т. к. не может возникнуть неразрешимая проблема, именуемая разрушением или повреждением БД (см. разд. "Повреждение данных" далее в этой главе).

Рис. 18.1. В системе с разделенной БД у вас одна внутренняя или серверная БД, централизованно хранящая данные, и несколько внешних или клиентских БД для каждого пользователя, подключающегося к вашей БД

§  У разных людей разные клиентские БД. Когда применяется БД коллективного пользования, можно создать разные клиентские БД для разных типов пользователей — например, отделу маркетинга необходимы отчеты, отображающие сведения о продажах, а сотрудникам склада нужна форма, которая выводит на экран невыполненные заказы. Этим подходом можно воспользоваться для того, чтобы наверняка не показывать пользователям формы, отчеты и таблицы, не предназначенные для них, что снизит риск мелких ошибок (например, генеральный директор случайно не уничтожит весь каталог товаров). Но не впадайте в крайность — чем больше создается вариантов клиентских БД, тем больше усилий понадобится для их сопровождения.

 

 

Примечание

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

 

У вас есть два способа разделения БД. Можно воспользоваться мастером или сделать это вручную с помощью средств экспорта и импорта программы Access. В следующих разделах описаны оба метода.

 

 

Поиск места в сети для вашей БД

 

Прежде чем разделять БД, нужно найти место для файла внутренней или серверной части БД.

Один из вариантов (довольно рискованный) — предоставить доступ к ней прямо на вашем компьютере. Нужно только перетащить мышью вашу БД в папку Общие документы или создать новую папку с общим доступом. Процесс может немного отличаться в зависимости от вашей версии ОС Windows и настроек вашего ПК, но приведенные инструкции подходят для большинства компьютеров с ОС Windows XP.

1.           Запустите Проводник.

2.           Найдите место хранения вашей БД, щелкните эту папку правой кнопкой мыши и выберите в меню строку Свойства (Properties).

3.           Перейдите на вкладку Доступ (Sharing) и затем выберите переключатель Открыть общий доступ к этой папке (Share this Folder).

4.           При желании задайте альтернативное имя для папки и максимальное количество пользователей, которые смогут получить доступ к папке одновременно.

5.           Щелкните мышью кнопку ОК.

Теперь другие пользователи сметут получить доступ к вашему компьютеру — и вашей БД — с помощью обзора содержимого Сетевого окружения.

Возможно, этот процесс показался вам слишком легким, для того чтобы быть правильным, но он таков и есть. Проблема заключается в том, что ваш компьютер — не идеальный сервер. Если вы выключите его, отправляясь в отпуск, все будут резко отлучены от вашей БД. Подобным образом, когда вы заняты игрой "Revenge of the Demon Spawn Legion Part IV", а другие пользователи в это время пытаются работать с вашей БД, производительность их работы (и ваша игровая практика) страдает. Но гораздо более серьезная проблема возникнет, если вы перезагрузите компьютер, т. к. все, пользующиеся в данный момент вашей БД, будут внезапно отсоединены от нее. Потеря чьей-то работы гарантирована, а возможна и порча данных БД.

Из-за названных причин настоятельно рекомендуется помещать вашу БД на серверный компьютер. Серверный компьютер не обязательно отличается от вашего — в действительности он может быть обычным ПК под управлением ОС Windows, включенным в сеть. Отличие заключается в том, что никто не использует этот компьютер непосредственно. Он остается один и может сосредоточиться на важной работе, раздавая ограниченными порциями данные тем, кому они нужны.

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100