地磁気観測所の業務用プログラム管理データベースについて
地磁気観測所テクニカルレポート 第５巻第２号
１１１頁 平成２０年３月
Techni
calReportoft
heKakiokaMa
gneti
cObserv
ator
yVol.
５,No.
２,pp.
１１１,Marc
h２００８１

地磁気観測所の業務用プログラム管理データベースについて
山本輝明（女満別出張所）・森永健司（観測課）
２００７年１２月７日受付，２００８年１月２９日改訂，２００８年２月１２日受理

要旨

地磁気観測所では，観測データのデジタル化に伴い，多種多様なプログラムが業務に使用されている．しかし，業務用プログラムの管理については，各課（柿岡総務課、技術課、観測課、調査課）及び両出張所（女満別出張所、鹿屋出張所）で独自に行われ，一元的に管理されていない状態であった．その結果，各課及び両出張所で使用している同名のプログラムのバージョンが違う等の問題が発生した．これらの問題点を解決するために，業務用プログラムを一元的に管理することを目的に，業務用プログラムの情報をデータベース化して，各課及び両出張所から，Webブラウザで容易に検索，閲覧，管理ができるソフトウエアを開発した．業務用プログラムをデータベースで一元管理することにより，各課及び両出張所で最新バージョンのプログラムを使用できるようになり，プログラムのバグに関する情報も共有できるようになった．
本報告書では，データベース管理プログラムの概要，機能について報告する．

１．はじめに近年の I
T技術の進歩により，観測データを容易にデジタルデータとして取得できるようになった．
地磁気観測所では，デジタル化された観測データ等を多種多様なプログラムで処理している．しかし，プログラムが多くなるにつれて，様々な不都合が生じてきた．例えば，当所の職員が作成したプログラムをある官署の職員が何度か改修してデータを処理したとする．この処理結果と他官署で同じデータを同じ名称の同じ機能のプログラムで処理した結果とが異なってしまった．この原因は，同じプログラムでもバージョンが異なるためである．また，同じデータを処理するプログラムについて，官署ごとに別々のプログラムが存在し，プログラムの開発は職員ごとに行われ，後に誰がどのように開発したのか知る術がなかった．その結果，処理方法が変わった
ときに，プログラムをバージョンアップしたくても，一から開発する必要が出てきた．さらに，職員の人事異動等により，開発したプログラムの行方自体が不明になった事例もあった．つまり，プログラムは職員自ら，あるいは各官署で管理されており，他官署で使用しているプログラムについては情報がほとんどない状態であった．これらの問題を解決するために，全所的なプログラムの管理が必要となってきた．これを受けて，地磁気観測所は業務で使用しているプログラムを一元管理する所内の組織（後述するデータベース管理班）を立ち上げた．
立ち上げた組織の議論で，管理する側に業務的な負担を増やさないような体制を整備すること，バージョンアップ，バグ等の情報を即座に伝達できるシステムであることが提案された．この提案を受けて検討した結果，現在のインターネット技術の普及から，Webブラウザで容易に管理できるシステムが最も適した管理システムと結論づけられ，Webデータベース形式の管理ソフトウエアを開発するに至った．
以下では，今回開発を行った業務用プログラム管
理データベースとその管理プログラムの概要及び機能について述べる．
２．概要
２．１ 開発環境
Webデータベース管理プログラムについて，以下のソフトウエア等を用いて開発した．
・OS：MicrosoftWi
ndo
wsXP Servi
cePack２
・We
bサーバー：Apac
he２．
０．
５５
・データベース：MySQL Ser
ver５．
０・サーバーサイドスクリプト：PHP５．
１．
２・PHP標準ライブラリ：PEAR・PHPテンプレートエンジン：Smarty２．
６

２

山本輝明・森永健司

