Вязание спицами для малышей. Теплые вязаные вещи для самых маленьких, новорожденных.
Случайные записи

Как связать таблицы в аксесс


Руководство по межтабличным связям - Access

Одной из целей создания хорошей структуры базы данных является устранение избыточности (повторения) данных. Для этого нужно распределить данные по нескольким отдельным тематически организованным таблицам, чтобы каждый факт был представлен один раз. В приложении Access будет предоставлен способ сбора разбросанных данных — это делается путем помещения общих полей в связанные таблицы. Чтобы корректно выполнить это действие, нужно понять взаимосвязи между таблицами и описать эти взаимосвязи в базе данных.

В этой статье

Введение

Типы связей между таблицами

Зачем создавать связи между таблицами?

Понятие о целостности данных

Просмотр связей между таблицами

Введение

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

1. Эта форма содержит данные из таблицы клиентов,

2. заказов,

3. товаров

4. и сведений о заказах.

Имя клиента в поле Плательщик получено из таблицы "Клиенты", значения кода заказа и даты заказа — из таблицы "Заказы", наименование товара — из таблицы "Товары", а цена и количество — из таблицы "Заказано". Чтобы можно было передать данные в форму, эти таблицы связаны друг с другом несколькими способами.

В приведенном примере поля в таблицах должны быть согласованы таким образом, чтобы отображать сведения об одном и том же заказе. Это согласование осуществляется путем установления связей между таблицами. Связь между таблицами устанавливает отношения между значениями в ключевых полях — часто между полями, имеющими одинаковые имена в обеих таблицах. В большинстве случаев с первичным ключом одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы. Например, для связывания сотрудников с заказами, за которые они отвечают, можно создать связь между полями "Код сотрудника" в таблицах "Сотрудники" и "Заказы".

1. Поле "Код сотрудника" отображается в двух таблицах: как первичный ключ...

2. и как внешний ключ.

К началу страницы

Типы связей между таблицами

В Access есть три типа связей между таблицами.

  • Связь "один-ко-многим"

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

    Чтобы создать отношение "один-ко-многим" в структуре базы данных, добавьте первичный ключ на стороне "один" в таблицу на стороне "многие" в виде дополнительного поля или полей. В данном примере необходимо добавить новое поле — поле "Код" из таблицы "Клиенты" — в таблицу "Заказы" и назвать его "Код клиента". После этого Access сможет использовать номер "Код клиента" из таблицы "Заказы" для поиска клиента каждого заказа.

  • Связь "многие-ко-многим"

    Рассмотрим связь между таблицами "Товары" и "Заказы". Отдельный заказ может включать несколько товаров. С другой стороны, один товар может входить в несколько заказов. Таким образом, для каждой записи в таблице "Заказы" может существовать несколько записей в таблицы "Товары". Таким образом, для каждой записи в таблице "Заказы" может существовать несколько записей в таблице "Заказы". Эта связь называется отношением "многие-ко-многим". Обратите внимание, что для определения существующей схемы отношений "многие ко многим" между вашими таблицами, очень важно рассматривать обе стороны отношений.

    Чтобы представить связь "многие-ко-многим", нужно создать третью (связующую) таблицу, в которой она разбивается на две связи "один-ко-многим". Первичные ключи двух таблиц вставляются в третью таблицу. В результате в третьей таблице сохраняются все экземпляры связи. Например, таблицы "Заказы" и "Продукты" имеют связь "многие-ко-многим", определяемую путем создания двух связей "один-ко-многим" в таблице "Заказано". В одном заказе может быть много продуктов, и каждый продукт может быть указан во многих заказах.

  • Связь "один-к-одному"

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

К началу страницы

Зачем создавать связи между таблицами?

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

  • Связи между таблицами предоставляют сведения для структурирования запросов

    Для работы с записями из нескольких таблиц часто приходится создавать запросы, соединяющие таблицы. Запрос сопоставляет значения в поле первичного ключа первой таблицы с полем внешнего ключа второй таблицы. Например, чтобы получить строки, в которых перечисляются все заказы для каждого из клиентов, можно создать запрос, соединяющий таблицу "Клиенты" с таблицей "Заказы" на основе поля "Код клиента". В окне "Схема данных" можно вручную указать поля для соединения. Но если связь между таблицами уже существует, Access использует соединение по умолчанию на основе существующей связи между таблицами. Кроме того, при использовании одного из мастеров запросов Access использует сведения об уже определенных связях между таблицами, чтобы предоставить пользователю выбор и подставить в параметры свойств соответствующие значения по умолчанию.

  • Связи между таблицами предоставляют сведения для структурирования форм и отчетов

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

  • Связи между таблицами — это та основа, с помощью которой можно обеспечить целостность данных, чтобы в базе данных не было потерянных записей. Потерянная запись — это запись со ссылкой на несуществующую запись (например, запись заказа со ссылкой на отсутствующую запись клиента).

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

К началу страницы

Понятие о целостности данных

