Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Установка логических связей в БД Access 2007






Логические связи устанавливаются между одноименными полями таблиц базы данных Access 2007. Связь данных в одной таблице с данными в других таблицах осуществляется через уникальные идентификаторы (ключи) или ключевые поля.

Существует несколько типов отношений между таблицами:

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

2. Отношение «один-ко-многим» означает, что каждая запись одной таблицы соответствует более одной записи в другой таблице. Отношение «один-ко-многим» (1: М) создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс. В отношении «один-ко-многим» главной таблицей является таблица, которая содержит первичный ключ и составляет часть «один» в этом отношении. Таблица со стороны «много» является подчиненной таблицей. Связующее поле (или поля) в ней с таким же типом информации, как в первичном ключе главной таблицы, является полем внешнего ключа.

3. Отношение «многие-ко-многим» (М: М) возникает между двумя таблицами в тех случаях, когда одна запись из первой таблице соответствует более одной записи во второй таблице, а одна запись из второй таблице соответствует более одной записи в первой таблице. Связь фактически представляет две связи с отношением «один-ко-многим» через третью таблицу, ключ которой состоит, по крайней мере, двух полей, которые являются полями внешнего ключа двух других таблицах.

В случае, если для какой-то из таблиц не было определено ключевое поле, то в поле Тип отношения отображается текст: «Hе определено».

Для удаления связи: в окне Схема данных выделите ненужную связь и нажмите клавишу < Delete> или в контекстном меню команду Удалить.

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

В нашем случае мы должны установить логические связи между таблицами: Группы студентов, Студенты, Дисциплины и Успеваемость.

Для установления связей используем ключевые поля: КодГруппы, КодСтудентов и КодДисциплины. Например, между первичным ключом (КодГруппы) tables Группы студентов и вторичным ключом (КодГруппы) tables Студенты устанавливаем связь один - ко - многим.

Прежде чем приступить к созданию логических связей надо в Окне редактирования закрыть все tables и перейти на вкладку Работа с базами данных. Затем щелкнуть на пиктограмме Схема данных, в окне редактирования появится активное диалоговое окно " Добавление таблицы" на фоне неактивного окна Схема данных (рис. 5.1).

 


Рис. 5.1.

 

В окне Добавление таблиц необходимо выделить имена таблиц и нажать кнопку Добавить, при этом в окне " Схема данных" появятся все tables (рис. 5.2). После этого необходимо закрыть окно диалога.

 


Рис. 5.2

 

Далее необходимо установить связи между табл. в окне Схема данных. Для этого в окне Схема данных необходимо отбуксировать (переместить) поле КодГруппы из таблицы Группы студентов на соответствующее поле tables Студенты, в результате этой операции появится окно " Изменение связей" (рис. 5.3).

 


Рис. 5.3.

 

В появившемся окне диалога " Изменение связей" (рис. 11) необходимо установить флажки: " Обеспечить целостность данных", " каскадное обновление связанных полей" и " каскадное удаление связанных записей", убедиться в том, что установлен тип отношений один-ко-многим и нажать кнопку Создать.

Данное действие позволит предотвратить случайное удаление или изменение связанных данных, т.е.:

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

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

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

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

В окне Схема данных появится связь один-ко-многим между таблицами Группы студентов и Студенты. Аналогичным образом надо связать поля КодСтудента в таблицах Студенты и Успеваемость, а затем поля КодДисциплины в таблицах Успеваемость и Дисциплины. В итоге получим Схему данных, представленную на рисунке 5.4.

 


Рис. 5.4

 

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

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.