Соответствие записей определяется первичным и внешним ключом
Существует три разновидности связи между таблицами БД:
- один к одному
- один ко многим
- многие ко многим
Отношение «один к одному»
Отношение «один к одному» это когда одной записи таблицы Т1 (родительской) соответствует одна запись таблицы Т2(дочерней)(Рис.8)
Код | Фамилия | Отдел | Код | Год рожд. | Паспорт | Адрес | |
Павлов | 45 765871 | Москва ….. | |||||
Рачков | 58 547365 | МО. Подольск… | |||||
Симонов | 76 645346 | Москва ….. |
Рис.8.
Одной из причин, по которой создают связь один к одному является желание не создавать слишком громоздкую таблицу из-за второстепенной информации.
Связь «один к одному» может быть жесткой и не жесткой
Для жесткой связи одной записи в родительской таблице должна существовать одна запись в дочерней таблице. Для не жесткой связи, запись в дочерней таблице может отсутствовать.
Данный вид отношений («один к одному») применяется редко.
Отношение «один ко многим»
Отношение «один ко многим» имеет место когда одной записи таблицы Т1 (родительской) соответствует несколько записей таблицы Т2(дочерней)(Рис.9.)
На рис. 9. представлена БД состоящая из двух таблиц «Факультеты» - родительская и «Студенты» - дочерняя.
В родительской таблице поле Код_Факультета является первичным ключом, а в дочерней одноименное поле является внешним ключом. Между этими таблицами должны быть соблюдены правила целостности (смотри ниже)
Как видим, одной записи родительской таблицы соответствует несколько записей дочерней таблицы. Рис. 9. Не исключено, что в дочерней таблице может и не быть записей соответствующих записи в родительской таблице (например: нет студентов на химическом факультете (ХФ)).
Факультеты Студенты
| Факультет | Код_Факультета | Фамилия | |||||
ЭФ | Четин | |||||||
ВМК | Яшин | |||||||
ФФ | Круглов | |||||||
ФФ | Самарин | |||||||
ММ | Ракунов | |||||||
ХФ | Певцов | |||||||
Москвин | ||||||||
Романов | ||||||||
Паршин |
Рис.9.
Различают две разновидности отношений «один ко многим»:
- любой записи в родительской таблице соответствует одна или несколько записей в дочерней таблице.
- записи в родительской таблице может несколько записей в дочерней таблице или не найтись ни одой.
Связь «один ко многим» является самой распространенной и позволяет создавать иерархическую структуру данных.
Отношение «многие ко многим»
Отношение «многие ко многим» имеет место когда:
- записи в родительской таблице может соответствовать несколько записей в дочерней таблице.
- записи в дочерней таблице может соответствовать несколько записей в родительской таблице.
Учебные группы Преподаватели
Группа | Предмет | N препод. | N препод. | Фамилия | |
Гр1 | Русский | Михайлов | |||
Гр2 | Русский | Паршин | |||
Гр1 | Литература | Румянцев | |||
Гр3 | Философия | Смирнов | |||
Гр1 | История | Астахов |
Рис.10.
Как показано на Рис.10. каждой учебной группе соответствует несколько преподавателей. Каждый преподаватель может преподавать в разных группах и разные предметы.
Считается, что связь «многие ко многим» может быть заменена на несколько связей «один ко многим». Не все БД поддерживают данный вид отношений.
Дата добавления: 2016-05-25; просмотров: 721;