・デ ー タ ベ ー ス 管 理 ソ フ ト ウ エ ア：phpMy
Admin
じ内容の項目の無駄な繰り返しが発生してしまうの
２．
７．
０-pl
２
で，関連する項目ごとにテーブルを作り，その分割
・掲示板プログラム：
したテーブルでデータを管理する．このように，
crossboard（PWeb：http://www.
phpweb.
jpより入手） データベースを何個ものテーブルに分割して設計す
これらの開発言語とソフトウエアは，OSを除けることをデータベースの正規化と呼ぶ．また，分割ばいずれもフリーで入手できるものばかりであるのされたテーブルは，テーブルごとに存在する特定ので，経費をかけずに目的のアプリケーションを作成キーによって結合できる．正規化されたテーブルできた．また，PHPは My
SQLといった SQL言語をは，データベースの更新情報を扱う「データベース用いるデータベースとの相性が非常に良い．つま更新情報テーブル」，プログラム名等の基本情報をり，データベースアクセス関数の充実，フリーで入扱う「基本情報テーブル」，バグ全般の情報を扱う
手できるデータベース管理ソフトウエア，掲示板プ「バグ情報テーブル」，バグの修正情報を扱う「修正ログラムが使用できることから，Webデータベース情報テーブル」，バージョンアップの情報を扱う
管理プログラムは PHP言語を使用している．
「改変情報テーブル」，その他の情報を扱う「その他（要望）テーブル」の６つである．各テーブルは，更２．２ データベースのテーブルフォーマット
新情報の主キー「DB_No」が与えられ，更新情報
本データベースのテーブル構成を表１～６に示テーブルと結合できるようになっている．また，す．My
SQLはリレーショナルデータベースであり， 個々のプログラムの固有の「ID」，同名のプログラ
登録するプログラムの多くの情報を効率的に管理すムで共通の「kanri_No」で，基本情報テーブルと他るため，表１～６のとおり，本データベースを大きのテーブルを結合できる．バグ情報ごとに与えられく６つのテーブルに正規化した．ここでデータベー
表３ バグ情報テーブル．色がつけられたキーで他のテースの正規化について簡単に説明する．大きなデータブルと結合できる．
を１つのテーブルで管理するときに，どうしても同
表１

表２

データベース更新情報テーブル．色がつけられたキーで他のテーブルと結合できる．

表４

修正情報テーブル．色がつけられたキーで他のテーブルと結合できる．

表５

改変情報テーブル．色がつけられたキーで他のテーブルと結合できる．

表６

要望（その他）情報テーブル．色がつけられたキーで他のテーブルと結合できる．

基本情報テーブル．色がつけられたキーで他のテーブルと結合できる．

地磁気観測所の業務用プログラム管理データベースについてる「error_No」で，修正情報テーブルとバグ情報テーブルを結合できる．このように，各テーブルを結びつけるキーは，プログラムが登録されるごとに自動で与えられ，重複のないキー，つまり主キーとなっている．また，改変情報について，更新前後のI
D，kanri_Noを使用することで，更新前後の情報を簡便に得ることができるようになっている．
３．データベース管理プログラムの機能
３．１ データベース管理プログラムの構成及びサイトマップ
Webデータベース管理プログラムは，「トップページ」，「データベース表示，検索スクリプト群」，「各種情報登録スクリプト群」，「掲示板プログラム群」で構成されている．また，サーバー側の処理プ
ログラムと，Web公開用のテンプレートを分けることにより，データベース処理プログラムを作成するプログラマーの仕事と Webデザイナーの仕事を分別した．これにより，プログラマーはプログラムのみを，デザイナーは Webデザインのみを考えればよいことになり，作業の効率化が図れることになる．

図１

本 We
bデータベース管理プログラムのおおまかなサイトマップは，図１のとおりである．表示しているプログラムについて，各種申請を効率的に行えるように，各種申請フォームへリンクしている．
なお，本 Webデータベース管理プログラムは，地磁気観測所内の地磁気観測処理装置で運用され，全てのページは地磁気観測所内のイントラネットのみからアクセスできる．
３．２ トップページ
トップページ（図２）では，先に挙げた４つのリンク（プログラム一覧，バグ情報一覧，新規登録，掲示板）の他に，検索機能が付加されている．検索
対象は，基本情報テーブルの検索キーワードである．検索機能について，一般の検索サイトのように，複数語句によるプログラムの検索が可能である．また，検索する際，よく利用する語句を検索キーワードにまとめ，チェックボックスによる検索機能も追加した．これにより，語句を入力することなく簡単にプログラムを検索できる．検索については AND検索を採用し，プログラム検索を絞り込み業務用プログラム管理データベースのサイトマップ．

図２

３

トップページのイメージ．

４

山本輝明・森永健司

やすくした．
また，新規登録やバグ情報等が登録されると，更新履歴窓にその情報が自動で時系列に表示されるようになっている．更新履歴は最新の情報が一番上に表示される．
３．３ 登録フォーム
登録フォームは，新規登録フォーム，バグ情報登録フォーム，バグ修正登録フォーム，改変情報登録
フォーム，その他情報登録フォーム，破棄・内容修
正登録フォームの６つのフォーム（図３～８）で構成されている．各登録フォームは，２．２節で挙げた
デ ー タ ベ ー ス テ ー ブ ル に 対 応 し て い る．各 登 録
フォームからデータベースへの登録を行うと，登録年月日等の更新情報をデータベース更新情報テーブルに登録し，各フォームに対応するテーブルに更新

