对于类似主题的另一个问题道歉,但我对此级别的数据库开发缺乏经验。
我有一个用户加入项目的项目,一个从MySQL数据库动态加载内容的页面。我一直在探索外键等来处理将多个用户带到项目中的多对多方面,反之亦然,但是应该在哪里存储加载到每个项目中的所有内容?除此之外,我还有一个聊天窗口和一个上传和下载文件的地方。
答案 0 :(得分:2)
这可能就是你要找的东西
Project
id
proejectName
startDate
endDate
title
description
[... basically all project specific content]
ProjectParticipant
userId
projectId
User
id
username
email
[... basically all user specific content]
ProjectParticipant
是一个多对多表,将用户链接到项目,反之亦然。
修改强>
如果要表示项目特定文件或项目特定注释,则需要为这些事项创建单独的表,因为一个项目有很多注释,一个项目很可能也有很多文件。因此,您可以创建两个表,如下所示:
ProjectComment
id
projectId (references the id of the project table)
authorId (references the id of the user table)
comment
created_at
ProjectFile
id
projectId (references the id of the project table)
fileLocation
uploadedBy (references the id of the user table)
希望这有帮助。