wpf - 将性别表正常化是否太过分了?

标签 wpf database database-design

我不是数据库专家,但我正在尝试清理另一个数据库。所以我的问题是,将性别表正常化会不会太过分了?

User table:
userid int pk,
genderid char(1) fk
etc...

gender table:
genderid char(1) pk,
gender varchar(20)

起初我觉得这很愚蠢,但后来我考虑了它,因为我可以有一个常量数据源来填充或绑定(bind)。我将使用 WPF。如果是另一个框架,我可能会避免使用它,但您怎么看?

最佳答案

您是否选择规范化您的表结构以适应性别将取决于您的应用程序要求和业务要求。

如果出现以下情况,我会正常化:

  • 您希望能够在数据库中而不是在代码中管理性别的“描述”。
    • 例如,这使您可以快速将描述从男/女更改为男/女。
  • 您的应用目前必须处理或将来可能处理本地化要求,即能够以不同语言指定性别。
  • 您的业务要求一切都规范化。

如果出现以下情况,我不会标准化:

  • 您有一个相对简单的应用程序,您可以在代码中而不是在数据库中轻松管理性别描述。
  • 您对进出 gender 字段的数据进行严格的编程控制,这样您就可以确保该字段中数据的一致性。
  • 您只关心用于信息捕获的 gender 字段,这意味着,一旦首次设置该字段,您就没有太多的编程需要来更新它。

关于wpf - 将性别表正常化是否太过分了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3513606/

相关文章:

c# - 如何从 Sharepoint url 获取所有 SSRS 报告?

WPF child 自定义窗口边框

mysql - 用户、角色、权限和特定组 RBAC?

java - 使用 Hibernate 进行分层数据版本控制的好的数据库设计是什么?

.net - 多进程 C# 应用程序(如 Google Chrome)的示例

php - fetch() 方法出错

database - 归档 postgres 数据库的最佳方法是什么?

database - 数据仓库注意事项 : When and Why?

sql - 修改数据库时的特殊情况

c# - 处理 WPF TextBox LostFocus 事件和绑定(bind)的顺序