Você está indo cometer erros com PHP, 100% garantido. PHP é processual. O que você quer são restrições declarativas. Você quer dizer a toda a pilha:"Estas são as restrições dos dados e essas restrições não podem ser violadas". Você não quer muito por aí com "Etapa 1 ... Etapa 2 ... Etapa 3 ... Etapa 432 ...", como seu método de impor restrições aos dados, porque
- você vai errar
- quando você alterar mais tarde, esquecerá o que fez agora
- ninguém mais conhecerá todas essas restrições implícitas como você as conhece agora, e isso inclui seu eu futuro
- é preciso muito código para aplicar restrições corretamente e o tempo todo - o servidor de banco de dados já tem esse código, mas você está preparado para escrevê-lo?
A pergunta deveria ser formulada:"Por que eu deveria usar o PHP para impor essas restrições, quando eu poderia fazer isso apenas com o MySQL?"