0
0

組織図や組織情報をどのように取り扱うか

Posted at

非ITのバックオフィスが頑張るシリーズです。
今回は組織図のお話です。

組織構造のDB設計について

組織図の標準フォーマット?

組織図を表現するフォーマットって標準化されたもの、あるんでしょうか?
Excel、PowerPoint、Visio、Wordあたりでゴリゴリ書くのが一般的なんですかねえ。
複数のSaaS製品を使用していると、組織図(組織情報)の設定が必要で、それぞれフォーマットも違います。
組織構造がDBにあって、それをベースに組織図が自動で作成されたり、各種SaaSのインポート用フォーマットを出力できたり、API連携できたらいいですよね。
MarkdownのMermaid記法とかだとデータベースと相性が良さそうな気もします。

As Is

当社の場合はPowerPointで作成した組織図を元に、各種データを手作業で作成しています。

  1. PowerPointで作成した組織図
  2. PowerPoint組織図を見ながらカオナビ用の所属情報csvに手作業で変換
  3. カオナビ用csvからfreee人事労務の部門一括インポート用csvに変換(わりと手作業)
  4. PowerPoint組織図を見ながらKickflowの組織図csvに手作業で変換

To Be

  • DBに組織情報、人事情報が格納されている
  • DBから組織図(PowerPoint他複数フォーマット)を出力できる
  • 各種SaaSインポート用の組織情報CSVファイルが出力できる
  • 各種SaaSと組織情報をAPI連携できる

組織図をDBで表現する

当社には社内用のRDBがありません。100人程度の会社ですし、RDBを持つのは管理コストのほうが大きい気もしますので、いったんGoogleスプレッドシートをDBとして作成していきたいと思います。
とはいえ、将来的にRDBに移行できるように、ある程度将来を見据えた設計にしていこうかと考えています。
シートをテーブルとし、スプレッドシート全体でひとつのDBとなるようなイメージです。
ではどのようにテーブル設計をしたらよいでしょうか。

テーブル設計

ちょうど良い記事を見つけましたので、参考にさせていただきました。
組織図をデータベースで表現する(ネスケラボ)
なるほど、「組織図など木構造のデータをDBに登録する際は、階層問い合わせを使用する構造にしよう」ということなんですねー。履歴系のカラムはもう少し検討する必要がありそうですが、いったんこの形のテーブルにしてみましょう。

ID GroupName ParentID LeaderId HistoryId
組織ID 組織名 親組織ID リーダーID 履歴ID

まずはこの情報だけあれば、組織の木構造が登録でき、各種SaaS用のCSVは作れてしまいそうです。
当社の場合はKickflowのCSVがこの形式に近いので、逆にここからインポートしてDBを作成してみます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0