sql-server - SQL Server 中的数据库表关系

标签 sql-server database database-design foreign-keys entity-relationship

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

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

方法 1

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

enter image description here

方法 2

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

enter image description here

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

最佳答案

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

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

正如我所说,您确实需要对您想要实现的目标给出更好的解释。然后我会编辑。

关于sql-server - SQL Server 中的数据库表关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15947550/

相关文章:

mysql - 如何从 schema.rb 文件生成 SQL Server 数据库?

sql - 在带括号的 PostgreSQL 中使用 LIKE

SQL Server查找连续失败记录

MySQL 表结构

database - Twitter 喜欢 JPA 中的关系

sql - 根据 SQL 中的值添加唯一约束

sql - 根据表中存储的值从表中选择列

ruby-on-rails - 将 Excel 电子表格中的数据提取到 Ruby 中的数据库中

c# - 是否有与 .net 的纯基于文件的 MSSQL 数据库等效的 PHP/Java?

mysql - 如何优化这个复杂的 EAV MYSQL 查询?