2

我的数据库中有一个作业(作业)表和一个工具表。刀具表分为两部分,一个是类别(tool_category),另一个是刀具数据(common_tools)。

现在我想问的是,我有一个工作表,我必须在其中选择一些从工具(common_tools)中列出的不同类别(工具类别)的下拉字段。我在下面给出两种方法。请建议哪个更好以及为什么。

方法一

我创建了一个表“tools_in_jobs”,其中包含三个字段,我们可以通过它知道为作业表单中的哪个类别选择了哪个工具值。

在此处输入图像描述

方法二

另一种方法是代替所有工具的公用表,我们可以为每个工具创建单独的表,如下图所示。但这里要注意的一件事是,这两个表(job_faculty 和 job_expertise)只是例如可能有 5 到 6 个这样的表,因为我使用了来自不同类别的 5 到 6 个工具。

在此处输入图像描述

如果还有其他建议,也请提出。

4

2 回答 2

2

我真的不明白你想要完成什么,但我可以说的是方法 2 一点都不好。每个工具的表格?哪些都有相同的字段?呐!这是一个巨大的开销,相当于程序中的“重复代码”。我认为可维护性、可扩展性等也很糟糕。

然后接近一个 - 我不明白为什么“tools_in_job”表与工具和类别有关系 - 工具的一个还不够吗?(看起来像一个无用的冗余)或者是什么意思这个类别?

正如我所说,您确实需要为您要完成的工作提供更好的解释。到时候我会编辑。

于 2013-04-11T11:36:45.227 回答
0

当然,方法 1 是首选方法,但从作业中删除 tool_category_id 以及 tools_in_job 和 tool_category 之间的关系以规范化设计。

方法 2 意味着每次添加新工具时创建一个新表,编写和维护更多代码,维护更多表和索引,并使用更多存储空间。

于 2013-04-11T11:51:38.657 回答