我正在设计一个数据库,我正在重新考虑我最初的设计决定......
产品类型如下... 型号、零件、替换零件套件和选项。
选项 A(第一个设计):我计划为上述产品类型设置单独的表格。我想说每个表中大约 75% 的字段是相同的。
我将每个产品类型创建为单独的表,因为我需要在它们之间创建关联。例如,一个模型可以有很多选项,一个选项可以有很多模型。一个选项也可以有很多部分,一个部分可以有很多选项……等等……
选项 B:我可以创建一个名为 Product 的表格,而不是单独的表格,其中包含模型、零件、替换零件套件和选项。我可以有一个称为 type 的字段来区分模型、选项等。我认为不利的一面是某些产品类型永远不会使用几个字段(留空)。我猜这就是“非最佳实践”发挥作用的地方。
选项 B 将大大降低数据库设计的复杂性。在提取数据进行查询时,我也不必担心引用一堆表......
我要为网站、文学、视频和图像创建一些表格。我不应该使用文件名作为主键是否有充分的理由。
例如...
“someimage.png”作为表格图像的PK。
我能想到的唯一缺点是,如果我在多个目录中命名了 someimage.png 并且每个目录 someimage.png 不是同一个图像。这似乎是糟糕的设计,无论如何我都没有理由这样做。
想法?