stringtranslate.com

Microsoft Доступ

Microsoft Access — это система управления базами данных (СУБД) от Microsoft , которая сочетает в себе ядро ​​реляционной базы данных Access (ACE) с графическим пользовательским интерфейсом и инструментами разработки программного обеспечения. Он входит в набор приложений Microsoft 365 , включенный в выпуски Professional и более поздние версии или продаваемый отдельно.

Microsoft Access хранит данные в собственном формате на основе Access Database Engine (ранее Jet Database Engine). Он также может импортировать данные, хранящиеся в других приложениях и базах данных, или напрямую связываться с ними. [6]

Разработчики программного обеспечения , архитекторы данных и опытные пользователи могут использовать Microsoft Access для разработки прикладного программного обеспечения . Как и другие приложения Microsoft Office, Access поддерживается Visual Basic для приложений (VBA), объектно-ориентированным языком программирования, который может ссылаться на различные объекты, включая устаревшие DAO (объекты доступа к данным), объекты данных ActiveX и многие другие компоненты ActiveX. . Визуальные объекты, используемые в формах и отчетах, предоставляют свои методы и свойства в среде программирования VBA, а модули кода VBA могут объявлять и вызывать операции операционной системы Windows .

История

До появления Access на рынке настольных баз данных доминировали компании BorlandParadox ), Ashton-TatedBase , приобретенным Borland в 1991 году) и Fox (с FoxPro ). Microsoft Access была первой массовой программой баз данных для Windows. С покупкой Microsoft FoxPro в 1992 году и включением в Access процедур оптимизации запросов Rushmore от Fox , Microsoft Access быстро стал доминирующей базой данных для Windows, эффективно устранив конкуренцию, которая не смогла перейти из мира MS-DOS . [7] В 1980-х годах Microsoft Access ссылался на несвязанную телекоммуникационную программу, которая обеспечивала эмуляцию терминала и интерфейсы для простоты использования при доступе к онлайн-сервисам, таким как Dow Jones , Compuserve и электронный почтовый ящик. [8] [9]

Проект Омега

Первая попытка Microsoft продать продукт реляционной базы данных была предпринята в середине 1980-х годов, когда Microsoft получила лицензию на продажу R:Base . [10] В конце 1980-х годов Microsoft разработала собственное решение под кодовым названием Omega. [11] В 1988 году было подтверждено, что продукт базы данных для Windows и OS/2 находится в разработке. [12] [13] Он должен был включать встроенный базовый язык «EB», [11] который должен был стать языком для написания макросов во всех приложениях Microsoft, [14] но унификация макроязыков не произошла до тех пор, пока внедрение Visual Basic для приложений (VBA). Ожидалось также, что Omega предоставит интерфейс для Microsoft SQL Server . [15] Приложение было очень требовательным к ресурсам, и были сообщения о том, что оно работало медленно на процессорах 386 , доступных на тот момент. [16] Его планировалось выпустить в 1-м квартале 1990 года, [17] но в 1989 году разработка продукта была возобновлена ​​[10] [18] и его поставка была перенесена не раньше, чем в январе 1991 года . [ 19] Части проекта позже использовались для других проектов Microsoft: Cirrus (кодовое имя для Access) и Thunder (кодовое имя для Visual Basic , где использовался движок Embedded Basic). [10] [11] После премьеры Access проект Omega был продемонстрирован в 1992 году нескольким журналистам и включал в себя функции, которых не было в Access. [20]

Проект Циррус

После того, как проект Omega был свернут, некоторые из его разработчиков были переданы в проект Cirrus (большинство из них были переданы в команду, создавшую Visual Basic). [10] Его целью было создать конкурента таким приложениям, как Paradox или dBase, который бы работал в Windows. [21] После того, как Microsoft приобрела FoxPro , ходили слухи, что проект Microsoft может быть заменен им, [22] но компания решила развивать их параллельно. Предполагалось, что в проекте будет использоваться Extensible Storage Engine (Jet Blue) [23] , но в итоге была обеспечена поддержка только Jet Database Engine (Jet Red). В проекте использовалась часть кода как из проекта Omega, так и из предварительной версии Visual Basic. [11] В июле 1992 года бета-версии Cirrus были отправлены разработчикам [24] , и название Access стало официальным названием продукта. [25] «Access» изначально использовался для старой программы эмуляции терминала от Microsoft. Спустя годы после того, как программа была закрыта, они решили повторно использовать это название здесь. [26]

График

Логотип Access для Office 2000 и Office XP

Microsoft выпустила версию Access 1.0 13 ноября 1992 г. и версию Access 1.1 в мае 1993 г. для улучшения совместимости с другими продуктами Microsoft и включения языка программирования Access Basic.

Для Access v2.0 Microsoft указала минимальные требования к оборудованию: Microsoft Windows v3.1 с требуемым 4 МБ ОЗУ , рекомендуется 6 МБ ОЗУ; Требуется 8 МБ свободного места на жестком диске , рекомендуется 14 МБ свободного места на жестком диске. Продукт поставлялся на семи дискетах по 1,44 МБ. В инструкции указана дата авторских прав: 1994 год.

В составе Microsoft Office 4.3 Professional с книжной полкой Microsoft Access 2.0 был включен в первые образцы баз данных «NorthWind Trader», которые охватывали все возможные аспекты программирования вашей собственной базы данных. В образце Northwind Traders впервые были представлены функции главного коммутатора, новые для Access 2.0 в 1994 году. Фотография Эндрю Фуллера, запись №2 в этом образце базы данных, была человеком, который представлял и работал с Microsoft над созданием такого выдающегося примера базы данных.

