我的数据库中有两种不同的表设计,它有相同的用途,这是第一个设计
Table Name : User Table Name : Topic
Table Column : - idUser Table Column : - idTopic
- username - topicName
- email - topicDescription
Table Name : UserFollowing
Table Column : - id_user
- relatedTable
- relatedId
所以,我有一个关于用户可以关注主题的项目,用户可以关注另一个用户,在第一个设计案例中,我创建了一个名为UserFollowing的表,用于连接哪个行用户跟随(relatedID)以及哪个类型跟随(User或Topic)用户遵循使用relatedTable。
这是我的第二个设计
Table Name : User Table Name : Topic
Table Column : - idUser Table Column : - idTopic
- username - topicName
- email - topicDescription
Table Name : UserFollowUser Table Name : UserFollowTopic
Table Column : - id_user Table Column : - id_user
- id_user_following - id_topic_following
哪一个更好实现?第一个还是第二个?
答案 0 :(得分:1)
如果你考虑约束,你应该明确地使用第二个。
即使您没有使用innodb并尝试通过应用程序层构建自己的约束,将一个外部列分配给一个父列也非常有用。它更干净。