Knowing Where and When to Enforce the Uniqueness of Your Data
Too Long; Didn't Read
Having your constraints on the DB level is a must, the database could be accessed from many places. Most databases do the uniqueness validation more efficiently so it's better to have it there. It's important to simplify your logic and make sure that the data integirty rules are set for all clients.