Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Связывание таблиц

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

На рис. 2.3 с помощью ключа связи Код студента таблица Оценки связана с таблицей Студенты. Данная связь определяет, какой студент получил каждую из перечисленных в таблице Оценки оценок.

Рис. 2.3. Ключ связи. Связь 1 : М.

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

· один к одному (1 : 1),

· один ко многим (1 : М) или многие к одному (М : 1),

· многие ко многим (М : М).

В табл. 2.1 показано, в каком случае возникает каждый вид связи.

На рис. 2.3 показан наиболее часто встречающийся вид связи – один ко многим.

Таблица 2.1

  1 : 1 1 : М (М : 1) М : М
Поля связи таблицы 1 являются ключом являются ключом не являются ключом
Поля связи таблицы 2 являются ключом не являются ключом не являются ключом

В литературе иногда связь «один ко многим» и связь «многие к одному» рассматриваются как два различных вида связи. В этом случае вводят понятие основной и подчиненной таблицы. Если в примере на рис. 2.3 основная таблица Студенты, а подчиненная – Оценки, то связь «один ко многим»: один студент – много оценок. Если считать основной таблицу Оценки, а подчиненной – таблицу Студенты, то связь будет «многие к одному»: много оценок – один студент.

К реляционным таблицам, имеющим связь «один ко многим», предъявляется требование целостности, заключающееся в том, что каждой записи из подчиненной таблицы должна соответствовать запись из основной таблицы. Обеспечивать эту целостность должна СУБД. Например, она может запретить добавление записи в таблицу Оценки, в которой поле Код студента не определено или принимает значение, отсутствующее в таблице Студенты.

На рис. 2.4 показан вид связи «один к одному».

Рис. 2.4. Связь 1 : 1.

Самый общий вид связи «многие ко многим» возникает, когда таблицы связываются не по ключевым полям. Тогда нескольким записям одной таблицы соответствует несколько записей другой таблицы. Пример такой связи показан на рис. 2.5.

Рис. 2.5. Связь М : М.

Связывать таблицы можно только по полям, имеющим одинаковый тип данных.

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


<== предыдущая страница | следующая страница ==>
Понятие ключа | Отсутствующие данные

Дата добавления: 2015-06-30; просмотров: 311; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.