А если я ‘руками’ кусок в базу залил?
Не должно быть такого по возможности. Теги и сущности надо стремиться делать непротиворечивыми по определению, всегда стремиться разрешать коллизии самим устройством Системы, а не Входным контролем.
upd: если проверка может быть обойдена, она БУДЕТ обойдена (с). Перевернул какой-нибудь бот или дубовый редактор вей, а ‘направление’ остановки не сменил - ищи потом, где и что. А если как сейчас один из вариантов - остановка ‘точка в воздухе’, справа по направлению движения - поди, испорть такие данные - уже сложнее. Какая-никакая защита от ошибок. Защита не очень, на самом деле - двинул вей и ‘поехали’ остановки, согласен. Но это пока лучший вариант.