データベース思考

どう言ったら良いか分からないので、とりあえず、「データベース思考」と呼ぼうと思う。AccessやExcelについて、この下期は、給与チーム内で、毎朝15分~20分の勉強会をさせてもらっている。当然技術的な話がメインだとおもったけど、実は、その中でデータベースな考え方を理解してもらうこと、共有することが非常に重要だと分かってきた。
しつこく言っている「データベース思考」は、次の通り
データと処理を分離すること
データが入れ替わったら、シートを作り直すなんてことはしない。一瞬で結果が変わることを考えて処理方法を考えるべき。
データは履歴管理すること
当月に必要なデータだけにしてると毎回データを取り直さなければならない。履歴管理手法(パラメーター処理、有効履歴の取得条件)を学び、基準日が変わっても、いちいちデータを取り直したりしない。処理上も効率的になるけど、その履歴データが業務分析、傾向分析にそのままつかえるということも大きな理由。
データは共有すること
共有ファイルサーバーがあればできる。tableだけのAccessを置くのがおすすめ(ファイルが破損しないし、各々のロジックは、各々で好きに編集できる)。定期的に更新する社員データの様なものはもちろん、各自が工夫して整備したコードマスタも共有すると精緻で利便性の高いデータが全員で共有できる。テーブル名の名付けルールも統一している。(T_JK1001_社員マスタ の様に作成者のイニシャル入り)
ロジカルな処理なら不可能な処理はない
まず、ロジカルに定義できるかをジッと考えないことが多い(手作業してるとね)。そんでもって、ロジカルに考えられても最終的に処理できるか自信が無いと手をつけられない。「きっとやる方法があるから、やってみよー」と言っている。
最後の「ロジカルな処理なら不可能な処理はない。」は、時間が限られた中でなかなかそうは思えないと思う。自分も、業務が長く暇な時間があったから、チャレンジして習得したところがある。内のチームの構成員は、私が最終的にフォローできるから、よいが、そうはいかないところはたくさんあるんだと思う。
勉強会開始から、約4ヶ月が経過したけど、想像以上に成果が出てきている。
  • 共通言語があって(「例の6000番のテーブルを追加して、歴を基準日で切る」の様なこと)、簡単に高いレベルの意思疎通ができる。
  • すでに自主的に自らの課題に応用しはじめている。