Schválená odpověď není dobrá odpověď. Popsaný scénář není špatný design, ani není „riskantní“ spoléhat se na to, že databáze udělá svou práci.
Původní otázka popisuje dokonale platný scénář a design je dobře promyšlený. Je jasné, že smazáním uživatele by se měly smazat jak položky uživatele (a všechny hlasy o nich), tak i hlasy uživatele u jakékoli položky (dokonce i u položek, které patří jiným uživatelům). Je rozumné požádat databázi, aby provedla toto kaskádové odstranění, když je odstraněn záznam uživatele.
Problém je v tom, že SQL Server to nezvládá. Jeho implementace kaskádových mazání je nedostatečná.