Глава 3
В режиме
каскадного удаления связанных записей
при удалении записи из глав-
ной таблицы будут автоматически удаляться все связанные записи в подчинен-
ных таблицах. При удалении записи из главной таблицы выполняется каскадное
удаление подчиненных записей на всех уровнях, если этот режим задан на каж-
дом уровне.
В режиме
каскадного обновления связанных полей
при изменении значения клю-
чевого поля в записи главной таблицы Access автоматически изменит значения в
соответствующем поле в подчиненных записях.
Установить в окне
Изменение
связей
(Edit Relationships) (см. рис. 3.51) флажки
каскадное
обновление
связанных
полей
(Cascade Update Related Fields) и
кас-
кадное
удаление
связанных
записей
(Cascade Delete Related Records) можно толь-
ко после задания параметра обеспечения целостности данных.
После создания связей изображения таблиц могут перемещаться в пределах рабо-
чего пространства окна схемы данных. Перемещения и изменения размеров окон со
списками полей таблиц в окне схемы данных осуществляются принятыми в
Windows способами. На рис. 3.54 показана схема базы данных "Поставка товаров",
где таблицы размещены в соответствии с размещением информационных объектов
канонической модели данных, полученной при проектировании базы данных в
гла-
ве 2
(см. рис. 2.18).
На рис. 3.54 в созданной схеме данных БД "Поставка товаров" все связи отмечены
символами
1
или
∞
. Это свидетельствует о том, что одно-многозначные связи уста-
новлены правильно (по простому или составному ключу), и для них задан параметр
обеспечения целостности данных.
Рис. 3.54.
Схема данных БД "Поставка товаров"
Создание базы данных
151
Задание 3.7. Проверка поддержания целостности в базе данных
Если в схеме данных определена связь таблиц, и для нее установлены параметры
обеспечения целостности, при вводе и корректировке данных во взаимосвязанных
таблицах пользователь не сможет ввести записи, нарушающие требования связной
целостности, рассмотренные в предыдущем разделе. Проверьте, как обеспечивается
поддержание целостности при внесении изменений в таблицы ПОКУПАТЕЛЬ —
ДОГОВОР, связанные одно-многозначными отношениями.
Проверка автоматического поддержания целостности
при изменении значений ключей связи в таблицах
Откройте главную таблицу связи ПОКУПАТЕЛЬ в режиме таблицы. Измените зна-
чение ключевого поля
КОД_ПОК
(код покупателя) в одной из записей. Убедитесь, что
во всех записях подчиненной таблицы ДОГОВОР для договоров, заключенных
с этим покупателем, автоматически также изменится значение поля
КОД_ПОК
. Изме-
нение происходит, т. к. был установлен флажок
каскадное
обновление
связанных
полей
(Cascade Update Related Fields) (см. рис. 3.51). Причем это изменение осуще-
ствляется мгновенно, как только изменяемая запись перестает быть текущей.
Проверка при добавлении записей в подчиненную таблицу
Убедитесь, что невозможно включить новую запись в подчиненную таблицу
ДОГОВОР со значением ключа связи
КОД_ПОК
, не представленным в таблице
ПОКУПАТЕЛЬ. Измените значение ключа связи
КОД_ПОК
в подчиненной таблице
ДОГОВОР на значение, не существующее в записях таблицы ПОКУПАТЕЛЬ, и
убедитесь, что такое изменение запрещено, т. к. при поддержании целостности не
может существовать запись подчиненной таблицы с ключом связи, которого нет
в главной таблице.
Проверка при удалении записи в главной таблице
Убедитесь, что вместе с удалением записи в главной таблице ПОКУПАТЕЛЬ уда-
ляются все подчиненные записи в таблице ДОГОВОР, т. к. был установлен флажок
каскадное
удаление
связанных
записей
(Cascade Delete Related Records).
Заметим, если каскадное удаление не разрешено, невозможно удалить запись
в главной таблице, если имеются связанные с ней записи в подчиненной.
Контрольные вопросы
1.
В файле какого типа сохраняется база данных Access 2013?
2.
Какие объекты представлены в области навигации базы данных?
3.
Чем определяется состав полей таблицы?
4.
Чем определяется структура таблицы?
5.
В каком режиме наиболее полно определяются параметры структуры таблицы?
152
Глава 3
6.
В каком свойстве поля задаются ограничения на его значения?
7.
На что влияет свойство
Формат
поля
(Format)?
8.
Что формирует система на основе заданного первичного ключа?
9.
Для чего служат индексы таблицы?
10.
Значение какого свойства поля используется при формировании заголовка
столбца таблицы?
11.
Может ли ключ иметь повторяющиеся значения?
12.
Можно ли в строке таблицы не вводить значение ключа?
13.
Могут ли в таблице повторяться значения в одном из полей составного ключа?
14.
В каком режиме осуществляется ввод данных в таблицу?
15.
Назовите кнопки перехода по записям таблицы.
16.
В каком режиме визуально выполняется настройка макета таблицы?
17.
С помощью какой команды выполняется внедрение объекта в поле с типом
данных OLE?
18.
Для чего создается схема данных базы Access?
19.
В каких отношениях должны находиться таблицы, чтобы для них можно было
установить параметры поддержания связной целостности данных?
20.
По какому полю должна быть установлена связь между таблицами, чтобы по-
явилась возможность установить параметры поддержания связной целостности
данных?
21.
Можно ли в подчиненную таблицу ДОГОВОР ввести запись о договоре с поку-
пателем, который не представлен в таблице ПОКУПАТЕЛЬ, если для этих таб-
лиц обеспечивается целостность данных?
22.
Можно ли удалить запись о покупателе, если в таблице ДОГОВОР представле-
ны записи о договорах с этим покупателем и не установлен флажок
каскадное
удаление
связанных
записей
(Cascade Delete Related Records)?
23.
Что произойдет при изменении значения ключевого поля в главной таблице,
если для ее связи с подчиненной установлен флажок
каскадное
обновление
связанных
полей
(Cascade Update Related Fields)?
24.
Для чего предназначен значок + (плюс) в левом столбце открытой таблицы?
25.
Какая команда позволяет открыть в главной таблице связанные записи нужной
подчиненной таблицы?
26.
Какое свойство таблицы определяет подтаблицу, из которой выводятся связан-
ные записи при щелчке на значке + (плюс) в левом столбце открытой таблицы?
Ответы
1.
ACCDB.
2.
Таблицы, запросы, формы, отчеты, макросы и модули.
Создание базы данных
153
3.
Реквизитным составом информационного объекта (сущности) информационно-
логической модели предметной области.
4.
Составом ее полей, для которых заданы имя, тип данных и свойства.
5.
В режиме конструктора.
6.
Правило проверки
(Validation Rule).
7.
На вид отображаемого данного.
8.
Уникальный индекс с именем
PrimaryKey
.
9.
Для более быстрого поиска записи (записей) по заданному значению индекс-
ного поля (полей).
10.
Подпись
(Caption).
11.
Нет.
12.
Нет.
13.
Да.
14.
В режиме таблицы.
15.
Первая
запись
(First Record),
Предыдущая
запись
(Previous Record),
Сле-
дующая
запись
(Next Record),
Последняя
запись
(Last Record),
Новая
(пус-
тая)
запись
(New (blank) Record).
16.
В режиме таблицы.
17.
С помощью команды контекстного меню
Вставить объект
(Insert Object).
18.
Схема данных наглядно отображает связи таблиц базы. Установленные в схеме
связи автоматически используются при обработке связанных таблиц. В схеме
данных можно запросить проверку связной целостности данных, задать способ
объединения записей.
19.
1 : M или 1 : 1.
20.
По первичному (простому или составному) ключу главной таблицы или уни-
кальному индексу главной таблицы.
21.
Нет.
22.
Нет.
23.
Обновятся значения связанных полей во всех подчиненных записях.
24.
Для открытия записей выбранной подтаблицы.
25.
Подтаблица
(Subdatasheet), размещенная в списке кнопки
Дополнительно
(More) на вкладке ленты
Главная
(Home) в группе
Записи
(Records).
26.
Имя
подтаблицы
(Subdatasheet Name).
154
Do'stlaringiz bilan baham: |