I'm trying to model extended descriptive type information and wondering what would be the best approach to take. My source application has concepts (and database tables) relating to 'person' and 'project' (clearly hubs). But these tables also have relationships in the source application to type information from a master classification list - such as 'person type' and 'project type'. These are not basic code/description pairs - which would make these (in my view) a good candidate for a reference table and a reference satellite (as described in 'the book' in section 6.3). The attributes are quite extensive.
I'm therefore wondering if these should be modelled as hubs with a link to the core 'person' and 'project' hubs. The descriptive type code information has business meaning and they do standalone with unique business facing identifiers and separate to the 'person' and 'project' itself - which drives the identification of the other descriptive attributes in the source type table. I guess it is arguable whether you refer to these types in isolation rather than as part of describing the core 'person' and 'project' itself.
An alternative is to make this a dedicated satellite hanging off the core hub but this would lead to redundancy of data - as many projects share the same type, whereas the satellite would see this typer information copied per person or project.
Or perhaps the reference code and reference satellite concepts described in the book do apply here and I create special versions of these separately for 'person' and 'project'.
I would be grateful for your insights regarding how to approach this.