SQLとは、データベースを直接操作して、条件を指定してデータを抽出することです。
役所のデーターベースは、殆どがOracle(オラクル)
役所の基幹業務(住民基本台帳業務、課税業務、収納業務、保険業務、介護業務、福祉業務等)の殆どは、今では、クライアントサーバーシステムによる、オールインワンパッケージになっています。
一般的に、この基幹業務は、リレーショナルデータベースという3階層システムが構築さています。
①データベース層
②アプリケーション層
③プレゼンテーション層
各層の役割としては、
①データベース層 → Oracle(オナクル)等のデータベースソフトによりサーバー内にデータベースを構築している
②アプリケーション層 → データベースを操作するためのソフトウエア
③プレゼンテーション層 → クライアント(パソコン)から操作する画面
となります。
ウェブ系のシステムが導入されていれば、クライアント側は、ブラウザ画面で操作しますので、
サーバー側は、①と②
クライアント側は、③
となっています。
クライアント側に専用のソフトウエアをインストールしている場合は、
サーバー側は、①
クライアント側は、①と②
となります。
ここらあたりは、ユーザーは、あまり意識しなくても良いと思います。
話が、少しそれましたが、多くの役所では、このオールインワンパッケージ(基本パッケージ)を導入し、各部署の必要に応じてカスタマイズをして利用している場合が多いと思います。
データベースとは、エクセルで作った名簿の様なもの
データベースとは、エクセルの表(一般的にはテーブルといいます)の様なものが、沢山サーバーの中に入っているとイメージしてください。
また、各業務毎にサーバーがあるわけではなく、一つのサーバー内に、全ての業務の表が入っています。
表(テーブル)の代表的な例(本当はもっと沢山あります)としては、次のものがります。
住民基本台帳テーブル
住民税テーブル
固定資産税テーブル
自動車税テーブル
国民健康保険の資格者テーブル
国民健康保険の賦課テーブル
介護保険の資格者テーブル
介護保険の賦課テーブル等・・・
※さらに、各業務ごとに細かく細分化された表が多数あります。
基本的な各種帳票(住民票、納税通知書、保険証、各種一覧表等)については、パッケージソフト内に含まれておりますので、クラアント側のソフトウエア、若しくは、電算業務を委託しているSIベンダに依頼すれば、出力して貰えます。
SQLが使えれば、不要な委託費を削れる・・・?
しかし、業務をしていく中で、どうしても「パッケージソフトには組み込まれていない条件で、データを抽出したい」という事が良くあります。
こういった場合、定例的に必要なものであれば、パッケージソフトを、お金を掛けてカスタマイズするか、電算業務を委託しているSIベンダに有償で依頼し抽出してもらう必要が出てきます。
いずれにしても、予算の関係もあるので、すぐに対応できず、予算が付いても次年度対応となったり、最悪の場合は、予算が付かず、現在抽出できるデータを駆使して、手作業で作成する必要が出てきます。
法改正や議会対応で、毎年しなければならないことが増え、「帰りたくても帰れない」状況となります。
私が勤務する役所でも、この基幹業務を扱う部署は、結構夜遅くまで、残っております。
SQLが使えるようになると、この様な場合でも、ワンクリックで必要なデータが抽出できるようになります。
(但し、データベース内に必要がデータが格納されている場合に限ります。)
また、オールインワンパッケージの場合は、各個人を特定する為に、各業務共通の番号を付番していますので、業務を跨いだデータを合わせて抽出することもできます。
例:住民基本台帳の情報に税情報を付けて表示させること等
これらをSQLでは、選択、射影、結合といいます。
以降「表」のことを「テーブル」と表現します。
①選択 → テーブルから行を抽出すること
②射影 → テーブルから列を抽出すること
③結合 → 複数のテーブルから指定した条件でデータを抽出すること
SQLは、最初の1度目は、「何をどういう条件」で抽出するかを記述する必要がありますが、一度作ってしまえば、何度でも使えます。
特に、日次、週次、月次等、ある程度の頻度で、主出する必要がある場合は、かなり業務を効率化させることができます。
次回は、SQLを使うことができる環境の作り方について説明します。
コメント