MySQL / PHP数据库规范化

时间:2010-12-01 22:34:29

标签: php mysql normalization

我正在一群同学之间创建关系mysql数据库,与php一起使用。

我们正在尝试规范化数据库,并且意见不一致。当规范化并创建一个新表时,我自己包括两个人认为最好的做法是将外键留在现有表中,因为新表中的唯一标识符将成为新的PK。

小组的其余部分已经被教导/感觉这应该以另一种方式实施,即主键被遗忘。

只要存在关系,它就能完成这项工作,或者是一种方法在另一种方法上是正确的。

提前致谢

加里

1 个答案:

答案 0 :(得分:1)

这取决于你在做什么。删除部分依赖项时,规则为:

 
   r = (A, B, C, D)
   where
      A and B makes a composite primary key and
      C is dependent on A 
   then
      r1 = (A, C)
      r2 = (A, B, D)
  

如果要删除Transitive依赖项,则:

     r = (A, B, C)
     where A is the primary key and C is dependent on B then

     r1 = (A, B)
     r2 = (B, C)