首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server中的数据库表关系

SQL Server中的数据库表关系
EN

Stack Overflow用户
提问于 2013-04-11 11:26:09
回答 2查看 1.1K关注 0票数 2

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

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

方法1

我已经创建了一个表"tools_in_jobs“,它包含三个字段,我们可以用它知道为作业形式中的哪个类别选择了哪个工具值。

方法2

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

如有其他建议,请提出建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-11 11:36:45

我不太明白你想要完成什么,但我能说的是,方法2一点也不好。每个工具都有一张桌子?哪一个都有相同的字段?不!这是一个巨大的开销,可以与程序中的“重复代码”相媲美。我认为可维护性、可扩充性等也很差。

接下来,我不明白为什么"tools_in_job“表与工具和类别有关系,而工具的表不就足够了吗?(看起来是无用的冗余),或者这个类别的含义是什么?

就像我说的,你真的需要更好地解释你想要完成的事情。那我就编辑。

票数 2
EN

Stack Overflow用户

发布于 2013-04-11 11:51:38

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15947550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档