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

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

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

Чтобы удалить связь, кликните по кнопке «Схема данных» на панели инструментов, затем щёлкните по линии, показывающей её, и нажмите на клавиатуре клавишу delete.
Теперь вы знаете как добавляются и удаляются связи при работе с БД в программе Microsoft Access. Обладая этими навыками, вы уже сможете создавать полноценные, функционирующие БД, однако, продолжайте развивать свои знания программы Access. Пишите в комментариях была ли полезной для вас эта статья и задавайте любые интересующие вопросы по рассмотренной теме.
Как удалить схему данных в access
Схема данных является не только удобным и наглядным средством графического отображения логических связей таблиц базы данных. Связи, заданные в схеме данных, автоматически используются для объединения записей связанных таблиц при любой обработке. Это упрощает процесс конструирования многотабличных форм, запросов и отчетов.
По заданному для связи параметру объединения определяется, как должно происходить объединение записей связываемых таблиц. По умолчанию происходит объединение только тех записей связанных таблиц, в которых значения поля связи совпадают.
Установление связи между двумя таблицами возможно только при выполнении следующих условий:
1.связываемые таблицы имеют поля с одинаковым типом данных, причем имена полей могут быть различными;
2.обе таблицы сохраняются в одной базе данных Access.
Если главная таблица связывается с подчиненной по первичному простому или составному ключу (уникальному индексу) главной таблицы, то Access определяет, что таблицы находятся в отношении 1:М или 1:1. Для таблиц, находящихся в этих отношениях, в схеме данных можно установить параметры поддержания связной целостности данных.
Поддержка связной целостности данных означает, что Access при корректировке базы данных обеспечивает для связанных таблиц контроль за соблюнием следующих условий:
1) в подчиненную таблицу не может быть добавлена запись со значением ключа связи, не существующим в главной таблице;
2) в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
3) изменение значений ключа связи в записи главной таблицы невозможно, если в подчиненной таблице имеются записи, связанные с ней.
Если для связи обеспечивается поддержание целостности, то можно задать режимы, перечисленные ниже.
1.Каскадное обновление связанных полей обеспечивает при изменении значения ключа связи в записи главной таблицы автоматическое изменение значения в связанных полях в подчиненных записях.
2. Каскадное удаление связанных записей обеспечивает при удалении записи из главной таблицы автоматическое удаление всех связанных записей в подчиненной таблице. Каскадное удаление подчиненных записей выполняется на всех уровнях, если этот режим задан на каждом уровне.
Упражнение 6. Включение таблиц в схему данных и определение связей между ними
Рассмотрим процесс создания схемы данных, соответствующей логической структуре базы данных.
1. Откройте окно Схема данных . Для этого при активном окне базы данных нажмите кнопку Схема данных на панели инструментов.
2. В диалоговом окне Добавление таблицы (рис. 3.1) выберите вкладку Таблицы и, нажимая кнопку Добавить, разместите в окне Схема данных все ранее созданные таблицы базы данных, список которых отображен в диалоговом окне.
| Рис.3.1 Добавление таблицы в схему данных |
3. Нажмите кнопку Закрыть. В результате в окне Схема данных будут представлены все таблицы созданной базы данных со списками своих полей.
4. Установите связь между таблицами ГРУППА и СТУДЕНТ по простому ключу НГ. Для этого в окне Схемы данных установите курсор мыши на ключевом поле НГ главной таблицы ГРУППА и перетащите это поле на поле НГ в подчиненной таблице СТУДЕНТ.
5. В открывшемся окне (рис. 3.2) Изменение связей в строке Тип отношения установится один-ко-многим . Отметьте доступный для этого типа отношений параметр Обеспечение целостности данных. Если таблицы ГРУППА и СТУДЕНТ пустые или ранее были заполнены данными, отвечающими требованиям целостности, между таблицами будет установлена связь, один ко многим . В противном случае появится сообщение о невозможности установить связь с проверкой целостности.
| Рис.3.2 Окно выбора параметров связи |
6. Установите флажки каскадное обновление связанных полей и каскадное удаление связанных записей , тогда будет обеспечена автоматическая корректировка данных для сохранения целостности во взаимосвязанных таблицах.
7. Установите связи по простому ключу для других пар таблиц: КАФЕДРА ->ПРЕПОДАВАТЕЛЬ (ключ ККАФ), ПРЕДМЕТ-> ИЗУЧЕНИЕ (ключ КП), ПРЕПОДАВАТЕЛЬ -> ИЗУЧЕНИЕ (ключ ТАБН), ГРУППА -> ИЗУЧЕНИЕ (ключ НГ).
8. Установите связь по составному ключу НГ+НС между таблицами СТУДЕНТ -> УСПЕВАЕМОСТЬ. Для этого в главной таблице СТУДЕНТ выделите оба этих поля, удерживая клавишу , и перетащите оба поля на поле НГ в подчиненной таблице УСПЕВАЕМОСТЬ.
9. В окне Изменение связи для поля НС главной таблицы Таблица | запросвыберите соответствующее поле подчиненной таблицы Связанная таблица | запрос. В этом же окне установите режим Обеспечение целостности данных и другие параметры связи.
10. Аналогично по составному ключу НГ + КП + ТАБН + ВИДЗ установите связи между парой таблиц ИЗУЧЕНИЕ -> УСПЕВАЕМОСТЬ.
11. Разместите таблицы в окне схемы данных в соответствии с их относительной подчиненностью, перемещая и изменяя их размеры, как показано на рис. 3.3.
| Рис.3.3 Схема данных базы данных |
Упражнение 7. Проверка поддержания связной целостности
Проверим, как влияют установленные ранее параметры поддержания целостности при внесении изменений в таблицы ГРУППА, СТУДЕНТ, связанные одно-многозначными отношениями.
1. Откройте таблицы ГРУППА и СТУДЕНТ в режиме таблицы.
2. Измените значение ключевого поля НГ (номер группы) в записи главной таблицы ГРУППА, которая имеет подчиненные записи. Для завершения режима редактирования перейдите к другой записи. Убедитесь, что в записях подчиненной таблицы СТУДЕНТ автоматически изменилось значение поля НГ для студентов, обучающихся в этой группе. Происходит изменение, поскольку был установлен параметр, задающий каскадное обновление связанных полей. Открывая другие подчиненные таблицы, убедитесь, что каскадное обновление распространяется также на подчиненные таблицы следующих уровней: ИЗУЧЕНИЕ и УСПЕВАЕМОСТЬ.
3. Подготовьте новую запись в подчиненной таблице СТУДЕНТ со значением ключа связи НГ, не представленным в главной таблице ГРУППА. Убедитесь, что включить такую запись в подчиненную таблицу невозможно.
4. В главной таблице ГРУППА выделите запись, у которой есть подчиненные, и выполните команду Правка | Удалить. Убедитесь, что вместе с удалением записи в главной таблице ГРУППА удаляются все подчиненные записи, так как был установлен параметр каскадного удаления связанных записей.
Ввод и корректировка данных во взаимосвязанных таблицах
Если для одно-многозначных связей, установленных в схеме данных, не задан параметр обеспечения целостности данных, то пользователь при добавлении, удалении записей и изменении значений ключевых полей должен сам отслеживать непротиворечивость данных и целостность связей.
Если установлен только флажок Обеспечение целостности данных, то Access разрешает пользователю:
1. добавить запись в таблицу, которая не подчинена никакой другой таблице в схеме данных (находится на верхнем уровне иерархии);
2. добавить запись в подчиненную таблицу, когда в главной имеется запись с вводимым значением ключа связи;
3. удалить запись в таблице, если нет связанных с ней записей в подчиненных таблицах.
Если наряду с флажком Обеспечение целостности данных установлен флажок каскадное удаление связанных записей , то пользователь может удалить запись. При этом автоматически будут удалены и все подчиненные записи.
Если наряду с параметром Обеспечение целостности данных задан параметр каскадное обновление связанных полей, то пользователь может изменять значение ключевого поля. При этом автоматически будут обновлены значения внешних ключей и во всех связанных подчиненных записях.
Таким образом, при загрузке таблиц базы данных при установленных параметрах целостности система отслеживает корректность связей для вводимых записей.
В Access 2000 имеется возможность при просмотре таблицы отображать записи подчиненных таблиц. Поэтому пользователь может контролировать корректность связей в отображаемой цепочке таблиц при добавлении, удалении и корректировке записей.
Удаление связи
Определение связей между таблицами
Определение связей между таблицами
Удаление поля из таблицы в режиме таблицы
Изменение имени поля в таблице
Изменение типа данных поля
1 Если таблица уже содержит данные, то до изменения типов данных и размеров полей, сделайте ее копию.
2 Откройте таблицу в режиме конструктора.
3 Выберите ячейку в столбце Тип данных поля, которое необходимо изменить, нажмите кнопку раскрытия списка, а затем выберите новый тип данных.
4 На панели инструментов нажмите кнопку Сохранить .
Предупреждение. Если в результате изменений данные будут потеряны, то до сохранения изменений на экран выдается сообщение об имевших место ошибках. Для отмены преобразований нажмите кнопку Отменить. Для сохранения изменений и продолжения работы нажмите кнопку OK.
Изменение имени поля никак не влияет на содержащиеся в нем данные, но оно может повлечь за собой изменение других частей базы данных. Если какие-либо объекты базы данных содержат ссылки на поле, имя которого изменилось, то в них тоже необходимо внести соответствующие исправления.
1 Откройте таблицу в режиме конструктора.
2 Измените имя поля
1 Откройте таблицу в режиме таблицы.
2 Выберите область выделения поля столбца, которое необходимо удалить.
3 В меню Правка выберите команду Удалить столбец.
· Ссылки на удаленное поле, содержащиеся в других объектах базы данных, также необходимо удалить. Например, если в отчете содержится элемент управления, связанный с удаленным полем, то невозможно будет найти данные из этого поля, и на экран будет выдано соответствующее сообщение.
· Нельзя удалить поле, которое является частью отношения. Сначала необходимо удалить связи.
После создания различных таблиц, содержащих данные, относящиеся к различным аспектам базы данных, разработчик должен продумать, каким образом Microsoft Access будет объединять эти данные при их извлечении из базы данных. Первым шагом при этом является определение связей между таблицами. После этого становится возможным создание запросов, форм и отчетов, в которых выводятся данные из нескольких таблиц сразу.
2.3.1. Отображение окна “Схема данных”
1 Переключитесь в окно базы данных.
2 На панели инструментов нажмите кнопку Схема данных .
На экране появится окно схемы данных. Если макет связей был ранее сохранен, то он будет отображен на экране. В обратном случае появится диалоговое окно Добавление таблицы, в котором нужно выбрать таблицы или запросы для добавления в окно схемы данных.
1 Закройте все открытые таблицы. Создавать или изменять связи между открытыми таблицами нельзя.
2 Переключитесь в окно базы данных.
3 Нажмите кнопку Схема данных на панели инструментов.

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

