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

  • связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;
  • связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем поле в свойстве Размер поля (FieldSize) указано значение Длинное целое (Long Integer), или в обоих полях свойство Размер поля (FieldSize) имеет значение Код репликации (Replication >

Таблицы одного приложения могут содержаться и в нескольких файлах базы данных (см. также гл. 3).

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

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

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

Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажки каскадное обновление связанных полей (Cascade Update Related Fields) и каскадное удаление связанных записей (Cascade Delete Related Records). Если установлен флажок каскадное обновление связанных полей (Cascade Update Related Fields), то при изменении ключевого поля главной таблицы автоматически будут изменены и соответствующие значения поля связанных записей. Если установлен флажок каскадное удаление связанных записей (Cascade Delete Related Records), то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.

Схема данных в Access

Лекция 12 (Базы данных)

Темы: схема данных в Access, модификация структуры базы данных.

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

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

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

Кроме указанных типов связей в Access существуют связи-объединения, обеспечивающие объединение записей таблиц не по ключевому полю, а в следующих случаях:

• связываемые записи в обеих таблицах совпадают (связи устанавливаются по умолчанию);

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

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

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

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

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

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

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

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

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

• обе таблицы сохраняются в одной базе данных Access;

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

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

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

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Студент — человек, постоянно откладывающий неизбежность. 10584 — | 7334 — или читать все.

78.85.5.224 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

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

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

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

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

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

  • Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице.

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

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

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

Ввод и проверка данных

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

Навигация по таблице

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

Рис. 2.28.Кнопки навигации в окне таблицы

Таблица 2.5.Кнопки перемещения по записям таблицы

КнопкаОписание
|Перемещение на следующую запись таблицы
>|Перемещение на последнюю запись таблицы
>*Создание новой записи

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

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

Таблица 2.6.Навигация по таблице с помощью клавиш

Сочетания клавишДействие
Переход в поле номера записи
, илиПереход к следующему полю
Переход к последнему полю в текущей записи
+ илиПереход к предыдущему полю
Переход к первому полю в текущей записи в режиме перемещения
Переход к текущему полю в следующей записи
+Переход к текущему полю в последней записи
+Переход к последнему полю в последней записи
Переход к текущему полю в предыдущей записи
+Переход к текущему полю в первой записи
+Переход к первому полю в первой записи
На один экран вниз

На один экран вверх

+

На один экран вправо+

На один экран влево

Рис. 2.30.Выбор панели инструментов Формат (режим таблицы)

Рис. 2.31.Список полей на панели инструментов Формат (режим таблицы)

Перемещение в режиме Таблицы по полям в длинных записях можно осуществлять с помощью поля со списком Перейти к полюпанели инструментов Формат (режим таблицы). Чтобы отобразить на экране эту панель инструментов:

  1. В главном меню выберите команду Вид, Панели инструментов.
  2. Установите флажок для панели Формат (режим таблицы)(рис. 2.30).

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

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

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

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

· Щелкнуть правой кнопкой мыши на области выделения и из контекстного меню выбрать команду Новая запись.

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

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

1. Выделить одну или несколько записей для копирования или перемещения.

2. Для того чтобы скопировать записи — нажать на панели инструментов кнопку Копировать.

  1. Для того чтобы переместить записи — нажать на панели инструментов кнопку Вырезать.
  2. Открыть в режиме Таблицы объект, в который требуется скопировать записи. При необходимости, переставить столбцы, чтобы они соответствовали порядку копируемых или перемещаемых данных.
  3. Для замены существующих записей копируемыми — выделить заменяемые записи и нажать на панели инструментов кнопку Вставить.
  4. Для добавления записей в конец таблицы — выбрать в меню Правкакоманду Добавить из буфера.

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

· Нажать на панели инструментов кнопку Удалить запись.

  • Щелкнуть правой кнопкой мыши на области выделения удаляемых записей и из контекстного меню выбрать команду Удалить запись.
  • Выбрать из меню Правкакоманду Удалитьили Удалить запись.
  • Нажать клавишу Удалить(Delete).

При удалении записей Access запрашивает подтверждение, чтобы предотвратить случайное удаление (рис. 2.32).

Рис. 2.32.Диалоговое окно подтверждения удаляемых записей

Замечание

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

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