我想知道如何设计Dropbox的数据库架构?我正在考虑三个表:用户,文件,具有以下约束的文件夹。
约束:
你如何在他们之间建立关系?
答案 0 :(得分:5)
此ERD符合您所描述的规则:
请注意,在此架构中,每个用户都有自己的个性化文件夹视图。另一方面,文件只表示一次,但可以分配给一个或多个文件夹,即使对于不同的用户也是如此。
编辑:(稍微)扩展模型:
通过添加单个表来跟踪物理文件夹及其内容,我提出的架构还解决了Branko Dimitrijevic建议的所有其他功能:
答案 1 :(得分:3)
Joel Brown's model是一个好的开始,但让我用另一种可能性来激发你的想象力:
此模型具有以下属性:
当然,问题在于,使用此模型获得的灵活性是否值得增加额外的复杂性,但这只是您可以回答的问题......