Рис. 6. Диаалоговое окно Связи
8 В диалоговом окне Схема данных, связанные поля будут соединены линией (Рис. 7).
9 Для каждой пары таблиц, которые необходимо связать, выполните шаги 5-7.

Рис.7. Окно Схема данных
При закрытии окна схемы данных на экран будет выведено сообщение, нужно ли сохранять макет. Не зависимо от того, будет он сохранен или нет, связи, созданные в базе данных, будут сохранены.
· Если необходимо просмотреть все связи, определенные в базе данных, нажмите кнопку Показать все связи на панели инструментов. Для просмотра связей только для определенной таблицы выберите таблицу, а затем на панели инструментов нажмите кнопку Показать прямые связи .
· Если в структуру таблицы необходимо внести изменения, щелкните таблицу правой кнопкой и выберите команду Конструктор таблиц.
· Допускается определение связей не только для таблиц, но и для запросов. Однако для запросов целостность данных вовсе не обязательна.
1 Закройте все открытые таблицы. Удалять связи между открытыми таблицами нельзя.
2 Переключитесь в окно базы данных.
3 На панели инструментов нажмите кнопку Схема данных .
4 Если таблицы, в которых необходимо удалить связи, не отображены на экране, на панели инструментов нажмите кнопку Добавить таблицу и дважды щелкните имя каждой таблицы, которую необходимо добавить. Затем нажмите кнопку Закрыть.
5 Щелкните мышью линию связи, которую необходимо удалить (выбранная линия становится выделенной), а затем нажмите клавишу DELETE.
Дата добавления: 2015-05-29 ; Просмотров: 667 ; Нарушение авторских прав?
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Как удалить схему данных в access
Про связанные таблицы я уже упоминал неоднократно, но как создать эти самые связи — пока еще не сказал. Теперь настало время посвятить Вас в таинство связывания таблиц, присущее всем базам данных.
Для этой цели в Access есть специальное диалоговое окно, называемое Схема данных. Для его открытия достаточно нажать на одноименную кнопку в панели инструментов, или воспользоваться командой Сервис — Схема данных.
Если до этого момента, связи между таблицами небыли заданы, то дополнительно будет открыто окно Добавление таблицы. В этом окне будут перечислены все уже имеющиеся в базе данных таблицы, из которых необходимо выбрать те, которые необходимы для включения в структуру межтабличных связей. Выполняется это выделением названия соответствующей таблицы и нажатием на кнопке Добавить. При необходимости можно выделись сразу несколько имен, удерживая при этом клавишу Ctrl.
В случае, если связи уже были заданы, для дополнения в схему данных новой таблицы нужно щелкнуть правой кнопкой мыши в поле окна схемы данных и в появившемся дополнительном контекстном меню выбрать пункт Добавить таблицу.
Добавив в окно схемы данных все необходимые таблицы, можно приступить к созданию связей между ними. Связь устанавливается путем простого перетаскивания имени поля, которое необходимо связать, из одной таблицы в другую. Поверх соответствующего поля, с которым необходимо создать связь.
Сразу после отпускания кнопки мыши, открывается диалоговое окно Связи, в котором можно более детально настроить свойства образующейся связи.
- Обеспечение условия целостности данных — флаг служит для защиты от случаев, когда при удалении записей из одной таблицы, связанные с ними данные в других таблицах останутся без изменения. Для создания связи с таким условием целостности необходимо, чтобы поле основной таблицы было ключевым (см. «Шаг 5 — Ключевые и уникальные поля») и оба поля имели одинаковый тип (про типы полей говорилось в «Шаг 3 — Свойства и типы полей»).
- Каскадное обновление связанных полей — установка этого флага обеспечит одновременное обновление данных во всех подчиненных таблицах, при их добавлении или редактировании в главной таблице. Например, если будет изменен код книги в таблице Книги, то это приведет к автоматическому изменению этого значения в таблицах Цитаты и КнигАвторы.
- Каскадное удаление связанных полей — это свойство действует аналогично каскадному обновлению, но приводит к удалению данных из всех подчиненных таблиц, при их удалении в главной таблице.
Нажатие на кнопку Объединение позволит более точно установить параметры объединения записей, выбором одного из трех возможных вариантов. Тексты каждого из переключателей — говорят сами за себя, поэтому внимательного прочтения содержимого окна будет вполне достаточно для выбора нужного положения.
Все созданные связи прописываются и сохраняются в структуре БД. Само окно Схема данных служит для более наглядного отображения этих связей. Чтобы удалить уже имеющуюся связь или отредактировать ее свойства, необходимо установить указатель на линию связи и нажать правую кнопку мыши для вызова соответствующего контекстного меню.
Как удалить связи в access
Цель изучения темы: научиться выбирать ключевые поля для таблиц, освоить методику установки связей между таблицами и осуществлять их корректировку.
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 показана схема связей для рассматриваемого примера.