В Office 95 Microsoft Access 7.0 (также известный как «Access 95») стал частью пакета Microsoft Office Professional Suite, присоединившись к Microsoft Excel, Word и PowerPoint и перейдя с Access Basic на VBA. С тех пор Microsoft выпускала новые версии Microsoft Access с каждым выпуском Microsoft Office. Сюда входят Access 97 (версия 8.0), Access 2000 (версия 9.0), Access 2002 (версия 10.0), Access 2003 (версия 11.5), Access 2007 (версия 12.0), Access 2010 (версия 14.0), Access 2013 (версия 15.0). и Access 2016 (версия 16.0). [27]

Версии 3.0 и 3.5 Jet Database Engine (используемые Access 7.0 и более поздним Access 97 соответственно) имели критическую проблему, из-за которой эти версии Access были непригодны для использования на компьютере с объемом памяти более 1 ГБ. [28] Хотя Microsoft исправила эту проблему для Jet 3.5/Access 97 после выпуска, она так и не устранила проблему с Jet 3.0/Access 95.

Собственный формат базы данных Access (база данных Jet MDB) также развивался с годами. Форматы включают Access 1.0, 1.1, 2.0, 7.0, 97, 2000, 2002 и 2007. Наиболее существенный переход произошел от формата Access 97 к формату Access 2000; который не имеет обратной совместимости с более ранними версиями Access. По состоянию на 2011 год все новые версии Access поддерживают формат Access 2000. В формат Access 2002 были добавлены новые функции, которые могут использоваться в Access 2002, 2003, 2007 и 2010.

Microsoft Access 2000 увеличил максимальный размер базы данных до 2 ГБ с 1 ГБ в Access 97.

В Microsoft Access 2007 представлен новый формат базы данных: ACCDB. Он поддерживает ссылки на списки SharePoint и сложные типы данных , такие как поля с несколькими значениями и поля вложений. Эти новые типы полей по существу представляют собой наборы записей в полях и позволяют хранить несколько значений или файлов в одном поле. В Microsoft Access 2007 также появилось поле «Вложение файла», в котором данные хранились более эффективно, чем поле OLE (связывание и внедрение объектов) .

Логотип Access с 2013 по 2019 год.

В Microsoft Access 2010 представлена ​​новая версия формата ACCDB, поддерживающая размещение веб-служб Access на сервере SharePoint 2010. Впервые это позволило запускать приложения Access без необходимости установки Access на ПК пользователя и стало первой поддержкой для пользователей Mac. Любой пользователь сайта SharePoint с достаточными правами может использовать веб-службу Access. Копия Access по-прежнему требовалась разработчику для создания веб-службы Access, а версия Access для настольных компьютеров оставалась частью Access 2010. Веб-службы Access отличались от настольных приложений. Автоматизация осуществлялась только с помощью языка макросов (не VBA), который Access автоматически преобразовывал в JavaScript. Данные больше не находились в базе данных Access, а были в списках SharePoint. База данных Access для настольных компьютеров могла быть связана с данными SharePoint, поэтому были возможны гибридные приложения, чтобы пользователи SharePoint, нуждающиеся в базовых представлениях и редактировании, могли поддерживаться, в то время как более сложные традиционные приложения могли оставаться в базе данных Access для настольных компьютеров.

Microsoft Access 2013 предлагает традиционные настольные приложения Access, а также значительно обновленную веб-службу SharePoint 2013. [29] Веб-модель Access в Access 2010 была заменена новой архитектурой, которая хранит данные в реальных базах данных SQL Server. В отличие от списков SharePoint, это обеспечивает настоящую реляционную структуру базы данных с ссылочной целостностью, масштабируемостью, расширяемостью и производительностью, которые можно ожидать от SQL Server. [30] Решения для баз данных, которые можно создать на SharePoint 2013, предлагают современный пользовательский интерфейс, предназначенный для отображения нескольких уровней отношений, которые можно просматривать и редактировать, а также изменения размера для различных устройств и поддержки сенсорного управления. Рабочий стол Access 2013 похож на Access 2010, но некоторые функции были прекращены, включая поддержку проектов данных Access (ADP), [ необходимы пояснения ] сводных таблиц, сводных диаграмм, коллекций данных Access, управления исходным кодом, репликации и других устаревших функций. [31] Максимальный размер базы данных Access Desktop остался 2 ГБ (как и в версии 2000 года).

Microsoft Access больше не входит в версию Microsoft Office 2021 , приобретаемую единоразово , но остается в составе аналога Microsoft 365 в виде выпусков «Приложения для бизнеса» и «Business Standard». Новые функции Access 2021 включают тип данных даты и времени повышенной точности [32] и поддержку темной темы. [33]

Использование

Помимо использования собственного файла хранения базы данных, Microsoft Access также может использоваться в качестве «интерфейсной части» программы, в то время как другие продукты действуют как «внутренние» таблицы, такие как Microsoft SQL Server и продукты сторонних производителей, такие как как Oracle и Sybase . База данных Microsoft Access Jet (форматы ACCDB и MDB) может использовать несколько внутренних источников. Аналогично, некоторые приложения, такие как Visual Basic , ASP.NET или Visual Studio .NET, будут использовать формат базы данных Microsoft Access для своих таблиц и запросов. Microsoft Access также может быть частью более сложного решения, в котором он может быть интегрирован с другими технологиями, такими как Microsoft Excel , Microsoft Outlook , Microsoft Word , Microsoft PowerPoint и элементы управления ActiveX .

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

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

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

