Разделение БД вручную

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

Для разделения серверной БД существуют некоторые веские основания. К ним относятся следующие.

¦  Повышение надежности. На самом деле, если один файл будет поврежден, остальные
останутся в прежнем состоянии.

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

¦  Возможность дальнейшего роста файла БД. Как упоминалось ранее, программа Access
ограничивает размер БД 2 Гбайт. Если планируется хранить большое число записей с
вложениями (например, изображениями), хорошо бы иметь уверенность в том, что дос
таточно дискового пространства доступно в данный момент и будет доступно в обозри
мом будущем.

Для разделения БД вручную необходимо использовать средства импорта и экспорта программы Access. Описанные далее действия продемонстрируют разделение БД Boutique Fudge на три отдельных файла, таким образом, вы сможете хранить данные кредитных карт отдельно от остальной информации. (Если хотите повторять эти действия на компьютере, найдите БД примеров на странице "Missing CD" Web-сайта www.missingmanuals.com.)

1.   Создайте необходимые серверные БД.

В данном примере вам нужны две серверные БД: одна для хранения данных кредитных карт (назовем ее BoutiqueFudgeSecrets_be.accdb) и вторая для остальных подробностей (назовем ее BoutiqueFudge_be.accdb). Прежде чем двигаться дальше, создайте обе эти БД в программе Access и поместите их в общедоступную папку, но пока оставьте пустыми.

2.   Откройте файл серверной БД.

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

Начнем с файла BoutiqueFudgeSecretsJbe.accdb. Он легче, поскольку должен включать всего одну таблицу.

3.  Выберите на ленте Внешние данные > Импорт > Access (External Data > Import > Access).

Начнет работу мастер импорта (рис. 18.6).

 

 

Примечание

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

 

 

Рис. 18.6. В первом окне мастера импорта выбирается файл с таблицами, которые надо импортировать, и затем решается, копировать таблицы или просто создать ссылки на них

 

4.    В поле Имя файла (File name) задайте местоположение вашей клиентской БД.

В данном примере — это файл BoutiqueFudge.accdb, в настоящий момент содержащий полный набор (таблицы, запросы, формы и отчеты).

5.    Выберите первый переключатель Импорт таблиц … в текущую базу данных (Import tables … into the current database).

Второй переключатель позволяет создать связанные таблицы. Вы примените их позже в этом процессе.

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

На экране появится окно Импорт объектов (Import Objects) со всем содержимым вашей БД (рис. 18.7).

6.     Выделите таблицы, которые хотите импортировать, и щелкните мышью кнопку ОК.

       БД BoutiqueFudgeSecrets_be нужна единственная таблица CreditCards (кредитные карты).

После нажатия кнопки ОК программа Access копирует таблицы в вашу БД. Файл БД можно закрыть.

8.    Повторите пункты 2—7 для заполнения остальных файлов серверных БД.

В данном примере необходимо открыть файл BoutiqueFudge_be.accdb и импортирован в него все таблицы за исключением таблицы CreditCards.

 


Рис. 18.7. На вкладке Таблицы перечислены все таблицы вашей БД. Выделите одинарным щелчком кнопки мыши те, которые хотите импортировать

 

После завершения передачи данных в серверные БД, самое время обновить клиентскую БД.

9.     Откройте клиентскую БД.

В нашем случае файл BoutiqueFudge.accdb.

10.    Удалите все таблицы.

Не бойтесь — в конце концов, вы только что скопировали их в файлы серверных БД. После завершения удаления следует выполнить последний шаг — создать нужные вам связи в клиентской БД. Если ваши таблицы связаны друг с другом, начните с подчиненных или дочерних таблиц.

11.    Выберите на ленте Внешние данные > Импорт >» Access (External Data > Import > Access).

Снова запустится мастер импорта.

12.    Укажите мастеру импорта на первый серверный файл, выберите переключатель Создать связанную таблицу для связи с источником данных (Link to the data source) и затем нажмите кнопку ОК.

Начните с файла BoutiqueFudgeSecrets_be.accdb.

13.    Выберите все таблицы и щелкните мышью кнопку ОК.

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

 

14.  Повторите пункты 11 — 13 для каждой серверной БД.

Если    вы    начали    с    файла    BoutiqueFudgeSecrets_be,    пора    перейти    к    файлу BoutiqueFudge_be, содержащему все остальные нужные вам таблицы.

Если вы выполнили все перечисленные действия, то получите три файла БД, работающие вместе: BoutiqueFudgeSecrets__be.accdb с информацией о кредитных картах, Boutique-Fudge__be.accdb с остальными таблицами и BoutiqueFudge.accdb с запросами, формами и отчетами. Если хотите увидеть окончательный продукт, загляните в загружаемые из Интернета примеры к данной главе. Перейдите в разд. "Защита базы данных" далее в этой главе, чтобы узнать, как применять разные параметры безопасности к различным серверным БД.

 

 

Вы можете следить за любыми ответами на эту запись через 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