Рис. 65. Вариант сформированных связей между таблицами в базе данных
1. Каки образом можно удалить имеющуюся связь между таблицами?
2. Что обозначает символ
в таблице, которая открыта в режиме Таблица?
3. Что обозначает символ
на линии связи между таблицами в окне «Схема связей»?
Связывание таблиц. целостность данных.
Access позволяет строить реляционные базы данных, отдельные таблицы которые могут быть связаны между собой отношениями.
Механизм описания логических связей между таблицами в Access реализован в виде объекта, называемого Схемой данных. Перейти к созданию связей можно командой Сервис/ Схема данных. Чтобы добавить таблицы или запросы в окно Схема данных, необходимо выбрать опцию Добавить таблицу в меню Связи или нажать кнопку Отобразить таблицу, расположенную в строке пиктограмм. Если данные, сохраненные в различных таблицах, пребывают в смысловой взаимосвязи, то эту связь следует явным образом оформить, указав используемые при этом поля. Организация связи между таблицами выполняется посредством указания связываемых полей данных, присутствующих в обеих таблицах. С помощью мыши поле, которое следует использовать для установки связи, из списка одной таблицы переносится к соответствующему полю другой таблицы. После переноса полей на экране появится диалоговое окно Изменение связей, в котором будет предложена связь между таблицами.