図３

図４

内容を登録する．さらに，登録を確認後，技術系の職員に対し登録内容のメール送信を行う．ただし，破棄・内容修正登録フォームは，データベースに申請内容の登録は行わず，申請内容をデータベースの管理者へメール送信するようにしている．
登録フォームを作成するにあたり，最も注意した
点は，登録の際の入力ミスや，プログラム名等の必須項目の未入力を防ぐためのチェック機能である．
プログラム名等の必須となる申請項目の未記入に対しては，必須項目ごとに未記入判定を行い，必須項目を全て入力するまでは登録できないようにしている．また，職員名や使用課所等については，事前に職員リスト等のテーブル（表７～１０）を作成し，リストから選択する方式にして，単純な入力ミスをできるだけ抑えるようにした．さらに，登録の際に同名，同バージョンのプログラムがないかを確認する

新規登録フォームのイメージ．

バグ情報登録フォームのイメージ．

地磁気観測所の業務用プログラム管理データベースについて

図５

バグ修正登録フォームのイメージ．

図６

改変情報登録フォームのイメージ．

図７

その他情報登録フォームのイメージ．

５

６

山本輝明・森永健司

図８

表７

入力支援テーブル（メンバーリスト）．

表８

表９

破棄，内容修正登録フォームのイメージ．

入力支援テーブル（課所リスト）．

入力支援テーブル（関連業務リスト）．

表１０ 入力支援テーブル（動作環境リスト）．

機能も設けている．この機能により，データベース登録前にブラウザの「戻る」ボタンの使用による２重登録も防止できる．なお，各登録フォームにはヘルプページへのリンクをつけている．ヘルプページには，プログラム情報登録までのフローチャート，プログラム名の文字制限などを詳しく述べており，初めて登録する時でも容易に登録作業が行えるようにサポートしている．
３．４ データベース表示，検索プログラム一覧（図９）は，トップページからリンクによって表示されるときは，データベースに登録された全てのプログラムの情報が表示される．
トップページの検索機能を使用した場合は，検索語句に合致したプログラム情報のみが一覧で表示される．この一覧表示では，登録された項目全てを表示するのではなく，必要最低限の項目のみを表示している．個々のプログラムの詳細については，個々のプログラム名にリンクがあるので，これをクリックすることにより個々のプログラム情報ページが表示される．また，圧縮ファイルのリンクをクリックすると個々のプログラムの圧縮ファイルがダウンロードできる．
検索機能については，トップページの検索機能と同じなので説明は割愛する．ここでは，ソート機能について説明する．キーとしてプログラム名，関連業務，使用課所，使用開始年月日の４項目で，それぞれ昇順，降順でソートができる．ソート機能を使うことにより，より簡単に探したいプログラムを見つけることが可能となる．
登録されるプログラムが多くなっていると，１

地磁気観測所の業務用プログラム管理データベースについて

図９

７

プログラム一覧の表示のイメージ．

ページで表示すると見づらくなるので，１ページの最大表示数を２０件にした．それ以上の数が登録されたときには，２ページ，３ページとページを増やすことで対応している．
また，基本情報テーブルで，廃棄フラグがついた
プログラムは，廃棄されたプログラムとして，一覧表示等には表示させないようにしている．
プログラム情報ページ（図１０）について，プログラム一覧だけでは表示されなかった詳細な情報が表示される．バグ情報，修正情報，改変情報，その他情報があるときには，履歴が表示され，履歴にリンクが発生し，それぞれの詳細な情報ページ（図１１～１３）を表示できる．
そ れ ぞ れ の 表 示 に つ い て，前 述 し た よ う にMy
SQLがリレーショナルデータベースであることを利用して，DB_No等の各テーブルに共通のキーを使って，表１１のとおり，２～６個のテーブルを結合させて情報を表示している．
４．業務用プログラム管理データベースの管理体制
４．１ データベース管理班
地磁気観測所では，前章までに説明した業務用プ
ログラム管理データベースの完成に伴い，データベースを管理する所内の組織を立ち上げた．この組織は，データベース管理班（以下，管理班）と呼ばれている．管理班の業務は，プログラム経験者でなくてもデータベースの管理者として管理業務が遂行できるように作業内容をマニュアル化している．管
理業務をマニュアル化することにより，人事異動等に伴う管理班員の変更があっても，円滑にデータベースの管理ができる体制を構築することができた．また，データベースの管理には，後述するデータベース管理ソフトウエア phpMy
Adminを用いることによって，SQL言語の知識が無い人でも視覚的にデータベースの登録内容を変更等ができる．
管理班の業務は，業務用プログラム管理データベースのバックアップ，申請された登録内容の確認，修正，削除依頼のあったプログラムの削除，入力支援テーブル（表７～１０）の編集である．以下に管理班の業務の概略を述べる．
業務用プログラム管理データベースのバックアップは，後述するデータベース管理ソフトウエアを用いて行える．登録されたプログラムのソース等が入ったファイルも適宜バックアップする．バック
アップしたデータベース，登録されたプログラムのソース等が入ったファイルをまとめて別のメディアに保存する．
また，登録内容確認については，通常はプログラ
ムで自動化されているが，誤字，脱字等あったときにデータベースを修正する．削除依頼のあったプログラムの削除については，データベースそのものから削除するのではなく，廃棄フラグを立てることで対応する．これらのデータベースの修正については，後述するデータベース管理ソフトウエアを用いて行う．
入力支援テーブルの修正について，３．２節で説明したように各登録フォームの入力補助に使用しているので変更になったときは必要になる作業である．
変更するには，業務用プログラム管理データベースと同様に，データベース管理ソフトウエアを用いる．

