Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Типы связей и ключей в РБД




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

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

Каждому внешнему ключу должна соответствовать строка какого-либо объект­ного отношения. Невыполнение этого ограничения может привести к нарушению ссы­лочной целостности данных. Ключ должен ссылаться на объект, который существует.

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

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

2. Все строки таблицы должны иметь одну и ту же структуру, т.е. одно и то же количество атрибутов.

3. Имена столбцов таблицы должны быть различны, а значения столбцов долж­ны быть однотипными.

4. Значения атрибутов должны быть простыми, следовательно, отношения не могут иметь в качестве компонент другие отношения.

5. Должна соблюдаться ссылочная целостность для внешних ключей.

6. Порядок следования строк в таблице несущественен - он лишь влияет на ско­рость доступа к строке.

Хорошо организованная база данных обеспечивает удобный доступ к хранящейся в ней информации. При правильном проектировании базы данных будет меньше затра­чиваться времени и усилий на ввод данных в базу, внесение изменений и извлечение данных из базы.

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

В теории РБД существует три типа межтаблич­ных отношений или связей: один-ко-многим, многие-ко-многим и один-к-одному (четвертый возможный тип отношений - многие-к-одному факти­чески сводится к первому типу, так как является его «зеркальным отраже­нием» и в СУБД Access просто совпадает со связью один-ко-многим).

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

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

При связи один-к-одному каждой записи в первой таблице может соответствовать не более одной записи во второй таблице, а каждой записи во второй таблице -- не более одной записи в первой таблице. Такой тип межтабличных отношений используется тогда, когда для удобства в работе очень широкую таблицу разбивают на две с повторением одного поля в ка­ждой либо когда из таблицы необходимо выделить часть, к которой нужно обеспечить особый режим допуска (например, конфиденциальные сведе­ния о сотрудниках, содержащиеся в одном или нескольких полях таблицы, к которым должны иметь доступ только определенные лица).

В любом случае наличие связей (отношений) между таблицами второго и третьего типов означает, что база данных спроектирована не со­всем оптимально или же просто содержит ошибки. Хорошо спроектиро­ванная база данных обычно не содержит отношений между таблицами двух последних типов.

Как уже отмечалось выше, основным достоинством любой БД явля­ется способность быстро находить и объединять информацию, хранящую­ся в разных таблицах. Для решения первой задачи каждая таблица в БД должна содержать поле или набор полей, значение которого или совокуп­ность значений которых однозначно определяет каждую запись этой таб­лицы. На языке БД такое поле или совокупность полей называется ключом таблицы, а точнее, первичным ключом таблицы. При этом кандидатами на роль ключа таблицы могут быть любые поля, которые содержат уникаль­ные (неповторяющиеся) значения для каждой записи, т.н. потенци­альные ключи таблицы. Если в роли ключа выступают сразу несколько по­лей, когда в таблице просто нет одного поля с неповторяющимися значе­ниями, то приходится подбирать такую комбинацию полей, значение ко­торой будет уникальным. Такой ключ называется составным клю­чом.

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

Таким образом, в нашей БД «Поставки товаров», состоящей из таб­лиц «Товары», «Поставщики» и «Адреса», необходимо организовать сле­дующие межтабличные связи (ниже мы используем схематичное изобра­жение межтабличных связей, совпадающее с представлением схемы свя­зей в СУБД Access, работа в которой будет рассматриваться в последую­щих разделах пособия, здесь символ ¥ соответствует термину ко-многим):

 
 

 

 


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

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

Контрольные вопросы

Объектная модель БД.

Основные понятия и термины БД.

Типы БД и особенности их функционирования.

Исходные компоненты РБД.

Особенности и преимущества РБД.

Этапы проектирования РБД.

Правила нормализации РБД.

1-я нормальная форма.

2-я нормальная форма.

3-я нормальная форма.

Объектные и межтабличные связи в РБД.

Понятие отношения в РБД.

Типы отношений в РБД.

Типы ключей в РБД.

Использование составного первичного ключа.

Назначение внешних ключей.

Условия и ограничения, накладываемые на отношения в РБД.

Типы связей в РБД.

Использование связей один-к-одному.

Назначение индексных таблиц.

 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 1105; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.082 сек.