Программисты могут создавать решения с помощью VBA, который похож на Visual Basic 6.0 (VB6) и используется во всех программах Microsoft Office, таких как Excel , Word , Outlook и PowerPoint . Большая часть кода VB6, включая использование вызовов Windows API , может использоваться в VBA. Опытные пользователи и разработчики могут расширить базовые решения для конечных пользователей до профессиональных решений с расширенной автоматизацией, проверкой данных , перехватом ошибок и многопользовательской поддержкой.

Количество одновременно поддерживаемых пользователей зависит от объема данных, выполняемых задач , уровня использования и дизайна приложения . Общепринятыми ограничениями являются решения с объемом данных 1 ГБ или менее (Access поддерживает до 2 ГБ), и он работает достаточно хорошо при 100 или менее одновременных подключениях (поддерживается 255 одновременных пользователей). [34] Эта возможность часто хорошо подходит для решений подразделений. При использовании решения базы данных Access в многопользовательском сценарии приложение должно быть «разделено». Это означает, что таблицы находятся в одном файле, называемом внутренним (обычно хранятся в общей сетевой папке), а компоненты приложения (формы, отчеты, запросы, код, макросы, связанные таблицы) находятся в другом файле, называемом внешним интерфейсом . Связанные таблицы во внешнем интерфейсе указывают на внутренний файл. Затем каждый пользователь приложения Access получит свою собственную копию файла внешнего интерфейса.

Приложения, выполняющие сложные запросы или анализ больших наборов данных, естественно, потребуют большей пропускной способности и памяти . Microsoft Access предназначен для масштабирования для поддержки большего количества данных и пользователей путем связывания с несколькими базами данных Access или использования внутренней базы данных, такой как Microsoft SQL Server. Благодаря последнему варианту объем данных и пользователей можно масштабировать до решений уровня предприятия.

Роль Microsoft Access в веб-разработке до версии 2010 ограничена. Функции пользовательского интерфейса Access, такие как формы и отчеты, работают только в Windows . В версиях с 2000 по 2003 год тип объекта Access, называемый страницами доступа к данным, создавал доступные для публикации веб-страницы. Страницы доступа к данным больше не поддерживаются. Доступ к ядру базы данных Jet , являющемуся ядром Access, можно получить с помощью таких технологий, как ODBC или OLE DB . Доступ к данным (т. е. таблицам и запросам) можно получить с помощью веб-приложений, разработанных на ASP.NET , PHP или Java . Используя службы терминалов Microsoft и приложение удаленного рабочего стола в Windows Server 2008 R2, организации могут размещать приложения Access, чтобы их можно было запускать через Интернет. [35] Этот метод не масштабируется так, как веб-приложение, но подходит для ограниченного числа пользователей в зависимости от конфигурации хоста.

Access 2010 позволяет публиковать базы данных на веб-сайтах SharePoint 2010, на которых работают службы Access. Эти веб-формы и отчеты запускаются в любом современном веб-браузере. Полученные в результате веб-формы и отчеты при доступе через веб-браузер не требуют каких-либо надстроек или расширений (например, ActiveX и Silverlight ).

Access 2013 позволяет создавать веб-приложения непосредственно на сайтах SharePoint 2013, на которых работают службы Access. Веб-решения Access 2013 хранят свои данные в базовой базе данных SQL Server, которая гораздо более масштабируема и надежна, чем версия Access 2010, в которой для хранения данных использовались списки SharePoint.

Службы Access в SharePoint с тех пор больше не поддерживаются. [36]

Скомпилированную версию базы данных Access (расширения файлов .MDE/ACCDE или .ADE; ACCDE работает только с Access 2007 или более поздней версии) можно создать, чтобы запретить пользователям доступ к областям проектирования для изменения кода модуля, форм и отчетов. Файл MDE или ADE — это файл базы данных Microsoft Access, в котором все скомпилированные модули и удален весь редактируемый исходный код. Версии базы данных Access .MDE и .ADE используются, когда изменения конечным пользователем не разрешены или когда исходный код приложения должен сохраняться конфиденциальным.

Microsoft также предлагает для загрузки расширения для разработчиков, помогающие распространять приложения Access 2007, создавать шаблоны баз данных и интегрировать контроль исходного кода с Microsoft Visual SourceSafe .

Функции

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

Первоначальная концепция Access заключалась в том, чтобы конечные пользователи могли получить доступ к данным из любого источника. Другие функции включают в себя: импорт и экспорт данных во многие форматы, включая Excel , Outlook , ASCII , dBase , Paradox , FoxPro , SQL Server и Oracle . Он также имеет возможность ссылаться на данные в их существующем местоположении и использовать их для просмотра, запросов, редактирования и составления отчетов. Это позволяет изменять существующие данные, гарантируя при этом, что Access использует самые последние данные. Он может выполнять гетерогенные соединения между наборами данных, хранящимися на разных платформах. Доступ часто используется людьми, загружающими данные из баз данных уровня предприятия для локального манипулирования, анализа и составления отчетов.

Существует также формат базы данных Access (ACE и ранее Jet) (MDB или ACCDB в Access 2007), который может содержать приложение и данные в одном файле. Это делает очень удобным передачу всего приложения другому пользователю, который может запускать его в отключенных средах.

