Кластер отдает имя сервера как правило)Ага. Я про это и пишу. У меня был случай, когда кластер назвался Server1С (имя компа в виртуальной сети виртуальных машин на физическом серваке), а потом все компьютеры в сети при попытке подключения выдавали ошибку подключения к Server1С , хотя в адресной строке был айпишник физического сервера ))
1 эсник не может это исправить уже 4 недели, из за этого я простаиваю, говорит, что все не так просто, что это большая сложная работа и т.д.Все просто - более оплачиваемая (более интересная) халтура забирает все время и нет времени разбираться с обменами.
А что про него писать? Сначала спроектируй БД, а код по чтению/записи данных вторичен. Особенно если использовать ORM.
Но если хочешь разобрать твой алгоритм:
1) Узлы браков - это не узлы родового дерева, а культурное дополнение.
2) Узлы родового дерева - это отец и мать, а их связь между собой является информационной и не нужно забывать, что законодательство ряда стран (даже в СНГ) разрешает многоженство!
3) Не нужно удалять! Нужно кроме даты заключения брачного союза добавить дату расторжения брачного союза.
4) Правильно возникает сложность из-за допустимых вариантов: ребенок рожден до брака, ребенок рожден после брака, ребенок от второй или последующей жены (в русскоязычном Таджикистане разрешены четыре жены на мужа)
5) Родители не перестают быть родителями, когда перестают друг друга любить - это их проблема, а не ребенка и разрывать связь не правильно во всех смыслах.