Some design approaches to enforcing a business rule requiring no duplicates