I just ask that in your junction list, if you are not using a lookup, that you get rid of the "lkp" prefix for those column names. That will confuse most anyone who is looking at this.
It is like when someone drops some code and they have some thing like
txtBoxABC.rowsource = ...
Then I look at the code and tell them that a textbox does not have a rowsource and of course the code fails on that line.
Then they reply that they forgot to rename it and it is a combobox.
I think I would go this way too, and manage the data integrity. What is the worse that could happen? You get an orphan work type for an issue. Not like this is sales order information and get an orphan product.
Another thing (I just learned from asking Chat) is that you can do composite indexes in SP lists. Never did that.
But you do not want duplicates. So for Issue 25, you may have Work Areas 1,2, 4
25 1
25 2
25 4
You do not want to be able to add another
25 2
Obviously in your junction you require both columns.
So a lot of the concerns of RI and data integrity and not really an issue.
1. You have required fields
2. You cannot add duplicates
3. Your entry is from PA ensuring valid entries (user not typing anything)
. You do not have cascade deletes, or RI. This means you can delete a Work Area even though there are child records in the junction list. So there is your orphan. If you delete Work Area 2 in your list you still have the record 25, 2 where issue 25 has non existent work area 2. You just have to be aware and handle this.
4. You do not