При создании базы данных сведения распределяются по множеству тематически организованных таблиц, чтобы свести к минимуму избыточность данных. После этого в Access предоставляются средства сбора разбросанных данных путем создания в связанных таблицах общих полей. Например, чтобы создать связь "один-ко-многим", добавьте первичный ключ из таблицы на стороне "один" как дополнительное поле в таблицу на стороне "многие". Чтобы соединить данные, Access подставляет значение из таблицы на стороне "многие" в соответствующее поле таблицы на стороне "один". Таким образом, значения таблицы на стороне "многие" связаны с соответствующими значениями на стороне "один".

Предположим, между таблицами "Грузоотправители" и "Заказы" существует связь "один-ко-многим", и нужно удалить грузоотправителя. Если у грузоотправителя, которого нужно удалить, есть заказы в таблице "Заказы, они станут потерянными записями после удаления записи грузоотправителя. В таблице "Заказы" останется код грузоотправителя, но он будет недействителен, поскольку запись, на которую он ссылается, уже не существует.

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

Обеспечение целостности данных включается для конкретного отношения между таблицами. После активации, Access будет отклонять любые операции, нарушающие целостность данных для этой межтабличной связи. Это означает, что Access будет отклонять как любые обновления, изменяющие целевой объект ссылки, так и удаление такого целевого объекта. Возможно, у вас может быть полностью допустимая потребность в изменении первичного ключа для поставщика, у которого есть заказы в таблице «Заказы». В этом случае необходимо, чтобы Access выполнил автоматическое обновление всех задействованных строк в рамках одной операции. Таким образом, Access гарантирует, что обновление будет полностью завершено, а база данных не будет находиться в несогласованном состоянии, когда некоторые строки обновлены, а другие — нет. Для этого в Access имеется параметр Каскадное удаление связанных записей. Если при включении обеспечения целостности данных был включен параметр Каскадное удаление связанных полей, то при последующем обновлении первичного ключа Access автоматически обновляет все связанные с ним поля.

Может понадобиться удалить строку и все связанные записи — например, запись грузоотправителя и все связанные с ним заказы. Для этого в Access имеется параметр Каскадное удаление связанных записей. Если при обеспечении целостности данных выбрать параметр Каскадное удаление связанных записей, а затем удалить запись на стороне первичного ключа в отношении, Access автоматически удалит все записи со ссылкой на первичный ключ.

К началу страницы

Просмотр связей между таблицами

Чтобы просмотреть межтабличные связи, щелкните Схема данных на вкладке Работа с базами данных. Откроется окно "Схема данных", в котором будут отображены все существующие связи. Если связи еще не были определены или это окно открывается впервые, приложение Access предложит добавить в окно таблицу или запрос.

Вызов окна "Схема данных"

  1. На вкладке Файл выберите команду Открыть.

  2. Выбор и открытые базы данных.

  3. На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.

    Если в базе данных есть связи, будет отображено окно "Схема данных". Если в базе данных нет связей или это окно открывается впервые, будет отображено диалоговое окно Добавление таблицы. Нажмите кнопку Закрыть, чтобы закрыть это диалоговое окно.

  4. На вкладке Конструктор в группе Связи щелкните элемент Все связи.

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

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

Когда открыто окно "Схема данных", на ленте доступны указанные ниже команды.

На вкладке Конструктор в группе Сервис

  • Изменить связи   . Открывает диалоговое окно Изменение связей . При выборе линии связи можно щелкнуть элемент Изменить связи, чтобы изменить связь между таблицами. Можно также дважды щелкнуть линию связи.

  • Очистить макет   . Запрещает отображение всех таблиц и связей в окне "Схема данных". Имейте в виду, что эта команда только скрывает таблицы и связи, но не удаляет их.

  • Отчет о связях   . Создает отчет, отображающий таблицы и связи базы данных. В отчете отображаются только таблицы и связи, не скрытые в окне "Схема данных".

На вкладке Конструктор в группе Отношения

  • Добавить таблицу   . Открывает диалоговое окно Добавление таблицы, чтобы можно было выбрать таблицы и запросы для просмотра в окне "Схема данных".

  • Скрыть таблицу   . Скрывает выбранную таблицу в окне "Схема данных".

  • Прямые связи   . Отображает все связи и связанные таблицы для выбранной таблицы в окне "Схема данных", если они еще не отображены.

  • Все связи   . Отображает все связи и связанные таблицы базы данных в окне "Схема данных". Имейте в виду, что скрытые таблицы (таблицы, для которых установлен флажок Скрытый в диалоговом окне Свойства) и их связи не будут отображены, если не установлен флажок "Показывать скрытые объекты" в диалоговом окне "Параметры переходов".

  • Закрыть   . Закрывает окно "Схема данных". Если в макет окна "Схема данных" были внесены какие-либо изменения, будет предложено сохранить их.

К началу страницы

Управление связанными таблицами - Доступ

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

Примечание В зависимости от имеющейся у вас версии Access диалоговое окно «Диспетчер связанных таблиц » работает по-разному. В Microsoft 365 вы можете использовать это диалоговое окно для обновления, повторного связывания, добавления, редактирования, поиска и удаления связанных таблиц, но вы не можете экспортировать информацию в Excel. В Access 2016 и более поздних версиях диалоговое окно намного проще, но вы можете экспортировать информацию в Excel.

