• "Example 1. (Introduces risk of record duplication):..."

    Imo the database should not be making decisions the application should be taking. Whilst your point is technically valid, it's encouraging application logic into the database, where it is difficult to tell a duplicate record from a valid second entry.