用户反馈系统的数据库结构
当前的关注点是为注册用户参与的用户反馈系统设计最佳的数据库结构参与活动并为其他参与者提供反馈。
建议的数据库模型具有一个“参与者”表来建立用户和活动之间的多对多关系。此外,它在该表中使用唯一的“id”列来表示用户对特定事件的参与。
为了确保数据库完整性,反馈表的主键是通过组合“sender_id”和“recipient_id”得出的,模仿“参与者”表中的“id”列。
此方法有效吗?
虽然建议的方法可以避免重复反馈和参与者重复,但它是通常被认为是一种称为“密钥中的编码信息”的反模式。为数据库键分配含义可能会导致不灵活性和维护挑战。
推荐解决方案
更合适的方法是利用以下结构:
主键生成
数据库系统通常提供根据其他列值自动生成主键的机制。但是,不建议对主键或外键这样做,因为它会引入复杂性。
处理数据库子类型
建议设计中的根本问题是处理数据库子类型、层次结构和继承。 DBMS 通常提供特定的机制来有效管理此类关系。
以上是对密钥中的信息进行编码是用户反馈系统的有效方法吗?的详细内容。更多信息请关注PHP中文网其他相关文章!