База данных субд access. Субд ms access и ее основные возможности

18.03.2014

Источник: Журнал "Технологии Защиты" № 1, 2014

В данной статье мы коснёмся достаточно скрытой, но при этом, такой важной части любой современной сетевой СКУД, как система управления базами данных (СУБД). Любая современная сетевая СКУД нуждается в базе данных, так как является по своей сути информационной системой, предназначенной для хранения, обработки и анализа информации о происходящих на защищаемом объекте событиях. Также в СКУД должны храниться настройки оборудования, коды карт и личные данные пользователей, уровни доступа и другая нужная информация.

Терминология

Частая ошибка многих специалистов по безопасности - некорректное использование термина «база данных» (БД) вместо термина «система управления базами данных» (СУБД). Давайте разберёмся, что к чему.

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

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

То есть, упрощённо, «база данных» – это сами данные, представленные в виде совокупности файлов на дисках, с которыми как раз работает «система управления базами данных» (СУБД) – программный продукт, имеющий средства для создания, наполнения, модификации и поиска по базам данных.

Разработчики различных приложений, в том числе и разработчики СКУД, работают именно с СУБД и выбирают СУБД под свои нужды.

Требования к СУБД, применяемым в СКУД

Какие же особенные требования следует предъявить к СУБД, используемой в СКУД с точки зрения пользователя?

  • Во-первых - надёжность: никакие данные не должны пропасть! Сбои должны быть минимизированы и не должны приводить к потерям данных, базы должны быть надёжно защищены от несанкционированного доступа, на режимных объектах могут потребоваться функции шифрования данных, необходимо также обеспечивать регулярное резервное копирование баз данных и возможность восстановления из архива при необходимости.
  • Во-вторых - производительность: СУБД должна обеспечивать приемлемый уровень производительности для решения возложенных на неё задач.
  • В-третьих, на мой взгляд, это уверенность в том, что СУБД будет поддерживаться производителем, и вы не останетесь один на один с проблемой в случае какого-то серьёзного сбоя или сложной ситуации.

Виды СУБД

СУБД на данный момент существует великое множество и классифицируются они по разным признакам. Но мы не будем останавливаться в данной статье на всём многообразии этих типов, опустим перспективные и экзотические технологии типа объектно-ориентированных и иерархических СУБД. Стандартом де-факто в современных информационных системах являются реляционные СУБД, в которых данные хранятся в табличном виде, о них мы и будем говорить. Так чем же различаются все эти системы? Перечислю ключевые параметры важные как для разработчиков, так и для пользователей системы.

Способ доступа к БД:

  1. Клиент-серверные СУБД
  2. Файл-серверные СУБД
  3. Встраиваемые СУБД

В клиент-серверных СУБД (Microsoft SQL Server, Oracle, Firebird, PostgreSQL, InterBase, MySQL и др.) вся обработка данных ведётся в одном месте, на сервере, в том же месте, где хранятся (обычно) данные, при этом к файлам данных имеет доступ только один сервер, одна система - это сама СУБД. Приложения-клиенты при этом посылают запросы на обработку и получение данных из СУБД и получают ответы; приложения-клиенты не имеют непосредственного доступа к файлам данных. Все промышленные СУБД на данный момент являются именно клиент-серверными.

В файл-серверных СУБД (Paradox, Microsoft Access, FoxPro, dBase и др.), наоборот, приложения имеют общий доступ ко всем файлам базы данных (хранящимся обычно в каком-то разделяемом файловом хранилище) и совместно обрабатывают эти данные. Каждое приложение самостоятельно обрабатывает данные. На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах - недостатком. Проблема в том, что файл-серверные СУБД не имеют многих преимуществ клиент-серверных, таких как: кэширование данных, параллелизм запросов, высокая производительность и обладают рядом недостатков (сложности с поддержанием целостности базы, восстановлением, блокировками и т.д.), что приводит в свою очередь к пониженной надёжности и производительности. Состояние базы в файловых СУБД необходимо постоянно отслеживать и проводить операции по её «лечению» с помощью встроенных или сторонних утилит.

