Вначале трафик пустить по мосту, а потом поставить шлагбаум. Или вначале поставить шлагбаум, который будет пускать по одному, а потом пустить трафик. Понятна аналогия?
Эта аналогия не подходит для данного случая т.к после вставки и наложения ограничений нужно проверить, соответствуют ли данные в таблице этим ограничениям.
В первом варианте не хватает 3-го пункта: «проверить ограничения». Без него ограничения будут работать только для новых вставок, но не для первоначальных, сделанных до наложения ограничений. То есть у тебя в таблице окажутся невалидные данные, что делает результат отличным от второго варианта.