Рис.. Объявление связи между таблицами.
Для данных таблиц будет установлено отношение типа Один-ко-многим, что отразится в области Тип отношения. Это означает, что одной записи главной или первичной таблицы Предлагаемые модели могут быть поставлены в соответствие несколько записей связанной (подчиненной) таблицы Клиенты. Данное отношение является наиболее распространенным в реляционных базах данных. Далее посредством установления типа отношений между таблицами необходимо определить дополнительные параметры связи (Обеспечение целостности данных, Каскадное обновление связанных полей, Каскадное удаление связанных полей).
После нажатия кнопки Создать в окне Схема данных будет графически показана созданная связь между таблицами Предлагаемые модели и Клиенты.
Примечание. Поля, через которые осуществляется связь, в первичной и связанной таблицах могут иметь разные имена. Необходимым условием установления связи является совпадение типа данных и значений характеристик (в особенности размера).
Установление опции проверки ссылочной целостности Обеспечение целостности данных обеспечивает проверку ссылочной целостности связи между обеими таблицами. Эта проверка позволяет избежать ряд ошибок, допускаемых при удалении записей из первичной таблицы и вводе информации в связанную таблицу. Благодаря проверке ссылочной целостности можно избежать следующих ошибочных ситуаций:
- Добавления в связанную таблицу записей, для которых отсутствует соответствующая запись в первичной таблице;
- Осуществления изменений в главной таблице, которые приведут к появлению «осиротевших» записей в связанной таблице;
- Удаления записей в главной таблице, на которые ссылаются записи из связанной таблице.
Примечание. Между двумя таблицами может быть объявлено только одно отношение. Если дается определение другому отношению между теми же таблицами, то оно заменит уже имеющееся отношение.
Что означает целостность данных?
Под целостностью данных понимается выполнение логических ограничений на данные. Эти ограничения вытекают из свойств предметной области и свойств модели данных. Одни ограничения определяются неявно и зависят от выбранной модели данных. Другие ограничения указываются пользователем явно с использованием средств Access. К таким ограничениям относятся ограничения на область допустимых значений атрибутов таблиц, которые задаются при определении типов данных и характеристик полей таблицы. Второй тип ограничений – это ограничения на связи между таблицами. Рассмотрим особенности задания таких ограничений.
Целостность данных означает систему правил, используемых в Access для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных. Установить целостность данных можно, если выполнены следующие условия.
- Связанное поле главной таблицы является ключевым полем или имеет уникальный индекс.
- Связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связанно с числовым полем формата Длинное целое. А также поле счетчика можно связать с числовым полем, если в обоих полях для свойства Размер поля задано значение Код репликации.
- Обе таблицы принадлежат одной базе данных Access. Если таблицы являются связанными, то они должны быть таблицами Access. Для установки целостности данных база данных, в которой находится таблица, должна быть открыта. Для связанных таблиц из баз данных других форматов установить целостность данных невозможно.
Установив целостность данных, необходимо следовать следующим правилам.
- Невозможно ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблицы. Однако в поле внешнего ключа возможен ввод пустых значений, показывающих, что записи не являются связанными. Например, нельзя сохранить запись, регистрирующую заказ на несуществующую модель машины TОYОТА, но можно создать запись для заказа, в котором клиент пока не определился, какую машину он предпочитает, если ввести пустое значение в поле Код модели.
- Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице. Например, невозможно удалить запись из таблицы Модели, если в таблицы Клиенты имеются заказы, относящиеся к данной модели.
- Невозможно удалить значение ключевого поля в главной таблице, ели существуют записи, связанные с данным значением. Например, невозможно изменить код модели в таблице Модели, если в таблице Клиенты имеются заказы, относящиеся к этой модели.
Чтобы наложить эти правила на конкретную связь, при ее создании следует установить флажок Обеспечение целостности данных. Если данный флажок установлен, то любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет. Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажки Каскадное обновление связанных полей и Каскадное удаление связанных полей. Если установлен флажок Каскадное обновление связанных полей, то при изменении ключевого поля главной таблицы автоматически изменяются соответствующие значения связанных записей. Если установлен флажок Каскадное удаление связанных полей, то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.
Статьи к прочтению:
Как связать таблицы в базе данных Microsoft Access 2016
Похожие статьи:
Целостность данных обеспечивается набором специальных предложений, называемых ограничениями целостности. Ограничения целостности обеспечивают…
1. 2. Для выполнения сортировки необходимо поместить курсор в любую ячейку поля, где будет происходить данная операция, и щелкнуть на одной из кнопок…