实施一个仅包含两行女性和男性的单独表格是不好的做法吗?

LaT*_*TeX 7 c# asp.net database-design

假设我们有一个Person包含3列的表:

  1. PersonId类型int.(首要的关键)
  2. Name类型string.
  3. GenderId类型int(外键引用Gender表).

Gender表由2列组成:

  1. GenderId类型int.
  2. Name类型string.

我的问题是:是否值得实施该Gender表?或者它会导致性能下降?处理这个问题的最佳方法是什么?

编辑1:

我必须在我的UI中填充一个下拉控件,其中包含一系列固定性别(女性和男性).

Ben*_*thy 5

我认为在这种情况下最好的方法是妥协:

  1. 使用名为"Name"或"Gender"的单个varchar列创建名为Gender的表.性别确实是一个自然的主要关键.将值"男性"和"女性"放入其中.
  2. 在名为"Gender"的列上为Person表创建外键.

现在您只需要从一个表中进行查询,但您仍然可以通过外键保护数据不一致,并且可以根据需要从Gender表中提取下拉列表的值.两全其美.

此外,它使在数据库中工作的人的生活更轻松,因为他们不需要记住您为男/女分配的任意ID.