Как сделать связи в access 2010?

Как сделать связи в access 2010?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также  Section Access in Qlikview, Define Data Access in QlikView

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

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

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

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

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

Источник:
http://pavlov-rags.narod.ru/Accsess2010/HTML_doc/Tema6.htm

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

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

В этой статье

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник:
http://support.microsoft.com/ru-ru/office/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BF%D0%BE-%D0%BC%D0%B5%D0%B6%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%87%D0%BD%D1%8B%D0%BC-%D1%81%D0%B2%D1%8F%D0%B7%D1%8F%D0%BC-30446197-4fbe-457b-b992-2f6fb812b58f

Связывание таблиц и удаление связей в Microsoft Access

Работа с базами данных — процесс, требующий определённых навыков и понимания некоторых нюансов. Разработанная компанией Microsoft программа Access даёт пользователям возможность быстро создавать и редактировать БД. Один из важнейших моментов, с которым обязательно нужно разобраться, при создании БД — связывание её элементов. В этой статье разберёмся с тем, как создать или удалить связи между таблицами в Access. Давайте же начнём. Поехали!

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

Теперь уже можно связывать наши таблицы. Чтобы сделать это, откройте вкладку «Работа с базами данных» и в разделе «Отношения» ленты инструментов выберите пункт «Схема данных». Перед вами откроется окно, в котором понадобится выбрать все таблицы. Поочерёдно кликните по каждой из них. Закончив, выйдите из этого окна. Теперь нужно определиться с тем, как именно связывать. Например, есть две таблицы: «Бренд» и «Одежда», между которыми необходимо связать между собой. Поле «Код бренда» должно быть и там, и там. Если оно отсутствует — создайте его. При этом для записей категории «Бренд» оно будет ключевым (так называемый первичный ключ), а для «Одежда» — обычным (внешний ключ). Первичный ключ «Код бренда» перетащите на внешний ключ «Код бренда». После этого появится диалоговое окно, в котором нужно отметить галочками пункты: «Обеспечение целостности…», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей». Отметив все пункты, нажмите кнопку «Создать». Появится чёрная линия, соединяющая указанные строки. Созданная связь имеет название «один ко многим». То есть в приведённом примере это будет означать, что один бренд может выпускать много разной одежды.

Далее, аналогичным образом свяжите все остальные, не забывая добавлять поля. Имея минимум три таблицы (среди которых две основных и одна промежуточная), вы можете создать тип связи «многие ко многим». Для заполнения полей, являющихся внешними ключами, можно использовать «Мастер подстановок». Чтобы сделать это, перейдите в режим конструктора и в разделе «Тип данных» выберите пункт «Мастер подстановок». В открывшемся окне выберите откуда будет взята информация для заполнения. Затем укажите нужные поля и нажмите кнопку «Далее». Следующие два окна можно пропустить. В конце кликните по кнопку «Готово». Прежде чем начать заполнение, программа предложит вам сохраниться, щёлкните «Да». Обратите внимание, что заполнение таким способом возможно только в случае, если связь ещё не установлена. Если у вас так не получилось, то вы можете удалить её и заполнить ячейки. После этого она автоматически появится, однако, вам понадобится кликнуть по ней два раза и отметить галочками пункты: «Обеспечение целостности…», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей».

Чтобы удалить связь, кликните по кнопке «Схема данных» на панели инструментов, затем щёлкните по линии, показывающей её, и нажмите на клавиатуре клавишу delete.

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

Источник:
http://nastroyvse.ru/programs/review/svyazyvanie-i-udalenie-svyazej-access.html

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

Курс дистанционного обучения:
«Экономическая информатика»
Модуль 2 (2,5 кредита): Прикладное программное обеспечение офисного назначения

Тема 2.1. Обработка текстовой информации

Тема 2.2. Процессоры электронных таблиц

Тема 2.3. Программные средства презентаций и основы офисного программирования

Тема 2.4. Системы управления базами данных и экспертные системы

2.4.11. Учебная база данных с главной кнопочной формой «Training_students» — Скачать

2.4. Системы управления базами данных и экспертные системы

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

2.4.3.2. Установка связей между таблицами в СУБД Access

После создания структуры таблиц (Студенты, Группы студентов, Дисциплины, Успеваемость) для сущностей базы данных «Деканат» необходимо установить связи между таблицами. Связи между таблицами в БД используются при формировании запросов, разработке форм, при создании отчетов.

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

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

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

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

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

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

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

Читайте также  Как сделать впр в access?

2.4.3.3. Заполнение таблиц

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

На экране появится структура таблицы БД в режиме таблицы. Новая таблица состоит из одной пустой строки.

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

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

После заполнения таблица Студенты имеет следующий вид.

Аналогичным образом заполняются остальные таблицы: Группы Студентов, Успеваемость, Дисциплины.

В приложении Access применяются различные методы перемещения по таблице. Переходить от записи к записи можно с помощью: клавиш управления курсором; кнопки из области Запись, расположенной внизу таблицы в режиме таблицы; команды Правка — Перейти.. Для перемещения от поля к полю (слева направо) применяются клавиши Tab и Enter, а в обратном направлении Shift+Tab.

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

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

© Обучение в интернет, .
Обратная связь

Источник:
http://www.lessons-tva.info/edu/e-inf2/m2t4_3_2.html

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

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

Microsoft Access — одна из систем управления БД. В нее включен язык программирования VBA, который дает возможность пользователю самому писать разные приложения для работы с БД.

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

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

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

Все изменения, которые происходят, отображаются во всех БД.

