Разработка базы данных для мультитенантного приложения с гибкой организационной структурой - PullRequest
0 голосов
/ 14 февраля 2019

Мы создаем мультитенантное приложение с гибкой организационной структурой, в которой

  1. Структура организации может иметь неограниченные уровни
  2. Структура организации может изменяться в любой момент времени

Я думаю, что основной структурой организации может быть таблица с самоссылкой, например так:

+-------+-------------+----------+
| OrgId | OrgName     | ParentId |
+-------+-------------+----------+
|   1   | Runners     | NULL     |
+-------+-------------+----------+
|   2   | FastRunners | 1        |
+-------+-------------+----------+

Таблица версий, в которой структура может измениться в любой момент времени, FiscalYear Поле в основном просто позволяет будущим разработчикам легко запрашивать отчеты и тому подобное.Было бы правильно назвать это таблицей версий?или, может быть, Detail?:

+-----------+-----------+------------+------------+
| VersionId | ValidFrom | ValidTo    | FiscalYear |
+-----------+-----------+------------+------------+
|     1     | 2019-1-14 | 2019-6-31  | 2018       |
+-----------+-----------+------------+------------+
|     2     | 2019-1-14 | 2019-6-31  | 2018       |
+-----------+-----------+------------+------------+
|     3     | 2019-7-1  | 9999-12-31 | 2019       |
+-----------+-----------+------------+------------+
|     4     | 2019-7-1  | 9999-12-31 | 2019       |
+-----------+-----------+------------+------------+

И таблица сопоставления, чтобы версия / деталь и основная таблица не были сильно связаны друг с другом для удобства вставки и обновления:

+-----------+-------+
| VersionId | OrgId |
+-----------+-------+
|     1     |   1   |
+-----------+-------+
|     2     |   2   |
+-----------+-------+
|     3     |   1   |
+-----------+-------+
|     4     |   2   |
+-----------+-------+

рекомендовать какие-либо изменения в этой структуре?Есть ли предупреждения против такой структуры?У меня нет большого опыта в самостоятельных ссылках на таблицы с гибкой организацией, поэтому любая помощь приветствуется.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...