Foreign keys enforce referential integrity (no orphan rows) and can simplify reasoning. The trade‑off is extra write overhead and sometimes more complex migrations. In high‑throughput systems, teams sometimes validate in the app instead of the DB.