【问题标题】:What to do if same parent data is shared by child data?如果子数据共享相同的父数据怎么办?
【发布时间】:2020-08-16 21:34:21
【问题描述】:

我有两张桌子

1. Branches
2. Departments

分支机构

BranchID    BranchName
1            BranchA
2.           BranchB

部门

DepartmentID     DepartmentName fk_BranchID
1                    IT           1
2.                   IT           2
3.                   ENG          2

现在您可以看到,每个分支机构都有部门,但有些部门是在分支机构之间共享的。我的意思是相同的部门,但在 2 个分支机构之下。

现在这就是我上面所做的,我的表结构。

但是当我在某个地方使用它时。它将在下拉列表或网站集合等中拍摄 2 个 IT。我应该输入不同的名称,例如 IT (BranchA)、IT (BranchB)

【问题讨论】:

    标签: sql sql-server tsql database-design


    【解决方案1】:

    您似乎想要三个表:

    • Branches
    • Departments
    • BranchDepartments

    这些看起来像:

    分支机构:

    BranchID    BranchName
    1            BranchA
    2            BranchB
    

    部门:

    DepartmentID     DepartmentName
        1                 IT
        2                 ENG
    

    分公司:

    BranchDepartmentID     BranchID     DepartmentId
        1                   1             1
        2                   2             1
        3                   2             2
    

    这通常是您在 SQL 中表示多对多关系的方式。

    【讨论】:

      猜你喜欢
      • 2020-05-01
      • 2023-03-20
      • 1970-01-01
      • 2012-07-15
      • 2021-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      相关资源
      最近更新 更多