Что делать, если одни и те же родительские данные совместно используются дочерними данными? - PullRequest
0 голосов
/ 02 мая 2020

У меня есть 2 таблицы

1. Branches
2. Departments

Филиалы

BranchID    BranchName
1            BranchA
2.           BranchB

Отделы

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

Сейчас как Вы можете видеть, что в каждом филиале есть отделы, но некоторые отделы являются общими для филиалов. Я имею в виду те же отделы, но под двумя ветвями.

Теперь это то, что я сделал выше, моя структура таблицы.

Но когда я где-то использую это. Будет снято 2 IT в раскрывающемся списке или коллекция сайта et c. Должен ли я поставить разные имена, такие как IT (BranchA), IT (BranchB)

1 Ответ

2 голосов
/ 02 мая 2020

Похоже, вам нужны три таблицы:

  • Branches
  • Departments
  • BranchDepartments

Эти будет выглядеть так:

Филиалы:

BranchID    BranchName
1            BranchA
2            BranchB

Отделы:

DepartmentID     DepartmentName
    1                 IT
    2                 ENG

BranchDepartments:

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

Обычно вы представляете отношение многих ко многим в SQL.

...