我应该使用关系还是拆分结果

时间:2014-02-12 12:51:31

标签: mysql database

我正在创建一个应该包含坐标,文本大小等的数据库。

我的第一张表看起来像这样

id, template_id, data_1, data_2, data_3, data_4, data_5, data_6, data_7, data_8

每个data_x字段都应具有以下格式之一:

svg string;textsize
x;y;textheight;textwidth
x;y;imageheight;imagewidth

将来可以添加更多格式

我的问题是,我应该使用这些格式(并使用例如PHP拆分它们)还是应该为每种格式的关系创建一个表格?什么是最快/最佳实践?

我希望我能够很好地解释自己......

1 个答案:

答案 0 :(得分:0)

首先,您不应将它们存储在单独的列中。您应该有另一个表,每个table1 id有一行,每个数据项有一行。它至少有两列:

  • Table1Id
  • 的DataColumn

它可能还有一个自动递增的id,一个用于枚举id的序列号等。

关于如何存储数据的问题,这取决于您将如何访问它们。如果数据库对内容视而不见,则可以将它们全部存储在单个字段中。如果您需要访问它们,那么您可能必须进入下一级别并将其分解为单独的数据表,每种类型的数据表对应于上述数据列所引用的数据表。

在任何情况下,此时更重要的变化是将数据值的“数组”放入另一个表的单独行中。