８

山本輝明・森永健司

図１０ プログラム情報の表示のイメージ．

図１１ バグ情報の表示のイメージ．

図１２ 修正情報の表示のイメージ．

地磁気観測所の業務用プログラム管理データベースについて

４．２ データベース管理ソフトウエア（phpMyAdmin）
業務用プログラム管理データベースの管理（図１４）について，管理班がデータベース管理ソフトウエア（phpMyAdmin）を用いて管理する．このソフ
トウエアによって，視覚的にデータベースの内容を修正等できる．前述したように，破棄，内容修正申９請を受けたり，登録しているユーザーの変更等をしたりするときにこの管理ソフトウエアを使用する．
また，データベースのバックアップもこの管理ソフ
トウエアで行える．管理ソフトウエアの使用方法については，管理班が管理業務で必要な手順はマニュアル化している．基本的には，管理班用の管理ソフ

図１３ 改変情報の表示のイメージ．
表１１ データベースの内容表示に使用されるテーブル．○が使用されるテーブルであり，× は使用されないテーブルである．

図１４ データベース管理ソフトウエア（phpMyAdmin）のイメージ．

１０

山本輝明・森永健司

トウエアの使用マニュアルを見れば誰でも管理班としてデータベースの管理を行うことができる．また，phpMyAd
minは 世 界 中 で 広 く 使 わ れ て い るMy
SQLデータベース管理ソフトウエアであり，詳細なマニュアルは以下のホームページに掲載されている．
（phpMyAd
minホームページhttp://www.
php
myad
min.
net/home_pa
ge/index.
php）
管理班用の管理ソフトウエアの使用マニュアルだ
けでは分かりにくい手順等も，ホームページ上のマニュアルを参照することにより対応できる．
５．業務用プログラム管理データベースとその管理プログラムの開発上の留意点
当所は職員の異動が多く，管理班員も入れ替わりが出てくることから誰でも管理ができるよう分かりやすいデータベース管理マニュアルの充実を図った．データベースへの登録部とデータベースの内容
表示部について，それぞれ別の職員が開発したた
め，表示部から登録部へのデータの受け渡しや，登録部で問題がないような記号の入力でも表示部ではエラーになる等，登録部の開発と表示部の開発の連携が非常に困難なところがあった．これについて
は，登録部の開発者と表示部の開発者が綿密に連絡を取り合って解決することができた．最後に，当ソフトウエアの開発期間が数ヶ月であったことを付記しておく．
６．まとめ
地磁気観測所では，業務で使用している多種多様なプログラムがあり，プログラムの管理について各課及び両出張所で個々に管理していたものを，一元的に管理することになった．そこで，Webブラウザで容易にプログラム情報を登録，閲覧，検索できるWe
bデータベースソフトウエアを製作した．
この We
bデータベース管理プログラムによって，次の項目が改善された．
１．常に最新バージョンのプログラムを各課及び両出張所が統一して使用できるようになった．
２．各課及び両出張所でバグ情報を共有できるようになった．
３．職員の人事異動等によるプログラム情報の消失を防止することができる．

