Обзор механизмов обработки данных Microsoft Access 2000

Билл Демас


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

Данный материал носит исключительно информационный характер. MICROSOFT НЕ ДАЕТ НИКАКИХ ГАРАНТИЙ, НИ ЯВНО ВЫРАЖЕННЫХ, НИ ПОДРАЗУМЕВАЕМЫХ, ОТНОСИТЕЛЬНО ДАННОГО МАТЕРИАЛА.

Авторские права принадлежат ©1998 Microsoft Corporation. Все права сохраняются.

Microsoft, логотип BackOffice, Pivot-Table, Visual Basic, Windows и Windows NT являются зарегистрированными товарными знаками или товарными знаками Microsoft Corporation в США или других странах.

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

Регистрационный номер 098-81609

Содержание

Введение                                                                                                                                          4

Что такое Microsoft Access?                                                                                            5

Краткий обзор характеристик Jet 4.0 и MSDE                                                         6

Механизм обработки данных Jet 4.0                                                                                                   6

Механизм обработки данных Microsoft Data Engine (MSDE)                                                              6

Сравнение Jet и MSDE                                                                                                                          7

Требования организации                                                                                                                    7

Анализ применения Jet и MSDE                                                                                                         8

Сравнительный анализ возможностей Jet и MSDE                                                                           10

Программа Microsoft Access Upsizing Wizard                                                     12

Выводы                                                                                                                                           13

 

Введение

В данной версии Microsoft® Access 2000 пользователи и разработчики получат возможность выбора из двух механизмов обработки данных. К их услугам предложены усовершенствованная версия прежнего механизма Access, называемого Jet, и механизм обработки данных Microsoft Data Engine (MSDE), совместимый с серверной системой управления базами данных (СУБД) Microsoft SQL Server™ 7.0.

MSDE — это мощный механизм, который обеспечивает локальное хранение данных и совместимость с СУБД SQL Server. Он подобен Microsoft Jet, стандартному механизму обработки данных Access. Несмотря на то что по умолчанию Access 2000 использует и устанавливает механизм Jet, разработчики, которые захотят создать приложения, совместимые также с серверной системой управления базами данных ( СУБД )Microsoft SQL Server™, предпочтут использовать MSDE.

Главной задачей этих заметок является оказание помощи пользователю в решении вопроса, какой из механизмов обработки данных, Jet или MSDE, следует выбрать при использовании Access 2000. Механизмы сравниваются в трех аспектах: требования организации, анализ вариантов применения и анализ возможностей. Если коротко суммировать результаты сравнения, следует отметить, что Jet лучше, если вам необходимо обеспечить наилучшую совместимость с Access 97 или более ранними версиями, а MSDE предпочтительнее, если вы хотите преобразовать простую базу для одного пользователя в базу для тысячи пользователей или же предвидите в будущем необходимость расширения. Ознакомившись с содержанием этой небольшой работы, вы сможете решить, который из механизмов обработки данных наилучшим образом отвечает вашим требованиям.

Microsoft Access 2000 — это мощная реляционная СУБД, которую пользователи персональных компьютеров могут использовать для создания баз данных и управления ими. СУБД Access предназначена для пользователей персональных компьютеров и наилучшим образом отвечает потребностям индивидуального использования или использования в рабочих группах для манипулирования данными, объем которых исчисляется несколькими мегабайтами. Для обеспечения многопользовательского доступа к одной и той же базе данных Access использует архитектуру "файл-сервер" вместо архитектуры "клиент-сервер". СУБД Access включена в версии пакета Microsoft Office для профессиональных программистов и разработчиков (Professional Edition и Developer Edition).

Microsoft® Access является лидером среди СУБД для персональных компьютеров. Она обеспечивает пользователям возможность  выполнять простые операции, связанные с хранением и поиском данных, для принятия наилучших решений на базе анализа имеющейся информации. Благодаря высокой интеграции Microsoft Office, Access предлагает тот же интерфейс и функциональность, которые характерны для широко распространенных приложений Microsoft Word и Excel. Для пользователей-сферы бизнеса Access обеспечивает простоту использования, предоставляя программы-мастера для выполнения большинства задач, например, Database Wizard для установки и быстрого запуска приложений или Simple Query Wizard для простого доступа к необходимым данным путем генерации запросов. Более опытные разработчики могут оценитьширокие возможности, обеспечиваемые языком Microsoft Visual Basic® for Applications, предназначенным для использования в качестве языка программирования приложений и программного инструментария, а также свободно распространяемую исполняемую версию Access run-time  доступную в рамках Microsoft Office Developer Edition. Сочетание в СУБД Access простоты применения и мощности делает ее наиболее предпочтительной для разработчиков, которые часто используют Access в качестве пользовательского интерфейса для сценариев базы данных с архитектурой "клиент-сервер" под управлением SQL Server.

