We have a number of source systems for our clients. each system has some client data relevant only to it.
e.g. Client source System A has client info (name, address, email etc) and flags specific to that system.
client source system b has similar client info (name, address, email etc) and flags specific to that system.
My design options are:
A - one giant client entity with columns for all flags.
The table will be sparsly populated, as any columns specific to SystemB will be blank for a client sourced from systemA, and vice versa.
B - Standard clients entity table with table specific to each system for flags.
In this there will be clients entity which has only columns common to all systems. There will then also be a table called SystemA_ClientFlags and one called SystemB_ClientFlags
Im leaning towards option A, as it ensures that any downstream systems can get all client information from just one entity but im asking for opinions on this design, and if there is something i am not considering.
Thanks for any info.