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



Сторінка7/9
Дата конвертації16.04.2016
Розмір0.53 Mb.
1   2   3   4   5   6   7   8   9

Типы реляционных моделей


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

Модель «один ко многим»


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

Модель «один к одному»


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

Модель «многие ко многим»


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

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



Таблица 10. Структура таблицы Заказано

Поле

Описание

КодСчета

Вторичный ключ из таблицы Счета

КодТовара

Вторичный ключ из таблицы Заказы

Количество

Заказанное количество товаров

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


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

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



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

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



Установка отношений между таблицами


В первую очередь нужно установить связи: выбрать в меню команду Сервис - Схема данных или щелкнуть на одноименной кнопке панели инструментов Базы Данных. Откроется окно схемы данных. Линии, соединяющие блоки отдельных таблиц, называются линиями объединениями.

Добавление таблиц в окно Схема данных


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

  1. Выбрать в меню команду Связи – Добавить таблицу или щелкнуть на одноименной кнопке панели инструментов. Откроется окно, показанное на рис. 12.

  2. Щелкнуть на таблице, которая добавляется.

  3. Щелкнуть на кнопке Добавить. Программа добавит выбранную таблицу в окно схемы данных.

  4. Для добавления других таблиц нужно повторить действия 2-3.

  5. Щелкнуть на кнопке Закрыть.




Рис. 12. Это диалоговое окно используется для добавления

таблиц в окно Схема данных

Объединение таблиц


Для создания объединения двух таблиц следует:

  1. Добавить в окно Схемы данных все необходимые таблицы.

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

  3. Щелкнуть на одном из связываемых полей и перетянуть его поверх связанного поля другой таблицы. Программа откроет диалоговое окно Изменение связей, показанное на рис. 13.




Рис. 13. Диалоговое окно Изменение связей открывается при

перетягивании в окне Схема данных связанных полей друг на друга



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

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


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

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


  1. Для настройки типа связи щелкнуть на кнопке Объединение, после чего откроется диалоговое окно Параметры объединения (рис. 14). В этом окне установить переключатель в нужное положение и щелкнуть на кнопке ОК, после чего программа вернется в окно изменения связей.

  2. Щелкнуть на кнопке Создать. Программа создаст объединение с выбранными параметрами и отобразит в окне схемы данных между таблицами соответствующую линию.



Рис. 14. Диалоговое окно параметров объединения

служит для выбора типа связи


Редактирование связи


Если нужно изменить параметры установленной связи, их можно отредактировать в окне Изменение связей. Для выбора соответствующей связи достаточно щелкнуть на ней в окне схемы данных и выбрать в меню команду Связи – Изменить связь (или щелкнуть правой кнопкой на этой линии объединения и выбрать в контекстном меню команду Изменить связь). Откроется диалоговое окно Изменение связей, в котором можно внести все необходимые изменения параметров.
1   2   3   4   5   6   7   8   9


База даних захищена авторським правом ©shag.com.ua 2016
звернутися до адміністрації

    Головна сторінка