Access имеет два основных компонента. Первый из них содержит предназначенную для программистов среду разработки приложений на языке Visual Basic for Applications, которая включает инструментарий для создания форм и отчетов, а также управления базами данных. В дополнение к этому, как уже было отмечено ранее, имеется пользовательский интерфейс User Interface (UI), общий для Access и других приложений пакета Microsoft Office.

Вторым компонентом Access, который и является основным предметом данных заметок, является механизм обработки данных. До появления Access 2000 пользователи и разработчики использовали механизм Jet, независимо от глубины знакомства с ним. В следующей версии пользователи и разработчики получат возможность выбора механизма обработки данных. Они могут продолжать использовать механизм Jet, принимаемый в Access по умолчанию, — его усовершенную версию Jet 4.0 — или выбрать MSDE, новый механизм обработки данных Access 2000.

В этом разделе мы приведем краткий обзор усовершенствований, сделанных в механизме Jet, принятом в Access по умолчанию, и представим новый альтернативный механизм обработки данных MSDE.

Механизм обработки данных Jet 4.0

Jet 4.0 — это механизм обработки данных, принятый в Access 2000 по умолчанию. Это новая усовершенствованная версия Jet 3.51, механизма, использовавшегося в Access 97. Jet 4.0 отличается следующими усовершенствованиями.

·         Полная поддержка UNICODE.

·         Сортировка совместима с операционной системой Windows NT® на базе Windows® 95 и 98, а также Windows NT.

·         Блокировка на уровне строк.

·         Улучшенная поддержка стандарта ANSI SQL92 и совместимость с сервером SQL Server (в качестве примеров можно привести операторы GRANT/REVOKE, тип данных DECIMAL и целостность по ссылкам на уровне описаний).

·         Двустороннее тиражирование Jet/SQL Server 7.

·         Улучшенное разрешение конфликтов при тиражировании.

·         Встроенный провайдер OLE DB.

Несмотря на то что в основном СУБД Access применяют индивидуальные пользователи, диапазон приложений довольно широк. Однако объем, занимаемый базами данных  большинства пользователей, не превышает 50 Мб.

Механизм обработки данных Microsoft Data Engine (MSDE)

MSDE — это новый для Microsoft механизм обработки данных. Он отражает стратегическое направление развития, выбранное корпорацией. Механизм MSDE полностью совместим по программным кодам с СУБД SQL Server 7.0, что позволяет написать приложение так, чтобы его можно было выполнять и на персональных компьютерах, работающих под Windows 95, и на мультипроцессорном кластере под управлением Windows NT Server, Enterprise Edition.

Некоторые технологии, реализованные в MSDE.:

·         Динамическая блокировка. Автоматически выбирает оптимальный уровень блокировки (строка, страница ключевого диапазона или таблица) для всех операций базы данных. Это позволяет устанавливать оптимальный режим эксплуатации за счет правильного сочетания согласованности и производительности. Никакой настройки не требуется.

·         Кодовая таблица Unicode. Расширенная многоязыковая поддержка

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

·         Тиражирование со слиянием. Позволяет пользователям изменять распределенные копии базы данных в разное время в режимах online или offline, а затем комбинирует их, получая результат в унифицированном виде.

MSDE использует технологию, применяемую в СУБД  SQL Server 7. Используя MSDE, разработчики могут впоследствии  обеспечить сотням и даже тысячам пользователей возможность применять следующие функции SQL Server 7.0.

·         Службы конвертирования данных.  Упрощают импортирование данных из любых источников (например, баз данных OLE, службы каталогов Windows NT и электронных таблиц) и конвертируют или экспортируют данные в любые другие источники данных.

·         Службы Microsoft SQL Server OLAP.  Обеспечивают быстрый и эффективный анализ сложной информации, оптимизируя доступ к данным для обеспечения быстрого получения необходимой информации. Службы Pivot-Table® устанавливаются на рабочих станциях клиента и упрощают многомерный анализ данных, помещая все функции PivotTable на экран и предоставляя динамические представления результатов. Впервые пользователи Excel смогут анализировать гигабайты и терабайты данных с помощью Microsoft SQL Server 7.0.

