当我用信息填充它时,我是否会失去我桌子的3NF

时间:2014-04-08 08:41:29

标签: mysql sql database postgresql

创建了两个具有关系并且在3NF中的表。

表员工:

Emp_ID

Emp_First_Name

Emp_Last_Name

Emp_DOB

表格培训:

Training_ID

Train_Desc

Train_Date

Emp_ID (FK)

即使他们现在在3NF,当我在训练表中填写信息并且2人接受相同的训练时,训练表是否会失去3NF?例如,如下所示重复数据。

enter image description here

1 个答案:

答案 0 :(得分:0)

让我解释一下, 首先,你应该有一个主表来保存培训细节,

Table ms_training:

pk_training_id int (Primary,identity)
training_date date
training_desc text

然后应该有事务映射表,它将Training与Employee映射为,

Table tr_training:

pk_trainingTr_id (Primary key,identity)
fk_training_id(FK ref. ms_training)
Emp_ID (FK)

我希望我能够正确解释,如果不让我知道。