Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_указ_л_р.doc
Скачиваний:
13
Добавлен:
14.08.2019
Размер:
8.67 Mб
Скачать

2.1.2.1. Виды связи между таблицами

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

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

Выделяют 3 типа связи между таблицами:

1) отношение «один-ко-многим» ( 1:М )

С вязь с отношением «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице A могут соответствовать несколько записей в таблице B, а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A. Пример такой связи изображен на рис. 2.1.

Рисунок 2.1 – Пример связи 1:М

Отношению «один-ко-многим» соответствует парное ему отношение «многие-к-одному» ( М:1 ). Фактически, это один и тот же вид связи, поскольку эти два вида связи различаются только направлением.

2) отношение «один-к-одному» ( 1:1 ):

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

3) отношение «многие-ко-многим» ( М:М ):

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит, по крайней мере, из двух полей, которые являются полями внешнего ключа в таблицах A и B.

Например, на рис. 2.2 между таблицами «Заказы» и «Товары» имеется отношение «многие-ко-многим», которое определяется путем создания двух связей с отношением «один-ко-многим» для таблицы «Заказано».

Р исунок 2.2 – Пример связи М:М

2.1.2.2. Виды зависимостей между атрибутами отношений

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

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

Атрибут В функционально зависит от атрибута А, если каждому значению А соответствует одно и только одно значение В. Математически такая зависимость обозначается следующим образом: АВ.

Например, в таблице АБИТУРИЕНТЫ (табл. 2.2) можно выделить функциональные зависимости между следующими атрибутами:

КодАбитуриента ФИО, КодАбитуриента ДатаПодачиДокументов , и т.п.

Говорят, что между атрибутами А и В существует функциональная взаимозависимость (АВ), если выполняется АВ и ВА.

Например, в таблице АБИТУРИЕНТЫ (табл. 2.2) между следующими атрибутами существует взаимно однозначное соответствие: КодСпециальности НазваниеСпециальности, КодФакультета НазваниеФакультета.

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

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

Атрибут С зависит транзитивно от атрибута А, если для атрибутов А, В и С выполняются следующие условия: АВ и ВС, но обратная зависимость отсутствует.

Для таблицы АБИТУРИЕНТЫ (табл. 2.2) можно выделить, например, такие группы транзитивных зависимостей между атрибутами:

КодАбитуриента КодФакультетаНазваниеФакультета,