·         Запросы на английском языке (English Query).  Позволяет пользователям формулировать вопросы на английском языке вместо того, чтобы генерировать запросы в виде сложных операторов SQL.

·         Параллельные запросы. Это позволяет распараллеливать выполнение простых запросов, обеспечивая минимальное время ожидания.

Сравнение Jet и MSDE

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

Требования организации

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

Корпоративные приложения требуют масштабируемости, защиты и надежности, что может быть обеспечено при использовании MSDE или SQL Server, но никак не Jet. Например, если ваше приложение требует поддержки транзакций, даже в случае сбоя или отказа сети, сервера, компьютера клиента или приложения клиента, вы предпочтете использовать MSDE или SQL Server. В отличие от MSDE, механизм Jet не поддерживает атомарных  (функционально неделимых) транзакций: он не гарантирует, что все изменения, произведенные в рамках транзакции, будут выполнены, или отменены. Другим серьезным требованием в корпоративной среде является безопасность. MSDE и SQL Server обеспечиваются защитой Windows NT; для Jet это не имеет места. Это приводит к тому, что выполнение задач администратора для Jet требует больших затрат по сравнению с MSDE или SQL Server 7.0.

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

Требование

SQL Server (используйте MSDE, если вам в дальнейшем потребуется...)

Microsoft Access (Jet)

Масштабируемость

 

 

 

·   Поддержка SMP

·   Виртуально неограниченное число одновременных пользователей

·   Объем данных порядка терабайт

·   Регистрация транзакций

·   Нет поддержки SMP

·   Максимальное число пользователей 255

·   Объем данных 2 Гб

·   Нет регистрации транзакций

Критичность отказа

·   Поддержка круглосуточной работы и QFE

·   Восстановление на уровне атомарной операции

·   Гарантия целостности транзакций

·   Встроенный механизм обеспечения устойчивости к сбоям

·   Встроенная защита, обеспечиваемая Windows NT

·   Нет поддержки круглосуточной работы

·   Восстановление на уровне последней резервной копии

·   Нет регистрации транзакций

·   Нет встроенной защиты, обеспечиваемой Windows NT

Быстрое моделирование приложений

·   Access является интерфейсом пользователя для обоих механизмов обработки данных и обеспечивает стандарт WYSIWIG ("что видишь, то и получаешь") для инструментария СУБД и встроенного генератора форм.

Анализ применения Jet и MSDE

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

1.  Простота. Jet 4.0, безусловно, обеспечивает самую высокую совместимость с Access 97 и более ранними версиями. Если у вас имеются приложения, разработанные для Access, Jet является самым простым и, возможно, наилучшим решением для обеспечения совместимости с Access 97 и более ранними версиями.

Jet проще в использовании и администрировании, чем MSDE, что обеспечивает ему преимущество при разработке новых и относительно простых приложений, от которых не требуется совместимости с SQL Server. Он не предъявляет высоких требований к оперативной памяти и объему жесткого диска и практически не нуждается в администраторе. Кроме того, Jet является механизмом, принятым в Access 2000 по умолчанию. Базы данных, созданные при использовании Jet, могут быть позднее перенесены под SQL Server с помощью мастера Upsizing Wizard, хотя не исключено, что при этом потребуется произвести некоторые дополнительные модификации.

Преимущество: Jet

2.  Целостность данных. MSDE основывается на технологии SQL Server 7. SQL Server поддерживает программные коды, которые переносятся с компьютеров, работающих под управлением Windows 95, на мультипроцессорные кластеры под управлением Windows NT Server, Enterprise Edition, предоставляя 100% совместимость приложений. Jet не обеспечивает такой масштабируемости, поскольку он тесно связан именно с Access.

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

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

Преимущество: MSDE

3.     Число одновременных пользователей (производительность). SQL Server 7.0 — основа технологии MSDE — поддерживает очень большое число одновременных пользователей. Jet и MSDE оптимизируются для отдельных лиц или небольших рабочих групп.

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

Если вы создаете новое приложение для небольшой группы пользователей, MSDE или SQL Server помогут вам в будущем увеличить его масштаб.

Преимущество: MSDE и SQL Server для масштабируемости.

