![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
При проектировании реальных БД информацию обычно размещают в нескольких таблицах. Таблицы при этом связаны семантикой информации. В реляционных СУБД для указания связей таблиц производят операцию их связывания.
Укажем выигрыш, обеспечиваемый в результате связывания таблиц. Многие СУБД при связывании таблиц автоматически выполняют контроль целостности вводимых в базу данных в соответствии с установленными связями. В конечном итоге это повышает достоверность хранимой в БД информации.
Кроме того, установление связи между таблицами облегчает доступ к данным. Связывание таблиц при выполнении таких операций, как поиск, просмотр, редактирование, выборка и подготовка отчетов, обычно обеспечивает возможность обращения к произвольным полям связанных записей. Это уменьшает количество явных обращений к таблицам данных и число манипуляций в каждой из них.
Основные виды связей между таблицами
Между таблицами могут устанавливаться бинарные (между двумя таблицами), тернарные (между тремя таблицами) и, в общем случае, n-арные связи. Рассмотрим наиболее часто встречающиеся бинарные связи.
При связывании двух таблиц выделяют основную и дополнительную (подчиненную) таблицы. Логическое связывание таблиц производится с помощью ключа связи.
Ключ связи, по аналогии с обычным ключом таблицы, состоит из одного или нескольких полей, которые в данном случае называют полями связи (ПС).
Суть связывания состоит в установлении соответствия полей связи основной и дополнительной таблиц. Поля связи основной таблицы могут быть обычными и ключевыми. В качестве полей связи подчиненной таблицы чаще всего используют ключевые поля.
В зависимости от того, как определены поля связи основной и дополнительной таблиц (как соотносятся ключевые поля с полями связи), между двумя таблицами в общем случае могут устанавливаться следующие четыре основных вида связи:
1. один - один (1:1);
2. один - много (1:М);
3. много - один (М:1);
4. много - много (М:М или M:N).
Характеристика видов связей таблиц приведена в табл. 2.
![]() |
Дадим характеристику названным видам связи между двумя таблицами и приведем примеры их использования.
Связь вида 1:1
Связь вида 1:1 образуется в случае, когда все поля связи основной и дополнительной таблиц являются ключевыми. Поскольку значения в ключевых полях обеих таблиц не повторяются, обеспечивается взаимно-однозначное соответствие записей из этих таблиц. Сами таблицы, по сути, здесь становятся равноправными и могут быть объединены в одну таблицу.
Самостоятельно приведите примеры таких связей.
Связь вида 1:М
Связь 1:М имеет место в случае, когда одной записи основной таблицы соответствует несколько записей вспомогательной таблицы.
Самостоятельно приведите примеры таких связей.
Связь вида М:1
Связь М:1 имеет место в случае, когда одной или нескольким записям основной таблицы ставится в соответствие одна запись дополнительной таблицы.
Пример. Рассмотрим связь таблиц А и B.
В основной таблице А содержится информация о названиях деталей (Название), видах материалов, из которого детали можно изготовить (Материал), и марках материала (Марка).
В дополнительной таблице B содержатся сведения о названиях деталей (Название), планируемых сроках изготовления (Срок_изготовления) и стоимости заказов (Стоимость_заказа).
Таблица А
+
Название | Материал | Марка |
деталь 1 | чугун | марка1 |
деталь 1 | чугун | марка2 |
деталь2 | сталь | марка1 |
деталь2 | сталь | марка2 |
деталь2 | сталь | маркаЗ |
детальЗ | алюминий | - |
деталь4 | чугун | марка2 |
Таблица B
* +
Название | Срок_изготовления | Стоимость_заказа |
деталь 1 | 4.03.98 | |
деталь2 | 3.01.98 | |
детальЗ | 17.02.98 | |
деталь4 | 6.05.98 |
В таком случае, поменяв таблицы местами, можно получить связь вида 1:М.
Отсюда следует, что вид связи (1: М или М: 1) зависит от того, какая таблица является главной, а какая дополнительной.
Связь вида М:М
Самый общий вид связи М:М возникает в случаях, когда нескольким записям основной таблицы соответствует несколько записей дополнительной таблицы.
Дата публикования: 2014-11-04; Прочитано: 299 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!