Встраиваемые СУБД (SQLite, Firebird Embedded, Microsoft SQL Server Compact и др.) поставляются в составе готового программного продукта, не требуя процедуры самостоятельной установки. Встраиваемые СУБД предназначены для локального хранения данных приложения и не рассчитаны на коллективное использование в сети. К примеру, встраиваемая бесплатная СУБД SQLite широко используется в известной мобильной ОС Android, разработанной в компании Google, и во многих мобильных приложениях.

Схема лицензирования:

  1. Бесплатные СУБД
  2. Коммерческие промышленные СУБД (большинство производителей предлагают также бесплатную ограниченную версию)

Файл-серверные и встраиваемые СУБД практически все являются бесплатными, из бесплатных клиент-серверных СУБД наиболее известные: Firebird, PostgreSQL и MySQL.

Чисто коммерческий продукт, разработанный компанией Borland: СУБД InterBase. Ранее у этой СУБД была бесплатная версия с открытым исходным кодом: InterBase 6.0, но проект InterBase 6.0 Open Source Edition перестал поддерживаться компанией Borland. В 2001 году группа энтузиастов создала отдельный Open source проект СУБД Firebird, упомянутой выше, который получил широкую известность и множество поклонников среди разработчиков.

Большинство производителей промышленных СУБД дают возможность пользоваться бесплатными редакциями своих продуктов, которые являются урезанными по функционалу и по производительности вариантами полнофункциональной версии СУБД.

Плюсы свободных СУБД: это бесплатно, они менее требовательны к ресурсам ПК, обладают богатым функционалом и хорошей производительностью при грамотной настройке, достаточно надёжны.

Минусы: никто не даст гарантии, что через определенное время проект не перестанет существовать, т.к. его поддерживает сообщество энтузиастов, также сложнее найти грамотного специалиста для обслуживания СУБД типа Firebird или PostgreSQL.

Плюсы коммерческих СУБД: хорошая задокументированность, высокая производительность, масштабируемость, надёжность, поддерживаемость, наличие встроенных инструментов для разработки и администрирования. Вероятность того, что компания Oracle, Microsoft или IBM перестанут поддерживать свои системы, стремится к нулю.

Минусы : они более требовательны к ресурсам, чем бесплатные аналоги, стоят денег и немалых.

В приведённой ниже таблице приведены ограничения наиболее часто используемых бесплатных редакций промышленных СУБД.

Компания-производитель Бесплатные версии Ограничения
Microsoft SQL Server 2005 Express Edition (2005, 2008, 2008 R2, 2012) Размер базы данных - до 4 Гб, количество баз не ограничено, использует не более 1 Гб оперативной памяти и только 1 процессор (ядро) на многопроцессорных и многоядерных машинах. Поддерживаемые платформы: только Windows 2005 – только x86, 2008 – x86 и x64.
SQL Server 2008 Express Edition
SQL Server 2008 R2 Express Edition Размер базы данных - до 10 Гб, количество баз не ограничено, использует не более 1 Гб оперативной памяти и только 1 процессор (ядро) на многопроцессорных и многоядерных машинах. Поддерживаемые платформы: только Windows x86 и x64.
SQL Server 2012 Express Edition
Oracle Oracle Database 11g Express Edition, (Oracle Database XE) Суммарно до 11Гб пользовательских данных, использует не более 1Гб оперативной памяти и только 1 процессор (ядро) на многопроцессорных и многоядерных машинах. Поддерживаемые платформы: Windows x86, Linux x64.
IBM IBM DB2 Express-C Размер базы не ограничен, используется до 4Гб оперативной памяти и до 2-х процессоров. Поддерживаемые платформы: Windows x86 и x64, Linux x86 и x64, Unix x86 и x64, Solaris x86 и x64, Mac OS X

При превышении максимального размера базы запись в БД прекратится, но эту проблему легко предотвратить. В основном, объём требуется для хранения постоянно накапливающихся в системе событий, остальные данные (настройки контроллеров, данные субъектов доступа, уровни доступа и т.п.) относительно статичны и только на сверхкрупных системах могут превысить ограничения бесплатных Express-версий. Необходимо настроить средствами вашей СУБД процедуру периодического удаления старых событий из БД. Во многих СКУД эти процедуры предусмотрены разработчиками и их надо просто настроить.

