(57)【要約】      （修正有）【課題】データベース内の親データテーブルと子データテーブルとの間にデータの不整合が存在する場合、その不整合を自動的に捉えて適切に修復することができ、これによりデータ処理の誤りを防止できるとともに、データベースの保守を容易化できてその保守にかかる労力と時間を大幅に削減することが可能な信頼性にすぐれたデータベース管理システムを提供する。【解決手段】データベース内の子データテーブルに対する修復操作用のＳＱＬファイルを記憶しておき、そのＳＱＬファイルに基づく処理を実行し、かつその処理の対象となったデータが含まれるＣＳＶファイルを生成する。【選択図】図７
2008234035.tif 000002
【特許請求の範囲】
【請求項１】
リレーション設定された親データテーブルおよび子データテーブルを有するデータベースと、
前記子データテーブルに対する修復操作用のＳＱＬファイルが記憶された記憶手段と、
前記子データテーブルに対し前記ＳＱＬファイルに基づく処理を実行する制御手段と、
前記処理の対象となったデータが含まれるＣＳＶファイルを生成する制御手段と、
を備えていることを特徴とするデータベース管理システム。
【請求項２】
前記生成されたＣＳＶファイルを記憶するための記憶手段、
をさらに備えていることを特徴とする請求項１に記載のデータベース管理システム。
【請求項３】
前記処理の内容をプリント出力する制御手段、
をさらに備えていることを特徴とする請求項１に記載のデータベース管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、クライアント-サーバ-システムなどに利用されるデータベース管理システムに関する。
【背景技術】
【０００２】
サーバおよびそのサーバにネットワーク接続された複数のクライアントからなり、かつサーバにデータベースを付属して備えるクライアント-サーバ-システムがある（例えば特許文献１）。
【０００３】
上記データベースには複数のデータテーブルが格納されており、各データテーブルの例として、リレーション設定された親データテーブルおよび子データテーブルがある。親データテーブルは所定の項目を主キーとして有し、その主キーと同じ内容の外部キーを子データテーブルが有している。この主キーと外部キーのリレーションにより、親データテーブルと子データテーブルが互いにリンクする関係となっている。
【特許文献１】特開２００４―２９５２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
親データテーブルを基本マスタとして子データテーブルが生成される際に、システムの不具合や電源瞬断など何らかの原因により、親データテーブルと子データテーブルとの間にデータの不整合が生じることがある。
【０００５】
この不整合は極めて稀にしか発生しないものであるが、そのままシステムが運用されると、データ処理に誤りを生じてしまう。かといって、不整合の発見、不整合の原因特定、不整合の修復などのデータベースの保守に大変な労力と時間を費やしてしまう。
【０００６】
この発明は、上記の事情を考慮したもので、その目的は、データベース内の親データテーブルと子データテーブルとの間にデータの不整合が存在する場合、その不整合を自動的に捉えて適切に修復することができ、これによりデータ処理の誤りを防止できるとともに、データベースの保守を容易化できてその保守にかかる労力と時間を大幅に削減することが可能な信頼性にすぐれたデータベース管理システムを提供することにある。
【課題を解決するための手段】
【０００７】
請求項１に係る発明のデータベース管理システムは、リレーション設定された親データテーブルおよび子データテーブルを有するデータベースと、上記子データテーブルに対する修復操作用のＳＱＬファイルが記憶された記憶手段と、上記子データテーブルに対し上記ＳＱＬファイルに基づく処理を実行する制御手段と、この処理の対象となったデータが含まれるＣＳＶファイルを生成する制御手段と、を備えている。
【発明の効果】
【０００８】
このデータベース管理システムによれば、データベース内の親データテーブルと子データテーブルとの間にデータの不整合が存在する場合、その不整合を自動的に捉えて適切に修復することができる。これにより、データ処理の誤りを防止できるとともに、データベースの保守を容易化できてその保守にかかる労力と時間を大幅に削減することが可能となり、信頼性が向上する。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の一実施形態について図面を参照して説明する。  
図１に示すように、サーバ１に通信ネットワーク１０を介して複数のクライアントたとえばＰＯＳ端末２０が接続され、クライアント-サーバ-システムが構成されている。
【００１０】
サーバ１は、制御部２、制御プログラム記憶用のＲＯＭ３、データ記憶用のＲＡＭ４、大容量の記憶手段であるハードディスクドライブ（ＨＤＤ）５、表示部６、操作部７、およびネットワークインターフェース（Ｉ／Ｆ）８、およびプリンタ９などを有している。
【００１１】
上記ハードディスクドライブ５には、図２に示すような複数のデータテーブルＡ１，Ａ２，Ｂ，…Ｃが格納されたデータベース（ＤＢ）５ａ、図３に示すような複数のＳＱＬファイルが格納されるＳＱＬファイルフォルダ５ｂ、図４に示すような複数のＣＳＶファイルが格納されるＣＳＶファイルフォルダ５ｃなどが記憶されている。
【００１２】
データベース５ａ内のデータテーブルＡ１，Ａ２，Ｂ，…Ｃのうち、Ａ１は親データテーブル、Ａ２は親データテーブルＡ１を基本マスタとして生成される子データテーブルである。親データテーブルＡ１は所定の項目を主キーとして有し、その主キーと同じ内容の外部キーを子データテーブルＡ２が有し、この主キーおよび外部キーのリレーションにより、親データテーブルＡ１と子データテーブルＡ２が互いにンクする関係となっている。
【００１３】
ＳＱＬファイルフォルダ５ｂ内の各ＳＱＬファイルはデータベース５ａに対する操作用であり、少なくとも１つのＳＱＬファイルはデータベース５ａ内の子データテーブルＡ２に対する修復操作用として用意されている。
【００１４】
ＣＳＶファイルフォルダ５ｃ内の各ＣＳＶファイルは、ＳＱＬファイルに基づく処理の実行に伴い、その処理の対象となったデータ用に生成される。
【００１５】
また、各ＰＯＳ端末２０は、制御部２１、制御プログラム記憶用のＲＯＭ２２、データ記憶用のＲＡＭ２３、データ記憶用のハードディスクドライブ（ＨＤＤ）２４、表示部２５、操作部２６、およびネットワークインターフェース（Ｉ／Ｆ）２７などを有している。
【００１６】
このような構成のクライアント-サーバ-システムにおいて、サーバ１における制御部２およびハードディスクドライブ５により、本発明のデータベース管理システムが構築されている。
【００１７】
すなわち、制御部２は、データベース管理に関する主要な機能として、次の（１）〜（４）を有している。  
（１）ハードディスクドライブ５内のデータベース５ａに対し、ＳＱＬファイルフォルダ５ｂ内の各ＳＱＬファイルに基づく処理をそれぞれ実行する制御手段。これら処理の１つとして、データベース５ａ内の子データテーブルＡ２に対する修復処理がある。
【００１８】
（２）上記各処理の対象となったデータが含まれるＣＳＶファイルを生成する制御手段。
【００１９】
（３）上記生成されたＣＳＶファイルをハードディスクドライブ５内のＣＳＶファイルフォルダ５ｃに記憶する制御手段。
【００２０】
（４）上記各処理の内容を用紙にプリントして出力する制御手段。
【００２１】
つぎに、図５のフローチャートを参照しながら作用について説明する。  
予め定められた時刻または時間間隔の管理タイミングにおいて、ハードディスクドライブ５のＳＱＬファイルフォルダ５ｂにＳＱＬファイルが格納されているか否かが判定される（ステップ１０１）。ＳＱＬファイルが格納されていれば（ステップ１０１のＹＥＳ）、その中の１つのＳＱＬファイルが読出される（ステップ１０２）。
【００２２】
そして、読出されたＳＱＬファイルに基づく処理として、例えば、データベース５ａ内の子データテーブルＡ２に対する処理が実行される（ステップ１０３）。この処理の様子を図６に示している。
【００２３】
まず、データテーブルＡ１は、５つの項目（データフィールドともいう）たとえば顧客番号・氏名・住所・年齢・電話番号からなる複数のデータを有している。この親データテーブルＡ１を基本マスタとして生成される子データテーブルＡ２は、３つの項目たとえば顧客番号・携帯電話番号・Ｅメールアドレスからなる複数のデータを有している。これら親データテーブルＡ１および子データテーブルＡ２は、互いに同じ項目の“顧客番号”を主キーおよび外部キーとするリレーションにより、互いにリンクする関係にある。
【００２４】
データテーブルＡ１，Ａ２を比較すると、親データテーブルＡ１に無いはずの顧客番号“５”のデータが子データテーブルＡ２に有って、親データテーブルＡ１に有るはずの顧客番号“２”のデータが子データテーブルＡ２には無い。ＳＱＬファイルに基づく処理は、親データテーブルＡ１と子データテーブルＡ２との不整合を捉え、図７に示すように、子データテーブルＡ２における余分な顧客番号“５”のデータを削除するとともに、子データテーブルＡ２における不足分の顧客番号“２”のデータを作成してその子データテーブルＡ２に加える（リカバリともいう）。  
この処理により、親データテーブルＡ１と子データテーブルＡ２との不整合が修復される。
【００２５】
そして、上記処理の実行後、図８に示すように、削除対象となったデータ（顧客番号“５”のデータ）を含むＣＳＶファイルが生成される（ステップ１０４）。生成されたＣＳＶファイルは、ハードディスクドライブ５内のＣＳＶファイルフォルダ５ｃに保存（記憶）される（ステップ１０５）。このＣＳＶファイルの保存により、削除対象となったデータを後で戻すなどの処置が可能となる。
【００２６】
また、上記処理の実行後、図９に示すように、処理の内容として、顧客番号“５”のデータを削除したことおよびその理由、顧客番号“２”のデータを作成して加えたことおよびその理由が、プリンタ９により用紙にプリントされて出力される（ステップ１０６）。この用紙は、サーバ１のオペレータや保守員による不整合の原因究明などに利用される。
【００２７】
このようなＳＱＬファイルに基づく処理が、ＳＱＬファイルフォルダ５ｂ内の全てのＳＱＬファイルについて、順次に実行される。
【００２８】
以上のように、データベース５ａ内の子データテーブルに対する修復操作用のＳＱＬファイルを記憶しておき、そのＳＱＬファイルに基づく処理を実行し、かつその処理の対象となったデータが含まれるＣＳＶファイルを生成することにより、親データテーブルと子データテーブルとの間にデータの不整合が存在していても、その不整合を自動的に捉えて適切に修復することができる。これにより、データベース５ａを用いるデータ処理の誤りを防止できる。しかも、不整合の発見、不整合の原因特定、不整合の修復などのデータベース５ａの保守を容易化できて、その保守にかかる労力と時間を大幅に削減することが可能となり、クライアント-サーバ-システムの信頼性が大幅に向上する。
【００２９】
なお、上記実施形態では、クライアント-サーバ-システムへの適用を例に説明したが、データベースを有するものであれば、他のシステムにも同様に適用可能である。その他、この発明は上記実施形態に限定されるものではなく、要旨を変えない範囲で種々変形実施可能である。
【図面の簡単な説明】
【００３０】
【図１】一実施形態の構成を示す図。
【図２】一実施形態におけるデータベースの記憶内容を示す図。
【図３】一実施形態におけるＳＱＬファイルフォルダの記憶内容を示す図。
【図４】一実施形態におけるＣＳＶファイルフォルダの記憶内容を示す図。
【図５】一実施形態の作用を説明するためのフローチャート。
【図６】一実施形態における親データテーブルおよび子データテーブルの具体例を示す図。
【図７】一実施形態における親データテーブルと子データテーブルの不整合が修復された状態を示す図。
【図８】一実施形態におけるＣＳＶファイルのフォーマットを示す図。
【図９】一実施形態のプリント出力を示す図。
【符号の説明】
【００３１】
１…サーバ、２…制御部、４…ＲＡＭ、５…ハードディスクドライブ、５ａ…データベース、５ｂ…ＳＱＬファイルフォルダ、５ｃ…ＣＳＶファイルフォルダ、９…プリンタ、１０…通信ネットワーク、２０…ＰＯＳ端末（クライアント）
【図１】
2008234035.tif 000003
【図２】
2008234035.tif 000004
【図３】
2008234035.tif 000005
【図４】
2008234035.tif 000006
【図５】
2008234035.tif 000007
【図６】
2008234035.tif 000008
【図７】
2008234035.tif 000009
【図８】
2008234035.tif 000010
【図９】
2008234035.tif 000011