Подготовка вашей базы данных
Если вы добрались до этих строк, значит, вы решили, что многопользовательские средства программы Access — все, что вам нужно. Но прежде чем ваша БД станет общедоступной, возможно, потребуется несколько изменений. Наиболее важное из них — разделение БД -часто пропускаемый, несмотря на важность, этап, придающий вашей многопользовательской БД дополнительную надежность.
Примечание
Когда вы предоставляете свои данные для коллективного использования, очень важно применять разделенную БД. Совместное использование обычной БД может привести к самым неожиданным поворотам и случайностям, которые сделают вашу БД ненадежной.
Что такое разделенная БД
Разделенная база данных — это БД, объекты которой разделены на два отдельных файла:
■ внутренняя или серверная БД (back-end database) содержит исходные данные — иначе говоря, таблицы и ничего больше;
■ внешняя или клиентская БД (front-end database) содержит все, чем вы пользуетесь при работе с таблицами, а именно все объекты БД других типов, например, запросы, отчеты, формы и макросы.
После разделения базы данных внутренняя БД помещается в общедоступное место (например, на сетевой диск). Внешняя БД функционирует несколько иначе. Ее копируют на все компьютеры, которые собираются использовать внутреннюю БД. На рис. 18.1 показан этот принцип работы.
Разделенные БД обладают рядом достоинств.
■ Производительность. Когда применяется разделенная БД, у каждого клиента есть копии объектов, необходимых ему для работы, — например, формы — готовые и ждущие на его компьютере. Это означает, что пользователю не нужно извлекать эту информацию из совместно используемой БД, что потребовало бы больше времени (и создало бы дополнительный трафик в вашей сети). В этом случае из совместно используемой БД вам необходимо получить только нужные для работы данные.
■ Более легкое обновление. Изменение данных в многопользовательской БД относительно безопасно для людей, но программа Access плохо справляется с неразберихой, возникающей при попытках пользователей изменить структуру объектов БД. Разделенная БД I
лишена этой проблемы, поскольку объекты, которые часто нуждаются в корректировках, например запросы, отчеты и формы, находятся в клиентской БД. Если эти объекты нужно модифицировать (или добавить новые), можно безопасно изменить клиентскую БД на одном компьютере, а затем распространить ее между всеми, кому она понадобится.
Такой подход не только легче, но и гораздо надежнее, т. к. не может возникнуть неразрешимая проблема, именуемая разрушением или повреждением БД (см. разд. "Повреждение данных" далее в этой главе).
Рис. 18.1. В системе с разделенной БД у вас одна внутренняя или серверная БД, централизованно хранящая данные, и несколько внешних или клиентских БД для каждого пользователя, подключающегося к вашей БД
§ У разных людей разные клиентские БД. Когда применяется БД коллективного пользования, можно создать разные клиентские БД для разных типов пользователей — например, отделу маркетинга необходимы отчеты, отображающие сведения о продажах, а сотрудникам склада нужна форма, которая выводит на экран невыполненные заказы. Этим подходом можно воспользоваться для того, чтобы наверняка не показывать пользователям формы, отчеты и таблицы, не предназначенные для них, что снизит риск мелких ошибок (например, генеральный директор случайно не уничтожит весь каталог товаров). Но не впадайте в крайность — чем больше создается вариантов клиентских БД, тем больше усилий понадобится для их сопровождения.
Примечание
С технической точки зрения вы не сделаете вашу БД более защищенной, если предоставите пользователям клиентские БД с ограниченными возможностями. В конце концов, технически грамотные пользователи Access могут просто создать собственные клиентские БД и использовать их для получения неограниченного доступа к серверной БД. Но хотя клиентская БД не может остановить злоумышленника, она сможет защитить от небрежного или чересчур любопытного пользователя.
У вас есть два способа разделения БД. Можно воспользоваться мастером или сделать это вручную с помощью средств экспорта и импорта программы Access. В следующих разделах описаны оба метода.
Для тех, кто понимает.