Что касается ограничений по производительности: если система небольшая, не подразумевает больших нагрузок на СУБД, спокойно можно ограничиться бесплатной редакцией, её будет более чем достаточно. Если же задача накладывает повышенные требования на подсистему СУБД: большое количество пользователей в системе, большой трафик событий и поток обновлений данных в системе (объекты с большим количеством временных посетителей) и высокие требования к глубине архива событий, то всегда можно перейти с бесплатной редакции на коммерческий вариант, оплатив необходимую лицензию.

СУБД в СКУД

В таблице ниже приведены данные из открытых источников относительно типа применяемой СУБД в популярных в России системах контроля и управления доступом.

Производитель СКУД СУБД
Parsec ParsecNET 3 Microsoft SQL Server (в поставке 2005 Express, поддерживаются также версии 2008, 2008 R2, 2012) – центральная БД; SQLite - локальные базы рабочих станций.
Elsys Бастион 2 Oracle (в поставке 11g Express)
Perco S20 Firebird
НВП Болид Орион ПРО MS SQL Server (в поставке 2005 Express)
РусГард RusGuard MS SQL Server (в поставке 2008 R2 Express)
Равелин ЛТД Gate Microsoft Access
ПромАвтоматика Сервис Сфинкс MySQL
Кодос ИКБ Кодос Firebird
TSS Семь Печатей Firebird
Bosсh Building Integration System BIS Microsoft SQL Server (в поставке 2008 Express Edition)
Honeywell NexWatch (Honeywell Security) Microsoft SQL Server
Siemens SiPass Microsoft SQL Server
ААМ Системз Apacs Microsoft SQL Server, Firebird
Lyrix Oracle, Microsoft SQL Server, Borland InterBase

Как видно, большинство производителей СКУД поставляют бесплатную версию промышленной клиент-серверной СУБД Microsoft SQL Server Express Edition и свободную (бесплатную) кроссплатформенную СУБД Firefird (примерно 50 на 50).

Конкретный выбор той или иной СУБД – дело вкуса и предпочтений каждого производителя, благо – выбор есть. При выборе разработчики учитывают также вопросы удобства и простоты администрирования, наличие встроенных бесплатных инструментов для администрирования и разработки.

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

Прежде всего – резервное копирование БД, основа основ, которая позволяет администратору системы спокойно спать. Все СУБД имеют собственные средства для создания резервных копий, но хорошим тоном считается, когда функция резервного копирования интегрирована в продукт и администратору необходимо лишь включить/настроить её и периодически проверять функционирование.

Вторая частая проблема – восстановление данных после сбоя. Здесь опять же на выручку приходит свежая резервная копия, но если её нет, или критично восстановление всех возможных данных, то потребуются дополнительные усилия. К счастью, в промышленных СУБД (чего не скажешь о старых файловых СУБД типа Paradox) такие явления происходят нечасто, их может вызвать разве что «умирающий» жёсткий диск или сбой электропитания. В этом случае потребуются услуги специалиста-администратора СУБД, который сможет с помощью встроенных в любую серьёзную СУБД инструментов восстановить максимум из возможного. Также следует учесть, что некоторые производители СКУД в рамках технической поддержки оказывают услуги по восстановлению баз.

  • При выборе СКУД обратите внимание на то, какая СУБД поставляется совместно с системой.
  • Если вы эксплуатируете СКУД, то выясните, какая СУБД в ней используется.
  • Оцените трафик данных и нагрузку в вашей системе, чтобы определиться с требуемыми аппаратными ресурсами сервера СУБД и нужной редакцией СУБД (проконсультируйтесь у производителя вашей СКУД при необходимости).
  • Если в вашей СКУД используется Express-версия Microsoft SQL Server или Oracle, то необходимо задаться вопросом: «Насколько нам хватит бесплатного объёма базы?». Настройте периодическое удаление из базы старых событий средствами СКУД (если таковые имеются) либо же рассмотрите вопрос о миграции на платную неограниченную версию СУБД.
  • Настройте резервное копирование баз данных средствами СКУД или же средствами СУБД и регулярно проверяйте его выполнение.
  • Найдите специалиста по СУБД (администратора), к которому можно будет обратиться в случае повреждения базы данных, узнайте в технической поддержке производителя СКУД возможность предоставления такого рода услуг.

