Краткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33
Скачать 19.64 Mb.
|
Примечание Это число (15) — рекомендация с перестраховкой. Если разные пользователи вносят изменения в совершенно разные таблицы, возможно, вам удастся протолкнуть и больше одновременных корректировок. С другой стороны, если все захотят изменить несколько одних и тех же записей, вы можете попасть в аварийную ситуацию и раньше. Если сомневаетесь, попробуйте.
Примечание Всем почитателям программы Access следует выполнять регулярные копирования своих БД в течение дня. Для автоматизации этого процесса можно применять средства планирования (например, Планировщик заданий ОС Windows). Не будет преувеличением сказать, что многопользовательские БД Access — основное решение для многих маленьких компаний. Но если вы ознакомились с ограничениями программы и решили, что Access не сможет удовлетворить ваши потребности, самое время перейти на более мощный программный продукт, например, SQL Server. (He паникуйте — доступна бесплатная версия, и вы можете управлять вашими данными в привычном интерфейсе Access.) Вы узнаете об SQL Server в главе 20 и о SharePoint Server в главе 21. С другой стороны, если программа Access соответствует вашим потребностям, поздравляю — вы всего в одном шаге от преобразования вашей одинокой однопользовательской БД в ресурс, которым сможет пользоваться вся ваша компания. Просто читайте дальше. Подготовка вашей базы данных Если вы добрались до этих строк, значит, вы решили, что многопользовательские средства программы Access — все, что вам нужно. Но прежде чем ваша БД станет общедоступной, возможно, потребуется несколько изменений. Наиболее важное из них — разделение БД -часто пропускаемый, несмотря на важность, этап, придающий вашей многопользовательской БД дополнительную надежность. Примечание Когда вы предоставляете свои данные для коллективного использования, очень важно применять разделенную БД. Совместное использование обычной БД может привести к самым неожиданным поворотам и случайностям, которые сделают вашу БД ненадежной. Что такое разделенная БД Разделенная база данных — это БД, объекты которой разделены на два отдельных файла:
После разделения базы данных внутренняя БД помещается в общедоступное место (например, на сетевой диск). Внешняя БД функционирует несколько иначе. Ее копируют на все компьютеры, которые собираются использовать внутреннюю БД. На рис. 18.1 показан этот принцип работы. Разделенные БД обладают рядом достоинств.
Т акой подход не только легче, но и гораздо надежнее, т. к. не может возникнуть неразрешимая проблема, именуемая разрушением или повреждением БД (см. разд. "Повреждение данных" далее в этой главе). Рис. 18.1. В системе с разделенной БД у вас одна внутренняя или серверная БД, централизованно хранящая данные, и несколько внешних или клиентских БД для каждого пользователя, подключающегося к вашей БД
Примечание С технической точки зрения вы не сделаете вашу БД более защищенной, если предоставите пользователям клиентские БД с ограниченными возможностями. В конце концов, технически грамотные пользователи Access могут просто создать собственные клиентские БД и использовать их для получения неограниченного доступа к серверной БД. Но хотя клиентская БД не может остановить злоумышленника, она сможет защитить от небрежного или чересчур любопытного пользователя. У вас есть два способа разделения БД. Можно воспользоваться мастером или сделать это вручную с помощью средств экспорта и импорта программы Access. В следующих разделах описаны оба метода. Для тех, кто понимает. Поиск места в сети для вашей БД Прежде чем разделять БД, нужно найти место для файла внутренней или серверной части БД. Один из вариантов (довольно рискованный) — предоставить доступ к ней прямо на вашем компьютере. Нужно только перетащить мышью вашу БД в папку Общие документы или создать новую папку с общим доступом. Процесс может немного отличаться в зависимости от вашей версии ОС Windows и настроек вашего ПК, но приведенные инструкции подходят для большинства компьютеров с ОС Windows XP.
Теперь другие пользователи сметут получить доступ к вашему компьютеру — и вашей БД — с помощью обзора содержимого Сетевого окружения. Возможно, этот процесс показался вам слишком легким, для того чтобы быть правильным, но он таков и есть. Проблема заключается в том, что ваш компьютер — не идеальный сервер. Если вы выключите его, отправляясь в отпуск, все будут резко отлучены от вашей БД. Подобным образом, когда вы заняты игрой "Revenge of the Demon Spawn Legion Part IV", а другие пользователи в это время пытаются работать с вашей БД, производительность их работы (и ваша игровая практика) страдает. Но гораздо более серьезная проблема возникнет, если вы перезагрузите компьютер, т. к. все, пользующиеся в данный момент вашей БД, будут внезапно отсоединены от нее. Потеря чьей-то работы гарантирована, а возможна и порча данных БД. Из-за названных причин настоятельно рекомендуется помещать вашу БД на серверный компьютер. Серверный компьютер не обязательно отличается от вашего — в действительности он может быть обычным ПК под управлением ОС Windows, включенным в сеть. Отличие заключается в том, что никто не использует этот компьютер непосредственно. Он остается один и может сосредоточиться на важной работе, раздавая ограниченными порциями данные тем, кому они нужны. Разделение БД с помощью мастера Самый легкий путь разделения БД — применение удобного мастера, который именно для этой цели включен в программу Access. Мастер создает новую серверную БД и переносит в нее все таблицы из текущей БД. В текущем файле остаются все остальные объекты, и таким образом он становится клиентской БД. Вот как следует применять мастер. 1. Откройте любую БД, в которой есть таблицы и другие объекты (например, запросы, отчеты или формы). Эти действия можно проделать с БД Boutique Fudge и Cacophone Studios, которые применялись в предыдущих главах. 2. Прежде чем начать, хорошо бы сделать резервную копию БД. Н икогда не знаешь, когда что-то пойдет не так. Для создания резервной копии просто скопируйте файл БД Access в другую папку (или выберите кнопку Office → Управление → Резервная копия базы данных (Office → Manage → Back Up Database)), чтобы заставить программу Access сделать ее для вас. 3. Выберите на ленте Работа с базами данных → Переместить данные → База данных Access (Database Tools → Move Data → Access Database). На экране появится первое окно мастера разделения БД (Database Splitter) (рис. 18.2). Рис. 18.2. Первый шаг мастера чрезвычайно прост. Описывается принцип работы мастера и делается напоминание о необходимости создания резервной копии перед тем, как двигаться дальше 4. Щелкните мышью кнопку Разделить (Split Database). На экране появится окно, предлагающее выбрать местонахождение и имя файла для серверной БД. Помните о том, что нужно выбрать место, доступное всем сотрудникам вашей компании или организации. (См. некоторые советы в примечании "На профессиональном уровне. Указание местонахождения в сети" далее в этом разделе.) Примечание Вы можете сохранить серверную БД на вашем компьютере в данный момент и переместить ее в общедоступное место позже (но в тот момент потребуется обновить ссылки на таблицы, как описывается в следующем разделе). 5. Выберите имя файла для серверной БД и щелкните мышью кнопку Разделение (Split) (рис. 18.3). Программа Access начнет экспортировать таблицы — другими словами, копировать их из текущей БД в новый файл серверной БД. Этот процесс может занять какое-то время. Когда программа завершит экспорт, она выведет на экран сообщение: "База данных успешно разделена" ("Database successfully split"). Access успешно создала серверную БД. БД, с которой вы начинали (и которая открыта в настоящий момент), теперь клиентская. Она больше не содержит таблиц со всеми данными; в ней остался набор связанных таблиц, которые позволяют извлекать данные из серверной БД. (Вы узнаете, как работают связанные таблицы, в следующем разделе.) 6. Теперь пора распространить клиентскую БД среди всех тех, кому нужно ее использовать. Способ распространения клиентской БД целиком зависит от вас. Ее можно отправить по электронной почте, записать на CD и затем отнести в руках или поместить ее в расположение с общим доступом. Важно, чтобы все пользователи понимали, что перед использованием клиентской БД они должны скопировать БД на свои компьютеры. Р ис. 18.3. Access рекомендует добавлять комбинацию символов "_be" в конец имени файла вашей БД для обозначения серверной части. Например, файл JoesTaxidermy.accdb превращается в файл JoesTaxidermy_be.accdb Примечание Если вы распространяете клиентскую БД, помещая ее в сети, вы рискуете, т. к. пользователи могут запустить ее прямо из сети без предварительного копирования на свои компьютеры. Если это не проверить, возникнут все проблемы, свойственные обычной (неразделенной) БД, такие как снижение производительности и увеличение риска ошибок. На профессиональном уровне Указание местонахождения в сети Есть две возможности указать местонахождение в сети. Во-первых, использовать подключенный сетевой диск, который присваивает месту в сети букву дискового устройства вашего компьютера. Подключенные сетевые диски выглядят так же, как обычные диски — например, у вас может быть диск С:, представляющий жесткий диск на вашем компьютере, диск D:, представляющий привод CD-ROM, и диск F:, который представляет место в сети. К сожалению, подключаемые сетевые диски могут по-разному конфигурироваться на различных компьютерах. Например, диск, обозначенный F:, на каком-то другом компьютере может стать диском Н:. В результате клиентская БД, работающая на одном компьютере, при переносе на другой компьютер не сможет найти нужную ей серверную БД. К счастью, эту проблему легко решить. Нужно просто связать клиентскую БД с соответствующим местонахождением серверной БД, как описывается в следующем разделе. Если хотите целиком избавиться от подобной путаницы, можно использовать UNC-путь (Universal Naming Convention, соглашение об универсальном назначении имен) вместо подключаемого сетевого диска. UNC — стандарт создания пути, указывающего на местонахождение в сетевом окружении. Преимущество UNC-пути состоит в том, что он не меняется от компьютера к компьютеру. Другими словами, если UNC-путь действует на одном компьютере, он будет действовать и на другом, и в сети. Узнать UNC-путь можно по двум начальным символам — двум обратным слэшам. Далее приведена базовая форма: \\ИмяКомпьютераВСети\ИмяПапкиСОбщимДоступом Пример UNC-пути — \\SalesComputer\Database. Когда вы просматриваете содержимое компьютера через Сетевое окружение (My Network Places), программа Access создает UNC-путь, который указывает на выбранное вами расположение. Некоторые специалисты Access сообщают о более надежных результатах в случае использования UNC-путей при поиске БД программой Access. В редких, трудно воспроизводимых ситуациях применение синтаксиса подключаемого сетевого диска может заставить Access выдать сообщение об ошибке, связанной с превышением допустимого числа пользователей, при попытке открыть многопользовательскую БД, когда точно известно, что вы ■ находитесь в пределах допустимого количества пользователей (теоретический максимум — 255 пользователей). Часто задаваемый вопрос. Как поведут себя старые версии Aсcess? Что произойдет, если некоторые сотрудники будут использовать более старые версии программы Access? В идеальном мире у всех есть копия самой последней и самой замечательной версии Access — Access 2007. В действительности наверняка найдутся слабо технически развитые ренегаты, до сих пор предпочитающие ОС Windows 95. Если вы поддерживаете любителей версии Access 2003, нужно сохранить серверную БД в формате Access 2003. (Дополнительную информацию о сохранении копии вашей БД в другом формате см. примечание "Для тех, кто понимает. Использование Access БД, созданных в более ранних версиях программы" в разд. "Создание новой базы данных" главы 1.) Что касается клиентской БД, возможно, придется хранить две версии — одну для членов клуба поклонников Access 2007, а другую для семейства любителей Access 2003. Вы лишитесь некоторых средств в формате Access 2003, но вам не придется ослабленных технологически пользователей отлучать от вашей БД. Как действуют связанные таблицы Идея разделенной БД кажется достаточно понятной. Один файл (серверная БД) хранит исходные данные, в то время как другой (клиентская БД) предоставляет средства для работы с ними. Но есть одна деталь, которую вы пока не учли — а именно, способ получения доступа клиентской БД к таблицам серверной БД. Секрет кроется в связывании таблиц (table linking). Связывание позволяет одной БД видеть таблицу в другом файле БД. Связывание может использоваться в любой БД — на самом деле вы можете использовать его, даже если не собираетесь предоставлять коллективный доступ к БД. Например, можно разделить ваши таблицы на два или несколько файлов БД для преодоления ограничения, касающегося размера файла (которое равно 2 Гбайт или гигабайтам на каждый файл БД). Или можно воспользоваться связыванием для упорядочивания разросшейся БД с десятками таблиц. Наконец, вы можете решить, что оно поможет отделить общедоступную информацию от сверхсекретных подробностей. Если поместить таблицы с секретными данными в отдельную БД, вы сможете спокойно предоставить для коллективного пользования копии основной БД, не беспокоясь о том, что легко уязвимые данные попадут в плохие руки. Благодаря связыванию все таблицы серверной БД оказываются и в клиентской БД (рис. 18.4), но реальные данные находятся в отдельном файле. Когда вы открываете таблицу или вместо этого связываетесь с ней, программа Access обращается к связанной таблице для получения нужной вам информации. Единственный недостаток связанных таблиц — вероятность того, что при поиске связанной таблицы программа Access не сможет найти другой файл БД. Такое случается, когда файл серверной БД переносится в другую папку или переименовывается. |