Agreed. You've got a normalisation problem with idea #1. Idea #2 means you need to change your DDL everytime any ethnicity types are added\ deleted\ changed. You would also need to somehow match up what you expose to the user as available ethnicities with the check constraint. Using a table & foreign key constraints solves all these issues.