表的规范化

时间:2017-09-05 07:28:42

标签: mysql sql database-design database-normalization

请帮忙解决表的规范化问题,因为我是SQL新手。我有五个表。

Table1-->Column1,Column2.
Table2-->Column3,Column4.
Table3-->Column5,Column6,Column3.
Table4-->Column7,Column8,Column5.
Table5-->Column9,Column10,Column11,Column12,Column1,Column5,Column7.

这里Column1,column3,Column5,Column7和Column9是主键,Column1,Column5和Column7是Table5的外键,我在PHP中的条目是Table5。问题是我得到表5的重复条目。一天中Table5会有多个条目。我想给(Column1和Column7)一个唯一的密钥。是否有任何方法可以为2个组合外键提供唯一密钥。我试过了,

 Alter Table Table5 Add UNIQUE KEY(Column1,Column7); 

但是将错误视为column1的重复值。 这是一个内部应用程序,因此在XAMPP上运行,数据由不同系统通过LAN输入并保存在本地服务器中。这会导致任何问题。请帮助解决问题,因为一天内输入的数据超过1000个。 / p>

提前致谢。

1 个答案:

答案 0 :(得分:0)

你应该考虑在Table5上制作一个复合键,如下所示: 而不是Column9作为主键使用Column1,Column5,Column7作为复合键。