Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОС_по_БД_1012.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
397.31 Кб
Скачать

Вопрос 3. Создание схемы данных, обеспечение целостности данных

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

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

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

Если главная таблица связывается с подчиненной по первичному: простому или составному ключу (уникальному индексу) главной таблицы, то Access определяет, что таблицы находятся в соотношении 1:М или 1:1. Для таблиц, находящихся в этих отношениях, в схеме данных можно установить параметры поддержания связной целостности данных. Поддержка связной целостности данных означает, что Access при корректировке базы данных обеспечивает для связанных таблиц контроль соблюдения следующих условий:

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

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

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

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

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

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

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

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

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

Рис..Окно Добавление таблицы

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

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

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

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

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

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

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

При этом в строке Тип отношения автоматически установится тип один – ко - многим. При составном ключе связи в окне Изменение связей необходимо для каждого поля ключа в главной таблице Таблица/Запрос выбрать соответствующее поле подчиненной таблицы, названной Связанная таблица/ Запрос.

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