Возможности баз данных, связь нескольких таблиц

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

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

В примере отношения “Список студентов“ ключевым может быть атрибут “Студент”. Ключ должен быть уникальным. (В поле Студент возможны совпадения значений. Если ни один атрибут не является уникальным, его можно создать искусственно. Например, можно создать поле “шифр”).

Ключ может быть и составным. С помощью ключей устанавливаются связи между отношениями.

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

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

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

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

Типы связей:

1:1 (В каждый момент времени одному кортежу отношения А(основное) соответствует не более одного кортежа отношения В);

1:М (Одному кортежу отношения А может соответствовать 0, 1 или более кортежей отношения В, но каждый экземпляр отношения В связан не более, чем с одним кортежем отношения А);

М: М (В каждый момент времени одному кортежу отношения А соответствует 0,1 или более кортежей отношения В и наоборот)

Например, имеется совокупность информационных объектов (отношений):

Студент (№_зачетки, Фамилия, Имя, Отчество, Дата_рожд, Группа);

Сессия (№_зачетки, Оценка1, Оценка2, Оценка3, Оценка4, Результат);

Стипендия (Результат, Процент);

Преподаватель (Код_преп, Фамилия,Имя, Отчество,Предмет)

Пример связи (1:1) - связь между отношениями Студент– Сессия. Каждый студент имеет определенный набор оценок в сессию. Связь устанавливается по полю №._зачетки. Основанием этого является совпадение значений в поле №._зачетки. Сопоставление записей 2-х таблиц по существу означает образование новых виртуальных записей (псевдозаписей).

Пример связи (1:М) – Стипендия– Сессия. Установленный размер стипендии может повторяться многократно для различных студентов. Если таблицу Сессия сделать основной, то получим связь вида (М:1), то есть тип связи зависит от того, какая таблица является основной, а какая дополнительной.

Пример связи (М:М) – Студент – Преподаватель.

№3.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: