Я делаю базу данных для программы, в которой я должен моделировать некоторые отношения в семье. пример: X — отец Y , Y — сын X
Итак, у меня есть таблица Members со всей информацией о каждом члене, поэтому я подумал о том, чтобы установить связь многие ко многим между таблицей Members и самой собой, чтобы Member_Member таблица моста будет иметь столбцы "FK_FromID , FK_ToID" в качестве составного ключа (это правильно?) и "FK_RelationType" в качестве внешнего ключа для RelationTypes, которая будет иметь тип отношения «Отец, мать, сын, дочь» и два отношения, идущие как один ко многим из таблицы Members к этим двум внешним ключам.
Моя проблема: при удалении, если я выберу каскадирование, я создам циклы, потому что, если я удалю члена, будет два прохода удаления для связанных записей в Member_Member мосте, зная что в программе всякий раз, когда я вставляю отношение отца, я также вставляю отношение сына в таблицу Member_Member, есть ли способ или обходной путь, чтобы включить каскадирование, чтобы всякий раз, когда я удаляю член, я удалял связанные записи в Member_member независимо от того, записано ли оно в столбце внешнего ключа "Кому" или "От кого"
Так что я не знаю, что делать, это правильный дизайн в первую очередь или что? , что мне делать с ездой на велосипеде, а также что, по вашему мнению, лучший дизайн для той же проблемы должен знать, что мне нужно указать, какие отношения между двумя сторонами
Большое спасибо за любую помощь и извините за плохой английский Бишой