(57)【特許請求の範囲】
【請求項１】
様々な様式を階層構造を用いて定義したデータ定義情報をテーブルの１つのカラムに格納したデータ定義格納手段と、
前記データ定義格納手段から所望の前記データ定義情報を取得し、当該データ定義情報の階層構造に従って画面を構成して値の入力を受け付ける画面構成手段と、
前記データ定義情報に値を入力した階層構造のデータをテーブルの１つのカラムに格納するデータ格納手段と、を有し、
前記画面構成手段は、値の入力を受け付けているときに、前記データの階層構造に対する新たな階層構造の追加を受け付けること
を特徴とするデータ管理装置。
【請求項２】
前記画面構成手段は、前記データ格納手段から前記データを取得し、当該データの階層構造に従って画面を構成して値の変更及び新たな階層構造の追加を受け付けることを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記画面構成手段は、前記階層構造に従って構成する画面において、前記階層構造の各階層に新たな項目を追加するための要素を配置することを特徴とする請求項１又は２に記載のデータ管理装置。
【請求項４】
前記階層構造は、キーと値を組みとする連想配列を用い、値に連想配列をとることで階層構造を表現し、前記データ定義情報はキーと階層構造が定義されているが値が入っていないものであり、前記データは前記データ定義情報のキーに対応する値が入力されたものであることを特徴とする請求項１乃至３のいずれかに記載のデータ管理装置。
【請求項５】
前記データ定義情報の階層構造のキーを並べて指定したチェック対象の項目と当該項目の値が正しく入力されているか否かを判定する判定方法とを有するチェック定義情報を格納したチェック定義格納手段と、
前記データを格納する際に、前記チェック定義情報を参照して前記データをチェックするチェック手段と、
を有することを特徴とする請求項４に記載のデータ管理装置。
【請求項６】
コンピュータが実行するデータ管理方法であって、
様々な様式を階層構造を用いて定義したデータ定義情報をテーブルの１つのカラムに格納したデータ定義格納手段から所望の前記データ定義情報を取得するステップと、
前記データ定義情報の階層構造に従って画面を構成して値の入力を受け付けるステップと、
前記データ定義情報に値を入力した階層構造のデータをテーブルの１つのカラムに格納するステップと、を有し、
値の入力を受け付けているときに、前記データの階層構造に対する新たな階層構造の追加を受け付けること
を特徴とするデータ管理方法。
【請求項７】
請求項１乃至５のいずれかに記載のデータ管理装置の各手段としてコンピュータを動作させることを特徴とするデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを入力し管理する技術に関する。
【背景技術】
【０００２】
一般的なシステム開発は、業務仕様に基づいてデータモデルを検討し、データベースの論理設計（テーブル定義など）を進めるとともに、画面仕様の設計を進め、その間のデータ構造の違いをアプリケーションプログラムでデータ変換することで実現している。データベースの構成を変更すると、データ変換するアプリケーションプログラムを作り直す必要があり、簡単にはデータベースの構成を変更できない。
【０００３】
特許文献１では、データベースを容易に構成するために定義体と呼ばれるひな形をユーザが作成し、定義体を読みだして値を入力することでデータベースにデータを格納している。
【０００４】
また、ＸＭＬデータをそのままのデータ構造で格納するＸＭＬデータベースが知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１９２５１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
様々な様式のデータを入力したいという要望があった場合、従来のシステム開発では、対象となる様式ごとにシステム開発することになり、開発費用、開発期間がかかるという問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであり、追加開発を伴わずに様々な様式のデータが入力できるシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の本発明に係るデータ管理装置は、様々な様式を階層構造を用いて定義したデータ定義情報をテーブルの１つのカラムに格納したデータ定義格納手段と、前記データ定義格納手段から所望の前記データ定義情報を取得し、当該データ定義情報の階層構造に従って画面を構成して値の入力を受け付ける画面構成手段と、前記データ定義情報に値を入力した階層構造のデータをテーブルの１つのカラムに格納するデータ格納手段と、を有し、前記画面構成手段は、値の入力を受け付けているときに、前記データの階層構造に対する新たな階層構造の追加を受け付けることを特徴とする。
【００１０】
上記データ管理装置において、前記画面構成手段は、前記データ格納手段から前記データを取得し、当該データの階層構造に従って画面を構成して値の変更及び新たな階層構造の追加を受け付けることを特徴とする。
【００１１】
上記データ管理装置において、前記データ定義情報の階層構造のキーを並べて指定したチェック対象の項目と当該項目の値が正しく入力されているか否かを判定する判定方法とを有するチェック定義情報を格納したチェック定義格納手段と、前記データを格納する際に、前記チェック定義情報を参照して前記データをチェックするチェック手段と、を有することを特徴とする。
【００１３】
第２の本発明に係るデータ管理方法は、コンピュータが実行するデータ管理方法であって、様々な様式を階層構造を用いて定義したデータ定義情報をテーブルの１つのカラムに格納したデータ定義格納手段から所望の前記データ定義情報を取得するステップと、前記データ定義情報の階層構造に従って画面を構成して値の入力を受け付けるステップと、前記データ定義情報に値を入力した階層構造のデータをテーブルの１つのカラムに格納するステップと、を有し、値の入力を受け付けているときに、前記データの階層構造に対する新たな階層構造の追加を受け付けることを特徴とする。
【００１４】
第３の本発明に係るデータ管理プログラムは、上記データ管理装置の各手段としてコンピュータを動作させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、追加開発を伴わずに様々な様式のデータが入力できるシステムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態におけるデータ管理システムの構成を示す機能ブロック図である。
【図２】本実施の形態で用いるデータの例を示す図である。
【図３】図２のデータの階層構造に従って構成した画面の例を示す図である。
【図４】データ様式定義を作成するときの画面の例を示す図である。
【図５】チェック定義の例を示す図である。
【図６】データベースに格納されるデータの例を示す図である。
【図７】本実施の形態におけるデータ管理システムにデータを登録するときの処理の流れを示すフローチャートである。
【図８】図２のデータに“工事情報”の項目を追加した例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について図面を用いて説明する。
【００１８】
図１は、本実施の形態におけるデータ管理システムの構成を示す機能ブロック図である。同図に示すデータ管理システムは、クライアント端末１、サーバ３、およびデータベース５を備える。クライアント端末１はサーバ３に接続し、サーバ３を介してデータベース５にアクセスする。図１では、クライアント端末１を１台のみ示しているが、複数のクライアント端末１がサーバ３に接続してもよい。
【００１９】
本データ管理システムは、データが備える項目を定義したデータ様式定義に従って入力されたデータの入出力や内容チェック、およびデータ様式定義の作成を行うシステムである。クライアント端末１は、サーバ３を介してデータベース５に格納されたデータ様式定義を取得し、データ様式定義の階層構造に従って画面を構成してデータの入力を受け付け、入力されたデータをサーバ３を介してデータベース５に格納する。また、クライアント端末１は、画面を構成する要素の追加変更の操作を反映してデータ様式定義を作成し、作成したデータ様式定義をサーバ３を介してデータベース５に格納する。以下、各装置について説明する。
【００２０】
クライアント端末１は、データ登録部１１、画面描画部１２、およびデータ様式登録部１３を備える。
【００２１】
データ登録部１１は、データ様式定義をサーバ３を介してデータベース５から取得し、データ様式定義に対応する画面を画面描画部１２に表示させて、画面描画部１２でデータ様式定義に従って入力されたデータをサーバ３を介してデータベース５に格納する。また、すでに入力されたデータについて、データ登録部１１は、データをサーバ３を介してデータベース５から取得して画面描画部１２に表示させて、画面描画部１２で変更されたデータをサーバ３を介してデータベース５に格納する。
【００２２】
画面描画部１２は、データ様式定義の階層構造に従ってデータを入力する画面を作成して表示する。データ様式定義はデータが備える項目を階層構造を用いて定義したひな形であり、データはデータ様式定義に値を入力したものである。
【００２３】
図２に本実施の形態で用いるデータの例を示す。本実施の形態ではデータ様式定義及びデータをＪＳＯＮ形式の連想配列により記述した。波括弧（「｛」，「｝」）で括った部分が連想配列であり、連想配列中の各要素のコロンの左側がキーでその右側がキーに対応する値である。値に連想配列をとることができ、その連想配列は対応するキーの１階層下のデータとなる。図２の例で説明すると、“共通情報”の１階層下に“契約者情報”と“申込情報”をキーとする要素がある。“契約者情報”は“契約者名”と“契約者住所”をキーとする要素を持つ。“契約者名”には“○○○○”という値が設定されている。データ様式定義は、キーや階層構造は定義されているが、項目に値が入っていない。例えば、図２のデータの元になったデータ様式定義には、“契約者名”の値や“契約者住所”の値などが入っていない。データ様式定義の値にデフォルト値を入れていてもよい。
【００２４】
画面描画部１２は、データの階層構造に従って、１階層目をタブ、２階層目をブロック、３階層目を項目として画面を作成する。以下、具体例を用いて説明する。図３は、図２のデータの階層構造に従って構成した画面の例である。画面描画部１２は、１階層目（“共通情報”，“個別情報”）をタブ１００，２００、２階層目（“契約者情報”，“申込情報”）をブロック１１０，１２０、３階層目（“契約者名”，“契約者住所”，“お申込年月日”）を各項目１１１，１１２，１２１として図３に示す画面を構成した。画面描画部１２は、各項目１１１，１１２，１２１の右側の欄において、各項目１１１，１１２，１２１に対応する値のデータの入力を受け付ける。画面右下の登録ボタン５００が操作（クリック）されると、データ登録部１１により、データ様式定義に値が入力されたデータがＪＳＯＮ形式のままサーバ３に送信されてデータベース５に登録される。
【００２５】
図３の画面では、１階層目のタブ２００（“個別情報”）内のデータが表示されていないが、タブ２００を操作（クリック）することで、“共通情報”内のデータに代えて、“個別情報”内のデータが画面に表示される。
【００２６】
画面描画部１２は、データの階層構造に従って画面を構成するので、データの内容や構造が異なった場合でも、１階層目をタブ、２階層目をブロック、３階層目を項目とした同じルールで画面を汎用的に構成できる。４階層目以上についても画面を構成するルールを決めて適用できる。画面描画部１２は、例えばＷｅｂブラウザに実装されたＪａｖａＳｃｒｉｐｔ（登録商標）で実現できる。
【００２７】
データ様式登録部１３は、画面描画部１２により作成される新たなデータ様式定義をサーバ３を介してデータベース５に登録する。画面描画部１２はタブ、ブロック、項目の追加変更の操作を受け付け、データ様式登録部１３は画面描画部１２が表示する画面の変更を反映してデータ様式定義を作成する。
【００２８】
図４にデータ様式定義を作成するときの画面の例を示す。データ様式定義を作成するときも、画面描画部１２は作成されるデータ様式定義の階層構造に従って画面を構成する。図４のタブ追加ボタン３００を操作することで新たなタブが追加される。同様に、ブロック追加ボタン１３０を操作することで新たなブロックが追加され、項目追加ボタン１１３，１２２を操作することで新たな項目が追加される。タブが追加されるとデータ様式定義に新たな１階層目が追加される。ブロックが追加されるとデータ様式定義の対応する１階層目内に新たな２階層目が追加される。項目が追加されるとデータ様式定義の対応する２階層目内に新たな３階層目が追加される。タブ、ブロック、項目の文字列を変更するとデータ様式定義内の対応するキーが変更される。クライアント端末１が備えるキーボードの削除ボタンを操作することでタブ、ブロック、項目が削除される。図４の登録ボタン５００が操作されると、データ様式登録部１３により、画面描画部１２が表示する画面の構造を反映したデータ様式定義が作成されて、サーバ３を介してデータベース５に登録される。なお、データを入力するときにも、図４のように画面構成を変更できるボタンを表示し、値の入力とデータの階層構造の変更を同時に行えるようにしてもよい。
【００２９】
サーバ３は、データ様式アクセス部３１、データアクセス部３２、およびデータチェック部３３を備える。本実施の形態のサーバ３は、データ様式定義、データの入出力のみを行う装置である。サーバ３は、データ内の情報に従って動作することはなく、クライアント端末１から受信したデータを変換することなくデータベース５に登録する。データベース５からデータ様式定義やデータを取得したときも、データ変換せずにそのままクライアント端末１に送信する。ただし、クライアント端末１から送信されたデータをデータベース５に登録するときには、データ内の値が決められた規則（例えば文字数、使用可能な文字のチェック）に沿っているか否かをチェックする。
【００３０】
データ様式アクセス部３１は、クライアント端末１の求めに応じてデータベース５からデータ様式定義を取得し、クライアント端末１に送信する。また、クライアント端末１からデータ様式定義を受信したときは、データ様式定義をデータベース５に登録する。
【００３１】
データアクセス部３２は、クライアント端末１から受信したデータをデータベース５に登録する。データをデータベース５に登録する前には、データに正しく値が入力されているか否かをデータチェック部３３にチェックさせる。
【００３２】
データチェック部３３は、データベース５に格納されたチェック定義を参照してデータに正しく値が入力されているか否かを判定する。正しく値が入力されていない場合は、クライアント端末１にその旨を通知する。
【００３３】
図５に、チェック定義の例を示す。チェック定義は、チェック対象の項目、チェック方法、メッセージを含む。チェック方法としては、正規表現にマッチするか否か判定する方法や論理式が成立するか否か判定する方法がある。データチェック部３３は、チェック定義内のチェック対象の項目がデータにあるか否かを検索し、検索した項目の値が正しく入力されているかを指定の方法で判定する。チェック定義のチェック対象の項目は、データ様式定義の階層構造に従って記述されているので、チェック対象の項目を直感的に表現できる。例えば図５の例では、“共通項目”の“契約者情報”の“契約者名”をチェック対象の項目としている。正しく値が入力されていない場合は、チェック定義内の対応するメッセージをクライアント端末１に通知する。
【００３４】
データベース５には、データ様式定義、チェック定義、およびデータが格納される。データ様式定義とデータはこれまでに述べたＪＳＯＮ形式のデータ構造のまま格納される。データ様式定義とデータをそのままのデータ構造で格納することでサーバ３においてデータ変換をする必要がなくなる。また、クライアント端末１も受信したデータ様式定義、データをデータ変換することなく、データ様式定義やデータの階層構造に従って画面を構成することができる。データベース５は、データをそのままのデータ構造で格納するので、例えば数百種類以上の多種のデータ様式定義を格納し、データ様式定義が追加されたとしてもデータベース５の構成を変更する必要がない。
【００３５】
図６に、データベース５に格納されるデータの例を示す。図６に示す例では、データベース５として、テーブルを用いてデータを格納する一般的なＤＢＭＳを用い、データをそのままテーブルの１カラムに収容した。データは元になったデータ様式定義に関わらず同じテーブル内に格納される。つまり、図６に示したテーブル内には様々な様式に基づいて入力されたデータが格納されている。一部の項目をキーとした検索が想定されるときは、検索キーを別カラムとして定義しておく。図６の例では、データＩＤ、サービス名が検索用のカラムである。あるいは、カラムの中身に対する検索機能を備えたＤＢＭＳを用いてもよい。
【００３６】
なお、クライアント端末１とサーバ３が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはクライアント端末１とサーバ３が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００３７】
次に、本実施の形態におけるデータ管理システムの動作について説明する。
【００３８】
図７は、本実施の形態におけるデータ管理システムにデータを登録するときの処理の流れを示すフローチャートである。
【００３９】
ユーザがクライアント端末１を操作して登録するデータの様式を指定すると、データ登録部１１は、その様式に対応するデータ様式定義を取得する（ステップＳ１１）。ユーザは、クライアント端末１をサーバ３に接続し、ログイン処理などを行った後、一覧から選択したり、様式番号などを入力することで登録したいデータの様式を指定する。取得すべきデータ様式定義が決まると、クライアント端末１のデータ登録部１１は、サーバ３に対してデータ様式定義の取得を要求し、サーバ３は、データベース５から対応するデータ様式定義を取得してクライアント端末１に送信する。
【００４０】
画面描画部１２は、データ様式定義の階層構造に従って画面を構成して表示する（ステップＳ１２）。画面描画部１２は、受信したデータ様式定義の階層構造に従い、１階層目をタブ、２階層目をブロック、３階層目をブロック内の項目として画面を構成する。
【００４１】
ユーザはクライアント端末１を操作し、画面内の各項目に値を入力する（ステップＳ１３）。値の入力が終わると、データ登録部１１は値が入力されたデータをサーバ３に送信する。
【００４２】
サーバ３はデータを受信すると、データチェック部３３がデータをチェックする（ステップＳ１４）。データチェック部３３は、データベース５に格納されたチェック定義を参照して受信したデータの値をチェックする。
【００４３】
データが形式的に問題ない場合、データアクセス部３２はデータベース５にデータを登録する（ステップＳ１５）。データアクセス部３２は、データベース５のテーブルの１カラムに受信したデータのデータ構造のまま格納する。必要であれば、データから検索用のデータを抽出し、検索キーとして別カラムに格納する。
【００４４】
次に、データの階層構造の変更について説明する。
【００４５】
画面描画部１２はデータをデータの階層構造のみに従って決められたルールで表示画面を構成するので、データの階層構造が変化しても画面描画部１２を追加開発する必要はない。データをデータベース５に登録した後も、データをデータベース５から読み出して、データのデータ構造を変更してデータベース５に格納してもよい。例えば、データの受け付け担当者がデータをデータベース５に登録した後、工事の担当者がデータベース５からそのデータを取得して参照し、工事に関する情報をデータに追加してデータベース５に格納する。このとき、工事に関する情報を入力する新たな階層構造を追加してもよい。図８は、図２のデータに“工事情報”の項目を追加した例を示している。画面描画部１２が図８のデータを表示する画面を構成するときは、図３に示した画面に“工事情報”のタブを追加した画面を構成する。データのデータ構造が変更されても、クライアント端末１、サーバ３を変更する必要はない。
【００４６】
以上説明したように、本実施の形態によれば、データベース５に様々なデータ様式定義を格納しておき、クライアント端末１がデータベース５から所望のデータ様式定義を取得し、データ様式定義の階層構造に従って画面を作成して表示し、データの入力を受け付けて、データ様式定義に値が入力されたデータをその階層構造のままデータベース５に格納することにより、個別の様式に対応した画面表示機能、個別の様式に対応したデータベースの構成を開発することなく、様々な様式のデータを入力することができる。
【符号の説明】
【００４７】
１…クライアント端末
１１…データ登録部
１２…画面描画部
１３…データ様式登録部
３…サーバ
３１…データ様式アクセス部
３２…データアクセス部
３３…データチェック部
５…データベース
【図１】
0006339932.tif 000002
【図２】
0006339932.tif 000003
【図３】
0006339932.tif 000004
【図４】
0006339932.tif 000005
【図５】
0006339932.tif 000006
【図６】
0006339932.tif 000007
【図７】
0006339932.tif 000008
【図８】
0006339932.tif 000009