需要MySQL数据库架构来处理复杂的数据导入

时间:2012-05-13 02:25:21

标签: php mysql database-design

这是我已经拥有的东西:

PHP / MySQL Web界面允许您上传csv文件。程序扫描文件以确定每列的适当数据类型,然后将文件写入MySQL中的新表。

然后,您“映射”数据,将原始表中的不同列(刚刚导入的列)分配给核心属性(例如sku,cost,color,collection_name,height,MSRP等)。

我的问题在于找出一个好的模式来存储可以采取的过程。

实施例

原始文件包含字段:item_number,list_price,description

这些将映射到item_number映射到sku,list_price映射到MSRP,但也映射到成本,描述映射到颜色和集合名称。

对于varchar类型字段,我可以使用转换表来查找要转换为的“核心”值。 对于数字类型,如原始文件中的“list_price”,我需要存储某种数字转换规则。例如。 'list_price'= 2.0 * core_attribute_cost。

如何存储和检索数学运算及其操作数?有一个我错过的简单解决方案吗?因为我正在考虑使用带有“x + y”,“x / y”,“y / x”,“yx”,“xy”的数学表,其中x将是输入字段,y将是保存的值(如“2.0”)或其他字段。这看起来无穷无尽。

由于

1 个答案:

答案 0 :(得分:0)

我建议您将所有数据导入到包含所需列的单个平面表中,并包含在CSV文件中。

导入完成后,您可以运行SQL查询,按照预定义的规则将数据插入规范化数据库。

因此,您的导入过程分为两步,但您可以灵活地将CSV导入文件或业务规则从平面表调整到数据库架构,而不会影响其他