Does every table really need a PK?
===

I was creating a data structure and one of the tables does not have any definate uniquness.

It is a table to hold payment entries (so two entries could be the same)

It will be linked but on a one to many basis. i.e. Returning all lines where account number = x

It will be used for display, no updates or deletes only inserts.

I stopped to consider if this table needed a primary key and my college was adamant that every table should have a primary key no matter what. So he added an incrementing id (using a sequence).

To me this means
   There is a sequence that is using resources and not really contributing anything.
   An index is created on the table that will never be used but will have an overhead.
   If I ever needed to delete one specific line in an emergency I could use the built-in rowid.

I know tables should have a PK but does EVERY table really need one? Am I missing something?
thank you for your time.



