софтComputer Review#5(36)

Екатерина Быкова, Санкт-Петербург, специально для "CR"

ACCESS 97 - ключ к любому замку

 Существует множество СУБД, и у каждой из них есть свои противники и сторонники. В последнее время внимание многих программистов привлекает Microsoft Access 97. Эта программа входит в состав пакета Microsoft Office Professional 97. Прекрасная интеграция с другими популярными продуктами фирмы Microsoft, легкость изучения программы, возможность решения большинства задач без сложного программирования, прекрасное поведение при использовании в сети - это далеко не полный перечень достоинств пакета.

 
КЛЮЧИК В ДАМСКОЙ СУМОЧКЕ

 Несколько лет назад я занималась складским учетом в канадской фармацевтической фирме. Посерийный учет, резервирование товара, ежедневное отслеживание остатков на складе и формирование прейскуранта по нескольким сотням позиций товара - адский труд без хорошей программы. Но на тот момент мне приходилось довольствоваться работой в Lotus 1-2-3. Ни одна из существующих складских программ не годилась для фармацевтики... В конце концов, надо было искать подходящие для этой цели инструменты. Тогда я и познакомилась с Microsoft Access.

 Первое впечатление - наконец-то есть программа, в которой приятно работать! Я просмотрела учебные базы и решила, что смогу сделать не хуже, причем именно то, что нужно мне.

 Несмотря на то, что у меня за плечами был факультет Прикладной Математики ЛГУ, я уже и не предполагала, что когда-нибудь займусь программированием (со времен последней моей программы на Turbo Pascal прошло 7 лет). Однако Access настолько подходил для решения моих задач, что я с удовольствием занялась разработкой базы данных. И действительно, мне удалось создать такую программу, которая позволяет легко и просто вести складской учет в небольшой оптовой фирме.

 
НОВОЕ ПОКОЛЕНИЕ ВЫБИРАЕТ... MICROSOFT ACCESS

 Microsoft Access удовлетворяет требованиям если не абсолютно всех, то, по крайней мере, большинства пользователей. Трудно представить себе область, в которой база данных, созданная при помощи этого инструмента, не могла бы успешно работать.

 В частности, основываясь на опыте работы в Медицинском Институте в качестве программиста, я могу со всей ответственностью утверждать, что именно с помощью этого средства можно создать базы данных, которые удовлетворят всем требованиям медиков. Дружественный интерфейс сразу ставит созданные в Access программы вне конкуренции. Ведь именно Access позволяет организовать такое управление данными, с которым легко сможет работать даже самый далекий от программирования пользователь. Именно Access позволяет создавать множество вариантов вывода данных на печать (даже если эти данные находятся в других форматах), а это обстоятельство значительно облегчает работу бухгалтерии, особенно в период подготовки итоговых отчетов. Есть и другие области, в которых очевидно явное преимущество использования Access. Например, с помощью Access не составит труда создать аналитические программы для маркетинга. Представьте себе, как обрадуется менеджер по закупкам, если ему не придется вручную просматривать огромное количество прайс-листов с целью сделать выборку по какому-либо параметру!

 Кроме того, сам факт существования локализованной версии Microsoft Access в комментариях не нуждается.

 
