Таким образом, вы сделали переход из таблицы в базу данных. Вы создали свои таблицы и кропотливо перевели все ваши драгоценные данные. Вы берете заслуженный перерыв, сидите и смотрите на столы, которые вы создали. Подождите секунду - они выглядят странно знакомыми с электронными таблицами, которые вы просто отказались. Вы только изобрели колесо? В чем разница между таблицей и базой данных?
Одним из основных преимуществ баз данных, таких как Microsoft Access, является их способность поддерживать отношения между различными таблицами данных. Сила базы данных позволяет во многом сопоставлять данные и обеспечивать согласованность (или ссылочная целостность ) этих данных из таблицы в таблицу. В этой статье мы рассмотрим процесс создания простых отношений с использованием базы данных Microsoft Access.
Представьте себе небольшую базу данных, которую мы создали для компании Acme Widget. Мы хотим отслеживать как наших сотрудников, так и наши заказы клиентов. Мы могли бы использовать таблицу, которая содержит одну таблицу для сотрудников со следующими полями:
- Идентификатор сотрудника (первичный ключ)
- Имя
- Фамилия
- расширение
- Оплата труда
- Менеджер
Тогда у нас может быть вторая таблица, содержащая заказы наших сотрудников. Эта таблица заказов может содержать следующие поля:
- Идентификатор заказа (первичный ключ)
- Пользовательский ИД
- Идентификатор сотрудника
- Item ID
- Количество
Обратите внимание, что каждый заказ связан с конкретным сотрудником. Такое перекрытие информации представляет собой идеальную ситуацию для использования отношения базы данных. Вместе мы создадим отношения внешнего ключа, которые инструктируют базу данных, что столбец EmployeeID в таблице Orders соответствует столбцу EmployeeID в таблице Employees.
Как только отношения будут установлены, мы выпустили мощный набор функций в Microsoft Access. База данных гарантирует, что в таблицу ордеров могут быть вставлены только значения, соответствующие действительному сотруднику (как указано в таблице Employees). Кроме того, у нас есть возможность поручить базе данных удалить все заказы, связанные с сотрудником, когда сотрудник удален из таблицы Сотрудники.
Вот как мы идем о создании отношений в Access 2013:
- На вкладке «Инструменты базы данных» на ленте выберите «Отношения».
- Выделите первую таблицу, которую вы хотите сделать частью отношений (Сотрудники), и нажмите «Добавить».
- Повторите шаг 2 для второй таблицы (Заказы).
- Нажмите кнопку закрытия. Теперь вы должны увидеть две таблицы в окне «Отношения».
- Нажмите кнопку «Изменить отношения» на ленте.
- Нажмите кнопку «Создать новую».
- В окне «Создать новое» выберите «Сотрудники» в качестве имени «Левая таблица» и «Заказы» в качестве правого имени таблицы.
- Выберите EmployeeID как имя левой колонки, так и правое имя столбца.
- Нажмите «ОК», чтобы закрыть окно «Создать новое».
- Установите флажок в окне «Редактировать отношения», чтобы выбрать, следует ли применять ссылочную целостность. В большинстве случаев вы захотите выбрать этот вариант. Это реальная сила отношений - это гарантирует, что новые записи в таблице Orders содержат только идентификаторы действительных сотрудников из таблицы Employees.
- Вы также заметите еще два варианта. Параметр «Связанные поля обновления каскада» гарантирует, что если изменение EmployeeID в таблице Employees, которое изменяется, распространяется на все связанные записи в таблице Orders. Аналогично, опция «Cascade Delete Related Records» удаляет все связанные записи Заказов при удалении записи Employee. Использование этих параметров будет зависеть от конкретных требований вашей базы данных. В этом примере мы не будем использовать ни один из них.
- Нажмите «Тип соединения», чтобы просмотреть три доступных вам варианта. Если вы знакомы с SQL, вы можете заметить, что первая опция соответствует внутреннему соединению, второе - левому внешнему соединению, а заключительное - правому внешнему соединению. Мы будем использовать внутреннее соединение для нашего примера.
-
- Включать только строки, в которых объединенные поля из обеих таблиц равны.
-
- Включите ВСЕ записи из «Сотрудники» и только те записи из «Заказы», где объединенные поля равны.
- Включите ВСЕ записи из «Заказы» и только те записи из «Сотрудники», где объединенные поля равны.
- Нажмите «ОК», чтобы закрыть окно «Свойства соединения».
- Нажмите «Создать», чтобы закрыть окно «Редактировать отношения».
- Теперь вы должны увидеть диаграмму, показывающую взаимосвязь между двумя таблицами.




