Hi. In my staging model I have USERS that can be in one or many PROGRAMS and can receive communications from programs via one or many CHANNELS (e.g. text messages, emails). There is USERPR
OGRAM table that stores data from the many-to-many relationship between USER and PROGRAM. There is also a PROGRAMSUBSCRIPTION table that stores the most recent status of a User subscription (actively receiving messages vs not receiving messages) to a Channel of a Program. Finally, there is a PROGRAMSUBSCRIPTIONHISTORY table that gets a new row every time users change the status of their subscriptions to a Channel in a Program from "active" to "inactive". So far, although it could be wrong, I have the following for my Data Vault
1. USERS becomes a Hub_
2. PROGRAMS becomes a Hub_
OGRAM becomes a Link
between the Hub_
User and the Hub_
How do I model the PROGRAMSUBSCRIPTION and, more importantly, the PROGRAMSUBSCRIPTIONHISTORY tables?