Table Relationships for Property Bags Configuration I am creating a database table setup for user preferences in my application based partially on this design and while I created the tables and foreign keys, I can't seem to figure out the relationships of these tables. The attached screenshot is the DB design and below is what I currently believe are the correct relationships



user to user_preference = one-to-many

user to preference = many-to-many

user_preference to user = many-to-one

user_preference to preference = many-to-one

user_preference to allowed_preference_value = many-to-one

preference to allowed_preference_value = one-to-many
You've captured the relationships in the design that you've referenced correctly.  The one nuance that isn't clear in what you've documented is that the relationship from user_preference to allowed_preference_value is optional, meaning that user_preference.allowed_preference_value_id is nullable.  It's not clear whether you've accounted for this or not, but it matters if you have user preferences which are not selected from pick lists but are instead taken from another source.

Your design also omits the preference values themselves.  I'm assuming that was a deliberate choice to focus on the relationships and gloss over the rest.