А ЛАРЧИК ПРОСТО ОТКРЫВАЛСЯ...

 Microsoft Access - это умный и простой в обращении инструмент. Он не требует никаких специальных знаний. Большинство задач при проектировании базы в Access решаются без программирования. Вам не нужно предварительно досконально изучать Visual Basic, с его командами, операторами и синтаксисом. Если вы являетесь специалистом в других СУБД, вы поймете, какое количество времени вам сэкономит это обстоятельство. Сразу скажу, что у меня на создание программы (включая постановку задачи, окончательную отладку и установку сетевой версии) ушел всего месяц. А если вы новичок в СУБД - смело принимайтесь за работу. Создайте "опытный образец" при помощи мастера, затем переделайте его на свой вкус, изменяйте его так, как вам захочется - это самый эффективный способ понять, как осуществляются связи и запросы, как создать любезный вашему сердцу интерфейс, как удобнее организовать ввод данных в формах. Я рекомендую для первого раза взять за основу базу, которую создаст вам мастер, и наращивать ее по вашим потребностям. Все познается на практике, и эта мысль как нельзя лучше подходит к Microsoft Access.

 Когда вы прочувствуете те возможности, которые предоставляет вам Access, наступит самая увлекательная пора - настоящее творчество и никакой рутины! Access позволяет решать каждую конкретную подзадачу несколькими способами, и выбор способа завит только от вашего индивидуального стиля. Мне кажется, можно реализовать любые фантазии. Единственный недостаток - этот процесс может длиться вечно. Правда, когда заканчиваешь программу, хочется сразу же создать следующую версию, в которой будут реализованы новые возможности. Пожалуй, основное, что вам необходимо перед началом работы в Access - это детальная, очень подробная постановка задачи, вы заранее должны учесть все мелочи. Будущего пользователя придется "допросить с пристрастием", чтобы четко знать, какую информацию, каким образом и в какой последовательности он хочет видеть на экране. В этом плане возможности Microsoft Access ограничены разве что вашей фантазией, однако при проектировании базы в Access нужно начинать с конца. Ведь именно от того, какие и чем наполненные формы и отчеты хочет получить пользователь, будет зависеть ваш способ организации структуры базы.

 Если вы давно и долго работали с такими "монстрами" как Clipper, dBase, Paradox и т.п., вы, вероятно, привыкли к предварительному проектированию структуры базы. Позволю себе выдвинуть такую идею - в Microsoft Access вам это не понадобится. Этот умный инструмент сам автоматически создает связи между данными и присваивает уникальные ключи полям таблиц, он будет корректировать вашу работу и исправлять возможные ошибки.

 Когда вы приступите к оформлению, Microsoft Access предложит вам собственные стандартные варианты. Все эти "облака", "камни", "ткань" и т.д. прекрасно вписываются в семью Microsoft Office. Но, возможно, вы хотите иметь оригинальный и неповторимый интерфейс? В этом случае вы можете использовать любые графические файлы (а также видеоизображение, звуки и т.д.). Набор собственных инструментов конструктора форм вполне достаточен, чтобы редактировать внедренные вами рисунки. Стоит обратить внимание на специальный элемент "Календарь". Его присутствие в формах значительно облегчает выбор отчетного периода. Вообще же в Microsoft Access очень много наработок, которые позволят вам создать интерфейс, практически не требующий от пользователя обращений к клавиатуре. Вы можете устанавливать различные кнопки, флажки, переключатели, присоединять синхронные справочники и даже использовать проверку орфографии - это позволит свести к минимуму ошибки пользователя при вводе или выборе данных.

 
БРАТЬ ЛИ С СОБОЙ ГРУЗ ПРОШЛОГО?

 При переходе в Microsoft Access вам не придется отказываться от данных, накопленных в форматах других СУБД (FoxPro, dBase, Paradox, Oracle и пр.). Вы можете использовать эти данные в их текущем формате, установив связи с ними при помощи диспетчера. При связывании данных никаких ограничений не существует.

 Также важно, что Access позволяет импортировать внешние данные. Этот метод незаменим, например, в том случае, когда предназначенная для использования информация записана в текстовом формате. Однако вам следует заранее определить, будете ли вы импортировать данные из других СУБД. Если вы намерены организовать данные по-новому, то есть изменить количество полей или их формат, импорт данных в таблицы вашей базы цивилизованным образом будет невозможен. То есть, конечно, всегда найдется способ перекачать данные, но представьте, сколько времени вы потратите на копирование столбцов вручную!

 Если наследование данных для вас очень важно, а вы не хотите довольствоваться связями с внешними файлами (Access не может гарантировать целостность ссылок между прилинкованными таблицами), позаботьтесь о сохранении структуры таблиц, чтобы облегчить импорт.

 Импорт данных мне нравится гораздо больше, так как с программистской точки зрения представляется важной возможность впоследствии гибко изменять структуру таблиц. Есть моменты, когда удобнее иметь несколько маленьких связанных таблиц. Статичность внешних таблиц может стать обузой, не позволяя вам реализовать некоторые изысканные идеи.

 
ВЫ ПОПАЛИСЬ В СЕТИ?

 Если вам приходилось разрабатывать базы данных для многопользовательской среды, вы знаете, что это достаточно сложная задача. Чаще всего для работы в сети создаются специальные версии программ, но для базы, созданной в Microsoft Access, не имеет значения, будут ее использовать на отдельном компьютере, или в сети. Каждая созданная в Access база данных потенциально является и сетевой, причем, в процессе разработки совершенно не имеет значения, в какой сети, на каком количестве компьютеров она будет использоваться. Когда приложение работает в многопользовательской среде, благодаря возможности разделения базы, таблицы с данными устанавливаются только на сервере. Это дает ряд преимуществ: все пользователи совместно используют данные и могут одновременно обновлять их, причем изменение одним из пользователей форм или отчетов не заставляет других прерывать работу, и, что очень важно, быстродействие в сети значительно повышается.

 