Используется для многопользовательской работы с базами данных, которые, в свою очередь, помогают хранить, систематизировать, классифицировать и контролировать информацию. Системы управления БД разделяются на виды по признаку типов моделей данных, которые ими поддерживаются. Наиболее практичен реляционный вид, поскольку такие системы просты в использовании и предоставляют многие возможности для разработчиков. К нему, в числе прочих, относится СУБД Access.

Общие сведения

Реляционная СУБД Microsoft Access работает, соответственно, с реляционными базами данных. В общем виде это означает множество взаимосвязанных таблиц, каждая из которых содержит данные своего типа.

СУБД MS Access входит в состав программного обеспечения Microsoft Office.

Возможности

СУБД Access предоставляет пользователю следующие возможности:

    создавать базы данных;

    добавлять новую информацию в созданные БД;

    обновлять или каким-либо еще образом изменять данные в БД;

    удалять имеющуюся информацию из БД;

    осуществлять просмотр данных в виде отчетов, форм, различных выборок и запросов;

    организация данных при помощи сортировки и/или классификации информации;

    общий доступ к таблицам и данным при использовании отчетов, электронных писем, Интернета и/или локальной сети;

    осуществление разных видов связей между таблицами;

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

Структурные элементы БД

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

Свойства полей

Поля в СУБД MS Access задают структуру базы данных, а также задают свойства данным из ячеек записей.

Основные свойства такие:

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

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

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

    Формат. Форматирует данные поля.

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

    Обязательное поле. Если поставить галочку напротив этого свойства, оставить ячейку незаполненной будет нельзя. Для ключевых полей это свойство включено по умолчанию.

Типы данных

Поля баз данных в Microsoft Access могут иметь такие типы данных, как:

    Текстовый . Самый простой тип поля. Несмотря на название, может содержать как буквы, так и цифры, символы и прочее. Поэтому ограничения имеет только по длине - не более 255 знаков. Удобно для использования, если не требуется дальнейших расчетов между ячейками, поэтому, если в поле вводятся только числа, лучше использовать соответствующий ему тип.

    Поле МЕМО. Тот же текстовый тип, хранящий большие объемы информации (до 64 кбайт, то есть до 64 тысяч символов). Из-за этой характеристики МЕМО не может быть использован в качестве ключа или индекса.

    Числовой . Цифровое поле, имеющее подтипы, выбор которых зависит от желаемой точности вычислений и т. д. До 8 байт или 16 - для кодов репликации.

    Счетчик . Поле, не требующее заполнения - значения (числа по возрастанию), автоматически заносится в таблицу, позволяя данным в ячейках оставаться уникальными. Проще говоря, счетчик нумерует записи в базе данных. Удобно использовать в качестве ключа 4 байта, 16 - для кодов репликации.

    Логический . Используется только для значения - 0 (нет) и минус 1 (да). Можно настроить разные варианты записи - галочка или выбор вручную (размер - 1 байт).

    Дата/время. Название типа данных говорит само за себя. Вывод в поле данных возможен в семи различных форматах. 8 байт.

    Денежный. Определяет значения валют. Данный тип данных появился для предотвращения округления в вычислениях. Также 8 байт.

    Поле объекта OLE. Принимает объекты разных форматов - графические, аудио и т. д. Размер - до одного гигабайта.

  • Мастер подстановок. Заранее предполагает связанные таблицы. Позволяет выбрать значение из другой таблицы или из поля со списком. При этом тип выбранного значения устанавливается автоматически. Имеет размер первичного ключа. Не более 4 байт.
  • Ключи

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

    Ключи подразделяются на:

      первичные (основные) - непосредственно сама связь;

      вторичные (внешние) - способ связи.

    Табличные связи

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


    Ограничения на имена

    Microsoft Access ставит ограничения на имена полей и элементов управления, они же действуют и на объекты СУБД Access:

      имя не должно содержать более 64 символов;

      нельзя использовать точку, восклицательный знак, надстрочный символ или квадратные скобки;

      имя не может начинаться с пробела;

      нельзя использовать в имени управляющие символы (коды с 0 до 31 в ASCII);

      имя не может включать прямые кавычки.

    Объекты

    Объекты СУБД MS Access представляют собой пользовательский интерфейс базы данных. Он позволяет непосредственно управлять ею и ее данными.

    Таблицы

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

    Запросы

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

    Формы

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

    Отчеты

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

    Технология работы с СУБД Access

    Разработка СУБД в Access выполняется при помощи следующих пунктов:

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

      Определить примерное количество таблиц в базе данных - информацию необходимо систематизировать и “разложить все по полочкам”. Не следует добавлять слишком много полей в одну таблицу: лучше распределить данные на две и связать их. Каждая таблица должна содержать только одну тему.

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

      Определить соотношения таблицы-поля.

      Обозначить первичные и (при необходимости) вторичные ключи в таблицах.

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

      Усовершенствовать структуру, наглядно посмотрев на всю имеющуюся информацию и ее возможную систематизацию.

      Воспользоваться анализом самого Access для очередной проверки.

    Создание СУБД в Access возможно двумя способами:

      использовать мастера БД для создания необходимых объектов;

      создать пустую БД, дополняя ее новыми объектами самостоятельно.

    MS Access позволяет расширить базу данных уже после ее создания, но основную структуру необходимо продумать заранее: такие вещи, как типы данных, впоследствии, особенно после заполнения таблицы, поменять будет невозможно.

    Продуманную схему данных можно реализовать при помощи соответствующей вкладки в СУБД. Каждый из видов связи наглядно показывается в Access. Связи можно видоизменять или даже удалять.

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

