humanoid
Ну я больше приверженец строгости на уровне приложения, а не бд. В бд только констрейнты для оптимизаций, по сути индексы.
Логику в бд сложнее поддерживать
Не логику, только констрейнты.
А что вы будете делать, когда админ Вася случайно поправит данные так, что будут привязаны одновременно оба типа билетов?