
- •Оглавление
- •Введение. Общие сведения Структура базы данных
- •Конструктор таблиц и форматы данных
- •Формирование связи
- •Целостность данных
- •Работа с мастерами
- •Формы и отчеты wysiwyg
- •Многотабличные запросы
- •Графики и диаграммы
- •Встроенные функции
- •Макрос: программирование без программирования
- •Модули: Visual Basic for Applications
- •Импортирование, экспортирование и связывание внешних файлов
- •Возможности dde и ole
- •Постановка практической задачи
- •Лабораторная работа № 1 Создание структуры базы данных и установление связей между таблицами
- •Лабораторная работа № 2 Создание однотабличных форм для ввода данных в таблицы
- •Лабораторная работа № 3 Формирование запросов для многотабличной базы данных
- •Лабораторная работа № 4 Разработка сложной составной формы со встроенной диаграммой
- •Лабораторная работа № 5 Создание отчетов с вычисляемыми полями и итоговыми данными
- •Лабораторная работа № 6 Завершение работы над базой данных: разработка кнопочного меню
- •Субд Access: основные термины
- •Индивидуальные задания по курсу «Автоматизация бизнес-процессов»
- •Список литературы
Формирование связи
Для того чтобы связать две таблицы, нужно в первую очередь предусмотреть поля в таблицах, значения которых пригодны для связи. Чаще всего это поля счетчиков или числовые поля. Необходимо также точно знать, могут ли быть в поле повторяющиеся значения. Если есть - значит «многие», если нет - значит «один». После этого надо включить таблицы в схему данных; для этого используется команда Добавить таблицу. Установка связи производится перетаскиванием имени одного поля на имя другого. Указатель мыши в момент завершения перетаскивания должен принять вид прямоугольника.
Удобно, когда в обеих таблицах связанные поля имеют одинаковые имена. Зато другие характеристики полей могут не совпадать.
Практическую пользу от связывания таблиц можно извлечь, создав запрос, форму или отчет.
Связь «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице А могут соответствовать несколько записей в таблице В (эти записи называют внешними ключами), а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А.
Нельзя сказать, что какая-то таблица в данном случае является главной, а другая подчиненной: выборка данных может идти в обоих направлениях.
Связь «один-к-одному» подразумевает, что в обеих таблицах в связанных полях имеются только уникальные записи. На первый взгляд это может показаться излишним: не проще ли было создать одну таблицу вместо двух? Действительно, в некоторых случаях разницы нет. Но давайте предположим обратное. Допустим, у нас есть таблица, состоящая из десяти полей, и мы хотим разделить ее на две. Пять полей в одну таблицу, пять в другую. В этом случае, чтобы сохранить таблицы надо связать по принципу «одии-к-одному». С точки зрения быстродействия и экономии места мы вряд ли что-нибудь выиграем.
Поясним на примере. Допустим, в базе надо хранить данные о студентах (фамилия, изучаемая дисциплина) и преподавателях (фамилия, номер кафедры, ученая степень, преподаваемая дисциплина). Если хранить данные в одной таблице, то в строке с фамилией каждого студента, изучающего конкретную дисциплину, будут храниться все атрибуты преподавателя, читающего эту дисциплину. Это же огромная избыточность данных. А если хранить данные о студенте в одной таблице, о преподавателе - в другой и установить связь между полями «читаемая дисциплина» - «изучаемая дисциплина» (фактически это одинаковые поля), то избыточность хранимых данных многократно уменьшится без ущерба для логической организации информации.
При связи «многие-ко-многим» одной записи в таблице А могут соответствовать несколько записей в таблице В, а одной записи в таблице В - несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит из, по крайней мере, двух полей, одно из которых является общим с таблицей А, а другое - общим с таблицей В.
Целостность данных
Целостность данных означает систему правил, используемых в Access для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных. Установить целостность данных можно, если выполнены следующие условия:
связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;
связанные поля имеют один тип данных (здесь существует исключение - поле счетчика может быть связано с числовым полем), если в последнем в свойстве Размер поля указано значение «Длинное целое»;
обе таблицы принадлежат одной базе данных Access: если таблицы являются связанными, то они должны быть таблицами Access; для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта; для связанных таблиц из баз данных других форматов установить целостность данных невозможно.