Ведение каждого источника данных и связанных с ним таблиц с помощью менеджера связанных таблиц

Прежде чем начать

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

  1. Обновите источник данных, чтобы обеспечить успешные ссылки и выявить проблемы.

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

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

  4. Повторяйте шаги с 1 по 3, пока все проблемы не будут устранены.

Верх страницы

Обновить источник данных и связанные с ним таблицы

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

  1. Выберите Внешние данные > Диспетчер связанных таблиц .

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

  2. В диалоговом окне «Диспетчер связанных таблиц » выберите источник данных или отдельные связанные таблицы.

    При выборе источника данных выбираются все связанные с ним таблицы. Разверните (+) записи в источнике данных , чтобы выбрать отдельные связанные таблицы.

  3. Выберите Обновить .

  4. Если возникла проблема с расположением источника данных, введите правильное расположение, если будет предложено, или отредактируйте источник данных.

  5. Убедитесь, что столбец Status отображается (возможно, вам придется прокрутить в сторону), а затем проверьте его, чтобы увидеть результаты:

    • Успех Связанные таблицы успешно обновлены.

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

  6. Снова выберите Обновить до тех пор, пока вы не исправите каждую сбойную связанную таблицу и в столбце Состояние не отобразится « Успех ».

Верх страницы

Повторно связать источник данных или связанную таблицу

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

  1. Выберите Внешние данные > Диспетчер связанных таблиц .

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

  2. В диалоговом окне «Диспетчер связанных таблиц » выберите источник данных или отдельные связанные таблицы.

    Может потребоваться развернуть (+) записи в столбце Источник данных .

  3. Выберите Relink .

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

  5. Убедитесь, что столбец Status отображается (возможно, вам придется прокрутить в сторону), а затем проверьте его, чтобы увидеть результаты:

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

  7. Снова выберите Relink , пока вы не исправите все связанные с ошибками таблицы и в столбце Status отобразится « Success ».

Верх страницы

Найти связанную таблицу

Если у вас много связанных таблиц, используйте поле Search в верхней части диалогового окна Linked Table Manager , чтобы найти то, что вам нужно.

  1. Введите текст в поле Search .

    Access выполняет поиск в столбцах Имя источника данных и Информация об источнике данных , чтобы найти совпадение.

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

  2. Для сброса дисплея снимите флажок Search .

Верх страницы

Редактировать источник данных

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

  1. Выберите Внешние данные > Диспетчер связанных таблиц .

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

  2. В диалоговом окне «Диспетчер связанных таблиц » выберите источник данных, наведите указатель мыши на источник данных и выберите « Изменить ».

  3. Измените информацию в диалоговом окне Edit Link .

    Редактирование информации об источнике данных Excel

  4. Выбрать Готово .

Верх страницы

Добавить источник данных и связанные таблицы

Вы можете добавить следующие типы источников данных: Access, SQL (сервер и Azure), Excel или Custom (текст, Microsoft Dynamics, список ShaePoint, ODBC).

Совет Для разработчиков Access, которые вводят строки подключения в коде VBA, рассмотрите возможность добавления и редактирования строки подключения из диалогового окна Linked Table Manager вместо того, чтобы изменять код напрямую или писать сложный код, который автоматически изменяет строки подключения.

  1. Выберите Внешние данные > Диспетчер связанных таблиц .

  2. В диалоговом окне Диспетчер связанных таблиц выберите Добавить .

  3. Чтобы улучшить обнаружение и смысл, введите имя в поле Отображаемое имя . Отображаемое имя по умолчанию - это тип источника данных.

    Это имя отображается в столбце Data Source , вы можете отсортировать этот столбец, и вы можете использовать имя для категоризации источников данных, что особенно полезно, когда у вас много источников данных.

  4. Выполните одно из следующих действий:

    • Выберите SQL (сервер / Azure) , выберите Далее , а затем введите имя для входа в SQL Server и информацию DSN.Дополнительные сведения см. В разделах Импорт данных в базе данных SQL Server или связывание с ними и Связывание или импорт данных из базы данных Azure SQL Server.

    • Выберите Access , выберите Next , а затем введите имя файла и пароль в диалоговом окне Добавить новую ссылку . Дополнительные сведения см. В разделе Импорт данных в другой базе данных Access или создание ссылок на них.

    • Выберите Excel , а затем введите имя файла в диалоговом окне Добавить новую ссылку .Дополнительные сведения см. В разделе Импорт данных в книге Excel или создание ссылок на них.

    • Выберите Custom (Text, Dynamics, SharePoint List, ODBC) , а затем введите путь к источнику данных и строку подключения в диалоговом окне Добавить новую ссылку . Дополнительные сведения см. В разделах Синтаксис строки подключения и Справочник по строкам подключения.

  5. Выбрать Закрыть .

Верх страницы

Удалить источник данных или связанную таблицу

Вы можете удалить источник данных или связанную таблицу, потому что они больше не нужны, и освободить диалоговое окно Link Table Manager .

  1. Выберите Внешние данные > Диспетчер связанных таблиц .

  2. В диалоговом окне Диспетчер связанных таблиц выберите один или несколько источников данных или связанных таблиц.

    Может потребоваться развернуть (+) записи в столбце Источник данных .

  3. Выберите Удалить .

  4. Когда вам будет предложено подтвердить, выберите Да .

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

