I have a many to many table (TableAB) which simply holds a foreign key to table A and a foreign key to table B. It always feels like I should also add a primary key column to the table itself, and that's what I'd normally do. But from an academic point of view, does that violate any of 2nf, 3nf, BCNF rules? It doesn't add any real uniqueness, and creates a table where I have a primary key and a separate composite primary key although neither overlapping, but does make relations easier to work out when my M2M table is then referenced by other tables, but interested to hear from the academics out there on their opinion.
ie.
TableA ( Aid int PK )
TableB ( Bid int PK )
TableAB ( Aid int, Bid int, ABID int PK ?????? )
thanks