Ran*_*ash 1 mysql sql rdbms database-design
我有一个“战略”问题。
事情是,我们有一张客户地址和客户订单的表格。结构类似于(只是一个例子,忽略归档类型等):
Address
id INT
line1 TEXT
line2 TEXT
state TEXT
zip TEXT
countryid INT
Run Code Online (Sandbox Code Playgroud)
为了保持数据的历史有效性,我们将这些地址与订单一起存储在文本字段中(以前它是通过引用完成的,但这是错误的,因为如果地址更改,所有旧订单也会更改交货地址,这是错误的)。例如:
Orders
id INT
productid INT
quantity INT
delivery_address TEXT
Run Code Online (Sandbox Code Playgroud)
delivery address
类似于 CONCAT_WS("\n",line1,line2,state,zip,country_name)
一切都很好,很花哨,但是似乎客户需要访问历史数据并能够以 XML 格式导出这些数据,他们希望再次正确拆分这些行。因为有时没有 line2 或 state 或 zip 或其他什么,我们如何以一种方式存储这些信息,然后我们可以破译每行的“标签”?
建议存储为 JSON 编码的数组,但这是最好的方法吗?我想将它存储为 XML ……或者创建那些 6-10 个额外的列并为每个订单存储地址数据?也许你们中的一些人在处理这种事情方面有更多的经验,并且能够为我指明正确的方向。
提前致谢!