СУБД поддерживаются различные модели данных. Модель данных - это метод (принцип) логической организации данных, используемый СУБД. Наиболее известными являются иерархическая, сетевая и реляционная модели. В СУБД для персональных компьютеров (настольных СУБД) поддерживается преимущественно реляционная модель, которую отличает простота и единообразие представления данных простейшими двумерными таблицами. Реляционная модель обеспечивает возможность использования в разных.

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

СУБД операций обработки данных, имеющих единую основу - алгебру отношений (реляционную алгебру), и универсального языка структурированных запросов - SQL (Structured Query Language).

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

1. выборка,

2. добавление,

3. удаление,

4. изменение данных.

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

Добавление и удаление данных - добавление новых записей в таблицы и удаление существующих.



Изменение данных - изменение значений данных в полях существующих записей.

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

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

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

Среди многочисленных средств графического конструирования и диалоговых средств Access следует выделить средства для создания:



1. таблиц и схем баз данных, отображающих их связи;

2. запросов выборки, отбирающих и объединяющих данные нескольких таблиц в виртуальную таблицу, которая может использоваться во многих задачах приложения;

4. экранных форм, предназначенных для ввода, просмотра и обработки данных в диалоговом режиме;

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

Средства программирования СУБД включают язык структурированных запросов SQL, язык макрокоманд и язык объектно-ориентированного программирования для приложений Microsoft Visual Basic for Applications (VBA).

VBA является частью семейства Microsoft Visual Basic, которое входит в состав Visual Studio. VBA является базовым компонентом Microsoft Office: он интегрирован в Access, Excel, FrontPage, Outlook, PowerPoint и Word. Все эти приложения, в том числе и локализованные на русском языке, используют англоязычный вариант VBA (включая справочную систему). VBA входит во все варианты поставок Microsoft Office.

VBA представляет собой базовую платформу программирования не только в среде Microsoft Office, но и многих других приложений. VBA содержит средства доступа не только к базам данных Access, но и к базам данных клиент-серверной архитектуры, таким как Microsoft SQL Server, Oracle и др.

Access 2010 входит в состав Microsoft Office 2010 (в наборы приложений выпусков Профессиональный, Профессиональный Плюс и Корпоративный). Для работы Access 2010 рекомендуется использовать компьютер с частотой процессора не ниже 500 МГц и RAM не менее 256 Мб. Компьютер должен работать под управлением одной из операционных систем:

1. Windows ХР с пакетом обновления 3 (SP3) (32-разрядная);