Верх страницы

См. Также

Экспорт информации о связанных источниках данных в Excel

Введение в импорт, связывание и экспорт данных в Access

Администрирование источников данных ODBC

.

Импорт или связывание данных в другой базе данных Access

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

В этой статье объясняется, как импортировать или связать данные в другой базе данных Access.

Что ты хочешь делать?

Понимание импорта и связывания данных из другой базы данных Access

Импорт данных из другой базы данных Access

Ссылка на данные в другой базе данных Access

Сведения об импорте и связывании данных из другой базы данных Access

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

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

Если ваша цель - добавить записи из одной базы данных в существующую таблицу в другой базе данных, вам следует подумать об импорте записей в новую таблицу, а затем создать запрос на добавление. Вы не можете добавлять записи в существующую таблицу во время операции импорта.Дополнительные сведения о запросах на добавление см. В статье Добавление записей в таблицу с помощью запроса на добавление.

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

Импорт данных из другой базы данных Access

Процесс импорта данных состоит из следующих общих шагов:

Следующие шаги объясняют, как выполнять каждое действие.

Подготовка к операции импорта

  1. Найдите исходную базу данных и укажите объекты, которые вы хотите импортировать.

    Если исходной базой данных является файл .mdb или .accdb, вы можете импортировать таблицы, запросы, формы, отчеты, макросы и модули.Если исходный файл является файлом .mde или .accde, вы можете импортировать только таблицы.

  2. Если вы впервые импортируете данные из базы данных Access, обратитесь к следующей таблице за некоторыми полезными советами.

    Элемент

    Описание

    Несколько объектов

    Вы можете импортировать несколько объектов за одну операцию импорта.

    Новый объект

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

    Импорт связанной таблицы

    Если исходная таблица (например, Employees1 в базе данных Sales) на самом деле является связанной таблицей (таблицей, которая связана с таблицей Employees в базе данных Payroll), текущая операция импорта заменяется операцией связывания.В конце операции вы увидите связанную таблицу (с именем, например, Employees1), которая ссылается на исходную исходную таблицу (Сотрудники в базе данных Payroll).

    Пропуск полей и записей

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

    Отношения

    Вы можете выбрать импорт отношений между исходными таблицами.

    Определение таблицы

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

    Поля поиска

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

    Запросы

    Вы можете импортировать запрос как запрос или как таблицу. Если вы импортируете запрос как запрос, вы должны импортировать базовые таблицы.

  3. Закройте исходную базу данных.Убедитесь, что ни один пользователь не открыл его в монопольном режиме.

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

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

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

    Операция импорта не перезаписывает и не изменяет какие-либо существующие таблицы или объекты. Если объект с тем же именем, что и исходный объект, уже существует в целевой базе данных, Access добавляет номер (1, 2, 3 и т. Д.) К имени импортируемого объекта. Например, если вы импортируете таблицу Issues в базу данных, в которой уже есть таблица с именем Issues, импортированная таблица будет называться Issues1. Если имя Issues1 уже используется, новая таблица будет называться Issues2 и так далее.

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

Импортировать данные

  1. Местоположение мастера импорта немного отличается в зависимости от вашей версии Access.Выберите шаги, соответствующие вашей версии Access:

    • Если вы используете последнюю версию подписки Microsoft 365 Access, на вкладке Внешние данные в группе Импорт и связывание щелкните Новый источник данных > Из базы данных > Access .

    • Если вы используете Access 2016, Access 2013 или Access 2010, на вкладке External Data в группе Import & Link щелкните Access .

  2. Откроется мастер Get External Data - Access Database для импорта и связывания.

  3. В текстовом поле Имя файла введите имя исходной базы данных или щелкните Обзор , чтобы открыть диалоговое окно Открыть файл .

  4. Выберите Импортировать таблицы, запросы, формы, отчеты, макросы и модули в текущую базу данных и нажмите ОК .

    Откроется диалоговое окно Импорт объектов .

  5. В диалоговом окне Импорт объектов на вкладке Таблицы выберите таблицы, которые нужно импортировать. Если вы хотите импортировать запросы, щелкните вкладку Queries и выберите запросы, которые вы хотите импортировать.

    Чтобы отменить выбранный объект, щелкните объект еще раз.

  6. Щелкните Параметры , чтобы указать дополнительные настройки.

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

    Элемент

    Описание

    Отношения флажок

    Выберите, чтобы импортировать отношения между выбранными таблицами.

    Меню и панели инструментов флажок

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

    Параметры импорта / экспорта флажок

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

    Группы панелей навигации флажок

    Выберите, чтобы импортировать любые настраиваемые группы панели навигации, существующие в исходной базе данных.

    Определение и данные кнопка выбора

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

    Только определение кнопка выбора

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

    As Queries option button

    Выберите, чтобы импортировать выбранные запросы как запросы.В этом случае не забудьте импортировать все базовые таблицы вместе с запросами.

    В виде таблиц , кнопка выбора

    Выберите, чтобы импортировать запросы в виде таблиц. В этом случае вам не нужно импортировать базовые таблицы.

  7. Нажмите ОК , чтобы завершить операцию.

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

