小编pay*_*ing的帖子

是否为不同的产品类型创建单独的表?

我正在设计一个数据库,我正在重新考虑我最初的设计决定......

产品类型如下... 型号、零件、替换零件套件和选项。

选项 A(第一个设计):我计划为上述产品类型设置单独的表格。我想说每个表中大约 75% 的字段是相同的。

我将每个产品类型创建为单独的表,因为我需要在它们之间创建关联。例如,一个模型可以有很多选项,一个选项可以有很多模型。一个选项也可以有很多部分,一个部分可以有很多选项……等等……

选项 B:我可以创建一个名为 Product 的表格,而不是单独的表格,其中包含模型、零件、替换零件套件和选项。我可以有一个称为 type 的字段来区分模型、选项等。我认为不利的一面是某些产品类型永远不会使用几个字段(留空)。我猜这就是“非最佳实践”发挥作用的地方。

选项 B 将大大降低数据库设计的复杂性。在提取数据进行查询时,我也不必担心引用一堆表......

database-design database-recommendation

25
推荐指数
2
解决办法
1万
查看次数

文件名作为主键?

我要为网站、文学、视频和图像创建一些表格。我不应该使用文件名作为主键是否有充分的理由。

例如...

“someimage.png”作为表格图像的PK。

我能想到的唯一缺点是,如果我在多个目录中命名了 someimage.png 并且每个目录 someimage.png 不是同一个图像。这似乎是糟糕的设计,无论如何我都没有理由这样做。

想法?

database-design primary-key

2
推荐指数
1
解决办法
2027
查看次数