Информатика. Учебное пособие. Терехов А.В - 52 стр.

UptoLike

6.3.5. СВЯЗЬ МЕЖДУ ТАБЛИЦАМИ И ЦЕЛОСТНОСТЬ ДАННЫХ
Между одноименными полями двух таблиц в MS Access можно устанавливать связь. Это означает, что при
формировании запроса к этой паре таблиц Access сможет объединить строки таблиц, в которых значения поля совпадают. В
общем случае допускается связь по двум, трем и более одноименным полям (кроме того, Access позволяет вручную
установить связь между таблицами по разноименным полям, однако этой возможностью лучше не пользоваться).
Целостность данных. Итак, если установлена связь между двумя таблицами (автоматически или вручную), данные из
обеих таблиц можно объединять. Иногда этого достаточно, однако при создании серьезных баз данных придется
позаботиться о дополнительных средствах контроля связанных данных, вводимых в разные таблицы.
Механизм, который обеспечивает согласованность данных между двумя связанными таблицами, называется так:
поддержка целостности данных.
Если пользователь включил механизм поддержки целостности, он должен одновременно указать тип связи: Один-к-
Одному или Один-ко-Многим.
Целостность данных означает:
1) в связанное поле подчиненной таблицы можно вводить только те значения, которые имеются в связанном поле
главной таблицы;
2) из главной таблицы нельзя удалить запись, у которой значение связанного поля совпадает хотя бы с одним
значением того же поля в подчиненной таблице.
При попытке нарушить эти запреты, MS Access выдает сообщение об ошибке.
Каскадное обновление и удаление записей. Включив механизм поддержки целостности, вы можете (но не обязаны)
потребовать, чтобы при модификации данных система запускала следующие процессы:
каскадное обновление связанных полей;
каскадное удаление связанных записей.
Каскадное обновление означает, что изменение значения связанного поля в главной таблице автоматически будет
отражено в связанных записях подчиненной таблицы.
Каскадное удаление означает, что при удалении записи из главной таблицы, из подчиненной таблицы будут удалены
все записи, у которых значение связанного поля совпадает с удаляемым значением.
Порядок создания связей между таблицами. Когда между двумя таблицами устанавливается связь, величины одной
таблицы ставятся в соответствие величинам из другой таблицы. Чтобы создать связь, в одной или обеих таблицах должно
быть поле, принимающее уникальные значения во всех записях. В родительской таблице поле связи обычно индексировано
(как правило, оно является ключевым полем), и в соответствие ему ставится поле дочерней таблицы (оно называется внешний
ключ).
Создавая связь, необходимо в окне диалога Связи настроить режим, обеспечивая целостности данных. Обеспечение
целостности позволяет избежать наличия несвязанных данных в дочерней таблице, которые образуются в том случае, когда
для какой-либо записи нет соответствия в поле родительской таблицы. Если установлен флажок Каскадное обновление
связанных полей, то при изменении величины связанного поля в родительской таблице изменяются величины полей и во всех
соответствующих записях дочерней таблицы. Если установлен флажок Каскадное удаление связанных записей, то при
удалении записи в родительской таблице будут удалены и соответствующие записи в дочерней таблице. Если эти флажки не
были установлены, а обеспечение целостности данных, тем не менее, было включено, то вы не сможете изменить
идентификационное поле родительской таблицы, а также не сможете удалить в ней запись, если в дочерней таблице имеются
связанные с этой записью данные.
Для создания связей между таблицами необходимо выполнить следующие действия.
1. Активизировав окно базы данных, щелкните мышью на кнопке Схема данных панели инструментов, чтобы открыть окно Схема
данных или выполните команду Сервис > Схема данных.
2. Щелкните на поле родительской таблицы и с помощью мышки «дотяните» связь от него до поля дочерней таблицы.
3. Откроется окно диалога Связи. В его нижней половине при необходимости включите режим обеспечения
целостности данных и настройте правила обновления дочерней таблицы.
4. Для завершения процесса создания связи щелкните на кнопке ОК и закройте окно Схема данных.
Связь отображается в виде линии, соединяющей две таблицы. Любую связь можно выделить и удалить нажатием
клавиши Delete. Кроме того, можно щелкнуть на линии правой кнопкой мыши, чтобы раскрыть контекстное меню, а затем
выбрать команду Изменить связь, чтобы открыть окно диалога Связи. Кнопка окна диалога Связи позволяет настроить тип
объединения. Можно щелкнуть на этой кнопке, чтобы настроить для запросов применяемый по умолчанию метод
объединения.
6.3.6. ЗАПРОС-ВЫБОРКА В MS ACCESS
В общем случае запросэто вопрос о данных. Существуют разные типы запросов (на добавление записей, изменение,
объединение), рассмотрим наиболее употребляемый запрос-выборку.
Запрос-выборкаэто производная таблица, которая содержит те же структурные элементы, что и обычная таблица
(столбцы-поля и строки), и формируется на основе фактических данных системы. При создании макета запроса (т.е.
производной таблицы) в общем случае необходимо выполнить четыре базовые операции:
1) указать системе, какие поля и из каких таблиц мы хотим включить в запрос;