Композиция
Вероятно, читатели знакомы с понятием композиции применительно к функциям. Мы обсудим обобщение этого понятия и применим его сначала к бинарным отношениям. Наши определения композиции и композируемости в большой степени опираются на приведенные выше определения соединения и соединимости.
Предположим, что имеются два отношения R и S. T является композицией (composition) R с S, если существует соединение U отношения R с отношением S, такое что T = Π13(U). Таким образом, два отношения являются композируемыми тогда и только тогда, когда они являются соединимыми. Однако из существования более чем одного соединения R с S не следует существование более чем одной композиции R с S.
Естественному соединению R с S соответствует естественная композиция R с S, определяемая следующим образом:
R•S = Π13(R*S).
Для отношений R и S c рис. 4 на рис. 9 показана естественная композиция R с S, а на рис. 10 – другая возможная композиция (основанная на соединении, показанном на рис. 6).
R•S | ( project | supplier ) |
1 | 1 | |
1 | 2 | |
2 | 1 | |
2 | 2 |
Рис. 9. Естественная композиция R с S (с рис. 4)
R*S | ( project | supplier ) |
1 | 2 | |
2 | 1 |
Рис. 10. Еще одна композиция R с S (с рис. 4)
Если существует два или большее число соединений, то число различных композиций может варьироваться от единицы до числа различных соединений. На рис. 11 показан пример двух отношений, у которых имеется несколько соединений, но только одна композиция. Заметим, что точка неоднозначности c утрачивается при композиции R с S, поскольку через точки a, b, d, e устанавливаются однозначные связи.
R | ( supplier | part ) | S | ( part | project ) | |
1 | a | a | g | |||
1 | b | b | f | |||
1 | c | c | f | |||
2 | c | c | g | |||
2 | d | d | g | |||
2 | e | e | f |
Рис. 11. Много соединений, только одна композиция
Понятие композиции для пар отношений, которые не обязательно являются бинарными (и могут обладать разными степенями), расширяется аналогично тому, как расширялось понятие соединения таких пар отношений. Перейдем теперь к использованию этих операций при анализе того, что требуется для реального хранения отношений.