Как связать таблицы в access 2010. Подробно о том, как связывать таблицы в access

Конструктор (Relationship Tools

Тема 6. Связи меж таблицами

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

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

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

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

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

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

·        Поле Счётчика (Код) разрешается связывать с Числовым полем, ежели в числовом поле в свойствах Размерполя задано значение Длинное целое (LongInteger);

·        Поле Счётчика (Код) разрешается связывать с Числовым полем, ежели для обоих полей в свойстве Размер поля задано значение Код репликации (ReplicationID – идентификатор связи).

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

ØДля полей, содержащие данные типа OLE и MEMO, первичный ключ назначить невозможно.

6.2       Установка первичного ключа в таблице

В сбалансированной структуре реляционной базы данных любая запись в хоть какой таблице обязана неповторимо идентифицироваться, т.е. значения неких полей в таблице не должны повторяться во всём множестве записей. Этот неповторимый идентификатор именуется первичным ключом . Как вы увидели, опосля сотворения таблиц в Access 2010 в режиме Конструктор, при выполнении операций «Закрыть» либо «Сохранить», система делает напоминание: . В том случае, ежели надавить на клавишу «Нет», то главного поля система создавать не будет (в рассмотренных примерах дано разъяснение, почему удобнее ключ устанавливать позже). При разработке таблицы в режиме Таблица, система автоматом создаёт 1-ое поле, которое именуется «Код» с типом данных «Счётчик». Это поле является главным, к примеру, на рисунке 60 показан вариант создаваемой таблицы вручную, при вводе данных в поле «Стаж…» система автоматом в поле «Код» устанавливает порядковые номера записей, а опосля закрытия таблицы поле «Код» становится ключевым.

Рис. 60. Пример сделанной таблицы в режиме Таблица

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

1.        Откройте в режиме Конструктор таблицу «Личные сведения».

2.        Выделите строчку с наименованием поля «Фамилия».

3.        На вкладке «Работа с таблицами» щёлкните по надписи.

4.        Сохраните таблицу.

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

Рис. 61. Сообщение системы о том, что даненая таблица является связанной

Читайте также  Ноут леново как зайти в биос. Как зайти в БИОС на ноутбуке Lenovo

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

1.        Может ли Access 2010 без помощи других устанавливать связи меж таблицами, при каких критериях это происходит?

2.        Для что нужно устанавливать первичный ключ в таблице?

3.        Каким типам полей не удаётся установить первичный ключ?

4.        Можно ли полю с типом данных Текстовый назначать первичный ключ?

5.        Как осознавать термин «Уникальное значение записей»?

6.        В каких вариантах Access 2010 без помощи других создаёт ключевое поле?

7.        Что нужно сделать, чтоб переназначить ключевое поле в таблице?

6.3       Схема данных

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

1.        Закройте все таблицы в базе данных.

2.        Выделите одну из таблиц, к примеру, «Доплаты», при этом покажется вкладка «Работа со связями».

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

Рис. 62. Пример прибавления таблиц на поле «Схема данных»

4.        Добавьте все таблицы, сделанные ранее, на поле «Схема связей». Проведите операцию установление связей меж таблицами «Доплаты» (родительская таблица) и «Личные сведения» (Дочерняя таблица). Для выполнения установления связей левой клавишей мыши выделите в таблице «Доплаты» поле , а потом переместите указатель мыши на поле таблицы «Личные сведения», когда освободите указатель мыши, покажется окно «Изменение связей» (Рис. 63).

Рис. 63. Окно для установления характеристик связей меж таблицами

5.                  В окне «Изменение связей» указано откуда и куда проложена связь, ежели типы данных соединяемых полей совпадают (выполняются правила сотворения связей), то в поле «Тип отношения» покажется сообщение: Один-ко-многим. Непременно установите отметку в поле , тогда в окне «Схема данных» покажется связь. На одном конце будет стоять единица (эти данные являются неповторимыми, а на другом конце связи будет стоять символ – много). Лучше сделать пометки и в других полях, тогда при внесении коррекций в начальную таблицу в записи либо их удаление, в запросах произойдёт автоматическое изменение результатов. Нажмите на клавишу .

Почему при устанвлении связей меж таблицами не непременно ставить пометки в полях «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей»? Это естественный вопросец, тем не наименее, обратите внимание, ежели употреблять в качестве связываемых полей поле «Счётчик», то это поле нереально видоизменить юзером, следовательно, нет смысла ставить в этом случае пометку (напомним, что при установлении главного поля «Текстовое», юзер имеет возможность видоизменять данные в этом поле, к примеру заменить фамилию.). «Каскадное удаление связанных записей» употребляется для того, чтоб при удалении записи из одной таблицы, в запросах либо остальных связанных таблицах, данные помеченного поля так же будут удаляться.

Читайте также  Как поменять командную строку. Настройка командной строки Windows

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

1.        Что следует сделать, чтоб сделать схему связей меж таблицами?

2.        Какими методами можно добавить таблицу на поле схемы данных?

3.        Для чего же употребляется окно «Изменение связей»?

4.        Для что ставится пометка в окне «Щбеспечение целостности данных»?

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

При попытке сделать связь меж таблицами «Надбавки за стаж» и «Личные сведения» ничего не получится. Ответ ясен, в таблице «Личные сведения» отсутствует поле, которое можно связать с таблицей «Надбавки за стаж». Выходов из положения два. 1-ый метод – сделать поле в таблице «Личные сведения», к примеру, используя приём связанных таблиц, а потом из перечня выбрать нужные данные для наполнения вновь сделанного поля. 2-ой метод – пользоваться промежной таблицей, к примеру, которая будет сотворена в запросе, этот приём достаточно трудоёмкий, но дозволяет увеличивать базу данных новенькими таблицами, а потом применять их для выполнения вычислений в запросах (этот метод будет рассмотрен ниже). Сделаем в таблице «Личные сведения» новое поле, к примеру, «Стаж». Создание вложенных таблиц уже дискуссировалось. Напомним, что поначалу нужно найти место новейшего поля в таблице, потом выбрать режим , дальше – , а потом выполнить шаги по подстановки нужного поля в виде перечня из иной таблицы. В итоге выполняемых действий будет получена связь меж таблицами «Надбавка за стаж» (Родительская) и «Личные сведения» (Дочерняя). На рисунке 64 показан пример автоматического установления связей меж таблицами, когда употребляется способ вложения таблиц. Когда будет раскрыта таблица «Надбавки за стаж», то в ней возникает знак . Ежели щёлкнуть по символу, то будут отображены строчки (записи) из дочерней таблицы (в данном примере показаны записи со сведениями о сотрудниках, которые имеют стаж работы от 1 года до 3-х лет).

Рис. 64. Пример установления связей меж таблицами способом вложенния таблиц

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

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

Рис. 65. Вариант сформированных связей меж таблицами в базе данных

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

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

2.        Что обозначает знак в таблице, которая открыта в режиме Таблица?

3.        Что обозначает знак на полосы связи меж таблицами в окне «Схема связей»?

4.        Можно ли в таблице изменять значение в поле «Счётчик»?

Design) в группе Связи (Relationships) нажмите клавишу Отобразить таблицу (Show Table).