2. Windows Vista с пакетом обновления 1;

4. для ряда дополнительных возможностей по совместной работе требуется Windows Server 2003 R2 с установленным MSXML 6.0 с выполняемыми службами Microsoft Windows SharePoint Services или Windows Server 2008 (32- или 64-разрядная).

Для сбора данных с использованием электронной почты требуется Microsoft Outlook. Более насыщенные функциональными возможностями новые системы семейства Windows в сочетании с пакетом Office 2010 дают пользователю возможность наиболее эффективно применять компьютер, но их установка не является обязательным условием для работы с пакетом Office 2010.

При переходе с Microsoft Office 2007 на версию 2010 оборудование обновлять не нужно, хотя может потребоваться выполнить обновление операционной системы. Практический минимум, предъявляемый Access 2010 к персональному компьютеру (процессор с частотой 233 МГц и 128 Мб оперативной памяти), возрастает при одновременном выполнении нескольких приложений Office 2010, так как для каждого приложения требуются дополнительные ресурсы.

При стандартной установке Access 2010 профессиональных выпусков требуется примерно 2 Гб свободного дискового пространства. Часть места на диске будет освобождена после установки при удалении с него исходного загрузочного пакета. В процессе установки на диске необходимо иметь дополнительное пространство примерно такого же объема.

Рекомендуется монитор с разрешением не менее 1024 768 или с более высоким разрешением с поддержкой 256 цветов. При установке приложений Office 2010 на локальном компьютере требуется дисковод CD-ROM или DVD-дисков.

Преимущества СУБД Microsorf Access:

Простой и понятный интерфейс. Приступить к работе с данной СУБД можно, не имея никаких особых навыков. Кроме того, на помощь новичку приходят многочисленные справочные пособия, онлайн- и офлайн-курсы.

СУБД MS Access общеизвестна и очень популярна в настольных ПК. Это значит, что вы всегда можете обратиться за помощью к знакомому, уже давно использующему данную СУБД, за советом, а также вместе работать с одной базой данных по сети.

Практически безграничные возможности экспорта данных: данные из таблиц щелчком одной клавиши мыши можно перенести в Excel, Word, экспортировать в XML, опубликовать в PDF, не говоря уже о том, чтобы без проблем перенести выбранные объекты в другую базу данных.

Невысокая цена. Если покупать MS Access в составе полного пакета Microsoft Office, то, по сравнению с другими платными СУБД, цена окажется очень заманчивой.

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

Широкие возможности импорта данных: если у вас есть табличные данные, созданные при помощи текстового процессора MS Word или табличного процессора MS Excel, вы с помощью мастера без труда перенесете их в свою базу. Импорт, кроме того, можно выполнить из простого текстового документа, из документа XML, а также из файлов баз данных, созданных в других СУБД (таких как dBASE, PARADOX).

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

Встроенный язык VBA высокого уровня.

Возможность записи макросов. Редактор SQL.

Для программистов можно выделить еще один значительный плюс: ядро Access JET 4 встроено в операционные системы Microsoft, начиная с Windows-98. Это значит, что разработанное приложение, использующее в работе базу данных, созданную в Access, можно без проблем переносить на любой компьютер с ОС Windows. Оно будет работать, не требуя установки самой СУБД. В крайнем случае потребуется лишь установка RUNTIME - версии, которую можно абсолютно бесплатно скачать с сайта Microsoft.

Как видим, достоинства СУБД MS Access налицо. Но все плюсы могут перекрыться вполне существенными минусами.

Недостатки СУБД Microsoft Access:

MS Access относится к файл-серверным СУБД. Это означает, что вся обработка данных происходит непосредственно на компьютере клиента, пользователя. Серверная часть лишь извлекает данные и передает их по требованию. Это приводит к тому, что по локальной сети курсируют большие потоки данных, и при большом количестве пользователей, работающих с базой данных, может случиться перегрузка сети. Классическая файл-серверная архитектура всегда влечет за собой низкую производительность при большом количестве пользователей. В версии MS Access 2010 этот вопрос частично решен.

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

Многопользовательский режим возможен только в одноранговой сети или в сети с файловым сервером.