4.  Объем данных. Jet может поддерживать объем базы данных до 2 Гб. MSDE также поддерживает 2 Гб данных.


Сравнительный анализ возможностей Jet и MSDE

Третий и последний способ оценить, который из механизмов обработки данных является для вас наилучшим, состоит в сравнительном анализе возможностей обоих механизмов. Неполный список таких  возможностей, приведенный ниже, предназначен в помощь пользователям Microsoft Access при принятии решения о выборе механизма Jet или MSDЕ

Возможности

Jet 4.0

MSDE

Гетерогенные соединения

X

X

Наиболее частые запросы в количественном и процентном отношении??

X

X

Правила проверки вводимых данных

X

X

Значения по умолчанию

X

X

Триггеры и хранимые процедуры

 

X

Целостность по ссылкам посредством триггеров

 

X

Целостность по ссылкам на уровне описаний

X

X

Каскадные обновления и удаления на уровне механизма

X

 

Базовая единица блокировки

Строка

Строка

Блокировка строк при вставке

X

X

Тиражирование на уровне полей

X

X

Выбор кода для разрешения конфликта при тиражировании

X

X

Тиражирование по расписанию

X (требует Microsoft Office 97, Developer Edition)

X

Встроенные средства защиты

X (на уровне файлов пароль чтения/записи или разрешение на уровне операционной системы)

X

Встроенная кодировка-шифрование

X

X

Распределенные транзакции

 

X

Динамическое резервирование и восстановление

 

X

Резервирование регистрации транзакций

 

X

Автоматическое восстановление

 

X

32-битный механизм

X

X

Объем данных

2 Гб на базу данных

2 Гб на базу данных. SQL Server поддерживает объем баз данных на уровне терабайт.

Программа Microsoft Access Upsizing Wizard создает на основе базы данных Jet эквивалентную базу данных SQL Server, которая имеет ту же структуру таблиц, данных и многие другие атрибуты исходной базы данных. Она воссоздает структуры таблиц, индексов, правила обеспечения целостности, параметры и режимы, принимаемые по умолчанию, автозначения, отношения и обеспечивает использование преимуществ последних усовершенствований SQL Server всюду, где это только возможно. Однако отчеты, запросы, макросы и защита не подвергаются при этом никаким модификациям. Программа  Upsizing Wizard является основным мастером, который распространяется в комплекте с Microsoft Office 2000 Professional Edition.

Программа Upsizing Wizard обеспечивает три основные функции:

·         перенос баз данных от Jet к SQL Server;

·         создание приложений на базе Access и SQL Server с помощью таблиц, откомпилированных в Jet;

·         создание приложений на базе Access и SQL Server с помощью Access Projects (новая модель для разработчиков, которая использует файл проекта Access, связанный непосредственно с базой данных SQL Server).

Этот инструмент позволяет разработчикам, которые создают приложения типа "клиент-сервер" на персональных компьютерах в Access, генерировать на их основе базы данных, совместимые с SQL Server. Кроме того, разработчики, которые имеют Jet-приложения, получат возможность перенести эти приложения под управление SQL Server и использовать все преимущества этой технологии.

Программа запускается в режиме совместного использования ("только чтение") и создает временную базу данных для хранения информации о процессе переноса. Все параметры и режимы, указанные пользователем в качестве предпочитаемых, будут сохранены для каждого пользователя в регистрационном журнале.

Надеемся, что теперь вы понимаете, какой из механизмов обработки данных, реализованных в Access 2000, наилучшим образом удовлетворяет вашим требованиям. Ниже приводятся краткие итоги обсуждения этого вопроса.

Используйте Jet, если…

·         Вам необходима наивысшая совместимость с Access 97 или более ранними версиями.

·         В вашей системе одновременно работает небольшое число пользователей.

·         Ваши ресурсы — оперативная память или объем жесткого диска — очень ограниченны.

·         Самое главное для вас — простота применения.

Используйте MSDE, если…

·         Вы планируете перейти от приложения для одного пользователя к приложению для тысяч пользователей, не меняя исходного кода.

·         Вы предвидите необходимость дальнейшего расширения.

·         Вам нужен простой механизм тиражирования со слиянием на центральном сервере.

·         Вам требуется максимально возможная защита.

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

·         Ваша система работает круглосуточно, 7 дней в неделю.

·         Вам нужны хранимые процедуры и триггеры.