假设我希望用户选择一种或多种联系方式(电子邮件,电话,传真,其他等)。如果他们选择其他,那么他们可以输入自己的单一联系方式。将其存储在数据库中的最佳方法是什么?我看到三种可能性:
对上述内容有任何意见,还是有更好的解决方案?
答案 0 :(得分:0)
如果您有一个用户和几种联系方式可能,那么它很可能是一对多的关系。 (我会尽可能地避免多对多,因为额外的复杂性和查询这些模型的速度变慢。)
users_table
id INTEGER
name VARCHAR
etc.
contacts_table
user_id INTEGER -- foreign key on user.id
contact_method ENUM('email', 'phone', 'mail', 'other')
contact_address VARCHAR
etc.