我的数据库中有一个工作表和一个工具表。刀具表分为两部分,第一部分是类别(tool_category),第二部分是刀具数据(common_tools)。
现在我想问的是,我有一个工作表单,我必须在其中选择一些从工具(common_tools)中列出的不同类别(tool_category)的下拉字段。我在下面给出两种方法。请建议哪一个更好以及为什么。
方法 1
我创建了一个表“tools_in_jobs”,其中包含三个字段,我们可以通过该表知道为作业表单中的哪个类别选择了哪个工具值。
方法 2
另一种方法是,我们可以为每个工具创建单独的表,而不是为所有工具使用通用表,如下图所示。但这里需要注意的一件事是,这两个表(job_faculty 和 job_expertise)只是举例,可能有 5 到 6 个这样的表,因为我正在使用来自不同类别的 5 到 6 个工具。
如果还有其他建议,还请提出。
最佳答案
我不太明白你想要完成什么,但我可以说方法 2 根本不好。每种工具都有一个表?哪些都有相同的字段?呐!这是一个巨大的开销,相当于程序中的“重复代码”。可维护性、可扩展性等我觉得也很差。
然后接近一个 - 我不明白为什么“tools_in_job”表与工具和类别有关系 - 工具的表还不够吗?(看起来像是无用的冗余)或者什么是这个类别的含义是什么?
正如我所说,您确实需要对您想要实现的目标给出更好的解释。然后我会编辑。
关于sql-server - SQL Server 中的数据库表关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15947550/