Связывание таблиц и удаление связей в Microsoft Access
Papa-jobs.ru

Ремонт телефонов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2) На вкладке Конструктор нажмите кнопку Страница свойств .

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

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

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

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

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

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

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

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

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

Создание, изменение или удаление связи

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

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

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

Создание связи между таблицами с помощью вкладки «Схема данных»

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

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

В диалоговом окне Добавить таблицу отображены все таблицы и запросы, содержащиеся в базе данных. Чтобы отобразить только таблицы, выберите пункт Таблицы. Чтобы отобразить только запросы, выберите пункт Запросы. Чтобы отобразить и таблицы и запросы, выберите пункт Таблицы и запросы.

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

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

Читать еще:  Прошивка или перепрошивка приставки MAG-250

Откроется диалоговое окно Изменение связей.

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

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

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

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

1. Установите указатель на линии связи и щелкните линию, чтобы выделить ее. При выделении линия связи становится толще.

2. Дважды щелкните выделенную линию связи.

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

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

ЗАДАНИЕ 2. ЗАПРОСЫ

Типы запросов (MDB)

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

Запросы на выборку

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

Запросы с параметрами

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

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

Перекрестные запросы

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

Запросы на изменение

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

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

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

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

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

Запросы SQL

Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Язык SQL (Structured Query Language) используется при создании запросов, а также для обновления и управления реляционными базами данных, такими как базы данных Microsoft Access.

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

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

Примеры условий запроса

Последнее изменение этой страницы: 2016-04-26; Нарушение авторского права страницы

ИНФОФИЗ – мой мир.

Весь мир в твоих руках – все будет так, как ты захочешь

Адрес: г. Новороссийск
Телефон: Номер телефона
Почта: kalinelena@yandex.ru

Весь мир в твоих руках – все будет так, как ты захочешь

Как сказал.

Жизнь — как вождение велосипеда. Чтобы сохранить равновесие, ты должен двигаться

Тестирование

Урок 37. Лабораторная работа № 24. Создание связей в базе данных

Лабораторная работа № 24

Тема: Создание связей в базе данных.

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

Оборудование: ПК, Windows XP Professional, MS Access 2007.

1 В соответствие с заданием создать и заполнить таблицы БД “Фирма”, установить связи между ними.

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

3 Ответить на контрольные вопросы.

4 Сделать вывод о проделанной работе.

Порядок выполнения:

1. Запустите Microsoft Access.

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

Для этого запустите Access, создайте новую базу данных, задайте имя базы данных Фирма, выберите место сохранения Вашей базы данных (диск Х:) и нажмите кнопку Создать. (подробный порядок действий описан в лабораторной работе № 23)

3. Создайте в режиме Конструктор 3 таблицы: Сотрудники, Клиенты и Заказы . Если все сведения поместить в одной таблице, то она станет очень неудобной для работы. В ней начнутся повторы данных. Всякий раз, когда сотрудник Иванов будет работать с какой-либо фирмой, придется прописывать данные о сотруднике и клиенте заново, в результате чего можно допустить множество ошибок. Чтобы уменьшить число ошибок, можно исходную таблицу разбить на несколько таблиц и установить связи между ними. Это будет более рационально.

Таблица Сотрудники

Таблица Клиенты

Таблица Заказы

4. Установите ключевые поля.

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

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

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

1) в таблице Сотрудники ключевое поле Код сотрудника

2) в таблице Клиенты ключевое поле Код клиента

3) в таблице Заказы ключевое поле Код заказа

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

5. Создайте раскрывающиеся списки с помощью Мастера подстановок.

Таблица Заказы содержит поля Код сотрудника и Код клиента. При их заполнении могут возникнуть некоторые трудности, так как не всегда удается запомнить все предприятия, с которыми работает фирма, и всех сотрудников с номером кода. Для удобства можно создать раскрывающиеся списки с помощью Мастера подстановок.

Откройте таблицу Заказы в режиме Конструктора. Для поля Код клиента выберите тип данных Мастер подстановок.

В появившемся окне выберите команду Объект “столбец подстановки” будет использовать значения из таблицы или запроса и щелкните на кнопке Далее.

В списке таблиц выберите таблицу Клиенты и щелкните на кнопке Далее.

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

Выберите порядок сортировки списка по полю Название компании и нажмите кнопку Далее.

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

На последнем шаге Мастера подстановок замените при необходимости надпись для поля подстановок и щелкните на кнопке Готово.

Сохраните полученный результат.

6. Аналогичным образом создайте раскрывающийся список для поля Код сотрудника.

Теперь в списке таблиц выберите таблицу Сотрудники

В списке Доступные поля выберите поля Код сотрудника, Фамилия, Имя.

Порядок сортировки списка выберите по полю Фамилия.

Все остальные действия проводятся аналогично пункту 6.

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

Существует несколько типов отношений между таблицами:

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

при отношении «один-к-многим» каждой записи в первой таблице соответствует несколько записей во второй, но запись во второй таблице не может иметь более одной связанной записи в первой таблице;

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

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

Выполните команду вкладки Лента Работа с базами данных кнопка Схема данных

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

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

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

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

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

Аналогично измените связь между таблицами Клиенты и Заказы.

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

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

7. В таблицу Сотрудники внесите данные о 7 работниках.

8. В таблицу Клиенты внесите данные о 7 предприятиях, с которыми работает данная фирма.

9. В таблице Заказы оформите 5 заявок, поступивших на фирму.

