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

Обновлено: 06.07.2024

5. Организация и отображение связей между таблицами

5.1. Общие правила установки связей между таблицами

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

- создание непосредственных связей между таблицами;

- создание вложенных таблиц данных.

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

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

§ Поле Счетчик разрешается связывать с числовым полем, если в числовом поле в свойстве Размер поля задано значение Длинное целое;

§ Поле Счетчик разрешается связывать с числовым полем. Если для обоих полей в свойстве Размер поля задано значение Код репликации.

  • Связываемые поля Числового типа должны иметь одинаковые значения Размер поля.

Рекомендации разработчику базы данных:

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

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

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

5.2. Установление ключей в таблицах

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


  1. Проверьте в каждой таблице, какое поле является ключевым. Если ключи для полей не задавались, следовательно, их целесообразно создать.
  2. Например, для таблицы Сотрудники ключ не был задан, но ясно, что поле Фамилия является уникальным, поэтому можно открыть таблицу в режиме Конструктор и провести следующие действия:
  • Выделить строку с именем поля Фамилия. Или установить курсор в предполагаемом ключевом поле.
  • В строке меню базы данных нажать на пиктограмму (Ключевое поле). Отказ от ключевого поля производится в том же порядке. Или в строке меню базы данных раскрыть пункт Правка и выбрать команду – Ключевое поле.
  • Проверить в свойствах ключевого поля (в примере Фамилия), чтобы свойство Индексированное поле содержало текст: Да (Совпадения не допускаются).
  • Закрыть таблицу, на все вопросы системы отвечать Да.

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


  1. Провести проверку в других таблицах наличия ключевого поля. Например, таблица Штатные должности, в которой всего два поля (Должность и Оклад по должности), разработчик считает, что ни одно из этих полей не подходит в качестве ключевого, тогда можно создать в режиме конструктора новое поле.
    • Добавить новое поле (его можно вставить в любое место), например поле с именем Классификатор должностей.
    • В свойствах поля (Общие) установить: Размер поля – Длинное целое, Индексированное поле – Да (Совпадения не допускаются).
    • Установить ключ для поля.
    • Закрыть таблицу и сохранить в ней изменения, следует отметить, что действия разработчика были ошибочными.


5.3. Создание непосредственных связей

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


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







5.4. Создание вложенных таблиц

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


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


Порядок создания вложенных таблиц заключается в следующем:

1. Открыть таблицу (в нашем примере – Должности на фирме) в режиме просмотра таблицы.



5. Открыть таблицу Должность на фирме и просмотреть иерархию вложенных таблиц. В рассматриваемом примере в таблице Сотрудники нет записей с должностью Повар, поэтому раскрытая подтаблица не имеет ни одной записи, а вот подтаблица, относящаяся к должности Инженер, имеет две записи, что соответствует существующему состоянию дел. Пример раскрытия встроенных подтаблиц показан на рис. 5.13 и 5.14.




Вопросы для самоконтроля

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

2. Для чего в таблицах устанавливают ключевое поле?

3. Какие типы данных можно хранить в ключевом поле?

4. Какое существует основное правило для решения вопроса о связывании полей разных таблиц?

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

7. Как осуществлять операцию изменения связей?

Задания для самостоятельной работы

В Access можно задать три вида связей между таблицами: Один-ко-многим, Многие-ко-многим и Один-к-одному.

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

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

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

Тип создаваемой связи зависит от полей, для которых определяется связь:

· связь Один-ко-многим создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс, т.е. значения в нем не повторяются;

· связь Один-к-одному создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы;

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

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

· щелкните по кнопке на панели инструментов или выполните команду Сервис, Схема данных. На экране появится окно "Схема данных";

· щелкните по кнопке на панели инструментов или выполните команду Связи, Добавить таблицу;

· в появившемся окне будет выделено название одной таблицы. Щелкните по кнопке ;

· переведите выделение на имя следующей таблицы и щелкните по кнопке . Аналогично добавьте оставшиеся таблицы;

· закройте окно, щелкнув по кнопке ;

· создайте связь между таблицами. Для этого подведите курсор мыши к полю первой таблицы, щелкните левой кнопкой мыши и, не отпуская ее, перетащите курсор на поле в другую таблицу, а затем отпустите кнопку мыши. На экране откроется окно "Связи";

· установите флажок в свойстве Обеспечение целостности данных, щелкнув по нему;

· установите флажок в свойстве Каскадное обновление связанных полей и Каскадное удаление связанных записей;

· щелкните по кнопке . Связь будет создана;

· аналогично создайте связи между другими таблицами

· закройте окно схемы данных, ответив ДА на вопрос о сохранении макета.

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

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

Просмотр, создание, редактирование и удаление связей осуществляются на схеме данных (рис. 2.21). Чтобы открыть схему данных, нажмите кнопку Схема данных на вкладке Работа с базами данных .

Рис. 2.21. Схема данных

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

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

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

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

3. На экране появится окно Изменение связей (рис. 2.22). В этом окне указаны названия связываемых полей. Убедитесь, что поля для создания связи выбраны верно. В случае обнаружения ошибки выберите другие поля.

Рис. 2.22. Окно Изменение связей

