Читайте также:
|
|
Прежде всего, необходимо сказать об одном очень важном моменте. Связи, которые мы видели на рисунке 2 в виде стрелочек, на самом деле в таком виде не существуют. Все таблицы хранятся в БД полностью изолированно друг от друга. Это связано с требованиями реляционной модели данных, а конкретнее – с возможностью легко и без потерь импортировать и экспортировать таблицы с данными из одной СУБД в другую, ссылаться на таблицы в другой СУБД, читать оттуда данные и т.д.
А каждый раз, когда требуется объединить несколько связанных таблиц воедино, сама СУБД связывает их между собой в так называемое представление данных – временную таблицу, содержащую выборочные данные из нескольких исходных таблиц, не сохраняемую в БД и удаляемую из оперативной памяти по окончании работы с ней.
Каждый раз при запросе того или иного представления данных СУБД берёт свежую информацию из таблиц в БД, что позволяет любому представлению оставаться актуальным.
Так как же реализован механизм связывания отдельных таблиц в единое целое?
Сначала нужно обеспечить уникальность всех записей в таблице, чтобы записи из одной таблицы можно было однозначно сопоставить запись в другой таблице. Для этого надо предусмотреть в таблице уникальное поле. Уникальное поле или первичный ключ (ПК) – это поле (или комбинация полей), значения в котором не могут повторяться.
Свойствами любого ПК всегда является индекс, исключающий совпадения (см. таблицу 2), и обязательный ввод данных.
Например, если из таблицы Заказы известно, что его обработал сотрудник Иванов. Но в таблице Сотрудники фирмы может быть несколько разных Ивановых, и компьютер не разберётся, кто же из них обработал данный заказ. Это означает, что поле Фамилия не является уникальным и потому его нельзя использовать для связи между таблицами. Поле Номера телефона – более удачный кандидат на звание первичного ключа, но, как вы понимаете, и одним телефоном могут пользоваться несколько разных людей.
Если ни одно поле таблицы не приемлемо в качестве уникального, его можно создать искусственно, с помощью дополнительного служебного поля.
Следующим шагом является установление отношений между совпадающими значениями в ключевых полях. В большинстве случаев с ПК одной таблицы связывается внешний ключ другой таблицы. Внешний ключ (ВК) – это поле (или комбинация полей), содержащее ссылку на первичного ключ в другой таблице. Тип и размер ВК должен всегда обязательно соответствовать типу и размеру своего ПК! Это является основным необходимым условием образования связи.
Свойства ВК определяют вид связи между таблицами.
Дата добавления: 2015-08-27; просмотров: 52 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Порядок выполнения работы | | | Вид связи один-к-одному |