I have a table, A, whose rows have a many-to-one relationship with several other tables. The rows in the other tables--B, C, D--each have many As. Each A relates exclusively to another table. For example you never have an A that relates to both a B and C.
Currently, the A table is represented as a "flattened" sum-type where each row has a nullable AId, BId, CId, & DId. The "parent" of any given row in A is determined by which one of these FK's in non-null.
This has been working fine so far. However, I have several new features to be implemented down the road which will also have many As.
My question is: is there a more extensible design than simply adding more columns to store FK's to these other tables?