Puoi usare l'opzione 1 ma senza una chiave alternativa surrogata aggiuntiva.
Invece, estendi la chiave primaria esistente (di ciascuna entità), con un EntityType colonna (diciamo CHAR(1) , sarebbe E per Eventi, P per le Persone, D per i Prodotti).
Il composto (EntityId, EntityType) diventerà quindi la Chiave Primaria della tabella Entity e i composti corrispondenti nelle altre 3 tabelle dei sottotipi.
(Il EntityType è solo una tabella ausiliaria, di riferimento, con 3 righe):