4. Выберите режим обеспечения целостности данных (об этом режиме подробно будет рассказано в следующем подразделе). Рекомендуется установить флажок Обеспечение целостности данных . Затем нажмите кнопку Создать .

5. Сохраните изменения схемы данных, нажав комбинацию клавиш Ctrl+S .

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

Обеспечение целостности данных

Целостность данных может нарушиться в следующих ситуациях:

• в дочернюю таблицу добавляется новая запись, содержащая некорректное (отсутствующее в первичном ключе родительской таблицы) значение вторичного ключа, или в существующей записи дочерней таблицы значение вторичного ключа изменяется на некорректное;

• из родительской таблицы удаляется запись, в результате чего ссылки на эту запись становятся некорректными;

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

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

• сохранение записи с некорректным значением вторичного ключа;

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

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

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

После того как режим обеспечения целостности данных включен, над линией связи в схеме данных появляется символ 1 возле родительской таблицы и символ ? возле дочерней таблицы (см. рис. 2.21). Благодаря этим подписям вы сразу увидите, что для данной записи поддерживается целостность данных.

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

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

На экране появится окно Изменение связей (см. рис. 2.22). В этом окне выполните необходимые изменения и нажмите кнопку ОК .

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

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

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

Отображение дочерних записей

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

Чтобы увидеть записи, ссылающиеся на данную родительскую запись, нажмите знак + слева от записи. Откроется подтаблица, содержащая дочерние записи (рис. 2.23).

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

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

1) Перейдите в режим конструктора (кнопка Режим вкладки Главная ).

Рис. 2.23. Просмотр дочерних записей

3) В появившемся окне свойств (рис. 2.24) щелкните кнопкой мыши на значении свойства Имя подтаблицы . Справа от значения свойства появится кнопка

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

5) Сохраните изменения, нажав сочетание клавиш Ctrl+S .

6) Вернитесь в режим таблицы (нажмите кнопку Режим на вкладке Главная или Конструктор ).

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

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

Рис. 2.24. Выбор подтаблицы

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

Стереотипы связей

5.4. Настройка связей типов файлов с приложениями

5.4. Настройка связей типов файлов с приложениями Настройка программ по умолчаниюДля смены программ, устанавливаемых для определенных типов файлов по умолчанию, в Windows Vista используется специальное окно Программы по умолчанию (рис. 5.11), которое можно открыть с помощью меню

6.1.4. Работа с таблицами

6.1.4. Работа с таблицами Думаю, не нужно говорить о важности таблиц в современных документах. Ведь таблица считается одним из самых эффективных способов представления данных. Для работы с таблицами используются команды меню Таблица. Изучите это меню: оно содержит все

Работа с таблицами

2.3. Работа с таблицами

2.3. Работа с таблицами В этом разделе вы узнаете, как создать, изменить и удалить таблицу, как просмотреть информацию о ней и список всех таблиц в текущей базе данных. Начнем с наиболее сложной команды – создания таблицы.Создание таблицыЧтобы создать таблицу, выполните

15.4. Работа с таблицами

15.4. Работа с таблицами Для работы с таблицами предназначено меню Таблица, содержащее все необходимые команды: добавление и удаление строк и столбцов таблицы, объединение, разъединение ячеек и т. д.Начнем с самого начала — создадим небольшую таблицу. Для этого выполните

Организация связей между таблицами

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

12.7. Многотабличные базы данных. Отношения между таблицами

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

3.3. Работа с таблицами

3.3. Работа с таблицами Для работы с таблицами предназначено меню Таблица, содержащее все необходимые команды: добавление и удаление строк и столбцов таблицы, объединение, разъединение ячеек и т. д.Начнем с самого начала — создадим небольшую таблицу. Для этого выполните

Урок 7.4. Проектирование базы данных. Создание связей между таблицами

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

Связи между таблицами

Порядок создания связей

Практическая работа 56. Создание связей между таблицами

Практическая работа 56. Создание связей между таблицами Задание. Создать в среде Access 2007 базу данных из трех связанных таблиц согласно разработанному в этом уроке проекту.Эта работа будет объемной, поэтому ее выполнение будет разделено на несколько

Настройка параметров связей

Настройка параметров связей 1. Закройте все ранее открытые вкладки таблиц.2. На ленте откройте вкладку Работа с базами данных и нажмите кнопку Схема данных в группе Показать или скрыть. В появившемся окне вы должны увидеть таблицы базы данных и линии связи между ними. Если

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

Создание, изменение и удаление связи таблиц в Access

Есть три типа отношений:

Зачем использовать отношения таблиц в Access?

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

В этой статье мы собираемся объяснить:

  1. Как создать отношения в Microsoft Access
  2. Как изменить отношение в Microsoft Access
  3. Как удалить связь в Microsoft Access

1]Как создать отношения в Microsoft Access


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

2]Как редактировать отношения в Microsoft Access

Как создать, отредактировать и удалить отношение таблиц в Microsoft Access

Вы можете изменить свои отношения в Microsoft Access; вот несколько шагов для этого.

Внесите любые изменения, которые хотите внести.

3]Удаление отношений в Microsoft Access


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

Связанное чтение: Как создавать таблицы с помощью конструктора таблиц в Access.

Сообщите нам в комментариях, если у вас возникнут проблемы, и мы вам ответим.

Читайте также: