Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 71
Текст из файла (страница 71)
Более того, пользователь можето т к р ы т ь и использовать з а ш и ф р о в а н н у ю БД, как и обычную н е з а ш и ф р о ванную.По-видимому, шифрация в Access применяется, чтобы изменить до неузнаваемости стандартный формат ф а й л а БД. При выполнении процедурыш и ф р а ц и и / д е ш и ф р а ц и и Б Д не нужно задавать ключ шифрации (он формируется или зашит в системе Access, изменяется ли он в зависимости от версии, лицензионного номера пакета и других параметров — авторам неизвестно). Невозможность устанавливать ключ, по нашему мнению, сводит на нетвсю мощь механизма шифрации в Access.Д л я ш и ф р а ц и и / д е ш и ф р а ц и и базы данных требуется выполнить следующее.1. Запустить Access.
Д л я выполнения операций надо обладать правамивладельца базы данных. Нельзя зашифровать БД, открытую и используемую в сети другими пользователями.2. В ы д а т ь к о м а н д у С е р в и с | З а щ и т а | Ш и ф р о в а т ь / д е ш и ф р о в а т ь (Tools| Security | Encrypt/Decrypt Database).3. Указать имя базы данных, которую требуется зашифровать или дешифровать, и нажать ОК.10. СУБД Access 20023374. Указать имя, диск и папку для целевой (зашифрованной) базы данных инажать ОК.При низком качестве магнитных дисков (чаще всего дискет) надо бытьосторожным во время шифрации БД. Возможно, что зашифрованной БД присваивается имя, совпадающее с исходной БД (исходная БД «затирается» зашифрованной), а после этого выясняется, что при дешифрации из-за искажения информации возникли ошибки, не дающие доступа к базе данных.Во избежание этого рекомендуется шифруемой БД задавать имя, отличное от исходного имени.
Затем проверить правильность операции шифрациипутем пробной работы с зашифрованной БД. Если все нормально, исходнуюБД можно удалить, а зашифрованную БД — переименовать в исходную.Если попытаться зашифровать БД, защищенную паролем, то для этогонеобходимо в ответ на запрос Access ввести соответствующий пароль.Для обычной работы с зашифрованной БД ее не обязательно специальнорасшифровывать. Система «понимает» и зашифрованную информацию. Следует иметь в виду, что с зашифрованной базой данных Access работает несколько медленнее, поскольку операции шифрации/дешифрации выполняются в реальном масштабе времени.1 0 . 8 .
Скрытие объектов баз д а н н ы хМеханизм скрытия объектов применяется в случаях, когда пользовательработает с базой данных через стандартный интерфейс — окно БД, и желательно предохранить базу данных от случайного доступа к ее объектам.Скрываемые от пользователя объекты не удаляются, а становятся временно невидимыми. Скрывать от пользователя можно произвольные объектыразличных типов: таблицы, формы, запросы, отчеты, макросы и модули.Для скрытия текущего объекта БД надо в окне свойств этого объекта установить флажок атрибутов С к р ы т ы й ( H i d d e n ) . Окно свойств можно вызвать спомощью кнопки С в о й с т в а ( P r o p e r t i e s ) или команды контекстного меню. Влюбой момент времени текущим может быть один объект, поэтому скрытьнесколько объектов одновременно нельзя, это делается последовательно.Еще один способ сделать произвольный объект БД скрытым — это переименовать его таким образом, чтобы его имя начиналось с символов «Usys»(на любом регистре: Usys, usys, USYS и т.
д.). Переименование текущего объекта выполнить просто: достаточно вызвать меню его свойств и выбрать пунктПереименовать(Rename).Скрытые объекты БД пользователь видит в окне базы, если в текущих установках параметров Access не задано отображение скрытых объектов в окнеБД.Часть 3. Современные СУБД и их применение338Чтобы скрытые объекты сделать не скрытыми, нужно сначала сделать ихвидимыми.
Для этого достаточно в основном меню системы из пункта Серв и с ( T o o l s ) выбрать пункт П а р а м е т р ы ( P a r a m e t e r s ) и на вкладке В и д ( V i e w )появившегося окна в области О т о б р а ж е н и е н а э к р а н е ( V i e w ) установить флажок С к р ы т ы е о б ъ е к т ы ( H i d d e n O b j e c t s ) . Все скрытые объекты появляютсяв окне БД. Пиктограммы скрытых объектов, расположенные слева от их имен,отличаются от не скрытых объектов более светлым цветом. После этого нужно вызвать окно свойств каждого из объектов и сбросить флажок атрибутовСкрытый(Hidden).Кроме пользовательских объектов, в каждой БД есть системные или служебные объекты. Имена этих объектов начинаются с символов «MSys».
Например, среди с л у ж е б н ы х т а б л и ц имеются следующие: MSysQueries,MSysRelationships,и другие. Атрибут этих объектов — «системный». Обычноони не отображаются в окне БД, хотя не относятся к скрытым. Чтобы их увидеть, нужно в основном меню системы из пункта С е р в и с ( T o o l s ) выбратьпункт П а р а м е т р ы ( P a r a m e t e r s ) и на вкладке В и д ( V i e w ) появившегося окнав области О т о б р а ж е н и е н а э к р а н е ( V i e w ) установить флажок С и с т е м н ы еобъекты (System Objects).1 0 . 9 . Обслуживание баз данныхОсновными способами обслуживания БД в Access 2002 являются следующие: копирование, восстановление и сжатие (компрессия) баз данных.Копирование баз данных применяется для защиты их от случайной потери. Для создания копий можно использовать также репликацию.Создавать копии БД можно различными средствами: стандартной программой MS Windows П р о в о д н и к ( W i n d o w s Explorer), программой NortonCommander и другими подобными программами.
Отметим, что копированиезащищенной паролем БД в папку П о р т ф е л ь ( M y B r i e f c a s e ) с помощью программы невозможно, так как в этом случае делается попытка создать репликуБД. Как отмечалось ранее, это недопустимо. Программа П р о в о д н и к ( E x p l o r e r )«знает» об особенностях использования защищенных БД в Access.Копии БД можно хранить в сжатом виде, для чего используют программы-архиваторы. Это позволяет сэкономить дисковое пространство, но увеличивает время на получение архивной копии и восстановление информации из архивов.Если размеры файлов БД велики, можно применять специальные программы разбиения файлов на части. Многие архиваторы наряду со сжатием информации позволяют создавать многофайловые архивы.Восстановление применяется при повреждениях БД, не позволяющихпользователю нормально работать с базой данных или даже открыть ее.
Од-10. СУБД Access 2002339ной из причин повреждения может быть воздействие компьютерных вирусовили наличие дефектов (физических или логических) на диске. Весьма вероятной причиной повреждения файла базы данных является выключение питания компьютера до предварительного закрытия сеанса работы с базой данных Access.Повреждение базы данных Access в большинстве случаев определяется припопытках пользователя открыть, сжать, зашифровать или дешифровать БД.В некоторых ситуациях сразу не удается определить, что база данных повреждена. Если база данных ведет себя непредсказуемо, то, скорее всего, она требует своего восстановления.Сжатие базы данных средствами Access отличается от сжатия с помощьюархиваторов и состоит в освобождении места на диске от удаленных из базыданных записей.
Более подходящими, на наш взгляд, здесь являются термины «реорганизация», «реструктурирование» или «реструктуризация» БД.Необходимость такого сжатия базы данных средствами Access обусловлена следующим. При внесении пользователем изменений в базу данных (объектов и записей в таблицах) файл БД только увеличивается. Занимаемая удаленными объектами и записями таблиц память не освобождается, а отмечаетсякак неиспользуемая. При очередном добавлении объектов и записей сновавыделяется память под эти объекты и размер файла базы данных увеличивается.Чтобы БД не была перегружена неиспользуемыми областями («пустотой»),периодически следует ее сжимать. Эксперименты показывают, что серия последовательных созданий и удалений таблиц приводит к существенному увеличению размеров БД.В отличие от предыдущих версий Access, где операции восстановления исжатия выполнялись отдельно, в Access 2002 эти операции объединены.
Длякомпрессии и восстановления данных необходимо сделать следующее:1. Закрыть базу данных (это желательно, но вовсе не обязательно). Приработе в сети убедиться, что другие пользователи тоже закрыли ее.2. Создать резервную копию базы данных.3. Выдать команду С е р в и с | С л у ж е б н ы е п р о г р а м м ы | С ж а т ь и В о с с т а н о в и т ь (Tools | D a t a b a s e Utilities | C o m p a c t a n d Repair D a t a b a s e ) .4.
В диалоговом окне (рис. 10.34) выбрать нужную БД и нажать кнопкуСжать (Compact).Для сжатия или восстановления БД, защищенной паролем, естественно,требуется предварительно ввести пароль. Часто выполнять сжатие мало используемых БД не имеет смысла.Результат сжатия можно поместить в ту же базу данных (это и есть фактическая операция сжатия), либо указать другое имя. В первом случае требуется подтвердить замену существующей базы данных. После получения под-Часть 3. Современные340СУБД и ихприменениеDatabase to Compact FromLook in:History| £ j Мои документыШXToots-О clipsj£$M0M рисункиМоя музыкаf[)db2.mdb|F]Replica of dbl.mdb3^Replica-Replical of dbl.mdbDesktop* |Favorites• 'У!-;^My NetworkPlacesFilename;Files of type:" 3Microsoft Access (*.mdb;*.adpj*.mda;*.mde;*.ade)jJ£.ompact~|CancelIРис.
10.34. Диалоговое окно сжатия базы данныхтверждения Access выполняет сжатие исходной базы данных во временномфайле. При успешном завершении сжатия исходная база данных удаляется, аее имя присваивается полученной сжатой копии. Во втором случае получаютулучшенную копию исходной БД.В полном смысле сжатие информации базы данных, или, более точно, сжатие файла хранения БД, выполняется с помощью архиваторов. Например, спомощью архиватора arj демонстрационную базу данных «Борей» можносжать примерно до 30% от исходного объема.1 0 .
1 0 . Репликация баз д а н н ы хРепликация баз данных применяется для создания специальных «горячих»копий Б Д средствами Access. С помощью репликации можно легко получатьновые копии БД, используемые как на одном компьютере, так и в сети. Отдельные копии (реплики) требуется периодически синхронизировать.ПонятиеорепликацииРепликацией называют создание специальных копий (реплик) базы данных Access, с которыми пользователи могут одновременно работать на разных рабочих станциях. Отличие репликации от обычного копирования фай-10. СУБД Access 2002341лов О С (в том числе файлов БД) заключается в том, что для каждой репликивозможна синхронизация с остальными репликами.