Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Краткие теоретические сведения. Что такое связи между таблицами
Что такое связи между таблицами В реляционной базе данных связи позволяют избежать избыточности данных. Связь осуществляется путем сопоставления данных в ключевых столбцах; обычно это столбцы, имеющие в обеих таблицах одинаковые названия. В большинстве случаев сопоставляются первичный ключ одной таблицы, содержащий для каждой из строк уникальный идентификатор, и внешний ключ другой таблицы. Существует три вида связей между таблицами: один к одному, один –ко-многим; многоие-ко-многим. Виды связей Вид создаваемой связи зависит от того, как заданы связанные столбцы. Связь " один ко многим" - наиболее распространенный вид связи. При такой связи каждой строке таблицы А может соответствовать множество строк таблицы Б, однако каждой строке таблицы Б может соответствовать только одна строка таблицы А. Связь " один ко многим " создается в том случае, когда только на один из связываемых столбцов наложено ограничение уникальности или он является первичным ключом. В Microsoft Access сторона связи " один ко многим ", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, обозначается символом бесконечности. Связь " многие ко многим " -при установлении этого вида связи каждой строке таблицы А может соответствовать множество строк таблицы Б и наоборот. Такая связь создается при помощи третьей таблицы, называемой соединительной, первичный ключ которой состоит из внешних ключей, связанных с таблицами А и Б. Связь " один к одному" - при установлении этого вида связи каждой строке таблицы А может соответствовать только одна строка таблицы Б и наоборот. Связь " один к одному " создается в том случае, когда оба связанные столбца являются первичными ключами или на них наложены ограничения уникальности. Этот вид связи используется редко, поскольку в такой ситуации связываемые данные обычно можно хранить в одной таблице. Использовать связь вида " один к одному" можно в указанных ниже случаях: • чтобы разделить таблицу, содержащую слишком много столбцов; Создание связей между таблицами При установлении связи между таблицами связанные поля не обязательно должны иметь одинаковые названия. При этом у них должен быть один и тот же тип данных, если только поле, являющееся первичным ключом, не относится к типу Счетчик. Поле типа Счетчик можно связать с полем типа Числовой только в том случае, если для свойства Размер поля каждого из них задано одно и то же значение, например Длинное целое. Даже если оба связываемых столбца относятся к типу Числовой, значение свойства Размер поля для обоих полей должно быть одинаковым. Целостность данных - это система правил Microsoft Access, которая используется для проверки допустимости отношений между записями связанных таблиц и для того, чтобы не позволить случайно удалить или изменить связанные данные. Настроить проверку целостности данных можно при соблюдении всех указанных ниже условий: • связываемое поле из главной таблицы является первичным ключом или имеет однозначный индекс; • невозможно присвоить полю внешнего ключа связанной таблицы значение, отсутствующее в списке значений первичного ключа главной таблицы. • невозможно удалить запись из главной таблицы, если в связанной таблице есть соответствующие ей записи; • невозможно изменить значение первичного ключа в главной таблице, если с данной записью связаны другие записи. Каскадные обновления и удаления Если для связи включено обеспечение целостности данных, можно задать режим автоматического каскадного обновления или удаления связанных записей средствами Microsoft Access. Установка этих параметров разрешает операции удаления и обновления, выполнение которых в противном случае было бы запрещено правилами целостности данных. При удалении записей или изменении значений первичного ключа в главной таблице Microsoft Access вносит необходимые изменения во все связанные таблицы для сохранения целостности данных. Если в процессе создании связи установить флажок каскадное обновление связанных полей, то при любом изменении значения первичного ключа записи в главной таблице Microsoft Access автоматически обновит значение соответствующего поля во всех связанных записях.
|