在MySQL中组合表数据的最佳实践?

时间:2011-09-25 22:00:32

标签: mysql

我有一个表中与一个或多个项目相关联的人员列表,可能存储在另一个表中。我的问题是,设置它的最佳做法是什么? 每个项目都需要有自己的帖子,对于人们来说也是如此,因为他们都有各种各样的数据。如何将多个项目帖子绑定到一个人帖子,反之亦然?

3 个答案:

答案 0 :(得分:1)

这是一个范围很广的问题,取决于要在关系数据库中表示的实体基础结构的确切要求。

我建议您仔细阅读数据规范化的基础知识,并考虑自己哪种规范化形式最适合您的应用。

如果我们只是简单地坚持项目和参与者,我会更进一步说明:

**PROJECTS**
ID
...

**PEOPLE**
ID
...


**PROJECT_PARTICIPANTS**
PROJECT_ID (FK PROJECTS)
PARTICIPANT_ID (FK PEOPLES)

答案 1 :(得分:1)

我希望看到一个专栏,允许程序区分一组人和一组人员。

如果他们真的必须分开,我不确定他是否同意,我会为每个项目都有VIEW。我会为person保留一个表,为post保留另一个表。我在VIEW中做JOIN。

答案 2 :(得分:1)

通常你会有3张桌子。一个用于人,一个用于项目,一个用于它们之间的关系。