Одним из преимуществ Access с точки зрения программиста является его относительная совместимость с SQL (языком структурированных запросов ) — запросы можно просматривать графически или редактировать как операторы SQL, а операторы SQL можно использовать непосредственно в макросах и модулях VBA для управления таблицами Access. Пользователи могут смешивать и использовать как VBA, так и «Макросы» для форм и логики программирования, а также предлагают объектно-ориентированные возможности. VBA также можно включать в запросы.

Microsoft Access предлагает параметризованные запросы . На эти запросы и таблицы Access можно ссылаться из других программ, таких как VB6 и .NET, через DAO или ADO . Из Microsoft Access VBA может ссылаться на параметризованные хранимые процедуры через ADO.

Редакции Microsoft SQL Server для настольных компьютеров можно использовать с Access в качестве альтернативы Jet Database Engine . Эта поддержка началась с MSDE (Microsoft SQL Server Desktop Engine), уменьшенной версии Microsoft SQL Server 2000, и продолжается в версиях SQL Server Express SQL Server 2005 и 2008.

Microsoft Access — это база данных на базе файлового сервера . В отличие от систем управления реляционными базами данных клиент-сервер (СУБД), Microsoft Access не реализует триггеры базы данных , хранимые процедуры или журналирование транзакций . Access 2010 включает триггеры уровня таблицы и хранимые процедуры, встроенные в механизм данных ACE. Таким образом, система базы данных клиент-сервер не является обязательным требованием для использования хранимых процедур или триггеров таблиц в Access 2010. Таблицы, запросы, формы, отчеты и макросы теперь можно разрабатывать специально для веб-приложений в Access 2010. Интеграция с Microsoft SharePoint 2010 возможна. также значительно улучшился.

В выпуске Microsoft Access 2013 года был в основном плоский дизайн и возможность устанавливать приложения из Магазина Office, но не было новых функций. Тема была снова частично обновлена ​​в 2016 году, но темная тема для Access не была создана.

Службы доступа и веб-база данных

Веб-формы ASP.NET могут запрашивать базу данных Microsoft Access, извлекать записи и отображать их в браузере. [37]

SharePoint Server 2010 через службы Access позволяет публиковать базы данных Access 2010 в SharePoint, что позволяет нескольким пользователям взаимодействовать с приложением базы данных из любого совместимого со стандартами веб-браузера. Веб-базы данных Access, опубликованные на SharePoint Server, могут использовать стандартные объекты, такие как таблицы, запросы, формы, макросы и отчеты. Службы Access хранят эти объекты в SharePoint. [38]

Access 2013 предлагает возможность публиковать веб-решения Access на SharePoint 2013. Вместо использования списков SharePoint в качестве источника данных Access 2013 использует реальную базу данных SQL Server, размещенную на SharePoint или SQL Azure. [39] Это обеспечивает настоящую реляционную базу данных с ссылочной целостностью, масштабируемостью, удобством обслуживания и расширяемостью по сравнению с представлениями SharePoint, используемыми в Access 2010. Макроязык усовершенствован для поддержки более сложной логики программирования и автоматизации на уровне базы данных. [30]

Импортируйте или свяжите источники

Microsoft Access также может импортировать или напрямую связывать данные, хранящиеся в других приложениях и базах данных. [6] Microsoft Office Access 2007 и более поздних версий можно импортировать из следующих источников или ссылаться на них:

Среда выполнения Microsoft Access

Microsoft предлагает бесплатные версии Microsoft Access, которые позволяют пользователям запускать настольные приложения Access без необходимости покупать или устанавливать розничную версию Microsoft Access. Фактически это позволяет разработчикам Access создавать базы данных, которые можно свободно распространять среди неограниченного числа конечных пользователей. Эти исполняемые версии Access 2007 и более поздних версий можно бесплатно загрузить с сайта Microsoft. [42] Версии среды выполнения для Access 2003 и более ранних версий входили в состав Office Developer Extensions/Toolkit и требовали отдельной покупки.

Версия времени выполнения позволяет пользователям просматривать, редактировать и удалять данные, а также выполнять запросы, формы, отчеты, макросы и код модулей VBA. Версия среды выполнения не позволяет пользователям изменять дизайн таблиц, запросов, форм, отчетов, макросов или кода модуля Microsoft Access. Версии среды выполнения аналогичны соответствующим полным версиям Access и обычно совместимы с более ранними версиями; например, Access Runtime 2010 позволяет пользователю запускать приложение Access, созданное с помощью версии 2010, а также версий с 2007 по 2000 год. Из-за устаревших функций Access 2013 его версия времени выполнения также не может поддерживать эти старые функции. Во время разработки можно смоделировать среду выполнения из полнофункциональной версии, используя /runtime параметр командной строки . [43]

Разработка

Access хранит все таблицы базы данных, запросы, формы, отчеты, макросы и модули в базе данных Access Jet в одном файле.

Для разработки запросов Access предлагает «Конструктор запросов» — графический пользовательский интерфейс, который позволяет пользователям создавать запросы без знания языка структурированных запросов. В конструкторе запросов пользователи могут «показать» источники данных запроса (которые могут быть таблицами или запросами) и выбрать поля, которые они хотят вернуть, щелкнув и перетащив их в сетку. Можно настроить объединения, щелкая и перетаскивая поля в таблицах на поля в других таблицах. Доступ позволяет пользователям просматривать и манипулировать кодом SQL при желании. В запросе можно использовать любую таблицу Access, включая связанные таблицы из разных источников данных.

