Проектирование реляционных баз данных - «циклические» графики

При проектировании реляционных баз данных следует ли беспокоиться об одной (или нескольких) «циклических графах», которые создают проблемы?

(Упрощенно) Например, таблицы

Т1 (T1_Id...)
Т2 (T2_Id, T1_Id_Fk, ...)
T3 (T1_Id_Fk, T2_Id_Fk, ..)

Первичные ключи выделены жирным шрифтом.

Строки в T1 играют двойную роль. Строка T1 r1 может находиться в связи T3 со строкой r2 в T2, но она также может быть родительской строкой для (возможно, той же) строки r2 'в T2. Эти два отношения являются ортогональными.

Я придумал что-то вроде этого:

T1_Base (T1_Id...)
T1_Child1 (T1_C1_Id...)
T1_Child2 (T1_C2_Id...)
Т2 (T2_Id, T1_C1_Id_Fk, ...)
T3 (T1_C2_Id_Fk, T2_Id_Fk...)

где у нас есть взаимно-однозначные отношения между T1_Base и T1_Child1 и T1_Child2, соответственно, чтобы устранить некоторые из возможных каскадных проблем, описанных здесьЦикл проектирования реляционной базы данных, но я все еще получаю цикл.

Должен ли я беспокоиться об этом в контексте, где каждый FK определен с ON CASCADE NO ACTION?

Ответы на вопрос(1)

Ваш ответ на вопрос