在开发过程中,我正在添加每个主要添加的数据库。我最新的是一个图片库程序,我在问自己所有这些问题/
可能表格的简化版本
Image (id, name, path, state)
Gallery (id, name, path, state)
Image Gallery Relationship (image id, gallery id)
Image User Relationship (image id, user id)
Image Venue Relationship (image id, venue id)
Image Event Relationship (image id, event id)
Gallery User Relationship (image id, user id)
Gallery Venue Relationship (image id, venue id)
Gallery Event Relationship (image id, event id)
我认为同一张照片可以由用户拥有/拍摄,分配给活动和场地,在用户照片的画廊中,在与活动相关的画廊中,在与场地相关的画廊中。
现在,如果我想使用同一个数据库来存储用户的个人资料图片,我会为此创建另一个表吗?我应该将个人资料图片 ID 放入用户表中吗?我应该将照片所有权放入图像表中吗?但很可能大部分图片不会由用户上传。活动或场地的“个人资料图片”怎么样?还是画廊的封面图?我创建了很多表还是不够?
旁注通常在创建列时,我认为如果它是必需的单值属性,则将其放在表中,如果它可能为空或与多个事物相关联,则它可能应该在另一个表中。但是我现在有 60 张桌子,而且我的程序还没有完成一半。
这些天我真的很缺乏导师,所以非常感谢所有的建议
图片相关,这是我当前的数据库
另外,如果我的问题可以更概括地帮助未来有类似问题的人,我不介意编辑