我如何规范我的桌子?

时间:2012-11-09 09:45:07

标签: database normalization

我有一个由MySQL数据库中的1440列组成的表。列名是: {1}},idnameemail以及phonenumber列,例如1月1日2012年1月1日,1月1日,2012年1月30日january_2012_01:00,1月1日_2012_01:00,1:1月1日_2012_02:00,...,1月1日_2012_24:00。

我可以在一个表中维护所有这些列,还是可以将单个表分成多个表并在它们之间建立关联?对我来说最好的解决方案是什么?

1 个答案:

答案 0 :(得分:1)

你应该创建一个包含(UserId,SomeDateColumnName,SomeValueColumnName)的表

然后,表中每列的值将在此新表中的一行中。例如:

而不是

Id  Name  Email  Phone  1stjanuary_2012_00:00  1stjanuary_2012_00:30 ...
1   A     A@A.A  123    Value 1                Value 2

你将

Id  Name  Email  Phone
1   A     A@A.A  123

UserId  DateColumn           ValueColumn
1       2012-01-01 00:00:00  Value 1
1       2012-01-01 00:30:00  Value 2
1       2012-01-01 01:00:00  Value 3
1       2012-01-01 01:30:00  Value 4
...
2       2012-01-01 00:00:00  Value 123
2       2012-01-01 00:30:00  Value 234
2       2012-01-01 01:00:00  Value 345
2       2012-01-01 01:30:00  Value 456
...