Pensé que estaba clara la idea, es así de simple, te ayudas con otra tabla que seria la que te relaciona, en el ejemplo que te puse uso la tabla llamada inquilinos para llevar allí la relación, de tal forma que puedo tener de 1 a n inquilinos vinculados a un contrato.
Bajo esa idea tienes dos caminos.
Primer camino: Creas una tabla por cada relación (una para garantes, una para propietarios, etc)
Segundo camino: Creas una tabla donde llevas las relaciones de todos esas entidades, esta tabla tendría un campo por cada relación:
Id_Inquilinos
Id_Contratos (foráneo)
Id_MDatos (foráneo)
Id_Garantes
Id_Propietarios
Id_Vecinos
etc etc.
Como dije en el anterior post, es una idea en borrador, si no me la captas en todo caso es porque no la estoy explicando bien ya que la estoy haciendo al vuelo, el asunto era alcanzarte una idea mas, por allí se presentaran otras en todo caso.
No te digo este tema porque es lo primero que se me ocurra, hace varios años hice un sistema para un mercado de asociados (7,000 socios) y alguno de ellos tenia varias tiendas, o 2 de ellos eran dueños de una tienda, o no era dueño de ninguna pero alquilaba varias, etc etc, por eso te digo que el camino (al menos el que yo opte) es ir por tener una tabla donde lleves únicamente esas relaciones y no hacerlo directamente como el ejemplo que pusiste.
P.D: Edito tu post donde me citas completo y es innecesario porque es una repetición de la sabana que me mande y que es la inmediatamente anterior.