我正在一群同学之间创建关系mysql数据库,与php一起使用。
我们正在尝试规范化数据库,并且意见不一致。当规范化并创建一个新表时,我自己包括两个人认为最好的做法是将外键留在现有表中,因为新表中的唯一标识符将成为新的PK。
小组的其余部分已经被教导/感觉这应该以另一种方式实施,即主键被遗忘。
只要存在关系,它就能完成这项工作,或者是一种方法在另一种方法上是正确的。
提前致谢
加里
答案 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)