我有这些SQL表
Date
(d_id,blabla, products_1 , products_2 )Product_1
(p1_id)Product_2
(p2_id)我希望保存在Date
的一行中,Product_1
的一方和Product_2
的一方
“简单”的方式是创建另外两个表
Date_P1
(d_id,p_id)Date_P2
(d_id,p_id)例如
Date_P1: {(d1,p01), (d1,p02), (d1,p04), (d2,p01), (d2,p03), (d3,p02)} etc.
但我不认为这是我能做到这一点的最佳方式......
是否可以将某种数组保存为“日期”属性?
*(包含product_1 ids和product_2 ids的数组)*
答案 0 :(得分:0)
如果您想在数据库中建立多对一(或多对多)关系,那么最好的方法就是拥有表Date,Product1和Date_P1。
另一个想法是以字符串的形式存储“产品ID列表”,例如Date:{(d1, "p01;p02;p03") ...}
。这样做的问题是某些查询可能难以有效执行,并且根本不建议使用此