Ссылка на данные в другой базе данных Access

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

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

Процесс связывания с данными в другой базе данных Access состоит из следующих общих шагов:

Следующие шаги объясняют, как выполнять каждое действие.

Подготовка к связыванию таблиц в базе данных Access

  1. Найдите исходную базу данных.

    Формат файла может быть MDB, MDE, ACCDB или ACCDE.Если исходная база данных защищена паролем, вам будет предложено ввести пароль во время операции связывания.

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

    Элемент

    Описание

    Несколько объектов

    Вы можете создавать ссылки на несколько таблиц за одну операцию связывания.Связанная таблица создается для каждой исходной таблицы.

    Связанные таблицы как источник

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

    Например, если таблица Employees1, с которой вы хотите связать в базе данных Sales, на самом деле является связанной таблицей, которая связана с таблицей Employees в базе данных Payroll, вы не можете использовать таблицу Employees1 в базе данных Sales в качестве исходной таблицы.Вместо этого вы должны напрямую ссылаться на таблицу сотрудников в базе данных Payroll.

    Новый или существующий стол

    Каждая операция связывания создает новую связанную таблицу для каждой исходной таблицы. Вы не можете перезаписать или добавить к существующей таблице с помощью операции связывания.

    Отношения

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

    Поля поиска

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

  3. Закройте исходную базу данных. Убедитесь, что ни один другой пользователь не открыл базу данных в монопольном режиме.

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

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

    Операция не перезаписывает и не изменяет какие-либо существующие таблицы или объекты. Если объект с тем же именем, что и исходный объект, уже существует в целевой базе данных, Access добавляет номер (1, 2, 3 и т. Д.) К имени связанной таблицы. Например, если вы свяжетесь с таблицей Issues из базы данных, в которой уже есть таблица с именем Issues, связанная таблица будет называться Issues1. Если имя Issues1 уже используется, новая таблица будет называться Issues2 и так далее.

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

    Дополнительные сведения о запросах на добавление см. В статье Добавление записей в таблицу с помощью запроса на добавление.

Ссылка на данные

  1. Расположение мастера ссылок немного отличается в зависимости от вашей версии Access.Выберите шаги, соответствующие вашей версии Access:

    • Если вы используете последнюю версию подписки Microsoft 365 Access, на вкладке Внешние данные в группе Импорт и связывание щелкните Новый источник данных > Из базы данных > Access .

    • Если вы используете Access 2016, Access 2013 или Access 2010, на вкладке External Data в группе Import & Link щелкните Access .

  2. Откроется мастер Get External Data - Access Database для импорта и связывания.

  3. В текстовом поле Имя файла введите имя исходной базы данных или щелкните Обзор , чтобы открыть диалоговое окно Открыть файл .

  4. Щелкните Связать с источником данных, создав связанную таблицу , а затем щелкните ОК .

    Откроется диалоговое окно Link Tables .

  5. В диалоговом окне Link Tables выберите таблицы, на которые вы хотите создать ссылку.

    Чтобы отменить выбор, щелкните таблицу еще раз.

  6. Нажмите ОК , чтобы завершить операцию.

    Access создает связанные таблицы.

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

Что еще я должен знать?

Верх страницы

.

Основы Microsoft Access: Как управлять связанными таблицами - ИТ-служба

Это последняя часть из трех частей серии руководств по связанным таблицам в Microsoft Access. Если вы пропустили предыдущие части, вы можете взглянуть на: Часть первая: Зачем создавать связанные таблицы в Microsoft Access, а затем Часть вторая: Как создавать связанные таблицы в Microsoft Access.

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

Как управлять связанными таблицами в Microsoft Access?

Теоретически связанные таблицы не нуждаются в управлении - они просто работают. И в значительной степени это правда. Но все равно будут случаи, когда вы думаете: «А?» или «О нет…» и вам просто нужно знать, что делать дальше. Итак, вот три наших основных совета по управлению связанными таблицами.

1. Помните, что это связанная таблица

Если вы работали с неразделенными базами данных, где данные находятся в локальных таблицах (т. Е. Не связанных таблицах), то вы привыкнете вносить изменения в структуру своих таблиц, просто открывая их в режиме конструктора.Но когда вы пробуете то же самое в связанной таблице, вам вежливо, но твердо говорят: «Никаких шансов»:

Рисунок 5: Дизайн связанных таблиц нельзя изменить

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

2. Связывание таблиц

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

Опять же, Microsoft Access упрощает этот процесс. Просто щелкните правой кнопкой мыши любую из связанных таблиц и выберите «Диспетчер связанных таблиц». Появится следующий экран:

Рисунок 6: Менеджер связанных таблиц

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

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

3: Добавление ссылки на другую таблицу

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

Для этого вам нужно перейти на вкладку «Внешние данные» на ленте и найти кнопку «Доступ» в группе «Импорт и ссылка». Убедитесь, что вы используете эту группу - в группе «Экспорт» на ленте также есть кнопка «Доступ», но она вам не нужна.

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

