我需要存储一组数字,最好是在单个单元格中。我有一个人员列表,每个人都有唯一的ID,并且我需要知道他们的家庭成员是谁。我对SQL数据库比较新,所以请尽量保持简单。
Family(userID, familyMemberID)
每个家庭成员都将有一个条目,因此它可能看起来像这样:
(1, 2), (1, 3), (1, 4), (1, 5), (2, 8)
你可以决定是否要双向存储连接(即每次插入,您还要插入相应的 (1,2) 也插入 (2,1))这可以通过触发器或其他方式轻松实现。添加familyId是最简单的解决方案。
然而,由于家庭成员随着孩子结婚并组建新家庭而发生变化。我会创建一个单独的“关系”表,其中包含personId和familyID。
如果您想跟踪成员的移动。在数据仓库世界中,通常有relId、relTy和时间戳来保留历史记录,但您不必走得那么远。
也许有一天,您想创建一个家谱。因此,请决定是否真的希望将personId/familyId作为列名出现在您的关系表中。
总之,对于您的即时需求,我会选择一个单独的关系表。