【发布时间】:2011-05-06 00:38:34
【问题描述】:
在了解 Mnesia 的过程中,我仍然在努力思考关系方面的问题。所以我会把我的挣扎放在这里,并寻求解决它们的最佳方法。
一对多关系 假设我有一群人,
-record(contact, {name, phone}).
现在,我知道我可以将电话定义为始终保存为列表,因此人们可以拥有多个电话号码,我想这就是这样做的方法(是吗?那我该怎么看反过来说,找到一个数字的名字?)。
多对多关系 现在让我们假设我有多个可以放入人员的组。组名没有任何意义,它们只是名称;概念是“unix 系统组”或“标签”。天真地,我会将此成员资格建模为 proplist,例如
{groups [{friends, bool()}, {family, bool()}, {work, bool()}]} %% and so on...
例如,作为上面“联系人”记录中的一个字段。如果我希望能够根据组名快速查找组的所有成员,并且还希望能够查找个人注册的所有组,那么在 mnesia 中对此进行建模的最佳方法是什么?当然,我也可以将其建模为仅包含组标识符的列表。对于与 mnesia 一起使用,最好的建模方法是什么?
如果这个问题很愚蠢,我深表歉意。有很多关于 mnesia 的文档,但它缺乏(IMO)一些整体使用的好例子。
【问题讨论】:
-
无需道歉恕我直言,这个问题一点也不愚蠢+1