СЖИМАТЬ ИЛИ НЕ СЖИМАТЬ?

 Если ваша база вырастает до нескольких десятков мегабайт, а впереди еще непочатый край работы - не стоит падать в обморок. На самом деле в окончательном варианте ваша работа будет примерно раз в пять меньше. В Microsoft Access предусмотрено автоматическое сжатие базы, при котором удаляются все временные объекты, необходимые в стадии разработки, и дефрагментируется сам файл. Если вы решили сжать базу, будьте осторожны. Не пренебрегайте рекомендацией сделать резервную копию MDB-файла. Обязательно откомпилируйте сжатую программу.

 После всего этого вы, возможно, обнаружите, что какие-то кнопки в формах просто "отвалились", не выполняются некоторые макросы и вообще с базой произошло что-то непонятное. В литературе по Access очень скромно упоминается о возможности возникновения таких проблем, но не дается никаких советов на этот счет. Я не могу с уверенностью назвать причины таких метаморфоз, у вас будет возможность поразмыслить над этим самостоятельно. Я нашла пока единственный способ борьбы с этими "чудесами" - если при сжатии с завидным постоянством происходят одни и те же неприятности, переустановите Microsoft Access, а потом снова проделайте операцию сжатия.

 
ПЕРЕРЫВ НА ЧАШЕЧКУ КОФЕ

 В процессе работы Access "съедает" большое количество машинных ресурсов. К примеру, через два-три часа напряженной работы вы можете обнаружить, что на жестком диске осталось на 50-60 Мбайт меньше места. Я настоятельно советую делать перерывы в работе и закрывать Access, чтобы очистить буфер. Тем самым вы застрахуетесь от непредвиденных ситуаций и сохраните свое здоровье, ибо, как предупреждает Минздрав, непрерывное сидение за компьютером опасно для вашего здоровья. Впрочем, подчеркну, что все сделанные вами изменения Access сохраняет мгновенно, и потерять даже при аварийном отключении электроэнергии можно разве что самую малость. К тому же такое поглощение ресурсов происходит только на стадии разработки, пользователь же никогда не столкнется с подобной проблемой.

 
ПРЕДОХРАНЯТЬСЯ - ЭТО СОВРЕМЕННО, или ЧТО И КАК ЗАЩИЩАТЬ?

 Безусловно, не на последнем месте стоит вопрос защиты базы данных. Применительно к Microsoft Access решение зависит от того, что конкретно вы хотите защитить. Если вы устанавливаете сетевую версию, то без труда с помощью Access разделите базу на две части (одна будет содержать только данные, другая - все остальное), определите права доступа, группы пользователей, зададите пароли - это просто. Такая защита если не обязательна, то весьма желательна. Но имейте в виду, что это не панацея - таким образом можно защитить данные, но не сам MDB-файл. Конечно, вы можете исхитряться и всячески прятать сам файл на жестком диске, но это при условии отсутствия более-менее квалифицированного и любознательного пользователя. Таким образом, встает отдельный вопрос - как защитить рабочий файл от копирования. В Ассоциации защиты информации я обнаружила полезную вещь - ключ HASP, который ставится на порт компьютера, где будет работать ваша программа, и пиратски скопированный файл на другом компьютере работать без ключа не будет. Но этим способом можно защитить только COM- и EXE-файлы и библиотеки. Как сделать из MDB-файла управляющий файл? Существует возможность решить и эту задачу. В Microsoft Office 97 Developer Edition Tools включен пакет Windows Setup Wizard. С его помощью можно создать инсталляционный вариант вашей базы данных.

 Кстати, огромный плюс - в этом случае пользователю не потребуется устанавливать на свой компьютер Access, так как все необходимое для работы вашей программы Setup Wizard включит в ее тело. Безусловно, это очень удобно. Профессиональная версия Access 97, унаследовав все плюсы предыдущих версий, обладает еще большими возможностями. К тому же она еще проще в использовании (присутствие Помощника доставит вам несомненное удовольствие). Стоит отметить, базы, созданные в предыдущих версиях Access, она конвертирует с некоторыми оговорками. Кстати, в состав Microsoft Office 97 Developer Edition Tools входит и компилятор справки. Использование такой умной справки в вашей базе данных придаст ей совершенный вид и явно обозначит родственные связи вашей программы с семейством Microsoft.

 
ПОПРОБУЙ - ПОЛЮБИШЬ!

 Полнофункциональный инструмент разработки баз данных, Microsoft Access обладает самыми современными средствами создания приложений. Работали вы раньше с различными СУБД или вы новичок в программировании - перед тем как нырнуть в Access, необходимо всего лишь чувствовать себя как рыба в воде в Windows. Microsoft Access - это доступно, удобно и красиво, а результаты работы в нем превосходят все ожидания.


софтComputer Review#4(35)

Copyright © 1998 "Компьютерное обозрение"
Дизайн - leidenwebdesign - http://leiden.irkutsk.ru