Рисунок 7: Диалоговое окно Get External Data
Важно, чтобы вы щелкните второй вариант, чтобы связать свою таблицу, иначе вы получите копию на задней панели и другую копию на передней панели!

На втором этапе мастера вам будет предложено указать, какие таблицы и другие объекты вы хотите связать.Выберите новые таблицы и нажмите «ОК», а Microsoft Access позаботится обо всем остальном.

Вот и все. Microsoft Access предоставляет инструменты, необходимые для разделения базы данных, а затем для управления разделенной базой данных, как только вы это сделаете.

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

В заключение - еще две причины разбить базу данных

На самом деле есть еще пара причин, по которым вам следует разделить базу данных, которые мы не рассмотрели в первом посте этой серии, потому что они, возможно, не являются основными драйверами для людей, желающих разделить базу данных для впервые (кто вероятная аудитория этих статей).

Во-первых, размер. Access позволяет обрабатывать гораздо большие наборы данных, чем Excel - таблицы с многомиллионными строками, безусловно, возможны.Но все же может наступить момент, когда вы не сможете уместить все свои данные в свою базу данных; Microsoft Access имеет ограничение в 2 ГБ на базу данных.

Разделив базу данных, вы можете иметь несколько таблиц в одном внутреннем файле, а некоторые - в другом, что фактически удваивает доступное пространство. Кроме того, хотя здесь мы были обеспокоены разделением базы данных на два файла Access, те же инструменты также могут использоваться (с несколькими разными настройками, конечно) для связи с таблицами, хранящимися в гораздо более крупной системе баз данных, такой как Microsoft SQL. Сервер, а затем и небо - это почти предел, когда дело доходит до размера.

Вторая причина разделения базы данных, о которой мы не упоминали ранее, - это избежать повреждения. Когда вы глубоко вовлечены в создание своей совершенной базы данных Access, вы вполне можете использовать код VBA для расширения того, что он делает. И, к сожалению, нередко случаются сбои в Access ... Вот почему вы ДОЛЖНЫ делать регулярные резервные копии, чтобы свести к минимуму риск потери больших объемов вашей проектной работы.

Однако одно дело - потерять три часа разработки… Потеря потенциально тысяч строк (или более) данных тоже может быть катастрофой.Этот риск сводится к минимуму за счет перемещения данных в отдельный файл. Очень редко этот серверный файл вызывает сбой и может быть поврежден - в конце концов, он почти никогда не открывается напрямую (он просто связан с файлом вашего приложения). Поэтому, когда (к сожалению, это, вероятно, «когда», а не «если») происходит сбой, если ваши данные надежно хранятся в отдельном файле, по крайней мере, вы можете быть в безопасности, зная, что только ваша работа может быть испорченными, не чужие данные!

Комментарии закрыты.

.

Определение отношений между таблицами в базе данных Access - Office

  • Читать 12 минут
  • Применимо к:
    Access 2013, Access 2010, Microsoft Office Access 2007, Microsoft Office Access 2003

В этой статье

Примечание

Office 365 профессиональный плюс переименовывается в Microsoft 365 Apps для предприятий .Дополнительные сведения об этом изменении см. В этом сообщении в блоге.

Оригинальный номер базы знаний: 304466

Примечание

Новичок: требуется знание пользовательского интерфейса на однопользовательских компьютерах. Эта статья относится только к базе данных Microsoft Access (.mdb или .accdb).

Сводка

В этой статье описывается, как определять отношения в базе данных Microsoft Access. В статье представлены следующие темы:

  • Что такое отношения таблиц?
  • Виды связей таблиц
    • Отношения "один ко многим"
    • Отношения многие-ко-многим
    • Индивидуальные отношения
  • Как определить отношения между таблицами
    • Как определить отношение «один ко многим» или «один к одному»
    • Как определить отношение «многие ко многим»
  • Ссылочная целостность
  • Каскадное обновление и удаление
  • Типы соединений

Что такое отношения таблиц?

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

Лучшее решение - сохранить информацию об издателе только один раз в отдельной таблице, которую мы назовем «Издатели». Затем вы поместите указатель в таблице «Заголовки», который ссылается на запись в таблице «Издатели».

Чтобы гарантировать синхронизацию данных, вы можете обеспечить ссылочную целостность между таблицами. Отношения ссылочной целостности помогают убедиться, что информация в одной таблице соответствует информации в другой. Например, каждый заголовок в таблице «Заголовки» должен быть связан с конкретным издателем в таблице «Издатели».Заголовок не может быть добавлен в базу данных для издателя, которого нет в базе данных.

Логические отношения в базе данных позволяют эффективно запрашивать данные и создавать отчеты.

Виды связей таблиц

Отношение работает путем сопоставления данных в ключевых столбцах, обычно столбцах (или полях) с одинаковыми именами в обеих таблицах. В большинстве случаев связь связывает первичный ключ или столбец уникального идентификатора для каждой строки из одной таблицы с полем в другой таблице.Столбец в другой таблице известен как «внешний ключ». Например, если вы хотите отслеживать продажи каждого названия книги, вы создаете связь между столбцом первичного ключа (назовем его title_ID ) в таблице «Заголовки» и столбцом в таблице «Продажи» с именем title_ID . Столбец title_ID в таблице «Продажи» является внешним ключом.

