• I like the article over all and it is definitely addressing a significant topic, but unless I am missing something, you do have relatively an easy way to enforce the constraints on species of ensuring it is always singular.

    My personal preference would be to have the species field be an integer and give the species table an integer primary key and then establish the foreign key relationship.

    If you wanted to stick with a varchar data type and avoid table proliferation you could add a check constraint requiring that species be within an approved list. Another option would be to create a user defined type, but that is more complicated and carries more baggage than either a look up table or a constraint.

    ---
    Timothy A Wiseman
    SQL Blog: http://timothyawiseman.wordpress.com/