Чтобы ответить на вопрос о том, как связывать таблицы в Access, необходимо показать все на примере: в базе данных созданы четыре таблицы: Студенты, Дисциплины, Успеваемость и Группы студентов. Установим между ними логические связи. Как это сделать?

  1. Выбрать главный ключ: КодГруппы, КодСтудентов и КодДисциплины.
  2. Между ключевым полем КодГр. в табл. «Группа» и вторичным ключом КодГр. В табл. «Студенты» установить связь «один – ко – многим».
  3. Закрыть все открытые таблицы в Access форме, связанные таблицы в том числе.
  4. В специальном диалоговом окне «Добавить» выбрать имя поля.
  5. Закрыть все диалоговые окна.

Инструкция о том, как установить логические связи во всех таблицах окна «Схема данных»:

  1. Из таблицы «Группы» надо переместить поле КодГруппы на такое же поле из таблицы «Студенты».
  2. Появится окно «Изменение связей».

Когда все действия будут выполнены, в окне «Схема данных» можно увидеть связь «один-ко-многим» между таблицами Группы студентов и Студенты.

По такому же плану можно установить связь между полем КодСтудента и Успеваемость и таблицах «Студенты». Потом в таблицах «Успеваемость» и «Дисциплины» для поля КодДисциплины.

  1. Когда все логические связи установлены, следует закрыть окно «Схема данных».
  2. Заполнить все таблицы. Сначала вводим данные в таблицу «Группы» студентов, так как в таблице «Студенты» поле КодГруппы применяется как столбец для заполнения поля таблицы «Студенты».
  3. Указать связи между tables «Студенты» и «Успеваемость», «Дисциплины» и «Успеваемость».

Преимущества использования логических связей

Почему держать данные раздельно в связанных tables лучше? Рассмотрим достоинства такого хранения.

Согласованность

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

Эффективность

  • Экономия пространства на диске в результате того, что сведения хранятся в одном месте.
  • Из маленьких таблиц информация извлекается лучше.

Сведения хранятся в различных таблицах, поэтому строение БД лучше можно понять. Также существует Access, связанные таблицы VBA – это такой язык программирования, благодаря которому можно связать таблицы в Access и Excel. При знании данного языка вы сможете программировать базу данных.

Важный совет!

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

В заключение

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

Источник:
http://fb.ru/article/376854/podrobno-o-tom-kak-svyazyivat-tablitsyi-v-access

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

Для того чтобы было удобно просматривать, создавать, удалять и модифицировать связи между таблицами, в Microsoft Access используется схема данных (Relationships) (рис. 2.27).

Чтобы открыть схему данных, необходимо выполнить команду Сервис, Схема данных (Tools, Relationships). По умолчанию схема будет содержать все таблицы со связями. Поэтому сюда будет включена, например, наша новая таблица «Список рассылки оповещений», которая была связана с таблицей «Клиенты» (Customers) при помощи Мастера подстановок (см. разд. «Использование Мастера подстановок» выше в данной главе).

Чтобы убрать какую-либо таблицу из схемы данных, необходимо щелкнуть правой кнопкой мыши на любом месте этой таблицы и из контекстного меню выбрать команду Скрыть таблицу (Hide table). Например, на рис. 2.27 таблица «Список рассылки оповещений» скрыта.

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

Чтобы вновь добавить в эту схему свернутую таблицу («Список рассылки оповещений») или таблицу, у которой связи еще не установлены, необходимо:

  1. Щелкнуть правой кнопкой мыши на свободном пространстве схемы данных и из контекстного меню выбрать команду Добавить таблицу (Show table).
  2. В диалоговом окне Добавление таблицы (Show table) раскрыть вкладку Таблицы (Tables), выбрать из списка таблицу «Список рассылки оповещений», и нажать кнопку Добавить (Add) (рис. 2.28).

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

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

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

Если нужная связь автоматически не создана, ее можно создать двумя путями. Первый путь — графический. Следует выбрать в главной таблице поле для связи, нажать левую кнопку мыши и перетащить поле во вторую таблицу. Отпустить левую кнопку мыши над тем полем подчиненной таблицы, с которым устанавливается связь. После этого появится диалоговое окно Изменение связей (Edit Relationships) (рис. 2.29).

Альтернативный вариант — выбрать команду Связи, Изменить связь (Relationships, Edit Relationships) из главного меню Access. Эта команда появляется в меню, когда открыто окно Схема данных (Relationships).

    В диалоговом окне Изменение связей (Edit Relationships) можно выбрать из списков названия связанных таблиц и полей для связывания. Если отношение между таблицами «один-ко-многим», то слева из списка Таблица/запрос (Table/ Query) выбирается главная таблица и поле в этой таблице, а справа из списка Связанная таблица/запрос — подчиненная и соответственно поле в ней. Если отношение «один-к-одному», то порядок таблиц значения не имеет. Если вы устанавливали связь графически, то все поля в списках уже выбраны, и нужно только определить правила ссылочной целостности.

По умолчанию устанавливается первый переключатель. Нажать кнопку ОК.

  • Когда создается новая связь, можно также воспользоваться кнопкой Новое (Create New) и в окне Создание (Create New) ввести имена связываемых таблиц и имена полей, используемых для связи. Нажать кнопку ОК.
  • После установки всех параметров связи необходимо нажать кнопку ОК в окне Параметры объединения (Edit Relationship) и закрыть окно Схема данных (Relationship), нажав на кнопку Закрыть в правом верхнем углу окна.
  • Источник:
    http://www.taurion.ru/access/2/15