Egal was du als Modernisierung verwendest (auch z.B. .Net-Frameworks) kommst du tatsächlich nicht um Journalisierungen und Transaktionen herum.
Häufig hast du schon Probleme mit fehlenden Unique-Keys auf genau 1 Feld (Identity-Column).
Die meisten Frameworks kommen mit Multikey-Strukturen nur in Beziehungen mit Foreignkeys-Constraints zurecht.
Für Pflegedienste (Update/Delete) sind Identity-Spalten erforderlich.