Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №5.pdf
Скачиваний:
22
Добавлен:
13.04.2015
Размер:
1.4 Mб
Скачать

работаете с наборами записей запросов, фильтрами, формами или отчетами, вы имеете дело с информацией.

Отбор необходимых данных

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

Элемент данных является входным, если для выполнения задачи его необходимо прочитать в базе данных (без изменения). Например, имя и адрес клиента являются входными данными для заполнения заказа.

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

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

Соответственно, задача удаляет данные, когда они убираются из базы данных.

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

Нормализация

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

Правило 1. Уникальность полей

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

Правило 1: Каждое поле любой таблицы должно быть уникальным.

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

Правило 2. Первичные ключи

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

6

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

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

Правило 3. Функциональная зависимость

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

Правило 3: Для каждого значения первичного ключа значения в столбцах данных должны относиться к объекту таблицы и полностью его описывать.

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

Правило 4. Независимость полей

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

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

Чужие ключи

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

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

Архитектура Microsoft Access

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

7

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

2.Запрос. Объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Для создания запроса можно использовать бланк QBE (запрос по образцу) или инструкции SQL (структурированный язык запросов). Можно создать запросы на выборку, обновление, удаление или добавление данных. С помощью запросов можно также создавать новые таблицы, используя данные из одной или нескольких существующих таблиц.

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

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

4.Отчет. Объект, предназначенный для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.

5.Макрос. Объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить Access в ответ на определенное событие. Например, можно определить макрос, который в ответ на выбор некоторого элемента в основной форме открывает другую форму. С помощью другого макроса можно осуществлять проверку значения некоторого поля при изменении его содержимого. В макрос можно включить дополнительные условия для выполнения или невыполнения тех или иных указанных в нем действий. Из одного макроса можно также запустить другой макрос или процедуру VBA.

6.Модуль. Объект, содержащий программы, написанные на языке Visual Basic для приложений. Модули могут быть независимыми объектами, содержащими функции, вызываемые из любого места приложения, но они могут быть и непосредственно «привязаны» к отдельным формам или отчетам для реакции на те или иные происходящие в них изменения.

Концептуальные взаимосвязи объектов Access показаны на рис. 6.1.

8

Рис. 6.1. Взаимосвязи основных объектов в Microsoft Access

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

Событие любое изменение состояния объекта Microsoft Access. Например, событием является открытие формы, закрытие формы, ввод новой строки в форму, изменение содержимого текущей записи или элемента управления (объекта формы или отчета, который может содержать данные). Для обработки события вы можете создать макрос или процедуру Visual Basic для приложений.

С помощью макросов и модулей вы можете изменять ход выполнения приложения; открывать, фильтровать и изменять данные в формах и отчетах; выполнять запросы и создавать новые таблицы. Используя Visual Basic для приложений, вы можете создать, модифицировать и удалить любой объект Access, обрабатывать данные по строкам или по столбцам, а также каким-либо другим способом. Вы можете даже вызывать процедуры из библиотек динамической компоновки (DLL) Microsoft Windows, чтобы использовать в своем приложении не только встроенные в Access функции, но и возможности Windows.

Создание базы данных

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

9