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