规范化数据库表

时间:2016-02-24 08:26:48

标签: database normalization

我被问到一个面试问题,我想确认一下是否正确。有一个名为Employee的表,可以节省员工信息和月薪(假设此表目前只有年度记录)

Employee(ID,Name,Month,Salary)

示例数据:

ID  Name Month Salary
1    A    Jan   2500
1    A    Feb   3000
2    B    Jan   4500
2    B    Feb   6500

问题是:

  

这个表架构是否正常?如果不是,你将如何解决它?

我对表进行了规范化,并想知道这是否是规范化上表的正确方法?

Employee(ID,Name)
tblSalary(ID,Emp_ID,Month,Salary)

如果是一个非常基本的问题,请原谅我

1 个答案:

答案 0 :(得分:0)

你已经按照以下方式做到了:

第一范式

  1. 消除个别表格中的重复组。
  2. 为每组相关数据创建一个单独的表。
  3. 使用主键识别每组相关数据。
  4. 唯一需要指出的是你的"月"我将更改为日期的实体,因为它限制员工仅工作一年(如另一条评论所指出)