Замечание

Microsoft Access как настольная СУБД реляционного типа

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

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

Из всякого правила могут быть исключения, поэтому иногда требуется сделать отступление и хранить, например, промежуточные расчетные данные. Это диктуется обычно соображениями производительности. Однако общее правило все-таки следующее: если вы определяете какое-либо поле в таблице, проверьте, не хранятся ли уже эти данные где-нибудь еще. Если хранятся, то их, как правило, можно так или иначе извлечь.

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

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

Рис. 4.1. Способ хранения информации в одной таблице

Как видно из таблицы, сведения об организациях (их названия, адреса и телефоны) повторяются в разных строчках таблицы.. Чтобы избежать дублирования данных, рекомендуется создать две таблицы и затем связать их. В первую таблицу включить сведения об организации — и это будет главная таблица. Во вторую (подчиненную) будут внесены участники семинара и их должности, а вместо полной информации о месте работы — код организации, равный порядковому номеру организации в первой таблице (см. третий столбец на рис. 4.2). Далее устанавливаем связь между таблицами по полю "Код организации". В результате главная таблица принимает вид, показанный на рис. 4.3, где реквизиты каждой организации записаны один раз и (под строкой организации) можно раскрыть список всех сотрудников данной организации, посетивших семинар.

Если вы правильно определили поля таблиц, то связи между ними Access установит сама. Для этого нужно, чтобы поля в связанных таблицах, содержащие совпадающие данные (например, "Код организации" на рис. 4.2), имели одинаковое наименование и согласующиеся типы данных.

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

Рис. 4.2.Способ хранения информации в нескольких таблицах

Рис. 4.3.Внешний вид главной таблицы

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

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

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

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

Различия между СУБД Access и электронными таблицами Excel

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

  • При работе с электронной таблицей Excel вы можете в ячейку таблицы внести любую информацию, вследствие чего на рабочем листе можно разместить и таблицу, и текст, и рисунок. В один столбец таблицы могут при необходимости вноситься разные данные — числа, текст, даты. Таблица в базе данных Access отличается от таблицы Excel тем, что в ней, как уже говорилось выше, для каждого поля записи определен тип данных, т. е. нельзя в однин столбец таблицы в разные строки заносить данные разных типов.
  • Access позволяет не только вводить данные в таблицы, но и контролировать правильность вводимых данных. Для этого необходимо установить правила проверки прямо на уровне таблицы. Тогда каким бы образом не вводились данные — прямо в таблицу, через экранную форму или на странице доступа к данным, Access не позволит сохранить в записи те данные, которые не удовлетворяют заданным правилам.
  • С таблицами Excel удобно работать, если они содержат ограниченное количество строк. Таблицы баз данных могут включать в себя огромное количество записей, и при этом СУБД обеспечивает удобные способы извлечения из этого множества нужной информации.
  • Если все необходимые для работы данные вы будете хранить в документах Word и электронных таблицах, то по мере накопления информации вы просто можете запутаться в большом количестве файлов. Access позволяет хранить все данные в одном файле и осуществлять доступ к этим данным постранично, т. е. не превышая ограничений на ресурсы памяти компьютера.
  • В Access возможно создание связей между таблицами, что позволяет совместно использовать данные из разных таблиц. При этом для пользователя они будут представляться одной таблицей. Реализовать такую возможность в системах управления электронными таблицами сложно, а иногда просто невозможно.
  • Устанавливая взаимосвязи между отдельными таблицами, Access позволяет избежать ненужного дублирования данных, сэкономить память компьютера, а также увеличить скорость и точность обработки информации. Для этого таблицы, содержащие повторяющиеся данные, разбивают на несколько связанных таблиц.
  • Excel позволяет работать нескольким пользователям с одним документом, однако эти возможности очень ограничены. Access может поддерживать одновременную работу с базой данных 50 пользователей, при этом все пользователи гарантировано будут работать с актуальными данными.
  • Access имеет развитую систему защиты от несанкционированного доступа, которая позволяет каждому пользователю или группе пользователей видеть и изменять только те объекты, на которые ему выданы права администратором системы, например можно запретить использование некоторых команд меню, открытие определенных форм, изменение данных в таблицах или формах. Электронные таблицы тоже позволяют защитить данные паролем или разрешить только просмотр данных, однако эти средства существенно проще.

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

Замечание

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