Нередко бывает так. Напуганный малопонятными терминами вроде "язык запросов", "реплицирование данных", "структуры реляционных баз данных" и т. п., постоянно встречающимися в описаниях баз данных, не слишком уверенный в себе пользователь решает ограничиться возможностями текстового процессора и создает монстра из тысячи или более записей. Со временем объем данных растет, и в конце концов пользователь получает совершенно неэффективную структуру со слабыми возможностями сортировки и организации перекрестных ссылок, а его система по непонятным причинам "зависает" при каждой попытке поработать с такой "базой данных". Что делать дальше? Вариантов немного.
А. Приступить к созданию "Части II" базы данных теми же средствами.
Б. Освоить специальность программиста, чтобы детально разобраться с тем, как работают программные продукты высокого уровня.
В. Попробовать в работе последнюю версию базы данных фирмы Microsoft.
Что такое Access
Программа Microsoft Access 7.0 для Windows 95 (включенная в офисный пакет Office 95 Professional) представляет собой усовершенствованную версию СУБД Access 2.0 и предназначена для пользователей любого уровня от новичков до разработчиков баз данных. Хотя в ней предусмотрены инструменты, с помощью которых начинающий пользователь добьется результата быстрее, чем прежде, многие новые возможности программы адресованы отнюдь не новичку. Так что если вам нужна программа, возможности которой вы исчерпаете нескоро, Access 7.0 вполне подойдет.
Access считается очень хорошим инструментом разработки приложений для небольших и средних фирм, а также для подразделений крупных фирм. Если структура базы данных не слишком сложна, для ее создания средствами пакета Access достаточно среднего или даже начального уровня подготовки. С усложнением приложений к работе придется привлечь профессиональных разработчиков. Персонал фирмы сможет управлять такой системой с помощью таблиц и запросов.
К сожалению, одна из особенностей последней версии Access не позволяет многим обладателям компьютеров воспользоваться новым продуктом: для нормальной работы ему требуется ОЗУ объемом не менее 12 Мбайт. Чтобы вы могли оценить, стоит ли наращивать ОЗУ и переходить на Access 7.0, мы сосредоточили внимание на наиболее важных возможностях продукта, адресованных не слишком опытным пользователям.
Базы данных
В последнюю версию Access включено множество новых Мастеров. Из них наибольшее восхищение у новичков вызовет, вероятно, Мастер баз данных (Database Wizard). Этот инструмент создает базу данных целиком, включая таблицы, формы, отчеты и событийные процедуры.
Чтобы воспользоваться Мастером баз данных, щелкните левой клавишей мыши на размещенной в линейке инструментов кнопке с изображением белого листа бумаги или выберите опцию "Создать" (New Database) в меню "Файл" (File). На экране появится окно, в котором закладкой "Базы данных" отмечен список баз данных, создаваемых Мастером. Список может быть представлен в виде таблицы или набора пиктограмм и содержит более 20 шаблонов баз данных для хранения деловой и личной информации, включая Адресную книгу, Мероприятия, Основные фонды, Личное имущество, Каталог видеозаписей, Винный погреб.
Мастер баз данных построен по тому же принципу, что и другие Мастера в Windows и Office 95. Например, в нем есть кнопки "Далее >" (Next >) и "< Назад" (< Back), позволяющие пользователю переключаться с одного экрана на другой для настройки параметров создаваемой базы данных. Для освоения принципов работы с базой данных воспользуйтесь заранее подготовленной для примера базой. (Для этого откройте файл с расширением MDB из папки Samples. - Прим. ред.)
После того как Мастер баз данных завершит свою работу, можно просмотреть созданное им приложение, воспользовавшись главной и несколькими подчиненными кнопочными формами. Главная кнопочная форма открывает доступ к разным категориям процедур, в то время как подчиненные формы предлагают специфические процедуры в рамках одной категории. Выбрав нужный экран и процедуру, пользователь может вводить, просматривать и распечатывать данные. Опции системного меню позволят при необходимости модифицировать созданную Мастером базу.
Оптимизировать вновь созданное или перенесенное из предыдущей версии Access приложение поможет Анализатор быстродействия (Performance Wizard). Он формирует рекомендации, предложения и идеи по повышению производительности приложения и помогает реализовывать их.
Прежде чем запустить Анализатор быстродействия, убедитесь в том, что база данных, которую вы хотите оптимизировать, открыта, а ее объекты, подлежащие анализу, закрыты. Чтобы воспользоваться Анализатором, откройте меню "Сервис" (Tools) и в каскадном меню "Анализ" (Analize) выберите функцию "Быстродействие" (Performance). В открывшемся окне Анализатора укажите тип оптимизируемого объекта - любой из имеющихся в Access или все сразу, включая таблицы, запросы, формы, отчеты, макросы и модули. Анализу может быть подвергнута даже схема организации взаимосвязей текущей базы данных. В каждой категории объектов отметьте имена анализируемых объектов. Кнопка "Очистить" (Deselect All) позволит отменить все сделанные назначения, если вы изменили свое решение.
После того как вы выберете объекты для оптимизации и щелкнете левой клавишей мыши на кнопке "ОК", Анализатор быстродействия выведет на экран окно со списком рекомендаций, предложений и идей. Чтобы воспользоваться ими, выделите в списке нужный пункт или сразу несколько пунктов и щелкните на кнопке "Применить" (Optimize).
Предлагаемые Анализатором советы зависят от обстоятельств. Например, при анализе запросов он может напомнить вам, что индексирование полей в таблице способствует повышению производительности. Для оптимизации макросов Анализатор посоветует преобразовать большинство макросов в код VBA (язык Visual Basic for Applications позволяет конвертировать старые макросы для обеспечения их совместимости с приложениями Office 95). Кроме того, Анализатор напомнит о том, что макросы, используемые для создания собственного меню, конвертировать не стоит, так как VBA не позволяет создавать меню.
Таблицы
Тех, кто работает с программами Microsoft Excel 5.0 и Access 2.0, наверное, удивляет, почему импортировать ASCII-данные в приложение Excel легче, чем в Access. (ASCII - American Standard Code for Information Interchange - общепринятый формат текстовых файлов.) Если строк не слишком много, проще считать ASCII-данные фиксированной длины в Excel и затем перенести их из Excel в Access. В новой версии Access фирма Microsoft устранила этот недостаток, уравняв возможности пакетов Access и Excel по импортированию ASCII-данных фиксированной длины. Новые команды "Импорт" (Import) и "Связь с таблицами" (Link), доступные из меню "Файл", осуществляют быстрый перенос таблиц формата ASCII в программу Access.
Чтобы воспользоваться командами "Импорт" и "Связь с таблицами", откройте в меню "Файл" каскадное меню "Внешние данные" (Get External Data). В нем выберите "Импорт", если хотите просто скопировать данные в файл, и "Связь с таблицами", если нужно связать с Access данные из ASCII-файла. В последнем случае содержимое базы данных будет автоматически корректироваться при изменении ASCII-файла. Чтобы упростить поиск нужного текстового файла, после инициализации команды импортирования в появившемся на экране окне раскройте список "Тип файла" (Files Of Type) и выберите пункт "Текстовые файлы" (Text Files). В этом случае в диалоговом окне будут представлены только файлы с расширениями TXT, CSV, TAB и ASC. Выделив нужный файл, щелкните на кнопке "Импорт" (или "Связь"), а затем следуйте указаниям Мастера импорта текста. В первом выведенном им окне установите флажок "Фиксированная ширина полей..." (Fixed Width), если Access не сделал это за вас, в следующем, пользуясь подсказкой, разделите поля. Затем в одном из окон вы сможете указать, какие столбцы следует импортировать, определить тип данных и имена полей.
Мы, однако, столкнулись с некоторыми трудностями. Во-первых, нам не удалось импортировать выделенный в тексте блок данных. Это вынуждает пользователя в ряде случаев предварительно редактировать текстовый файл. Во-вторых, Мастер не присваивает имена столбцам в соответствии c размещенными в первой строке метками. Нам пришлось вводить имена полей вручную; аналогичная процедура в Excel выполняется автоматически.
Другим инструментом, помогающим не слишком опытным пользователям работать с данными, является Мастер по анализу таблиц. Для его вызова откройте меню "Сервис" и в подменю "Анализ" выберите опцию "Таблица" (Table). Этот Мастер автоматически преобразует двумерную таблицу в две или несколько связанных таблиц. При этом пользователю не нужно разбираться в том, как это происходит, так как Мастер все делает сам. Исходная таблица не удаляется и сохраняется с расширением OLD. В конце процедуры Мастер также автоматически создает новый запрос, который реконструирует исходную таблицу из отдельных ее частей. Ему присваивается имя исходной таблицы, и в результате выполнения всей процедуры эффективность работы с базой данных повышается, так как теперь она состоит из менее громоздких таблиц.
Запросы
Мастер простых запросов (Simple Query Wizard), запускаемый после выбора опции "Запрос" (Query) из меню "Вставка" (Insert), избавляет от необходимости заботиться о том, как свести вместе данные из нескольких связанных таблиц. (К сожалению, в локализованной версии Access 7.0 имеется ошибка, из-за которой Мастер простых запросов не выполняет ряд описанных в статье функций. До устранения ошибки пользователям этой версии для построения сложного запроса на извлечение данных из нескольких таблиц лучше воспользоваться средством "Конструктор". - Прим. ред.) Благодаря Мастеру для включения в запрос одного поля нужно выполнить всего два действия: первое - выбрать таблицу или запрос, содержащие данное поле, и второе - указать имя поля. Оба действия выполняются в представленных Мастером окнах.
Мастер создает необходимые связи и отправляет запрос на выполнение. Например, если вам нужно выяснить количество заказанного клиентами товара и вы используете для этого соответствующие поля таблиц "Клиенты" и "Заказано", связанных между собой таблицей "Заказы", Мастер автоматически включит ее в запрос.
С помощью Мастера простых запросов можно сделать некоторые вычисления. Например, Мастер подсчитает число заказов, сделанных клиентом, если при составлении соответствующего запроса в предпоследнем окне вы установите щелчком мыши флажок "Итоговый", а затем, щелкнув на клавише "Итоги" (Totals), укажете имя поля и вид подсчета или взведете флажок "Подсчет записей" (Count Records In).
При работе с таблицами, запросами или формами для выбора нужных записей можно воспользоваться кнопкой "Фильтр по выделенному" (Filter by Selection). На ней изображена воронка с желтой молнией. Чтобы отобрать все записи с определенным значением одного из полей, поместите курсор в это поле, а затем щелкните на кнопке "Фильтр по выделенному". В качестве критерия для отбора записей можно указать и часть хранимой в ячейке информации. Например, выбрав первую букву в поле с фамилией сотрудника и воспользовавшись кнопкой фильтра, вы получите список всех сотрудников, фамилии которых начинаются с той же буквы.
Применение функции "Фильтр по выделенному" позволяет последовательно ограничить число записей лишь необходимыми. На первом шаге вы можете отобрать всех клиентов из какого-либо штата. Затем выбрать тех, кто проживает в каком-либо городе этого штата. Продолжив процедуру, вы сможете получить список клиентов, имеющих определенный почтовый индекс. Для выполнения каждого шага по отбору записей вам нужно поместить курсор в поле, содержимое которого соответствует критерию отбора, а затем щелкнуть на кнопке "Фильтр по выделенному". Восстановить все записи позволит кнопка "Удалить фильтр" (Remove Filter), на которой изображена воронка.
Более широкие возможности для фильтрации записей предоставляет кнопка "Изменить фильтр" (Filter By Form). Она выводит на экран форму, позволяющую ввести критерии отбора для текущей таблицы, запроса или формы. Если вы работаете с таблицей или запросом, форма для критериев отбора напоминает обычную таблицу, но работает она именно как форма. После введения в нее одного или нескольких значений, определяющих критерии фильтрации, щелкните на кнопке "Применить фильтр" (Apply Filter), и на экране появятся отобранные записи. Отмена фильтрации выполняется щелчком на кнопке "Удалить фильтр". (Обратите внимание на то, что функции "Применить фильтр" и "Удалить фильтр" активизируются одной и той же кнопкой.) Все функции фильтрации доступны также через опции "Фильтр" (Filter) в меню "Запись" (Records).
Если для определения критерия фильтрации вам нужно воспользоваться логической функцией "Или", опция "Изменить фильтр" предоставит вам такую возможность - в открываемой ею форме можно заполнить несколько таблиц. Первая таблица помечена закладкой "Найти" (Look For), остальные - закладками "Или" (Or). В результате фильтрации будут отобраны записи, которые удовлетворяют критерию, заданному в таблице "Найти" или хотя бы в одной из таблиц "Или".
Формы и отчеты
Access 7.0 благодаря технологии OLE позволяет применить для анализа данных мощное средство - сводные таблицы (Pivot Tables). Пользователи Excel 5.0 знакомы с этим инструментом, использующим графические методы для построения итоговых таблиц на основе хранящейся в базе данных информации. Теперь он доступен и пользователям Access.
Высокая эффективность применения сводных таблиц при анализе данных обусловлена использованием графического интерфейса. Простым перетаскиванием имен полей вы формируете строки, столбцы и страницы сводной таблицы. Разместив поле в области, отведенной для данных, вы получите в нем сумму значений, соответствующих строке, столбцу и странице таблицы. Двойной щелчок на поле в области данных позволит изменить вид применяемого к данному полю расчета, например подсчитать среднее значение по строке.
В прилагаемой к пакету документации отмечено, что последняя версия Access допускает использование сводных таблиц для формирования отчетов. Чтобы создать сводную таблицу, выполните следующие действия.
1. Выберите таблицу "Формы" (Form) в окне базы данных.
2. Щелкните на клавише "Создать" (New), затем в открывшемся окне выделите строку "Сводная таблица" (Pivot Table).
3. В раскрывающемся списке укажите источник данных (таблицу или запрос) и щелкните на кнопке "OK". После ознакомления с выведенным в окне поясняющим текстом нажмите кнопку "Далее >" (Next >).
4. Выберите поля для включения в сводную таблицу.
5. Щелкните на клавише "Далее >", чтобы выйти в экран Мастера сводных таблиц пакета Excel.
6. Перетаскивая поля из правой части окна в соответствующие области в центре окна, сформируйте строки, столбцы и страницы сводной таблицы.
7. Одно из полей разместите в теле таблицы (область "Данные").
8. Щелкните на клавише "Далее >", чтобы выйти в окно настройки параметров сводной таблицы.
9. Сделайте нужные установки и щелкните на клавише "Готово" (Finish) для формирования сводной таблицы.
Вы можете изменить созданную сводную таблицу, перетаскивая поля из столбцов в строки и наоборот. Это лучший способ освоить новый инструмент. После каждого изменения таблица будет пересчитана.
Закончив создание таблицы, закройте форму и присвойте ей имя. Форма в Access не является действующей сводной таблицей. Тем не менее, дважды щелкнув на ней, вы откроете Excel и сможете отредактировать таблицу. Для сохранения внесенных изменений просто закройте форму.
Реплицирование данных
Предложенные в Access 7.0 возможности реплицирования данных и объектов являются нововведением для продуктов, представленных на рынке настольных баз данных. На сегодняшний день ни одна другая настольная СУБД такими возможностями не обладает. Для реплицирования созданных в Access баз данных используется средство "Портфель" (Briefcase) ОС Windows 95, что не может служить ограничением для применения СУБД, способной работать лишь в среде Windows 95.
Процедура реплицирования данных позволяет поддерживать идентичность двух (или нескольких) хранимых по отдельности баз данных, учитывая произведенные в них изменения. Кроме того, после тиражирования разработанной базы данных все последующие изменения в базовом проекте легко перенести в ранее выпущенные копии. При внесении структурных изменений в репродуцированные приложения (обновление объектов базы данных или добавление в нее новых объектов) за основу может быть взят лишь базовый проект, в то время как согласование данных допускается в любых двух копиях базы данных.
Можно назвать по крайней мере пять наиболее вероятных случаев применения функции реплицирования.
1. При работе вне офиса, например в сфере торговли или обслуживания, можно периодически (ежедневно или еженедельно) обновлять хранимые на портативных ПК базы данных на основе используемой в офисе базовой копии.
2. Реплицирование удобно при ведении одной и той же базы данных в разных местах, в частности в офисе и дома или в нескольких офисах одной фирмы.
3. Применение функции реплицирования позволяет создавать резервные копии базы данных во время работы с нею (обычные процедуры резервирования этого не допускают).
4. Поскольку восстановление взаимного соответствия отдельных копий базы данных может быть выполнено в любое время, это позволяет оптимизировать доступ к ним с целью уменьшения времени отклика.
5. Реплицирование позволяет распространить изменения в базовом проекте (например, новые формы и отчеты) на все его копии.
Для создания дубликата базы данных перетащите ее пиктограмму в папку "Портфель" (Briefcase) на рабочем столе ПК. При этом программа запросит вас, какую из копий считать основной. Для дальнейшего репродуцирования базы данных можно использовать любую копию, но структурные изменения будут допустимы только в основной.
Каждая из копий базы данных может быть перенесена на другой компьютер, где независимо от других копий в нее можно вносить необходимые изменения. Чтобы привести две копии в соответствие между собой, перенесите их на один компьютер и одну из копий разместите в папке "Портфель". Двойным щелчком откройте папку и выберите нужную копию. Затем воспользуйтесь опцией "Обновить выделенные объекты" (Update Selection) меню "Портфель" (Briefcase). Опция "Обновить все" (Update All) того же меню позволит обновить все базы данных, копии которых размещены в папке "Портфель".
Формат базы данных Access 7.0
Мощные средства пакета Access 7.0 привлекут к нему многих пользователей. Однако нужно помнить, что принятый в нем формат баз данных не полностью соответствует версиям Access 2.x и Access 1.x. Последняя версия пакета может считывать и позволяет редактировать содержимое баз данных, созданных на основе ранних версий СУБД, но не допускает изменения их структуры. В свою очередь, более ранние версии Access не воспринимают формат Access 7.0. Поэтому, планируя перевод в новый формат базы данных, с которой работаете не только вы, подумайте и о тех, кто тоже ею пользуется.
Перед конвертированием базы данных в формат Access 7.0 сделайте резервную копию исходных файлов. Если база данных размещена на сервере, проверьте, чтобы никто не работал с ней во время конвертирования. Затем в меню "Сервис" (Tools) выберите каскадное меню "Служебные программы" (Database Utilities), а в нем опцию "Преобразовать" (Convert Database). Для преобразования защищенных баз данных вам могут потребоваться соответствующие разрешения (Modify Design или Administer). В диалоговом окне "База данных для преобразования" (Database To Convert From) выберите базу данных и щелкните на кнопке "Преобразовать" (Convert). В открывшемся диалоговом окне введите новое имя базы данных или выберите для нее новый каталог. Запустите процедуру преобразования, щелкнув на клавише "Сохранить" (Save). Все это вы должны сделать перед открытием базы данных. В Access 7.0 есть два меню "Сервис" (Tools). Одно из них доступно при входе в Access. Строка системного меню в этом случае содержит пункты "Файл" (File), "Сервис" (Tools), "?" (Help). После открытия базы данных вы также получаете доступ к меню "Сервис", но в нем нет опции "Служебные программы" (Database Utilities.)
Выпустив Access 7.0, фирма Microsoft предложила удобный инструмент построения баз данных, доступный новичкам в этой области и в то же время обеспечивающий достаточный простор и функциональные возможности для более опытных пользователей. Благодаря новым свойствам пакета пользователи обеих категорий наверняка смогут повысить производительность в работе с базами данных.