Отсутствие кортежей-дубликатов

Фундаментальные свойства отношений

Связи в реляционных базах данных

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

1. Один-к-одному. Одной записи таблицы А соответствует одна запись таблицы Б, и наоборот. Этот тип связи применяется достаточно редко. Единственный случай, когда применение этого типа связи оправданно – разбиение таблицы, содержащей очень большое количество полей, на несколько частей.

2. Один-ко-многим. Одной записи таблицы А (главной) соответствует несколько записей таблицы Б (или ни одной). В свою очередь каждой записи таблицы Б (подчиненной) может соответствовать только одна запись таблицы А. Наиболее употребительный вид связи.

3. Многие-ко-многим. При этом типе связи многим записям из таблицы А может соответствовать много записей из таблицы Б (и наоборот). Такую связь в реляционных БД можно организовать только при помощи третьей вспомогательной таблицы. По сути связь «многие-ко-многим» представляет собой две связи типа «один-ко-многим». При этом таблицы А и Б расположены со стороны «один», а вспомогательная таблица со стороны – «многие».

Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: