Perchè non unire tutto in un'unica tabella? magari metti un campo booleano che ti dice se è una società o un'associazione?
Oppure a limite potresti fare una tabella dove inserisci solo id e ad esempio il nome, in altre 2 tabelle inserisci i dati differenti, così non hai problemi con gli id.