Студопедия

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

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

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






Краткие теоретические сведения. Что такое связи между таблицами






Что такое связи между таблицами

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

Существует три вида связей между таблицами: один к одному, один –ко-многим; многоие-ко-многим.

Виды связей

Вид создаваемой связи зависит от того, как заданы связанные столбцы.

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

В Microsoft Access сторона связи " один ко многим ", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, обозначается символом бесконечности.

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

Связь " один к одному" - при установлении этого вида связи каждой строке таблицы А может соответствовать только одна строка таблицы Б и наоборот. Связь " один к одному " создается в том случае, когда оба связанные столбца являются первичными ключами или на них наложены ограничения уникальности. Этот вид связи используется редко, поскольку в такой ситуации связываемые данные обычно можно хранить в одной таблице. Использовать связь вида " один к одному" можно в указанных ниже случаях:

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

Создание связей между таблицами

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

Целостность данных - это система правил Microsoft Access, которая используется для проверки допустимости отношений между записями связанных таблиц и для того, чтобы не позволить случайно удалить или изменить связанные данные. Настроить проверку целостности данных можно при соблюдении всех указанных ниже условий:

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

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

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

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

Каскадные обновления и удаления

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






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