Whether or not you choose to normalize your table structure to accomodate gender is going to depend on the requirements of your application and your business requirements.
I would normalize if:
- You want to be able to manage the "description" of a gender in the database, and not in code.
- This allows you to quickly change the description from Man/Woman to Male/Female, for example.
- Your application currently must handle, or will possible handle in the future, localization requirements, i.e. being able to specify gender in different languages.
- Your business requires that everything be normalized.
I would not normalize if:
- You have a relatively simple application where you can easily manage the description of the gender in code rather than in the database.
- You have tight programmatic control of the data going in and out of the gender field such that you can ensure consistency of the data in that field.
- You only care about the gender field for information capture, meaning, you don't have a lot of programmatic need to update this field once it is set the first time.