Иллюстрированный самоучитель по Microsoft Access 2002

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

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

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

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

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

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

Иллюстрированный самоучитель по Microsoft Access 2002 › Общие сведения о Microsoft Access 2002 › Microsoft Access как настольная СУБД реляционного типа
Рис. 1.1. Способ хранения информации в одной таблице

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

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

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.