10. Покажите работу преподавателю.

11. Ответьте на контрольные вопросы.

Контрольные вопросы:

1 С помощью чего можно создавать таблицы?

2 Что такое ключевое поле?

3 Как установить несколько ключевых полей?

4 Как установить связи между таблицами?

5 Какие существуют отношения между таблицами?

6 Что означают на схеме данных «1» и «∞»?

7 Зачем нужен Мастер подстановок?

8 Для чего нужен механизм запросов?

Методические указания к лабораторной работе № 24 Создание связей в базе данных

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

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

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

Рис.. Объявление связи между таблицами.

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

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

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

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

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

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

Что означает целостность данных?

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

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

  • Связанное поле главной таблицы является ключевым полем или имеет уникальный индекс.
  • Связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связанно с числовым полем формата Длинное целое. А также поле счетчика можно связать с числовым полем, если в обоих полях для свойства Размер поля задано значение Код репликации.
  • Обе таблицы принадлежат одной базе данных Access. Если таблицы являются связанными, то они должны быть таблицами Access. Для установки целостности данных база данных, в которой находится таблица, должна быть открыта. Для связанных таблиц из баз данных других форматов установить целостность данных невозможно.

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

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

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

Статьи к прочтению:

Как связать таблицы в базе данных Microsoft Access 2016

Похожие статьи:

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

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

Работа с СУБД MS Access

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

Целостность данных – это набор правил, гарантирующих, что Access будет работать только с непротиворечивыми данными и разрешёнными операциями.

Активизировать команду Сервис Схема данных в диалоговом окне Схема данных:

  1. Щёлкнуть по кнопке Добавить таблицу.
  2. В диалоговом окне из списков выбрать таблицы, между которыми создаются связи. Закрыть окно Добавление таблицы. Искомые таблицы появятся в окне Схема данных.
  3. Выделить в 1-й таблице ключевое поле и с помощью мыши перетащить его на одноименное поле 2-й таблицы. При отпускании кнопки мыши откроется диалоговое окно Связи.
  4. Установить флаг Обеспечение целостности данных.
  5. Щёлкнуть по кнопке Создать. Появится связь 1:1.

Предположим, что требуется установить связь между таблицами “Кафедра” и “Преподаватель” через поле ККАФ (код кафедры). В таблице “Кафедра” это поле является уникальным ключом , а в таблице “Преподаватель” – внешним ключом. Если схема данных создается заново, то при нажатии на кнопку “Схема данных” поверх окна схемы данных появится окно “Добавление таблицы“. В этом окне следует выделить требуемые таблицы и нажать “Добавить“( рис. 6.5)

В результате в окно схемы данных будут добавлены графические образы двух таблиц:

Необходимо перетащить мышью поле ККАФ таблица “Кафедра” на поле ККАФ таблицы “Преподаватель“. В открывшемся окне “Изменение связей” следует установить флажок “Обеспечение целостности данных“. В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы “Преподаватель” будет введено значение, отсутствующее в поле ККАФ базовой таблицы “Кафедра” ( рис. 6.6).

Обратите внимание, что Access автоматически определил тип связи как “один-ко-многим” ( рис. 6.7).

Можно также установить флажки “каскадное обновление связей” и “каскадное удаление связей“. В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах , если будут изменены записи в базовой таблице.

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

Для установления связей по составному ключу необходимо в окне “Изменение связей” в полях “Таблица/Запрос” и “Связанная таблица/запрос” вручную выбрать из списков пары связываемых полей. На рис. 6.9 показан пример связи по составному ключу .

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

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

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

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

Установить флаг Обеспечение целостности данных.

Установить дополнительно флаги Каскадное обновление связанных полей и Каскадное удаление связанных записей.

Работа с запросами

Запрос – это отбор записей в разнообразных формах, в соответствии с выбранными условиями.

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

Виды запросов

  • На выборку;
  • Запрос с параметром (критерий задаёт сам пользователь)
  • Итоговые запросы (производят вычисления по заданному полю и выдают результат);
  • Запросы на изменение (позволяют автоматизировать – заполнение полей таблиц);
  • Перекрёстные запросы (позволяют создавать результирующие таблицы на основе результатов расчётов, полученных при анализе группы таблиц)
  • Специфические запросы – запросы к серверу БД, написанные на языке запросов SQL

Для подготовки используем закладку Создание и выбираем способ создания запроса.

Запросы и фильтры

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

Основные отличия запросов и фильтров заключаются в следующем.

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

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

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

Работа с формами

  • Вводить данные в таблицы БД без непосредственного доступа к самим таблицам;
  • Выводить результаты работы запросов в виде красиво оформленных форм.

Существует два вида формирования структуры форм:

  • На основе таблицы;
  • На основе запроса.
  • Возможен и комбинированный (творческий) подход.

Работа с отчётами

Отчёты служат для форматированного вывода данных на печатающее устройство .

Здесь существуют средства ручного, автоматического и автоматизированного проектирования.

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

Мастер отчётов работает в шесть этапов.

  1. выбор таблицы или запросов, на которых отчёт базируется; выбор полей, отражаемых в отчёте;
  2. выбор полей группировки (уровней и интервалов группировки);

Более подробно работу с СУБД Microsoft Access можно изучить по специальной литературе, а практические навыки приобрести, выполнив лабораторные работы по созданию баз данных.

Краткие итоги

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

В лекции рассмотрены основные этапы работы с этими объектами.

Ссылка на основную публикацию
Adblock
detector