Why?
I have seen a lot of very experienced DBA's argue that natural keys are, well, simply more "natural" and make sense in a lot of cases.
My premise is that these three tables are so insignificant and contrived, why not?
If I was Amazon . com, though, I certainly wouldn't be doing that!
Just trying to learn better from someone with 30+ yrs experience.
Again, why?
The approach I have taken more in recent years is what you saw above...
Every table has a surrogate key using an sequence/autonumber/whatever to ensure uniqueness always. However, I set this with a UK constraint versus a PK.
Then, for tables where it has practical application, and won't come back to bite me, I use a natural key as a pk.
For the junction table, I have a surrgate key but this time make it the pk just so the table has that guaranteed uniqueness again.
Truth be told, this is for a website and I am using MySQL. (Not sure if this is a Microsoft-only website?)
Do you know if I can do Views in MySQL?
I know lots of database gurus that wouldn't see it as a mortal sin to use natural keys as the primary keys in my parent tables and then have the natural keys be the co-foreign keys in the junction table.
Again, can you explain why you feel this is a bad idea?
Look at the context...
It's not like I am using Address or Last Name as the natural key!
Thanks.