Существует три типа отношений между таблицами. Тип создаваемой связи зависит от того, как определены связанные столбцы.

Отношения "один ко многим"

Отношения «один ко многим» - наиболее распространенный вид отношений. При таком виде отношений строка в таблице A может иметь много совпадающих строк в таблице B. Но строка в таблице B может иметь только одну совпадающую строку в таблице A. Например, в таблицах «Издатели» и «Заголовки» есть отношения "один ко многим". То есть каждый издатель выпускает много названий. Но каждое название принадлежит только одному издателю.

Отношение «один ко многим» создается, если только один из связанных столбцов является первичным ключом или имеет уникальное ограничение.

В окне отношения в Access сторона первичного ключа отношения «один ко многим» обозначается числом 1. Сторона внешнего ключа отношения обозначается символом бесконечности.

Отношения "многие ко многим"

В отношении «многие ко многим» строка в таблице A может иметь много совпадающих строк в таблице B, и наоборот. Вы создаете такое отношение, определяя третью таблицу, которая называется таблицей соединений. Первичный ключ соединительной таблицы состоит из внешних ключей из таблицы A и таблицы B.Например, таблица «Авторы» и таблица «Заголовки» имеют отношение «многие ко многим», которое определяется отношением «один ко многим» от каждой из этих таблиц к таблице «TitleAuthors». Первичный ключ таблицы «TitleAuthors» - это комбинация столбца au_ID (первичный ключ таблицы «Авторы») и столбца title_ID (первичный ключ таблицы «Заголовки»).

Индивидуальные отношения

При взаимно-однозначном отношении строка в таблице A может иметь не более одной совпадающей строки в таблице B, и наоборот.Отношение «один к одному» создается, если оба связанных столбца являются первичными ключами или имеют уникальные ограничения.

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

  • Разделите таблицу на несколько столбцов.
  • Изолировать часть таблицы по соображениям безопасности.
  • Хранить данные, которые недолговечны и могут быть легко удалены путем удаления таблицы.
  • Хранить информацию, которая применяется только к подмножеству основной таблицы.

В Access сторона первичного ключа взаимно-однозначного отношения обозначается символом ключа. Сторона внешнего ключа также обозначается символом ключа.

Как определить отношения между таблицами

Когда вы создаете связь между таблицами, связанные поля не обязательно должны иметь одинаковые имена. Однако связанные поля должны иметь один и тот же тип данных, если только поле первичного ключа не является полем AutoNumber.Вы можете сопоставить поле AutoNumber с полем Number, только если свойствоFieldSize обоих совпадающих полей одинаково. Например, вы можете сопоставить поле AutoNumber и поле Number, если свойство FieldSize обоих полей - Long Integer. Даже если оба совпадающих поля являются числовыми полями, они должны иметь одинаковое свойствоFieldSizeproperty.

Как определить отношение «один ко многим» или «один к одному»

Чтобы создать отношение «один ко многим» или «один к одному», выполните следующие действия:

  1. Закройте все таблицы.Вы не можете создавать или изменять отношения между открытыми таблицами.

  2. В Access 2002 или Access 2003 выполните следующие действия:

    1. Нажмите F11, чтобы переключиться в окно базы данных.
    2. В меню Инструменты щелкните Отношения .

    В Access 2007, Access 2010 или Access 2013 щелкните Отношения в группе Показать / скрыть на вкладке Инструменты базы данных .

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

  4. Дважды щелкните имена таблиц, которые вы хотите связать, а затем закройте диалоговое окно Показать таблицу . Чтобы создать связь между таблицей и самой собой, добавьте эту таблицу два раза.

  5. Перетащите поле, которое вы хотите связать, из одной таблицы в соответствующее поле в другой таблице.Чтобы перетащить несколько полей, нажмите Ctrl, щелкните каждое поле и перетащите их.

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

  6. Появится диалоговое окно Изменить отношения . Убедитесь, что имена полей, отображаемые в двух столбцах, верны. При необходимости вы можете изменить имена.

    Задайте параметры взаимосвязи, если это необходимо. Если вам нужна информация об определенном элементе в диалоговом окне Изменить отношения , нажмите кнопку с вопросительным знаком, а затем щелкните элемент. (Эти параметры будут подробно описаны позже в этой статье.)

  7. Щелкните Создать , чтобы создать отношение.

  8. Повторите шаги с 4 по 7 для каждой пары таблиц, которую вы хотите связать.

    Когда вы закрываете диалоговое окно Изменить отношения , Access спрашивает, хотите ли вы сохранить макет.Независимо от того, сохраняете ли вы макет или не сохраняете макет, созданные вами связи сохраняются в базе данных.

    Примечание

    Вы можете создавать отношения не только в таблицах, но и в запросах. Однако ссылочная целостность не обеспечивается запросами.

Как определить отношение «многие ко многим»

