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