嗨,我正在开发一个个人应用程序,并且正面临一个数据库设计决策,我不知道要采取哪种行动。这就是我想要完成的事情。
在我的应用程序中,我将存储大量使用所见即所得编辑器构建的图像、视频和一些 html 文件。我已经决定不将文件存储在我的数据库中,而是只存储原始文件名和存储文件名(唯一标识符)。
为此,我决定为每种类型的文件设置 3 个单独的表是个好主意。
这是我开始遇到一些问题的地方。
目前,在我分析了我要构建的内容后,我意识到到目前为止我有 4 种类型的图像:头像、缩略图、描述、标题。这个列表可能会增长,直到我完成应用程序。同样可以对于视频和 html 文件,我还不确定。
到目前为止,我在设计我的数据库时看到了 2 个操作过程。
第一个是我有一个 Images 表,其中我将拥有这些属性:
OriginalFileName ,StorageFileName , IsAvatar , IsThumbnail , IsDescription , IsHeader
在这种情况下,每次我在我的应用程序中识别一种新类型的图像时,我都必须修改数据库表,这对我来说听起来不对。
第二个是我为每种类型的图像创建表。
在这种情况下,我将有 4 个表,它们有一个 Primary 列、一个 OriginalFileName 列和一个 StorageFileName 列。
同样,我识别出一种新类型的 Image 的每种类型都必须创建一个新表。
这种解决方案听起来不错,但我可能会通过这样做进入过度工程领域。
那么对于我当前的问题,最好的解决方案是什么?
如果有人有其他选择,我愿意听取其他选择。