我的数据库中有一个作业(作业)表和一个工具表。工具表分为两部分,一是类别(Tool_category),另一部分是工具数据(Common_tools)。
现在我想问的是,我有一个工作表单,在这个表单中,我必须选择一些下拉字段,这些字段是从tools(common_tools)中为不同类别(Tool_category)列出的。我在下面给出两种方法。请建议哪一个更好,为什么。
方法1
我已经创建了一个表"tools_in_jobs“,它包含三个字段,我们可以用它知道为作业形式中的哪个类别选择了哪个工具值。

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

如有其他建议,请提出建议。
发布于 2013-04-11 11:36:45
我不太明白你想要完成什么,但我能说的是,方法2一点也不好。每个工具都有一张桌子?哪一个都有相同的字段?不!这是一个巨大的开销,可以与程序中的“重复代码”相媲美。我认为可维护性、可扩充性等也很差。
接下来,我不明白为什么"tools_in_job“表与工具和类别有关系,而工具的表不就足够了吗?(看起来是无用的冗余),或者这个类别的含义是什么?
就像我说的,你真的需要更好地解释你想要完成的事情。那我就编辑。
发布于 2013-04-11 11:51:38
当然,方法1是首选的方法,但是从作业中删除tool_category_id,以及tools_in_job和tool_category之间的关系来规范设计。
方法2意味着每次添加新工具、编写和维护更多代码、维护更多表和索引以及使用更多存储时创建一个新表。
https://stackoverflow.com/questions/15947550
复制相似问题