Access также поддерживает создание «сквозных запросов». Эти фрагменты кода SQL могут обращаться к внешним источникам данных посредством использования соединений ODBC на локальном компьютере. Это позволяет пользователям взаимодействовать с данными, хранящимися вне программы Access, без использования связанных таблиц или Jet. [44] Пользователи создают сквозные запросы, используя синтаксис SQL, поддерживаемый внешним источником данных.

При разработке отчетов (в «Представлении дизайна») дополнения или изменения элементов управления приводят к тому, что любые связанные запросы выполняются в фоновом режиме, и дизайнер вынужден ждать возврата записей, прежде чем он сможет внести еще одно изменение. Эту функцию невозможно отключить.

Непрограммисты могут использовать функцию макросов для автоматизации простых задач с помощью ряда раскрывающихся списков. Макросы позволяют пользователям легко объединять команды, такие как выполнение запросов, импорт или экспорт данных, открытие и закрытие форм, предварительный просмотр и печать отчетов и т. д. Макросы поддерживают базовую логику (IF-условия) и возможность вызова других макросов. Макросы также могут содержать вложенные макросы, аналогичные подпрограммам. В Access 2007 расширенные макросы включали обработку ошибок и поддержку временных переменных . В Access 2007 также появились встроенные макросы, которые по сути являются свойствами события объекта. Это устранило необходимость хранить макросы как отдельные объекты. Однако до Access 2013 функциональность макросов была ограничена из-за отсутствия циклов программирования и расширенной логики кодирования. Благодаря значительным дальнейшим улучшениям, представленным в Access 2013, возможности макросов стали полностью сопоставимы с VBA. Они сделали практичным развертывание многофункциональных веб-приложений с помощью значительно улучшенного интерфейса и инструментов Microsoft SharePoint, а также на традиционных настольных компьютерах Windows.

Как и в других продуктах пакета Microsoft Office, в Access используется еще один язык программирования — Microsoft VBA. Он похож на Visual Basic 6.0 (VB6), и код можно хранить в модулях, классах и коде форм и отчетов. Чтобы создать более функциональный, эффективный и удобный в обслуживании готовый продукт с хорошей обработкой ошибок, большинство профессиональных приложений Access разрабатываются с использованием языка программирования VBA, а не макросов, за исключением случаев, когда веб-развертывание является бизнес-требованием.

Для управления данными в таблицах и запросах в VBA или макросах Microsoft предоставляет две библиотеки доступа к базе данных компонентов COM :

  1. Объекты доступа к данным (DAO) (только 32-разрядная версия), которые включены в Access и Windows и преобразованы в ACE в Microsoft Access 2007 для формата базы данных ACCDE.
  2. Объекты данных ActiveX Объекты данных ActiveX (ADO) (как 32-битные, так и 64-битные версии)

Помимо DAO и ADO, разработчики также могут использовать OLE DB и ODBC для разработки собственных программ C/C++ для Access. [45] Для ADP и прямого манипулирования данными SQL Server требуется ADO. DAO наиболее подходит для управления данными в базах данных Access/Jet и является единственным способом манипулирования сложными типами полей в таблицах ACCDB.

В контейнере базы данных или панели навигации в Access 2007 и более поздних версиях система автоматически классифицирует каждый объект по типу (например, таблица, запрос, макрос). Многие разработчики Access используют соглашение об именах Лежинского , хотя оно не является универсальным; это соглашение программирования, а не правило, налагаемое СУБД. [46] [47] Это особенно полезно в VBA, где ссылки на имена объектов могут не указывать тип данных (например, tbl для таблиц, qry для запросов).

Разработчики чаще всего развертывают Microsoft Access для индивидуальных и групповых проектов (характеристика скорости Access 97 была проведена для 32 пользователей). [48] ​​Начиная с Access 97, а также с Access 2003 и 2007, Microsoft Access и аппаратное обеспечение значительно изменились. Базы данных размером менее 1 ГБ (которые теперь могут полностью помещаться в оперативной памяти) и 200 одновременных пользователей вполне соответствуют возможностям Microsoft Access. [49] Конечно, производительность зависит от конструкции базы данных и задач. Работа с интенсивным использованием диска, такая как сложный поиск и запросы, занимает больше всего времени.

Поскольку данные из базы данных Microsoft Access можно кэшировать в оперативной памяти, скорость обработки может существенно повыситься, когда имеется только один пользователь или если данные не изменяются. В прошлом влияние задержки пакетов на систему блокировки записей приводило к медленной работе баз данных Access в виртуальной частной сети (VPN) или глобальной сети (WAN) с базой данных Jet. По состоянию на 2010 год широкополосное соединение смягчило эту проблему. Производительность также можно повысить, если поддерживать постоянное соединение с внутренней базой данных на протяжении всего сеанса, а не открывать и закрывать его при каждом доступе к таблице. [ нужна цитата ]

В июле 2011 года Microsoft признала наличие периодической проблемы с производительностью запросов во всех версиях Access, Windows 7 и Windows Server 2008 R2 из-за того, что характер управления ресурсами сильно различается в новых операционных системах. [50] Эта проблема серьезно влияет на производительность запросов как в Access 2003 и более ранних версиях с кодом Jet Database Engine , так и в Access 2007 и более поздних версиях с Access Database Engine (ACE). [50] Microsoft выпустила исправления KB2553029 для Access 2007 и KB2553116 для Access 2010, но не будет устранять проблему с Jet 4.0, поскольку она больше не поддерживается. [50]

