Sie könnten Option 1 verwenden, jedoch ohne einen zusätzlichen alternativen Ersatzschlüssel.
Erweitern Sie stattdessen den vorhandenen Primärschlüssel (jeder Entität) mit einem EntityType Spalte (z. B. CHAR(1)). , das wäre E für Ereignisse P für Personen, D für Produkte).
Die Verbindung (EntityId, EntityType) wird dann zum Primärschlüssel der Tabelle Entity und die entsprechenden Verbindungen in den anderen 3 Subtypentabellen.
(Der EntityType ist nur eine Hilfs-Referenztabelle mit 3 Zeilen):