Чтобы создать отношение «многие ко многим», выполните следующие действия:

  1. Создайте две таблицы, которые будут иметь отношение «многие ко многим».

  2. Создайте третью таблицу. Это соединительный стол. В соединительной таблице добавьте новые поля, которые имеют те же определения, что и поля первичного ключа из каждой таблицы, созданной на шаге 1. В соединительной таблице поля первичного ключа функционируют как внешние ключи. Вы можете добавить другие поля в соединительную таблицу, как и в любую другую таблицу.

  3. В соединительной таблице установите первичный ключ, чтобы включить поля первичного ключа из двух других таблиц.Например, в соединительной таблице TitleAuthors первичный ключ будет состоять из полей OrderID и ProductID .

    Примечание

    Чтобы создать первичный ключ, выполните следующие действия:

    1. Откройте таблицу в режиме конструктора.

    2. Выберите поле или поля, которые вы хотите определить как первичный ключ. Чтобы выбрать одно поле, щелкните селектор строк для нужного поля. Чтобы выбрать несколько полей, удерживайте нажатой клавишу Ctrl, а затем щелкните селектор строк для каждого поля.

    3. В Access 2002 или Access 2003 щелкните Первичный ключ на панели инструментов.

      В Access 2007 щелкните Первичный ключ в группе Инструменты на вкладке Design .

      Примечание

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

  4. Определите отношение «один ко многим» между каждой первичной таблицей и таблицей соединений.

Ссылочная целостность

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

  • Соответствующее поле из первичной таблицы является первичным ключом или имеет уникальный индекс.
  • Связанные поля имеют один и тот же тип данных. Есть два исключения. Поле AutoNumber может быть связано с полем Number , для которого значение свойства FieldSize равно Long Integer, а поле AutoNumber , которое имеет значение свойства FieldSize для идентификатора репликации, может быть связано с номером . поле, которое имеет значение свойства FieldSize для идентификатора репликации.
  • Обе таблицы принадлежат одной базе данных Access.Если таблицы являются связанными таблицами, они должны быть таблицами в формате Access, и вы должны открыть базу данных, в которой они хранятся, чтобы установить ссылочную целостность. Ссылочная целостность не может быть применена для связанных таблиц из баз данных в других форматах.

При использовании ссылочной целостности применяются следующие правила:

  • Вы не можете ввести значение в поле внешнего ключа связанной таблицы, которое не существует в первичном ключе первичной таблицы. Однако вы можете ввести значение Null во внешний ключ.Это указывает на то, что записи не связаны. Например, у вас не может быть заказа, назначенного несуществующему клиенту. Однако у вас может быть заказ, который никому не назначен, если ввести значение Null в поле CustomerID .
  • Вы не можете удалить запись из первичной таблицы, если совпадающие записи существуют в связанной таблице. Например, вы не можете удалить запись сотрудника из таблицы «Сотрудники», если есть заказы, назначенные сотруднику в таблице «Заказы».
  • Вы не можете изменить значение первичного ключа в первичной таблице, если у этой записи есть связанные записи. Например, вы не можете изменить идентификатор сотрудника в таблице «Сотрудники», если этому сотруднику назначены заказы в таблице «Заказы».

Каскадное обновление и удаление

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

Если вы установите флажок Cascade Update Related Fields при определении отношения, каждый раз, когда вы изменяете первичный ключ записи в первичной таблице, Microsoft Access автоматически обновляет первичный ключ до нового значения во всех связанные записи. Например, если вы изменяете идентификатор клиента в таблице «Клиенты», поле CustomerID в таблице «Заказы» автоматически обновляется для каждого из заказов этого клиента, чтобы отношения не прерывались.Доступ к каскадным обновлениям без отображения каких-либо сообщений.

Примечание

Если первичный ключ в первичной таблице является полем AutoNumber, установка флажка Cascade Update Related Fields не действует, поскольку вы не можете изменить значение в поле AutoNumber.

Если вы установите флажок Каскадное удаление связанных записей при определении отношения, каждый раз, когда вы удаляете записи в первичной таблице, Access автоматически удаляет связанные записи в связанной таблице.Например, если вы удалите запись о клиенте из таблицы «Клиенты», все заказы клиента автоматически удаляются из таблицы «Заказы». (Это включает записи в таблице «Детали заказа», которые связаны с записями «Заказы»). Когда вы удаляете записи из формы или таблицы, когда установлен флажок Каскадное удаление связанных записей , Access предупреждает вас, что связанные записи также могут быть удалены. Однако при удалении записей с помощью запроса на удаление Access автоматически удаляет записи в связанных таблицах без отображения предупреждения.

Типы соединений

Есть три типа соединения. Вы можете увидеть их на следующем снимке экрана:

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

Вариант 2 определяет левое внешнее соединение. Левое внешнее соединение - это соединение, в котором все записи с левой стороны операции LEFT JOIN в операторе SQL запроса добавляются к результатам запроса, даже если в объединенном поле из таблицы справа нет совпадающих значений. сторона.

Вариант 3 определяет правое внешнее соединение. Правое внешнее соединение - это соединение, в котором все записи с правой стороны операции RIGHT JOIN в операторе SQL запроса добавляются к результатам запроса, даже если в объединенном поле из таблицы слева нет совпадающих значений. сторона.

.

Смотрите также

Scroll To Top