В более ранних версиях Microsoft Access для возможности распространения приложений требовалась покупка Developer Toolkit; в Access 2007, 2010 и Access 2013 версия «Только время выполнения» предлагается для бесплатной загрузки, [51] что делает возможным распространение бесплатных приложений в Windows XP, Vista, 7 и Windows 8.x. [52]

Разделенная архитектура базы данных

Приложения Microsoft Access могут использовать архитектуру разделенной базы данных. Единую базу данных можно разделить на отдельный «внутренний» файл, содержащий таблицы данных (совместно используемые на файловом сервере), и «внешний» файл (содержащий такие объекты приложения, как запросы, формы, отчеты, макросы и т. д.). модули). «Внешнее» приложение Access распространяется на рабочий стол каждого пользователя и связано с общей базой данных. При таком подходе у каждого пользователя есть копия Microsoft Access (или версия среды выполнения), установленная на его компьютере вместе с базой данных приложения. Это снижает сетевой трафик, поскольку приложение не извлекается при каждом использовании. «Внешняя» база данных по-прежнему может содержать локальные таблицы для хранения настроек пользователя или временных данных. Такая конструкция разделенной базы данных также позволяет разрабатывать приложения независимо от данных. Одним из недостатков является то, что пользователи могут вносить различные изменения в свою локальную копию приложения, что затрудняет управление контролем версий. Когда новая версия готова, интерфейсная база данных заменяется, не затрагивая базу данных. Microsoft Access имеет две встроенные утилиты: Database Splitter [53] и Linked Table Manager, облегчающие эту архитектуру.

Связанные таблицы в Access используют абсолютные пути, а не относительные, поэтому среда разработки либо должна иметь тот же путь, что и рабочая среда, либо процедура «динамического компоновщика» может быть написана на VBA .

Для очень больших баз данных Access это может привести к проблемам с производительностью, и в таких обстоятельствах следует рассмотреть возможность использования серверной части SQL. Это не проблема, если вся база данных может поместиться в ОЗУ ПК, поскольку Access кэширует данные и индексы.

Миграция на SQL-сервер

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

В версиях Access 2000–Access 2010 была функция под названием «Мастер увеличения размера», которая позволяла пользователям обновлять свои базы данных до Microsoft SQL Server, клиент-серверной базы данных ODBC. Эта функция была удалена из Access 2013. Дополнительное решение — Помощник по миграции SQL Server для Access (SSMA) — по-прежнему доступно для бесплатной загрузки с сайта Microsoft. [54]

Доступны различные варианты модернизации. [55] После переноса данных и запросов на SQL Server базу данных Access можно связать с базой данных SQL с учетом ограничений преобразования типов данных:

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

В предыдущих версиях Access, включая Access 2010, базы данных также можно преобразовать в проекты данных Access (ADP), которые привязаны непосредственно к одной базе данных SQL Server. Эта функция была удалена из Access 2013. ADP поддерживает возможность напрямую создавать и изменять объекты SQL Server, такие как таблицы, представления, хранимые процедуры и ограничения SQL Server. Представления и хранимые процедуры могут значительно снизить сетевой трафик при объединении нескольких таблиц. SQL Server поддерживает временные таблицы и ссылки на другие источники данных, выходящие за рамки единой базы данных SQL Server.

Наконец, после преобразования данных некоторые базы данных Access полностью заменяются другой технологией, такой как ASP.NET или Java. Однако любая миграция может потребовать значительных усилий, поскольку язык Access SQL является более мощной надстройкой стандартного SQL. Кроме того, процедуры приложений Access, будь то VBA и макросы, написаны на относительно более высоком уровне по сравнению с доступными в настоящее время альтернативами, которые являются одновременно надежными и всеобъемлющими. Язык макросов Access, обеспечивающий еще более высокий уровень абстракции, чем VBA, был значительно улучшен в Access 2010 и снова в Access 2013.

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

Хотя все данные Access можно перенести непосредственно на SQL Server, некоторые запросы не могут быть успешно перенесены. В некоторых ситуациях вам может потребоваться преобразовать функции VBA и пользовательские функции в функции/процедуры T–SQL или .NET. Запросы перекрестных таблиц можно перенести на SQL Server с помощью команды PIVOT.

Защита

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

Более высокий уровень защиты заключается в использовании безопасности рабочей группы, требующей имени пользователя и пароля . Пользователи и группы могут быть указаны вместе с их правами на уровне типа объекта или отдельного объекта. Это можно использовать для указания людей с правами только на чтение или ввод данных, но это может быть сложно указать. Отдельный файл безопасности рабочей группы содержит настройки, которые можно использовать для управления несколькими базами данных. Безопасность рабочей группы не поддерживается в формате баз данных Access 2007 и Access 2010 ACCDB, хотя Access 2007 и Access 2010 по-прежнему поддерживают ее для баз данных MDB.

Базы данных также могут быть зашифрованы. Формат ACCDB предлагает значительно усовершенствованное шифрование по сравнению с предыдущими версиями. [56]

Кроме того, если необходимо защитить структуру базы данных для предотвращения изменений, базы данных Access можно заблокировать/защитить (и скомпилировать исходный код ) путем преобразования базы данных в файл .MDE. Все изменения в проекте VBA (модули, формы или отчеты) необходимо внести в исходную MDB, а затем повторно преобразовать в MDE. В Access 2007 и Access 2010 база данных ACCDB преобразуется в файл ACCDE. Некоторые инструменты доступны для разблокировки и « декомпиляции », хотя некоторые элементы, включая оригинальные комментарии VBA и форматирование, обычно не подлежат восстановлению.