Для разработки нестандартного интерфейса требуется привлекать программистов.

Редактор запросов SQL примитивен, использовать его неудобно.

Данная СУБД не бесплатная.

MS Access заточен под операционные системы Windows. Чтобы попытаться использовать данные, созданные в этой СУБД в других ОС (например, LINUX), придется изрядно повозиться. Проще перенести данные в другую СУБД.

Как реляционная СУБД Access обеспечивает доступ ко всем типам данных и позволяет одновременно использовать несколько таблиц базы данных. Можно использовать таблицы, созданные в среде Paradox или dBase. Работая в среде Microsoft Office, пользователь получает в своё распоряжение полностью совместимые с Access текстовые документы(Word), электронные таблицы(Excel), презентации(PowerPoint).С помощью новых расширений для Internet можно напрямую взаимодействовать с данными из World Wide Web и транслировать представление данных на языке HTML, обеспечивая работу с такими приложениями как Internet Explorer и Netscape Navigator.

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

Несмотря на то, что Access является мощной и сложной системой, его использование не сложно для непрофессиональных пользователей.

Описание СУБД MySQL

MySQL – это свободно распространяемая СУБД, разработанная компанией MySQL AB. MySQL имеет клиент-серверную архитектуру: к серверу MySQL могут обращаться различные клиентские приложения, в том числе с удаленных компьютеров. Рассмотрим важнейшие особенности MySQL, благодаря которым эта программа приобрела популярность.

MySQL – это СУБД с открытым кодом. Любой желающий может бесплатно скачать программу на сайте разработчика и при необходимости доработать ее. Существует множество приложений MySQL, созданных и свободно распространяемых сторонними разработчиками. Однако для применения MySQL в коммерческом приложении необходимо приобрести коммерческую лицензированную версию программы у компании MySQL AB.

MySQL – кроссплатформенная система. Ее можно использовать практически во всех современных операционных системах, в том числе Windows, Linux, Mac OS, Solaris, HP-UX и др.

MySQL имеет множество программных интерфейсов (API), благодаря которым к базе данных MySQL могут подключаться приложения, созданные с помощью C/C++, Eiffel, Java, Perl, PHP, Python, Tcl, ODBC, NET и Visual Studio.

MySQL имеет отличные технические характеристики: многопоточность, многопользовательский доступ, быстродействие, масштабируемость.

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

Описание SQLite

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

Встраиваемость базы данных означает, что она существует не как процесс, отдельный от обслуживаемого процесса, а является его частью - частью некоторого прикладного приложения. Внешний наблюдатель не заметит, что прикладное приложение пользуется РСУБД.

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

На текущем рынке встроенных баз данных представлено много продук- тов от различных производителей, но только один из них поставляется с открытыми исходниками, не требует лицензионных сборов и спроектиро- ван ислючительно как встраиваемая БД - это SQLite.

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

Инрерфейс является верхним модулем и состоит из м C API. Общение с SQLite производится через него.

Несмотря на маленький размер, SQLite предоставляет обескураживающий спектр особенностей и возможностей. Он поддерживает весьма полный набор стандарта ANSI SQL92 для особенностей языка SQL, а так-же такие особенности как триггера, индексы, столбцы с автоинкрементом, LIMIT/OFFSET особенности. Так же поддерживаются такие редкие свойства, как динамическая типизация и разрешение конфликтов.

Отличительные особенности MS Access

Определение 1

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

Существуют различные математические модели данных, на которых основаны СУБД. Относительно моделей данных СУБД делятся на иерархические, сетевые, реляционные, объектно-ориентированные и другие. На сегодняшний день наиболее популярными считаются СУБД, основанные на реляционной модели. К классу реляционных СУБД относятся: MS SQL SERVER, PostgreeSQL, MySql, InterBase, MS Access. Основными функциями реляционных СУБД являются:

  • создание, редактирование и удаление структуры таблиц;
  • добавление, изменение и удаление записей в таблицы;
  • построение запросов на основе языка SQL;
  • создание хранимых процедур на сервере баз данных.

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

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

  • создание в визуальном редакторе пользовательских интерфейсов, которые называются формами;
  • построение макетов отчетов с последующим выводом на печать;
  • использование встроенного языка программирования Visual Basic for Applications для построения бизнес-логики приложений.
  • использование макросов, которые позволяют пользователям плохо знакомым с программированием, вставлять небольшие куски кода в свои приложения.

