• The better thing to do would be to find existing field(s) whose combination will define the entity that table is tracking. Then make that combination or single field a primary key. You kill 2 birds with one stone, 1) you separate attributes from entity definition, so it is easy to know what the table is for

    2) you enforce integrity so you never have duplicates even if app end screws up

    If you wish to use PK-FK, make a surrogate key, ID that is, and use that, more accurately should be called SK-FK relationship.  This is the best of both worlds. The ID world (republicans) and the Natural Key world (liberals). He he.