(57)【要約】【課題】データベースの操作に係る汎用性を向上させることが可能な情報処理装置及びプログラムを提供する。【解決手段】データベースの操作を行う情報処理装置であって、前記データベースの操作に係る各コマンド名と、当該コマンド名の操作内容に対応し且つ前記データベースの仕様に応じたストアドプロシージャを識別する第１識別子とを関連付けて保持する第１保持手段と、実行対象のコマンド名に対応する第１識別子を、前記第１保持手段から選択する選択手段と、前記選択手段が選択した第１識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、を備える。【選択図】図５
2011180735.tif 000002
【特許請求の範囲】
【請求項１】
データベースの操作を行う情報処理装置であって、
前記データベースの操作に係る各コマンド名と、当該コマンド名の操作内容に対応し且つ前記データベースの仕様に応じたストアドプロシージャを識別する第１識別子とを関連付けて保持する第１保持手段と、
実行対象のコマンド名に対応する第１識別子を、前記第１保持手段から選択する選択手段と、
前記選択手段が選択した第１識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記第１保持手段は、複数のデータベース各々を識別する第２識別子と関連付けて、全データベースで共通に設定された前記各コマンド名と、当該コマンド名の操作内容に対応し且つ前記データベースの仕様に応じたストアドプロシージャの前記第１識別子とを保持し、
前記選択手段は、実行対象のコマンド名と、このコマンド名で操作対象となるデータベースの第２識別子との組に対応する第１識別子を、前記第１保持手段から選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１保持手段に保持された前記コマンド名と関連付けて、当該コマンド名の実行時刻と、操作対象のデータベースを識別する前記第２識別子とを保持する第２保持手段を更に備え、
前記選択手段は、前記第２保持手段に保持された実行時刻に従い、この実行時刻に関連付けられたコマンド名及び第２識別子に対応する第１識別子を、前記第１保持手段から選択することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記実行手段は、前記ストアドプロシージャの実行を、操作対象のデータベースを管理するデータベースエンジンに指示することを特徴とする請求項１〜３の何れか一項に記載の情報処理装置。
【請求項５】
前記実行手段は、前記ストアドプロシージャに定義された一連の処理を、操作対象のデータベースに対し順次実行することを特徴とする請求項１〜３の何れか一項に記載の情報処理装置。
【請求項６】
データベースの操作を行うコンピュータを、
前記操作に係る各コマンド名と、当該コマンド名に対応する前記データベースの仕様に応じたストアドプロシージャを識別する第１識別子とを関連付けた設定情報から、実行対象のコマンド名に対応する第１識別子を選択する選択手段と、
前記選択手段が選択した第１識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの操作を行う情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、各種のデータを特定の項目に関連付けて管理するためにデータベースが用いられている。例えば、ＰＯＳ（Point  Of  Sales）システムでは、各商品を識別する商品コードと関連付けて品名、単価等を記憶したテーブルや、各商品の売上データを管理するためのテーブルを保持したデータベースが設けられている。係るデータベースでは、データベースの処理パフォーマンスを維持するため定期的にメンテナンスを行う必要があり、上記ＰＯＳシステムでは、閉店後等の所定のタイミングでデータベースの整合性チェック等が自動的に行われるよう構成されている。また、特許文献１には、データベースの稼働状況を周期的にチェックし、効率の悪い状況のときにはデータベースの再編成処理を自動的行う技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、データベースの管理を行うデータベースエンジンは複数のベンダーから提供されている。しかしながら、データベースエンジン毎に記述する構文の規約が異なるため汎用性が低く、特定のデータベースエンジンについて作成したストアドプロシージャを、他のデータベースエンジンに用いることは困難である。また、各データベースエンジンの構文規約に応じて作成したストアドプロシージャを用いデータベースのメンテナンスを自動的に行う場合には、データベースエンジンの種別毎に自動実行用のプログラムを作成する必要があるため、利便性に欠けるという問題がある。
【０００４】
本発明は上記に鑑みてなされたものであって、データベースの操作に係る汎用性を向上させることが可能な情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、データベースの操作を行う情報処理装置であって、前記データベースの操作に係る各コマンド名と、当該コマンド名の操作内容に対応し且つ前記データベースの仕様に応じたストアドプロシージャを識別する第１識別子とを関連付けて保持する第１保持手段と、実行対象のコマンド名に対応する第１識別子を、前記第１保持手段から選択する選択手段と、前記選択手段が選択した第１識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、を備える。
【０００６】
また、本発明は、データベースの操作を行うコンピュータを、前記操作に係る各コマンド名と、当該コマンド名に対応する前記データベースの仕様に応じたストアドプロシージャを識別する第１識別子とを関連付けた設定情報から、実行対象のコマンド名に対応する第１識別子を選択する選択手段と、前記選択手段が選択した第１識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、して機能させる。
【発明の効果】
【０００７】
本発明によれば、データベースの操作に係る汎用性を向上させることが可能な情報処理装置及びプログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、データベース管理システムの構成を概略的に示す図である。
【図２】図２は、ストアコンピュータの構成を示す図である。
【図３】図３は、スケジュール管理ファイルの一例を示す図である。
【図４】図４は、コマンド管理ファイルの一例を示す図である。
【図５】図５は、データベース操作に係るストアコンピュータの機能部を説明するための図である。
【図６】図６は、データベース操作処理の手順を示すフローチャートである。
【図７】図７は、スケジュール管理ファイルの他の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明に係る情報処理装置及びプログラムの実施形態を詳細に説明する。なお、以下の実施形態では、本発明をＰＯＳ（Point  Of  Sale）システムにおけるストアコンピュータに適用した例について説明するが、本発明はこの実施形態に限定されるものではない。
【００１０】
図１は、データベース管理システム１の構成を概略的に示す図である。同図に示すように、データベース管理システム１は、第１データベースサーバ１０と、第２データベースサーバ２０と、ストアコンピュータ３０とを有し、ＬＡＮ等のネットワークＮを介して互いに通信可能に接続されている。なお、ネットワークＮに接続されるデータベースサーバの個数は図１の例に限定されないものとする。
【００１１】
第１データベースサーバ１０には、店舗内で販売する各商品に関するデータを保存したデータテーブルの集合体である第１データベース１１と、ネットワークＮを介して他の装置（ストアコンピュータ３０）との間で各種データの授受を行う通信インタフェース１２と、ストアコンピュータ３０から通信インタフェース１２を介して通知される指示に従い第１データベース１１の管理を行うデータベースエンジン１３とが設けられている。
【００１２】
データベースエンジン１３は、図示しない記憶媒体に予め格納された各種のストアドプロシージャを実行することで、第１データベース１１のバックアップやインデックス再構築、整合性チェック等のデータベース操作を行う。なお、図１において、ストアドプロシージャＰ１１が第１データベース１１の整合性チェックを実現させるものとし、ストアドプロシージャＰ１２が第１データベース１１のインデックス再構築を実現させるものとし、ストアドプロシージャＰ１３が第１データベース１１のバックアップを実現させるものとする。
【００１３】
また、第２データベースサーバ２０には、店舗での売上に関するデータを保存したデータテーブルの集合体である第２データベース２１と、ネットワークＮを介して他の装置（ストアコンピュータ３０）との間で各種データの授受を行う通信インタフェース２２と、ストアコンピュータ３０から通信インタフェース２２を介して通知される指示に従い第２データベース２１の管理を行うデータベースエンジン２３とが設けられている。
【００１４】
データベースエンジン２３は、図示しない記憶媒体に予め格納された各種のストアドプロシージャを実行することで、第２データベース２１のバックアップやインデックス再構築、整合性チェック等のデータベース操作を行う。なお、図１において、ストアドプロシージャＰ２１が第２データベース２１の整合性チェックを実現させるものとし、ストアドプロシージャＰ２２が第２データベース２１のインデックス再構築を実現させるものとし、ストアドプロシージャＰ２３が第２データベース２１のバックアップを実現させるものとする。
【００１５】
なお、上述したデータベースエンジン１３及びデータベースエンジン２３は、各データベースサーバに設けられた、図示しないＣＰＵ、ＲＯＭ、ＲＡＭ等の制御部と、記憶媒体に予め記憶された所定のプログラムと、の協働により実現されるものである。また、データベースエンジン１３とデータベースエンジン２３とは、異なる仕様（アーキテクチャ）で実現されているものとし、データベース操作に係る構文の規約に互換性がないものとする。
【００１６】
次に、図２を参照して、ストアコンピュータ３０について説明する。図２は、ストアコンピュータ３０の構成を示す図である。同図に示すように、ストアコンピュータ３０は、制御部３１と、操作入力部３２と、表示部３３と、通信インタフェース３４と、記憶部３５とを備えている。
【００１７】
制御部３１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等で構成され、記憶部３５に記憶された所定のプログラムを実行することで、ストアコンピュータ３０の動作を統括的に制御する。具体的に、制御部３１は、記憶部３５に記憶された所定のプログラムとの協働により、後述するストアド選択部３１１及びストアド実行部３１２を実現することで、第１データベース１１及び第２データベース２１の操作を所定のタイミングで実行する。
【００１８】
操作入力部３２は、キーボードやマウス等の入力デバイスにより構成され、操作者の操作入力に応じた信号を制御部３１へ出力する。表示部３３は、ＣＲＴやＬＣＤ等の表示デバイスにより構成され、制御部３１の制御の下、各種の情報を表示する。
【００１９】
通信インタフェース３４は、ネットワークＮを介して第１データベースサーバ１０及び第２データベースサーバ２０と通信を行うための通信インタフェースであり、制御部３１の制御の下、第１データベースサーバ１０及び第２データベースサーバ２０との間で各種のデータを送受信する。
【００２０】
記憶部３５は、ＨＤＤやＳＳＤ、フラッシュメモリ等の記憶デバイスにより構成され、制御部３１により実行される各種のプログラムや、各種の設定情報を予め記憶している。また、記憶部３５は、データベース操作に係る設定情報として、スケジュール管理ファイル３５１と、コマンド管理ファイル３５２とを記憶している。
【００２１】
スケジュール管理ファイル３５１は、データベース操作を行う時刻（以下、実行時刻という）を管理するためのデータテーブルである。図３は、スケジュール管理ファイル３５１の一例を示す図である。同図に示すように、スケジュール管理ファイル３５１は、データベース操作を行う実行時刻と、コマンド名と、操作対象となるデータベースの識別子（データベース名）とを関連付けて保持している。
【００２２】
ここで、コマンド名は、ストアコンピュータ３０が管理する全てのデータベース（第１データベース１１及び第２データベース２１）において、同一のデータベース操作を指示するコマンドとして共通に設定されたものである。なお、図３の例では、“Ｃｈｅｃｋ”がデータベースの整合性チェックを指示するコマンド名を表し、“Ｒｅｂｕｉｌｄ”がインデックス再構築を指示するコマンド名を表し、“Ｂａｃｋｕｐ”がデータベースのバックアップを指示するコマンド名を表している。
【００２３】
コマンド管理ファイル３５２は、各コマンド名と、当該コマンド名の操作内容に対応する各データベースサーバに格納されたストアドプロシージャのストアドプロシージャ名とを関連付けて管理するデータテーブルである。図４は、コマンド管理ファイル３５２の一例を示す図である。同図に示すように、コマンド管理ファイル３５２は、コマンド名と、データベース名と、ストアドプロシージャ名とを関連付けて保持している。
【００２４】
ここで、データベース名には、第１データベースサーバ１０及び第２データベースサーバ２０に設けられたデータベースのうち、操作の対象となったデータベースの識別子（データベース名）が格納される。また、ストアドプロシージャ名には、コマンド名の操作内容に対応し、データベース名に対応するデータベースの管理を行うデータベースエンジンの仕様に応じたストアプロシージャの識別子（ストアプロシージャ名）が格納される。
【００２５】
図４は、コマンド管理ファイル３５２の一例を示す図である。同図に示すように、コマンド管理ファイル３５２は、コマンド名と、データベース名と、ストアドプロシージャ名とを関連付けて保持している。なお、同図では、ストアドプロシージャＰ１１及びＰ２１が、データベースの整合性チェックを実現させるためのストアドプロシージャであり、ストアドプロシージャＰ１２及びＰ２２が、インデックスの再構築を実現させるためのストアドプロシージャであり、ストアドプロシージャＰ１３及びＰ２３が、データベースのバックアップを実現させるためのストアドプロシージャであることを意味している。
【００２６】
図５は、データベース操作処理に係るストアコンピュータ３０の機能部を説明するための図である。同図に示すように、ストアコンピュータ３０の制御部３１は、記憶部３５に記憶された所定のプログラムとの協働により実現される機能部として、ストアド選択部３１１及びストアド実行部３１２を備える。
【００２７】
ストアド選択部３１１は、ＲＴＣ（Real  Time  Clock）等の計時部により計時される現在時刻（現在日時）と、スケジュール管理ファイル３５１に保持された各実行時刻とを比較し、何れかの実行時刻に到達したと判定すると、この実行時刻に関連付けられたコマンド名とデータベース名との組をスケジュール管理ファイル３５１から選択する。例えば、現在時刻が２２：３０の場合、ストアド選択部３１１は、図３のスケジュール管理ファイル３５１からコマンド名“Ｃｈｅｃｋ”と、データベース名“第１データベース”との組を選択する。
【００２８】
また、ストアド選択部３１１は、コマンド名とデータベース名との組に対応するストアドプロシージャ名をコマンド管理ファイル３５２から選択し、このデータベース名及びストアドプロシージャ名をストアド実行部３１２に通知する。例えば、コマンド名“Ｃｈｅｃｋ”と、データベース名“第１データベース”との組の場合、ストアド選択部３１１は、ストアドプロシージャ名“ストアドプロシージャＰ１１”をコマンド管理ファイル３５２から選択する。
【００２９】
ストアド実行部３１２は、ストアド選択部３１１から通知されたデータベース名に対応するデータベースを備えるデータベースサーバへアクセスし、同時に通知されたストアドプロシージャ名に対応するストアドプロシージャの実行をデータベースエンジンに指示することで、データベース名に対応するデータベースの操作をリモートから実行する。例えば、ストアド選択部３１１からデータベース名として“第１データベース”、ストアドプロシージャ名として“ストアドプロシージャＰ１１”が通知された場合、ストアド実行部３１２は、第１データベースサーバ１０のデータベースエンジン１３に、第１データベース１１に対するストアドプロシージャＰ１１の実行を指示することで、第１データベース１１の整合性チェックを行わせる。なお、データベース名とデータベースサーバとの関係は予め設定されているものとする。
【００３０】
以下、図６を参照して、ストアコンピュータ３０の制御部３１（ストアド選択部３１１及びストアド実行部３１２）が実行するデータベース操作処理について説明する。ここで、図６は、データベース操作処理の手順を示すフローチャートである。
【００３１】
まず、ストアド選択部３１１は、図示しない計時部により計時される現在時刻が、スケジュール管理ファイル３５１に登録された何れかの実行時刻に到達するまで待機する（ステップＳ１１；Ｎｏ）。現在時刻が何れかの実行時刻に到達したと判定すると（ステップＳ１１；Ｙｅｓ）、ストアド選択部３１１は、この実行時刻に関連付けられたコマンド名及びデータベース名の組をスケジュール管理ファイル３５１から選択する（ステップＳ１２）。
【００３２】
次に、ストアド選択部３１１は、ステップＳ１２で選択したコマンド名及びデータベース名の組に関連付けられたストアドプロシージャ名をコマンド管理ファイル３５２から選択し、この操作対象のデータベース名と、実行対象のストアドプロシージャ名との組をストアド実行部３１２へ通知する（ステップＳ１３）。
【００３３】
ストアド実行部３１２は、ストアド選択部３１１から通知された操作対象のデータベース名に対応するデータベースを備えたデータベースサーバへアクセスを行う（ステップＳ１４）。そして、ストアド実行部３１２は、操作対象のデータベースに対する、実行対象のストアドプロシージャ名に対応したストアドプロシージャの実行を、このデータベースを管理するデータベースエンジンに指示することで、データベースの操作を行い（ステップＳ１５）、本処理を終了する。
【００３４】
以上のように、本実施形態によれば、コマンド管理ファイル３５２のデータベース名及びストアドプロシージャ名を設定することで、仕様の異なるデータベースエンジンで管理される各データベースを共通のコマンド名で操作することが可能となるため、データベースの操作に係る汎用性を向上させることができる。
【００３５】
なお、本実施形態では、スケジュール管理ファイル３５１を用いることで、このスケジュール管理ファイル３５１に登録された各データベース操作を日毎の実行時刻に実行させる形態を説明したが、これに限らず、例えば特定の曜日や日付、時期等の実行時刻に各データベース操作を実行させる形態としてもよい。以下、この形態について図７を用いて説明する。
【００３６】
図７は、スケジュール管理ファイル３５１の他の例（スケジュール管理ファイル３５３）を示す図である。同図に示すように、スケジュール管理ファイル３５３は、図３で説明した実行時刻、コマンド名及びデータベース識別子（データベース名）に加え、実行周期として特定の曜日や日付、時期等を関連付けて保持している。
【００３７】
このスケジュール管理ファイル３５３を用いてデータベース操作処理を行う場合、制御部３１は、実行周期で指定された特定の曜日、日付又は時期と、実行時刻で指定された時刻との組み合わせに基づき、ステップＳ１２の判定を行うものとする。例えば、毎火曜日の２２時３０分に到達すると、制御部３１は、この実行時刻及び曜日に関連付けられたコマンド名“Ｃｈｅｃｋ”及びデータベース名“第１データベース”の組を上述したステップＳ１２で選択する。また、例えば、毎月１０日の２２時４５分に到達すると、制御部３１は、この実行時刻及び日付に関連付けられたコマンド名“Ｃｈｅｃｋ”及びデータベース名“第２データベース”の組を上述したステップＳ１２で選択する。
【００３８】
なお、スケジュール管理ファイル３５３の実行周期において“月末”や“月初”は、特定の日付（例えば、“月末”ならば３０日、“月初”ならば１日等）又は特定の期間（例えば、“月末”ならば２５日から３１日迄、“月初”ならば１日から５日迄等）を意味している。
【００３９】
データベースのデータ量の増加に伴い、各データベース操作（Ｃｈｅｃｋ、Ｒｅｂｕｉｌｄ、Ｂａｃｋｕｐ）に要する時間も増大する。そのため、全てのデータベース操作を毎日行っていたのでは、実行時刻の近いデータベース操作同士の干渉等により、予定された期限時刻までに処理が完了しない可能性がある。このような場合、スケジュール管理ファイル３５３のように実行周期及び実行時刻を組み合わせて指定することで、夫々異なるタイミングでデータベース操作を実行させることができ、また、毎日行う必要のない（毎日行うと効率的でない）データベース操作を、指定した該当日にのみ実行させることができるため、各データベース操作の実行を効率的に進めることが可能となる。
【００４０】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加等が可能である。
【００４１】
例えば、上記実施形態では、データベースサーバの各々が自己のデータベースエンジンの仕様に応じたストアドプロシージャを保持する形態としたが、これに限らず、各データベースサーバのデータベースエンジンの仕様に応じたストアドプロシージャをストアコンピュータ３０が保持する形態としてもよい。なお、この形態の場合、ストアド実行部３１２は、ストアドプロシージャに定義された一連の処理を操作対象のデータベース（データベースサーバ）に対し順次実行する。
【００４２】
また、上記実施形態では、二つのデータベースを操作する形態について説明したが、データベースの個数はこれに限らず、一又は３以上のデータベースとしてもよい。また、各データベースが保存するデータテーブルの単位で操作を行う形態としてもよい。
【００４３】
また、上記実施形態では、スケジュール管理ファイル３５１の実行時間に従い、この実行時刻に関連付けられたコマンド名とデータベース名とに対応するストアドプロシージャを実行する形態としたが、これに限らず、操作入力部３２を介して指定されたコマンド名とデータベース名との組に基づき、この組に対応するストアドプロシージャを実行する形態としてもよい。
【００４４】
また、上記実施形態のストアコンピュータ３０で実行されるプログラムは、ＲＯＭ等に予め組み込んで提供するように構成してもよい。また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【００４５】
また、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供又は配布するように構成してもよい。
【符号の説明】
【００４６】
１  データベース管理システム
１０  第１データベースサーバ
１１  第１データベース
１２  通信インタフェース
１３  データベースエンジン
２０  第２データベースサーバ
２１  第２データベース
２２  通信インタフェース
２３  データベースエンジン
３０  ストアコンピュータ
３１  制御部
３２  操作入力部
３３  表示部
３４  通信インタフェース
３５  記憶部
３１１  ストアド選択部
３１２  ストアド実行部
３５１  スケジュール管理ファイル
３５２  コマンド管理ファイル
３５３  スケジュール管理ファイル
【先行技術文献】
【特許文献】
【００４７】
【特許文献１】特開平１１−１６１５２５公報
【図１】
2011180735.tif 000003
【図２】
2011180735.tif 000004
【図３】
2011180735.tif 000005
【図４】
2011180735.tif 000006
【図５】
2011180735.tif 000007
【図６】
2011180735.tif 000008
【図７】
2011180735.tif 000009