【发布时间】:2013-10-28 18:43:46
【问题描述】:
在 Groovy/Grails 和 GORM 中使用 MySQL 数据库执行此操作。
在为我们的不同客户存储数据时,我们需要能够识别他们的细分。有些将有 0 个细分级别。一些,1、2、3、级别等。我们希望允许任意数量的细分级别,但可以设置为固定数字,例如 5、7 或 10。
例如:
公司 ABC 有 2 个细分级别:
公司)ABC(根级别) 细分级别 1) ABC->Div1, ABC->Div2, ABC->Div3 细分级别 2) ABC->Div1->SubDiv1, ABC->Div1->SubDiv2, ABC->Div1->SubDiv3
公司 DEF 有 1 个级别:
公司)DEF(根级别) 1级)DEF->Div1,DEF->Div2,DEF->Div3
我们需要为每个级别定义 1 到 1 和 1 到多个唯一属性(例如将地址与 ABC->Div1->SubDiv3 关联)
ABC 公司可能希望我们为 Div2 的所有实例和 Div2 的所有细分显示特定图像。
问题是,如何最好地为标识符或主键创建可变数量的划分级别,然后用作相关数据的外键?
有固定数量的列(比如 7 和一个复杂的键):
ID-Level-1、ID-Level-2、ID-Level-3、ID-Level-4、ID-Level-5、ID-Level-6、ID-Level-7
或者,创建某种层次结构树并将各种键值用作标识符/外键?
【问题讨论】:
标签: mysql sql grails database-design grails-orm