Topic: Whether it is necessary to do a separate field for PK?
At designing of the circuit of basis I use surrogate key (a field of type Int64).
In a case when the label only implements type communication "much:: much", whether it is necessary to create for such label a separate field for PK, or to manage in pair the fields used for FK to connected labels?
For example, labels:
USR - users.
USR_GROUP - User groups.
Label USR_IN_GROUP implements communication many-to-much, i.e., the user can belong to several groups.
Fields of this label - "USR_ID" and "USR_GROUP_ID" are used for FK to labels USR and USR_GROUP accordingly.
Question: whether if sense for adding separate ID for label USR_IN_GROUP? Or simply to impose on pair fields USR_ID and USR_GROUP_ID primary key restriction?