我认为这不是一个技术问题,而是一个逻辑问题。我正在开发一个系统,为团体和个人提供会员资格。我在决定数据库架构方面遇到了一些麻烦。首先,我有两张桌子;一个用于individual contacts
,一个用于group contacts
。
tbl_contact_individual
tbl_contact_group
编辑 - 这些表格彼此不同(个人有first_name
last_name
,群组有parent_group_id
primary_contact_id
等)所以他们不能合并。
我可以将所有成员存储在一个member
表中,并使用php来决定从基于成员资格级别提取联系人信息的表,但这会导致非特定contact_id
列:a)可以引用两个不同表中的一个,b)包含重复值(即使它们引用不同的db条目)。这看起来有点像hacky。所以这就是我的想法。
tbl_member_individual
tbl_member_group
view_member
正如您可能认为的那样,我会为组和个人成员分别创建一个表,并将两者合并以便于列表。其他表需要引用成员条目,如果这样做有所不同。这看起来很简单,但我不禁感到我在忽视某些事情。
还是我过于复杂化了?我应该在中央group_id
表中只有一个individual_id
列和一个member
列,并根据成员资格类型留下一个空值吗?
谢谢!