Расширения файлов

Microsoft Access сохраняет информацию в следующих форматах файлов :

Версии

Версий Access между 2.0 и 7.0 нет, поскольку версия Office 95 была запущена с Word 7. Все продукты Office 95 имеют возможности OLE 2, и Access 7 показывает, что она совместима с Word 7.

Версия номер 13 была пропущена.

Смотрите также

Рекомендации

  1. ^ «Примечания к выпуску для текущего канала» . Майкрософт . Проверено 10 января 2024 г.
  2. ^ «История обновлений Office для Mac» . Документы Майкрософт . 29 декабря 2023 г.
  3. ^ ab «История обновлений для Office LTSC 2021 и Office 2021». 29 декабря 2023 г.
  4. ^ Уоррен, Том. «Microsoft Office 2021 выйдет 5 октября». Грань . Проверено 5 октября 2021 г.
  5. ^ «C++ в MS Office». cppcon. 17 июля 2014 года. Архивировано из оригинала 7 ноября 2019 года . Проверено 25 июня 2019 г.
  6. ^ ab «Введение в импорт и экспорт данных». Майкрософт . Проверено 15 октября 2010 г.
  7. ^ «История доступа Microsoft» . Проверено 13 марта 2016 г.
  8. ^ Inc, Зифф Дэвис (15 октября 1985 г.). ПК Маг. Зифф Дэвис, Инк. {{cite book}}: |last=имеет общее имя ( справка )
  9. ^ «Программа доступа к деловой информации Microsoft Access 1.0x» . WinWorld . Проверено 23 мая 2022 г.
  10. ^ abcd Гудхью, Тони (1996). «Реактивный двигатель: История» . Проверено 2 января 2011 г.
  11. ^ abcd Фергюсон, Скотт. «Рождение Visual Basic».
  12. ^ Браунштейн, Марк; Джонстон, Стюарт Дж. (14 ноября 1988 г.). «Microsoft работает над базой данных SAA». Инфомир . п. 5.
  13. ^ Браунштейн, Марк (13 февраля 1989 г.). «Microsoft вносит последние штрихи в приложения Windows». Инфомир . п. 5.
  14. Флинн, Лори (8 мая 1989 г.). «Приложения Microsoft для совместного использования языка макросов». Инфомир . п. 1.
  15. Флинн, Лори (21 августа 1989 г.). «Microsoft ждет от интерфейсов SQL». Инфомир . п. 109.
  16. Крингли, Роберт X. (4 сентября 1989 г.). «Гейтс утверждает, что системы 80286 больше не его дети». Инфомир . п. 82.
  17. Крингли, Роберт X. (31 июля 1989 г.). «Ни в коем случае, в индустрии ПК всегда будет доминировать Doritos». Инфомир . п. 86.
  18. Крингли, Роберт X. (16 октября 1989 г.). «Lotus Exec рассказывает об испытании: «Инопланетяне заставляют меня использовать MS Windows»». Инфомир . п. 106.
  19. Крингли, Роберт X. (20 ноября 1989 г.). «Элвис, теперь дежурный на парковке в Вегасе, еще больше задерживает Intel 486» . Инфомир . п. 106.
  20. Мейс, Скотт (30 ноября 1992 г.). «Microsoft демонстрирует свою злополучную Omega». Инфомир . п. 16.
  21. ^ Пикарилль, Лиза; Мейс, Скотт (30 марта 1992 г.). «Покупка Microsoft Fox активизирует рынок XBase». Инфомир . п. 1. Cirrus (...) будет конкурировать с программой Metaphor от Paradox и Metaphor Computer Systems.
  22. Крингли, Роберт X. (4 ноября 1991 г.). «Какой бы костюм ни носил Экхард, он наверняка напугает Silicon Graphics». Инфомир . п. 118. (...) слухи (...), что FoxPro может заменить давно отложенную базу данных Редмонда, теперь под кодовым названием Cirrus.
  23. Мейс, Скотт (29 июня 1992 г.). «Microsoft создает API для дополнения ODBC». Инфомир . п. 1. Поддержка Open ISAM будет в будущей СУБД Microsoft Cirrus для Windows.
  24. ^ «Разработчики получают бета-версию СУБД Microsoft» . Инфомир . 13 июля 1992 г. с. 3.
  25. Джонстон, Стюарт Дж. (20 июля 1998 г.). «Cirrus назвал Access; выпущена более быстрая бета-версия» . Инфомир . п. 1.
  26. ^ «Откуда взялось название Microsoft Access?». Старая новая вещь . Майкрософт. 13 апреля 2006 года . Проверено 13 марта 2016 г.
  27. ^ «Выпуски версий Microsoft Access, пакеты обновлений, исправления и история обновлений» . ФМС . Проверено 20 августа 2023 г.
  28. ^ Ошибка «Недостаточно памяти» при запуске Microsoft Access.
  29. ^ «Изменения в доступе». Майкрософт . Проверено 13 марта 2016 г.
  30. ^ ab «Новое в Access для разработчиков». Майкрософт . Проверено 13 марта 2016 г.
  31. ^ «Функции, прекращенные и измененные в Access 2013» . Майкрософт . Проверено 13 марта 2016 г.
  32. ^ «Использование расширенного типа данных даты/времени» .
  33. ^ «Что нового в Access 2021» .
  34. ^ «Миграция базы данных Access на SQL Server». support.microsoft.com . Проверено 15 октября 2021 г.
  35. ^ «Использование служб терминалов и RemoteApp для расширения доступа Microsoft и других приложений Windows через Интернет» . Проверено 13 марта 2016 г.
  36. ^ «Службы доступа в дорожной карте SharePoint». Майкрософт . Проверено 20 мая 2019 г.
  37. ^ «Создание веб-форм ASP.NET для использования базы данных Microsoft Access» . Проверено 13 июня 2017 г.
  38. ^ «Создание веб-баз данных с помощью Access 2010 и служб Access». Msdn.microsoft.com. 22 июля 2009 года . Проверено 24 апреля 2013 г.
  39. ^ «Веб-приложения и примеры Microsoft Access 2013» . access-templates.com . Проверено 4 сентября 2017 г.
  40. ^ «Назад по многочисленным просьбам — поддержка файлов dBASE в Access». Офисные блоги . Майкрософт . 7 сентября 2016 г. Проверено 20 августа 2017 г.
  41. ^ ab «Упраздненные функции и измененные функции в Access 2010». Офис.com . Майкрософт . Проверено 17 января 2014 г.
  42. ^ «Распространение среды выполнения Microsoft Access и бесплатные загрузки» . Проверено 15 июня 2016 г.
  43. ^ «Имитация среды выполнения Microsoft Access во время разработки» . Проверено 15 июня 2016 г.
  44. ^ Синклер, Рассел (2000). От доступа к SQL-серверу. Серия Апресс. Апресс. п. 39. ИСБН 978-1-893115-24-8. Проверено 8 июля 2010 г. Сквозные запросы SQL — это запросы, в которых вы можете ввести оператор, который передается непосредственно драйверу ODBC, без его проверки или анализа механизмом Jet.
  45. ^ Александр Якшич (август 2008 г.). «Разработка решений Access 2007 с использованием собственного языка C или C++». Корпорация Майкрософт . Проверено 22 сентября 2008 г.
  46. ^ «Соглашения об именах». Майкрософт. 9 июля 2007 года . Проверено 13 марта 2016 г.
  47. ^ Соглашения об именах для Visual Basic
  48. ^ Кевин Коллинз ( Управление программами Microsoft Jet ), «Обзор производительности Microsoft Jet 3.5 и методы оптимизации», MSDN. Проверено 19 июля 2005 г.
  49. ^ «Масштабируемость базы данных Microsoft Access: сколько пользователей она может поддерживать?» Блог группы разработчиков программного обеспечения FMS . 31 мая 2011 года . Проверено 13 марта 2016 г.
  50. ^ abc Очень медленный запрос Access 2002 с Windows 7
  51. ^ «Программы распространения среды выполнения Microsoft Access и бесплатные загрузки» . Проверено 13 марта 2016 г.
  52. ^ «Загрузите среду выполнения Microsoft Access 2010 из официального центра загрузки Microsoft» . Майкрософт . Проверено 13 марта 2016 г.
  53. ^ «Архитектура разделенной базы данных Microsoft Access для поддержки многопользовательских сред, повышения производительности и упрощения обслуживания» . Fmsinc.com . Проверено 24 апреля 2013 г.
  54. ^ «Помощник по миграции Microsoft SQL Server 7.10 для Access» . Microsoft.com . Проверено 20 октября 2018 г.
  55. ^ «Когда и как преобразовать базы данных Microsoft Access в SQL Server» . Проверено 13 марта 2016 г.
  56. ^ «Вопросы безопасности и рекомендации для доступа 2007». Майкрософт. 5 мая 2014 года . Проверено 13 марта 2016 г.
  57. ^ «Информация о жизненном цикле Microsoft Access» . Проверено 23 октября 2011 г.
  58. ^ abcd «Выпуски версий Microsoft Access, пакеты обновлений, исправления и история обновлений» . ФМС . Проверено 20 июля 2015 г.
  59. ^ «Глава 5 – Системные требования для MS Office» . Ресурсный комплект Office 97 . Майкрософт . Проверено 2 мая 2013 г.
  60. ^ «Системные требования Office 2000» . Сайт Microsoft Office . Майкрософт. Архивировано из оригинала 2 февраля 2012 года . Проверено 2 мая 2013 г.
  61. ^ «Системные требования для Office XP» . Сайт Microsoft Office . Майкрософт. Архивировано из оригинала 4 марта 2013 года . Проверено 2 мая 2013 г.
  62. ^ «Лицензирование Office 2003 и системные требования» . Сайт Microsoft Office . Майкрософт. Архивировано из оригинала 15 июня 2013 года . Проверено 2 мая 2013 г.
  63. ^ «Начало работы с системой Office 2007». Microsoft TechNet . Майкрософт. 28 апреля 2009 года . Проверено 2 мая 2013 г.
  64. ^ «Системные требования для Office 2010». Microsoft TechNet . Майкрософт. 19 февраля 2013 года . Проверено 2 мая 2013 г.
  65. ^ «Системные требования для Office 2013». Microsoft TechNet . Майкрософт. 16 декабря 2016 года . Проверено 15 августа 2017 г.
  66. ^ «Microsoft Access 2016». Майкрософт . Майкрософт.
  67. ^ «Microsoft Access 2019». Майкрософт . Майкрософт.
  68. ^ «Приложения Microsoft 365 для бизнеса» . Майкрософт . Майкрософт.
  69. ^ «Приложения Microsoft 365 для бизнеса» . Майкрософт . Майкрософт.

Внешние ссылки