添加新表的好处

时间:2016-12-15 16:01:10

标签: sql database-design

我有一个理论问题。假设我在办公室工作的人有一张名为“工人”的表,其中一列是“角色”。我可以添加约束(CHECK IN(“导演”,“HR”,“秘书”,“PA”等等)。创建一个单独的新表(“角色”)的好处是什么?角色和和两个表相关的id?

2 个答案:

答案 0 :(得分:1)

  

创建一个包含所有可能角色的单独新表(" Roles")以及与两个表相关的id会带来什么好处?

以下是我头脑中的一些内容:

  • 任何其他角色都是对表定义的更改,而不是对表的标准INSERT
  • 您可以使用表格中的数据来驱动列表框等项目
  • 如果您重命名/添加/删除角色,则必须删除约束,更新Worker表中的所有记录,然后重新添加新约束
  • 您可以添加有关角色的辅助数据,而无需向Worker
  • 添加列
  • 您必须在DB
  • 之外的图层中复制约束

答案 1 :(得分:1)

content约束将写为:

check

将角色存储在单独的表中的优点。以下是一些:

  • 您有其他任何人都可以访问的所有角色的列表。
  • 您可以提供有关角色的其他数据 - 翻译为其他语言,缩写,工资等级等。
  • 添加或修改现有角色只需要更改数据,而不需要更改数据库的结构。
  • 您可以提供元数据,例如创建日期和创建角色的人员。