Замечание 1

Таким образом, MS Access позволяет разрабатывать полноценные приложения и даже информационные системы на основе реляционных баз данных без привлечения дополнительных средств разработки.

Основные объекты MS Access

Модель MS Access состоит из следующих основных объектов:

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

Началу работы в MS Access предшествует проектирование модели данных. Разработчик проектирует таблицы и связи между ними любыми удобными средствами. После этого он может приступать к первому этапу работы в MS Access – к созданию таблиц. Созданные таблицы при помощи инструмента «Схема данных » связываются в соответствии с проектом.

Заполнять таблицы данными напрямую возможно, но не является удобным. Такие действия лучше всего осуществлять через пользовательский интерфейс. Поэтому на следующем этапе создаются формы. Формы в MS Access бывают:

  • простые (одиночные) - показывают только одну запись таблицы;
  • ленточные – показывают сразу все записи таблицы;
  • сложные – состоят из главной и подчиненной формы, которые связаны по выбранным полям.

Создавать формы можно тремя способами: автоматически, при помощи «мастера форм» и при помощи конструктора. Конструктор форм дает наиболее широкие возможности для создания макетов форм по личному проекту разработчика.

Запросы чаще всего используются для выбора данных по различным критериям и условиям. В большинстве реляционных СУБД для создания запросов используется язык SQL, который не просто освоить рядовому пользователю. В MS Access сложности языка SQL скрыты от пользователя удобным инструментом «Конструктор запросов». Запросы также бывают нескольких видов:

  • Запрос на выборку – позволяет компоновать данные из разных таблиц в одну таблицу на основе построенных связей.
  • Запрос с условием – позволяет накладывать на отдельные поля условия в виде логических выражений. Условий может быть несколько, тогда они связываются логическими операторами И, ИЛИ.
  • Запрос с параметром – позволяет ставить в условии запроса не постоянное значение, а параметр, значение которого запрашивается у пользователя.
  • Запрос с групповой операцией – позволяет применять к группе данных такие операции как суммирование, подсчет количества строк, поиск среднего значения, поиск минимума и максимума по группе.
  • Перекрестный запрос – особый вид группового запроса, в результате которого получается перекрестная таблица с заголовками строк, заголовками столбцов и значениями в пересечениях.
  • Запрос на добавление записи.
  • Запрос на обновление записи.
  • Запрос на удаление записи.

Форма может иметь в качестве источника записей не только таблицу, но и запрос. Это позволяет создавать еще более гибкие интерфейсы.

Замечание 2

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

Среда программирования MS Access является объектно-ориентированной. Это означает, что со всеми объектами MS Access потенциально может происходить определенный перечень событий. Например, открытие формы, нажатие на кнопку, обновление записи, двойной щелчок мышкой на текстовом поле и т.д. К наступлению этих событий пользователь может «привязать» программный код, реализующий некоторый алгоритм. Например, при нажатии на кнопку активизируется процедура, которая выводит на экран диалоговое окно с сообщением «Введите Ваше имя». Опытный пользователь может использовать для программирования таких процедур язык VBA. Если пользователь не знаком с программированием на VBA, то многие задачи он может решить с использованием макросов – небольших стандартных «заготовок» кода на VBA.

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

Другие возможности MS Access

Изначально MS Access предполагался как среда для разработки информационных систем, у которых и база данных и пользовательский интерфейс хранятся в одном файле на одном компьютере. Такие информационные системы обычно называют «настольными». Однако, в процессе выхода новых версий у MS Access появлялись новые возможности. В версиях начиная с MS Access XP стало возможным создавать отдельный сервер данных и подключать к нему несколько клиентских компьютеров. Можно также создавать базу данных в другой СУБД (MS SQL SERVER, MySQL) и подключать к ней формы, отчеты и запросы из MS Access. Возможно импортирование и экспортирование данных в таких универсальных форматах как:

  • EXCEL;