４．We
bブラウザを利用したプログラムの情報の簡易な検索が可能になった．
５．プログラム情報の管理の自動化を図った．
謝辞
技術課大和田主任研究官，調査課石井主任研究官には，本ソフトウエアの立案から完成までご指導頂きました．観測課岩瀬技官，西村技官（現女満別出張所）にはソフトウエア作成に当たって協力頂きました．ここに謝意を表します．
最後に，ソフトウエアの完成まで，幅広く意見等いただいた地磁気観測所全職員に感謝いたします．
参考文献
ハーシー，速攻！図解プログラミング PHP+MySQL，
毎日コミュニケーションズ，pp
３２７，２００５．
堀 江 美 彦，MySQL
５構 築 ガ イ ド オ ー プ ン ソ ー ス 高 速
データベースと Apache，PHP，Perl，Jav
aを使った
We
b＋DBプログラミング環境の構築，秀和システ
ム，pp
６０７，２００６．
田中ナルミ，阿部忠光，標準 My
SQL改訂版，ソフトバン
ククリエィティブ，pp
４６１，２００５．
山田祥寛，PEAR入門 PHP標準ライブラリを極める！，
翔泳社，pp３６７，２００５．
山田祥寛，Smarty入門 PHP+テンプレート・エンジンでつくる MVCアプリケーション，翔泳社，pp
３１９，２００５．
山田祥寛，独習 PHP，翔泳社，pp
４１９，２００６．

商標等
・My
SQLは，MySQL AB社のスウェーデン王国および米国，その他の国における登録商標または商標である．
・Microsoft，Windows，Windo
ws Xpは，Microsoft
コーポレーション社の米国およびその他の国における登録商標または商標である．
・Apacheは，ApacheSoft
wareFoundat
ionの米国およびその他の国における登録商標または商標である．
・本報告書では，TM，Ⓡ，Ⓒ等の表示は省略している．
・その他，社名および商品名，システム名称は一般に各開発メーカーの登録商標である．
・本報告書における全ての商標と著作権は，それぞれの所有者に帰属する．

地磁気観測所の業務用プログラム管理データベースについて

１１Int
roductiont
oaDatabaseforProgramsus
edf
orBus
ines
sint
heMagnet
icObs
ervat
orybyiMORI
NAGA２
Ter
uakiYAMAMOTO１ andKenj
MemambetsuMagnet
i
cObs
ervat
or
y２
Kaki
okaMagnet
icObs
ervat
or
y１(Recei
ved７ Dec
emb
er２００７;r
ec
ei
vedi
nrevi
s
edfor
m２９ J
anua
r
y２００８;acc
ept
ed１２ February２００８)

Abs
t
r
act
Var
io
us pro
gr
a
ms ar
e us
ed forb
us
i
nes
sint
he Ma
gnet
ic Observatory.Thes
e wer
eo
r
i
gi
na
ll
yma
na
gedi
nea
c
hs
ec
t
i
on,r
at
hert
hanunifor
ml
y.Asar
es
ul
t,o
nes
ec
t
ionwo
ul
ds
o
met
i
me
sus
eadi
f
f
er
entver
s
i
o
no
fapr
o
gr
a
m wi
t
ht
hes
a
mena
met
ot
hatb
ei
ngus
edi
n
a
not
hers
ec
t
i
on,l
ea
di
ng t
o prob
le
mswi
t
h di
f
f
er
enc
esb
etween t
he versions.Inor
dert
osolvet
hes
epr
obl
e
ms,wedevel
o
pedda
tab
as
esoft
wa
r
ewhi
c
hma
na
gespr
o
gr
a
msus
edf
or
b
us
i
nes
s.Wi
t
ht
hi
ssoft
wa
r
e,pro
gr
a
mi
nf
or
ma
t
i
o
nc
a
n ea
si
l
yb
er
ef
er
r
edt
oa
ndma
na
ged
us
i
ng a Webbrows
er.Thi
s dat
ab
as
esoft
wa
r
e ena
bl
es ea
c
hs
ec
t
i
o
nt
o us
et
he l
at
est
versionofapr
o
gr
a
ma
ndi
nf
or
ma
t
i
o
nt
ob
eshar
eda
bo
utpr
o
gr
a
mb
ugsi
nea
c
hs
ec
t
i
on.
I
nt
hi
spa
per,wedes
c
r
i
b
et
heo
ut
l
i
nea
ndt
hef
unc
t
i
o
nso
ft
heda
t
ab
a
s
es
o
ft
wa
r
ef
or
ma
na
gi
ngpr
o
gr
a
msus
edf
o
rb
us
i
nes
s.