Включение таблиц в схему данных

В окне Добавление таблицы (Show Table) (рис. 3.48) отображены все таблицы и запросы, содержащиеся в базе данных. Выберем вкладку Таблицы (Tables) и с помощью клавиши Добавить (Add) разместим в окне Схема данных (Relationships) все ранее сделанные таблицы базы данных Поставка продуктов, отображенные в окне Добавление таблицы (Show Table). Потом нажмем клавишу Закрыть (Close). В итоге в окне Схема данных (Relationships) таблицы базы будут представлены окнами со перечнями собственных полей и выделенными жирным шрифтом ключами (см. рис. 3.52).

Читайте также  Почему лагает видео в ютубе. Не грузит видео на YouTube: решение проблемы

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

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

Создание связей по обычному ключу

Установим связь меж таблицами Клиент и Контракт, которые находятся в отношении «один-ко-многим». Устанавливая связи меж парой таблиц, находящихся в отношении типа 1 : M, выделим в главной таблице Клиент ключевое поле КОД_ПОК, по которому устанавливается связь. Дальше при нажатой кнопочке мыши перетащим его в соответственное поле подчиненной таблицы ДОГОВОР.

Поскольку поле связи является неповторимым ключом в главной таблице связи, а в подчиненной таблице связи не является главным, схема данных в Access выявляет отношение «один-ко-многим» меж записями этих таблиц. Значение «один-ко-многим» (One-To-Many) отобразится в окне Изменение связей (Edit Relationships) в строке Тип отношения (Relationship Type) (рис. 3.49).

ЗАМЕЧАНИЕ
Ежели поле связи является неповторимым ключом в обеих связываемых таблицах, схема данных в Access выявляет отношение «один-к-одному«. Ежели для связи таблиц заместо главного поля главной таблицы употребляется некий неповторимый индекс, система также констатирует отношение таблиц как 1 : М либо 1 : 1.

Определение связей по составному ключу

Определим связи меж таблицами НАКЛАДНАЯ ОТГРУЗКА, которые соединены по составному ключу НОМ_НАКЛ + КОД_СК. Для этого в главной таблице НАКЛАДНАЯ выделим оба этих поля, нажав кнопку , и перетащим их в подчиненную таблицу ОТГРУЗКА.

В окне Изменение связей (Edit Relationships) (рис. 3.50) для каждого поля составного ключа главной таблицы НАКЛАДНАЯ, названной Таблица/запрос (Table/Query), выберем соответственное поле подчиненной таблицы ОТГРУЗКА, названной Связанная таблица/запрос (Related Table/Query).

Каскадное обновление и удаление связанных записей

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

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

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

Установить в окне Изменение связей (Edit Relationships) (см. рис. 3.49) флажки каскадное обновление связанных полей (Cascade Update Related Fields) и каскадное удаление связанных записей (Cascade Delete Related Records) можно лишь опосля задания параметра обеспечения целостности данных.

Оставьте комментарий