Насколько я понимаю, ваша задача - хранение неориентированного графа. Причем основная сложность - в его неориентированности:
Что-то никак не соображу, как это правильнее сделать - так, чтобы если А родственник Б, то и Б автоматически будет роднёй А.
Решают эту задачу двумя способами. Во-первых, можно разбить каждое ребро на две встречные дуги. Иными словами, записи в таблицу отношений добавлять парами.
Альтернативный вариант - списки иницидентности. Тогда в базе будут две таблицы - люди и отношения между ними, а между ними будет таблица-связка, с номером человека и номером отношения.
Правда, оба варианта выглядят не очень красиво. Но тут у меня есть встречный вопрос - а почему, собственно, отношения родства вдруг стали симметричными? Базовых отношений всего два - "родитель-ребенок" и "супруги". Причем только первое отношение относится к кровному родству - и оно является несимметричным. Второе же отношение, вероятно, рассматривать вообще не стоит - из-за его нехороших свойств (к примеру, оно приводит к нетранзитивности родства - так, бывший муж и текущий муж не являются родственниками). Все остальные родственные отношения однозначно выводятся из базовых.
Даже если надо хранить любые отношения, а не только базовые (к примеру, в условиях неполноты информации) - большинство отношений родства остаются несимметричными.