(57)【特許請求の範囲】
【請求項１】
メンバの集合により夫々構成される複数の次元でデータが分類される多次元データベースと、該多次元データベースに接続するインタフェース、該インタフェースにより前記多次元データベースからのデータの読み出し又は前記多次元データベースへのデータの書き込みを指示する演算部、及び情報の入力を受け付ける入力インタフェースを有するコンピュータとを含み、該コンピュータが前記多次元データベースに保持されるコンテントデータを、各次元から抽出されるメンバの組み合わせに基づき識別することが可能に前記多次元データベースを構築するようにしてあるシステムにおいて、
前記コンピュータは、
前記多次元データベースに保持されるコンテントデータについて、各コンテントデータの版を識別するための版識別情報と、各コンテントデータの原本にあたる親コンテントデータの版を識別するための親版識別情報とを対応付けるデータを前記多次元データベース内の階層構造テーブルに予め格納しておく手段と、
前記多次元データベースの更新のために入力されるコンテントデータと、該コンテントデータの版識別情報及び前記コンテントデータを識別するメンバの組み合わせを示す多次元識別情報とを受け付ける手段と、
受け付けた版識別情報に対応する親版識別情報を前記階層構造テーブルから抽出する手段と、
抽出した親版識別情報及び受け付けた多次元識別情報で識別されるコンテントデータを検索する手段と、
受け付けたコンテントデータと検索結果のコンテントデータとが同じであるか否かを判断する手段と、
該手段が同じでないと判断した場合、受け付けたコンテントデータを、受け付けた版識別情報及び多次元識別情報が対応付けられて格納してある前記多次元データベース内のテーブルに登録する手段と
を備えることを特徴とする多次元データベース構築システム。
【請求項２】
前記階層構造テーブルには、
各版識別情報に対応付けて、コンテントデータが作業用データであるか又は完成データであるかを含む各版の種類を示す属性情報が含まれていることを特徴とする請求項１に記載の多次元データベース構築システム。
【請求項３】
前記多次元データベースに登録されるコンテントデータは、該コンテントデータの親版のコンテントデータとの差分データであること
を特徴とする請求項１又は２に記載の多次元データベース構築システム。
【請求項４】
メンバの集合により夫々構成される複数の次元によりコンテントデータが分類される多次元データベースに接続するインタフェースと、該インタフェースにより接続した多次元データベースからのデータの読み出し又は前記多次元データベースへのデータを書き込みを指示する演算部と、情報の入力を受け付ける入力インタフェースと、前記多次元データベースから、各次元から抽出されるメンバの組み合わせによりコンテントデータを抽出する手段とを備える情報処理装置において、
前記多次元データベースに保持されるコンテントデータについて、各コンテントデータの版を識別するための版識別情報と、各コンテントデータの原本にあたる親コンテントデータの版を識別するための親版識別情報とを対応付けるデータを前記多次元データベース内の階層構造テーブルに予め格納しておく手段と、
前記多次元データベースへの更新のために入力されるコンテントデータと、該コンテントデータの版識別情報及び前記コンテントデータを識別するメンバの組み合わせを示す多次元識別情報とを受け付ける手段と、
受け付けた版識別情報に対応する親版識別情報を前記階層構造テーブルから抽出する手段と、
抽出した親版識別情報及び受け付けた多次元識別情報で識別されるコンテントデータを検索する手段と、
受け付けたコンテントデータと検索結果のコンテントデータとが同じであるか否かを判断する手段と、
該手段が同じでないと判断した場合、受け付けたコンテントデータを、受け付けた版識別情報及び多次元識別情報が対応付けられて格納してある前記多次元データベース内のテーブルに登録する手段と
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は保持してあるコンテントデータを版管理することが可能な多次元データベース構築システム及び情報処理装置に関する。
【背景技術】
【０００２】
従来、多次元データベースは、様々な視点からの高度な分析が可能であり、例えば、オンライン分析処理（以下、「ＯＬＡＰ（On-line Analytical Processing）」という。）において企業内の各部署のクライアント装置で共有され、各部署間での意思決定をするための支援手段として広く利用されていた。
【０００３】
図１２は従来の多次元データベースを説明するための概念図である。多次元データベースは、キューブという基礎的な構成要素を有する。キューブは、様々な角度からデータを細分して分析ができるように複数の次元で構成されている。尚、本実施の形態では「次元」を「ディメンション」と言い換えて説明する。ディメンションは、ユーザにより同一の概念に属するとみなされる任意のメンバの集まりで構成されている。また、ディメンションは、メンバ間での階層構造を定義している。多次元データベースは、ディメンションを構成するメンバの構造に沿って集計がなされる。
【０００４】
図１２は、「勘定科目」、「商品」及び「年度」をディメンションとする一例を示している。また「勘定科目」のディメンションは、「売上高」、「売上原価」及び「売上利益」のメンバで構成されている。また「商品」のディメンションは、「ＣＤ」、「ＤＶＤ」及び「ビデオ」のメンバで構成されている。また「年度」のディメンションは、「２００６年度」、「２００７年度」及び「２００８年度」のメンバで構成されている。３つのディメンションを組み合わせることによりキューブ「商品別収益性」を有する多次元データベースが構築されている。
【０００５】
多次元データベースは、例えば、「２００６年度、売上高、ＣＤ」のようにディメンションから選択された複数のメンバが組み合わされることによりキューブ内での座標が示される。示された座標には対応するセルが存在し、当該セルには例えば、数値、金額又は文字列などのコンテントデータが格納されている。
【０００６】
多次元データベースのディメンションが定義しているメンバの階層構造は、子メンバが示すコンテントデータの合計、最大値、最小値又は平均値などを親メンバが示すコンテントデータとして導出するための構造であり、親メンバが示すコンテントデータから子メンバが示すコンテントデータを導出することはできない。例えば、図１２においては、勘定科目ディメンションに属するメンバ「売上利益」が「売上高」「売上原価」の親メンバであり、左記両メンバのコンテントデータの合計が親メンバである「売上利益」のコンテントデータとなる例を示している。
【０００７】
ところで、従来の多次元データベースにおいて、コンテントデータを版管理する必要が生じることがあった。例えば、企業の予算編成業務では、共通の原本データ（親版）に基づいて部署別に作業用データ（子版）を作成し、各部署が当該作業用データを修正する。また、各作業用データは、相互に干渉を受けることなく更新され、その内容が確定したときに原本データに反映されるようにする必要がある。さらに、版の親子関係は、複数の階層からなる企業の組織構造を反映させて、複数の階層をなす必要がある。このような版管理が必要とされる場合、従来の多次元データベース技術を用いた一般的な解決法は、原本データを保持する多次元データベースの全体をコピーして各部署別の作業用データベースを作成するというものであった。しかし、このような方法では、コピーされた複数のデータベースの間でデータの整合性を確保するための労力が大きく、適用部署数が増えるにつれ運用が困難になるという欠点があった。また、各子版において変更されるデータは親版のデータ全体のごく一部に過ぎないにも関わらず、変更されないデータも含めて全体をコピーする必要があるため、処理時間と記憶媒体の容量が大きくなるという問題もあった。このため、ひとつの多次元データベース内でデータを版別に管理し、かつ各版について親版との差分のみ保持することが所望されていた。
【０００８】
そこで、従来の多次元データベース技術を前提としてひとつの多次元データベース内でコンテントデータの版管理を行う方法を考えるならば、版をディメンションとして登録することになる。この場合、親版を親メンバに、子版を子メンバに夫々設定することで版の階層構造を表現することが一応可能である。
しかし、ディメンションを利用する場合には、上述したように、親メンバのコンテントデータは子メンバのコンテントデータから導出される。これに対して、版管理では、子版のコンテントデータが親版のコンテントデータ及び差分データに基づいて導出される必要がある。従って、メンバの親子関係と版管理の親子関係とは、階層構造を有する点で共通しているがデータを導出する方向が逆である。このことから、版をディメンションとして表現することは無理があり、従来の多次元データベース技術を前提としてひとつの多次元データベース内でコンテントデータの版管理を行うことはできなかった。
【０００９】
そこで、多次元データベースを「ベースパーティション」の基本値と「ライトバックパーティション」の差分値とに区別する。各クライアント装置は、「ベースパーティション」の基本値を参照しつつ「ライトバックパーティション」の差分値のみを更新していく。そして、更新が終了したときに「ベースパーティション」の基本値を「ライトバックバーティション」の差分値で上書きし、上書きした「ベースパーティション」の基本値を公開データとする方法が提案された（例えば、特許文献１）。
【特許文献１】米国特許第７０１６９１２号明細書抜粋
【発明の開示】
【発明が解決しようとする課題】
【００１０】
特許文献１に記載された方法は、親版である「ベースパーティション」の基本値及び子版である「ライトバックパーティション」の差分値に基づいてコンテントデータを導出するので子版の更新に伴い親版が更新されるような事態を回避することができた。
【００１１】
しかしながら、特許文献１に記載された方法では、企業の予算編成業務などの一般的なニーズに対して十分応えることができなかった。第１に、予算編成業務においては、作業用データの版を部署毎又はその他の単位で分ける必要がある。特許文献１に記載された方法では、「ライトバックパーティション」のデータがユーザ及び更新日時毎の単位で管理されているにすぎないため、複数のユーザが一つの部署の業務を共同で担当するか、一人のユーザが複数の部署の業務を同時に担当するようなケースに対応できないという問題を有している。
第２に、特許文献１に記載された方法では、版の親子関係が二階層に限定されていたため、組織構造上、複数階層の親子関係が必要になる企業では用いることができないという問題を有していた。例えば、支店の作業用データを確定後に営業部門全体内で公開し、営業部門での吟味作業を経た後に全社で公開する、というように段階を踏んでデータを公開していく場合、特許文献１に記載された方法では対応し難いという問題を有している。
【００１２】
本発明はこのような事情に鑑みてなされたものであり、その目的とするところは、コンテントデータを版を識別するための版識別情報及びメンバの組み合わせに対応付けて多次元データベースに保持するとともに所定の版の識別情報と該版より上位階層にある親版の版識別情報とを対応付けて記録しておき、記録してある版の対応付け及びメンバの組み合わせに基づいてコンテントデータの版管理を適切に行うことができる多次元データベース構築システム及び該システムで用いる情報処理装置を提供することにある。
【課題を解決するための手段】
【００１４】
また、本発明に係る多次元データベース構築システムは、メンバの集合により夫々構成される複数の次元でデータが分類される多次元データベースと、該多次元データベースに接続するインタフェース、該インタフェースにより前記多次元データベースからのデータの読み出し又は前記多次元データベースへのデータの書き込みを指示する演算部、及び情報の入力を受け付ける入力インタフェースを有するコンピュータとを含み、該コンピュータが前記多次元データベースに保持されるコンテントデータを、各次元から抽出されるメンバの組み合わせに基づき識別することが可能に前記多次元データベースを構築するようにしてあるシステムにおいて、前記コンピュータは、前記多次元データベースに保持されるコンテントデータについて、各コンテントデータの版を識別するための版識別情報と、各コンテントデータの原本にあたる親コンテントデータの版を識別するための親版識別情報とを対応付けるデータを前記多次元データベース内の階層構造テーブルに予め格納しておく手段と、前記多次元データベースの更新のために入力されるコンテントデータと、該コンテントデータの版識別情報及び前記コンテントデータを識別するメンバの組み合わせを示す多次元識別情報とを受け付ける手段と、受け付けた版識別情報に対応する親版識別情報を前記階層構造テーブルから抽出する手段と、抽出した親版識別情報及び受け付けた多次元識別情報で識別されるコンテントデータを検索する手段と、受け付けたコンテントデータと検索結果のコンテントデータとが同じであるか否かを判断する手段と、該手段が同じでないと判断した場合、受け付けたコンテントデータを、受け付けた版識別情報及び多次元識別情報が対応付けられて格納してある前記多次元データベース内のテーブルに登録する手段とを備えることを特徴とする。
【００１５】
また、本発明に係る多次元データベース構築システムは、前記階層構造テーブルには、各版識別情報に対応付けて、コンテントデータが作業用データであるか又は完成データであるかを含む各版の種類を示す属性情報が含まれていることを特徴とする。
【００１６】
また、本発明に係る多次元データベース構築システムは、前記多次元データベースに登録されるコンテントデータは、該コンテントデータの親版のコンテントデータとの差分データであることを特徴とする。
【００１７】
また、本発明に係る情報処理装置は、メンバの集合により夫々構成される複数の次元によりコンテントデータが分類される多次元データベースに接続するインタフェースと、該インタフェースにより接続した多次元データベースからのデータの読み出し又は前記多次元データベースへのデータを書き込みを指示する演算部と、情報の入力を受け付ける入力インタフェースと、前記多次元データベースから、各次元から抽出されるメンバの組み合わせによりコンテントデータを抽出する手段とを備える情報処理装置において、前記多次元データベースに保持されるコンテントデータについて、各コンテントデータの版を識別するための版識別情報と、各コンテントデータの原本にあたる親コンテントデータの版を識別するための親版識別情報とを対応付けるデータを前記多次元データベース内の階層構造テーブルに予め格納しておく手段と、前記多次元データベースへの更新のために入力されるコンテントデータと、該コンテントデータの版識別情報及び前記コンテントデータを識別するメンバの組み合わせを示す多次元識別情報とを受け付ける手段と、受け付けた版識別情報に対応する親版識別情報を前記階層構造テーブルから抽出する手段と、抽出した親版識別情報及び受け付けた多次元識別情報で識別されるコンテントデータを検索する手段と、受け付けたコンテントデータと検索結果のコンテントデータとが同じであるか否かを判断する手段と、該手段が同じでないと判断した場合、受け付けたコンテントデータを、受け付けた版識別情報及び多次元識別情報が対応付けられて格納してある前記多次元データベース内のテーブルに登録する手段とを備えることを特徴とする。
【００１８】
本発明にあっては、多次元データベースにおいて、コンテントデータを版識別情報及びメンバの組み合わせに対応付けて保持するとともに所定の版の版識別情報と該版より上位階層にある親版の版識別情報とを対応付けて記録しておき、所定の版のコンテントデータを記憶してある版の対応付け及びメンバの組み合わせに基づいて識別する。例えば、コンテントデータを版単位で別体として識別することにより、各子版が保持する作業用データを相互に干渉させることなく更新することができる。また、例えば、一つの版に対する更新権限を複数のユーザに付与するか、又は、複数の版に対する更新権限を一人のユーザに付与することができ、柔軟な作業分担を行うことができる。また、版間に親子関係を設定し、親版との差分データのみを子版に保持することにより、親版に対する更新の結果は全ての子版に波及するようにでき、例えば、支店の作業用データを確定後に営業部門全体内で公開し、営業部門での吟味作業を経た後に全社で公開する、という段階を踏んで作業用データを公開することができる。また、コンテントデータを一つの多次元データベース内で版単位で差分管理することにより、例えば、多次元データベース全体を版の数だけコピーする場合に比して情報処理装置が記憶すべきデータ量を軽減させることができる上、ディメンションの修正時にすべての版に対して即時に修正を反映させることができ、運用上の負担を削減できる。
【発明の効果】
【００１９】
本発明にあっては、多次元データベースに保持してあるコンテントデータを適切に版管理することができる。また、ユーザに対して版の更新権限を割り当てることにより、柔軟な作業分担を行うことができる。また、作業用データを段階を踏んで公開することができ、データを公開する組織の範囲（階層）を適切に管理できる。さらにまた、情報処理装置が記憶すべきデータ量を軽減させることができ、ディメンション修正時の運用上の負担を軽減させることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明に係る多次元データベース構築システム及び当該システムで用いる情報処理装置について、実施の形態を示す図面に基づいて説明する。図１は本発明に係る多次元データベース構築システムの全体構成を示す概略図、図２は本発明に係る多次元データベース構築システムの使用例を示す概略図、図３は本発明で用いる多次元データベース２を説明するための概念図である。尚、本実施の形態では、多次元データベース２が情報処理装置１とは別体で構成されている一例を説明するが、これに限らず、多次元データベース２が情報処理装置１に格納されているようにしてもよい。
【００２１】
図１中のとおり、本発明に係る多次元データベース構築システムは、情報処理装置１と多次元データベース２とで構成されている。情報処理装置１は、多次元データベース２へのコンテントデータの保存、検索などの各種処理を実行するための装置であり、外部記憶装置１１、ＲＡＭ１２、通信インタフェース１３、入力インタフェース１４、出力インタフェース１５、補助記憶装置１６、データベース通信インタフェース１７及びＣＰＵ１８で構成されている。各ハードウェアは、バス１０を介して相互に接続している。
【００２２】
外部記憶装置１１は、ＤＶＤ（Digital Versatile Disc）又はＣＤ（Compact Disc）などの可搬式の記録媒体１１１に記憶してあるプログラム又はデータを読み出すためのユニットである。外部記憶装置１１は、記録媒体１１１が挿入されたとき、挿入された記録媒体１１１からプログラムなどを読み出し、読み出したプログラムなどを補助記憶装置１６へ送信する。
尚、記録媒体１１１には、ＣＰＵ１８に本発明に係る多次元データベース管理方法を実行させるためのプログラム及び各種データが記録されている。
【００２３】
ＲＡＭ１２は、ＳＲＡＭ又はＤＲＡＭなどで構成されている。ＲＡＭ１２は、例えば、補助記憶装置１６から読み出されたプログラム及び該プログラムを実行することにより生じる各種データが記憶されている。
【００２４】
通信インタフェース１３は、インタネット又はイントラネットなどの通信網の終端装置であり、通信網を介して接続が可能な外部装置と通信を行うための窓口である。通信インタフェース１３は、外部装置から送信されたデータ、要求、指示などを受信し、受信したデータなどをＲＡＭ１２へ送信する。
尚、本実施の形態では、外部装置が本店の営業統括部のクライアント装置３、地域本部のクライアント装置４、支店Ａのクライアント装置５、支店Ｂのクライアント装置６、支店Ｃのクライアント装置７である一例を示して説明する（図２参照）。
【００２５】
入力インタフェース１４には、入力装置１４１が接続してある。入力装置１４１は、例えば、キーボード又はマウスなどであり、複数の操作ボタン（図示せず）を有する。操作ボタンは、押下されたときに対応する信号を発生させる。入力装置１４１は、発生した信号を情報として受け付け、受け付けた情報を入力インタフェース１４を介してＲＡＭ１２へ送信する。ＲＡＭ１２は受信した情報を記憶する。
【００２６】
出力インタフェース１５は、出力装置１５１に接続してある。出力インタフェース１５は、ＲＡＭ１２に記憶してある各種データを画像及び音声に変換し、変換した画像及び音声を出力装置１５１を介して出力する。出力装置１５１は、例えば、ＣＲＴ、液晶モニタ又はサウンドスピーカなどが該当する。出力装置１５１は、多次元データベース２を管理するための情報を出力する。
【００２７】
補助記憶装置１６は、例えば、磁気記憶方式のハードディスクなどが該当する。補助記憶装置１６には、記録媒体１１１から読み取ったプログラム、各種データが記憶されている。
【００２８】
データベース通信インタフェース１７は、ケーブル１７１を介して多次元データベース２に接続するための装置であり、ＣＰＵ１８の指示に従い、多次元データベース２から各種データを読み出すか、又は、多次元データベース２へ各種データを書き込む。
【００２９】
ＣＰＵ１８は、情報処理装置１を構成する各ハードウェアを制御し、情報処理装置１に本発明に係る多次元データベース構築方法を実行させるように処理を行う。
【００３０】
多次元データベース２は、複数のディメンションを組み合わせて様々な角度でデータを分析できるようにキューブ２１という基礎的な構成要素を有する。キューブ２１は、複数のディメンションで構成されている。ディメンションは、同一の概念に属するとみなされる任意のメンバの集まりで構成されている。また、多次元データベース２は、ディメンションを構成するメンバの階層構造が定義され、定義された階層構造に沿って集計がなされる。
【００３１】
また、多次元データベース２は、キューブ２１を構成するディメンションから抽出した複数のメンバを組み合わせることにより、キューブ２１内での座標（ｘ，ｙ、ｚなど）を示す。図３中のとおり、示された座標には対応するセル２１０が存在し、各セル２１０にはコンテントデータが登録されている。コンテントデータは、多次元データベース２により管理されている計数値であり、例えば、数値、金額又は文字列などが該当する。尚、本実施の形態では、コンテントデータの登録、保持及び保管は、同義語として用いている。
【００３２】
保持されているコンテントデータは、多次元データベース２が有する第１データ構造Ｄ１により版識別情報と多次元識別情報とに対応付けられて管理される。また、版の階層構造（親子関係）は、多次元データベース２が有する第２データ構造Ｄ２により管理される。
【００３３】
本実施の形態では、「勘定科目」、「商品」及び「支店」の３つのディメンションを組み合わせたキューブ「商品別収益性」の一例を示している（図３参照）。ディメンション「勘定科目」は「売上高」、「売上原価」及び「売上利益」のメンバで構成されている。またディメンション「商品」は「ＣＤ」、「ＤＶＤ」及び「ビデオ」のメンバで構成されている。またディメンション「支店」は「支店Ａ」、「支店Ｂ」及び「支店Ｃ」のメンバで構成されている。
【００３４】
また、多次元データベース２には、後述するように版識別情報、コンテントデータ及び該コンテントデータを示すメンバの組み合わせを対応付けて格納してある版管理テーブルＴ１、及び、版の階層構造を管理するための階層構造テーブルＴ２が格納されている。
【００３５】
実施例１．
次に多次元データベース２が有する第１データ構造Ｄ１及び第２データ構造Ｄ２について説明する。図４は実施例１に係る第１データ構造Ｄ１を説明するための一例を示した概念図、図５は第２データ構造Ｄ２を説明するための一例を示した概念図、図６は版識別情報が有する階層構造の一例を示した概念図である。
尚、本実施の形態では、第１データ構造Ｄ１及び第２データ構造Ｄ２がテーブルの構造要素である一例を説明する。
【００３６】
図４中、Ｔ１は、コンテントデータを版管理するための版管理テーブルであり、第１データ構造Ｄ１をなすものである。版管理テーブルＴ１には、レコード毎に版識別情報（キー）、多次元識別情報（キー）及び登録内容が対応付けて格納されている。
【００３７】
版識別情報は、新規登録及び更新されるコンテントデータの版を識別するための情報であって各版を一意に識別するように生成される。版識別情報は、例えば「０１」、「０２」、「０３」又は「０４」のように生成される。版識別情報は、ユーザから指示を受けて情報処理装置１により生成され、当該コンテントデータに付番される。尚、これに限らず、コンテントデータを新規登録又は更新処理をしている情報処理装置１により自動的に生成されて当該コンテントデータに付番されるようにしてもよい。
【００３８】
多次元識別情報は、多次元データベース２を構成する各ディメンションから抽出したメンバの組み合わせを示す情報である。多次元識別情報は、例えば、メンバ「支店Ａ、売上高、ＣＤ」のセル内のコンテントデータに対して「Ａ０１０１」が付番され、メンバ「支店Ｂ、売上高、ＣＤ」のセル内のコンテントデータに対して「Ｂ０１０１」が付番され、メンバ「支店Ｃ、売上高、ＣＤ」のセル内のコンテントデータに対して「Ｃ０１０１」が付番される（図４参照）。
【００３９】
登録内容は、コンテントデータ自体であり、新規登録及び更新されたコンテントデータである。
【００４０】
図５中、Ｔ２は、版の階層構造を管理するための階層構造テーブルであり、第２のデータ構造Ｄ２をなすものである。階層構造テーブルＴ２には、レコード毎に版識別情報（キー）、親版の版識別情報及び属性項目が対応付けて格納されている。
【００４１】
版識別情報は、新規登録及び更新されるコンテントデータの版を一意に識別するための情報であって版管理テーブルＴ１の同名称項目に対応している。
【００４２】
親版の版識別情報は、版識別情報が示すコンテントデータと親子関係にある親コンテントデータの版を識別するための情報である。例えば、図中では、版識別情報０３の親が版識別情報０２であり、版識別情報０２の親が版識別情報０１であり、版識別情報０１が最上位の親であり、版識別情報０４の親が版識別情報０１である旨を示す（図６参照）。
【００４３】
属性項目は、版の種類を区別するための情報であり、例えば、該当する版のコンテントデータが作業用データであるのか、完成データであるのかを示す。例えば、図中では、版識別情報０２、０３及び０４が作業用データであり、版識別情報０１が完成データである旨を示す。
【００４４】
階層構造テーブルＴ２が示す階層構造は循環しない。また、版管理テーブルＴ１には、多次元識別情報ごとに各版のコンテントデータとその親版のコンテントデータが異なる場合のみ、その版のコンテントデータが登録される。そのため、親版のデータが更新された場合、変更は子版に波及する（ただし子版のデータが変更されている場合を除く）。一方、子版のデータが更新された場合、変更は親版に波及しない。従って、本発明では、例えば、予算編成において一の支店が有する最下位の版（例えば、版識別情報０３）のデータを更新した場合、他の支店が有する最下位の版（例えば、版識別情報０４）のデータに反映されることはない。一方、各支店の予算案が確定したとき、営業統括部が有する親版（版識別情報０１）にその内容を反映すれば、全支店が有するデータにその内容が反映される。このように、一の支店は、他の支店が参照しているデータに影響を与えることなく自身が有する作業用データを更新することができる。また、データの確定時には、営業部門内でデータを共有するという形態で協働作業を実行することができる。
【００４５】
次に多次元データベース２に保持してあるコンテントデータの検索について説明する。図７は実施例１に係る情報処理装置１で実行する検索処理の手順を示すフローチャートである。例えば、営業統括部のユーザは、各支店の作業用データ又は完成データにアクセスすべく、クライアント装置３を介して任意の版識別情報及び多次元識別情報を指定する。クライアント装置３は、指定された版識別情報及び多次元識別情報を受け付け、受け付けた版識別情報及び多次元識別情報を情報処理装置１へ送信する。
【００４６】
情報処理装置１のＣＰＵ１８は、指定された版識別情報及び多次元識別情報を受け付ける（Ｓ１０１）。ＣＰＵ１８は、多次元データベース２に格納してある版管理テーブルＴ１にアクセスし、アクセスした版管理テーブルＴ１から版識別情報及び多次元識別情報に対応するコンテントデータを抽出する（Ｓ１０２）。ＣＰＵ１８は、コンテントデータの抽出に成功したか否かを判断する（Ｓ１０３）。その結果、ＣＰＵ１８は、コンテントデータの抽出に成功したと判断した場合（Ｓ１０３でＹＥＳ）、抽出したコンテントデータをクライアント装置３へ送信し（Ｓ１０８）、検索処理を終了する。クライアント装置３は、情報処理装置１から送信されたコンテントデータを受信する。
【００４７】
一方、ＣＰＵ１８は、ステップＳ１０３において、コンテントデータの抽出に失敗したと判断した場合（Ｓ１０３でＮＯ）、多次元データベース２に格納してある階層構造テーブルＴ２にアクセスし、アクセスした階層構造テーブルＴ２から親版を示す版識別情報を抽出する（Ｓ１０４）。ＣＰＵ１８は、親版を示す版識別情報の抽出に成功したか否かを判断する（Ｓ１０５）。その結果、ＣＰＵ１８は、親版を示す版識別情報の抽出に成功したと判断した場合（Ｓ１０５でＹＥＳ）、親版を示す版識別情報を指定された版識別情報（Ｓ１０１参照）に置換し（Ｓ１０６）、ステップＳ１０１に戻って検索処理を繰り返す。
【００４８】
一方、ＣＰＵ１８は、親版を示す版識別情報の抽出に失敗したと判断した場合（Ｓ１０５でＮＯ）、空値をクライアント装置３へ送信し（Ｓ１０７）、検索処理を終了する。クライアント装置３は、情報処理装置１から送信された空値を受信したとき、ユーザにより指定された版識別情報及び多次元識別情報が示すコンテントデータが多次元データベース２内に登録されていないと判断する。
【００４９】
次に多次元データベース２に保持してあるコンテントデータの更新について説明する。図８は実施例１に係る情報処理装置１で実行する更新処理の手順を示すフローチャートである。例えば、各部署のユーザは、作業用データにアクセスすべく、クライアント装置４乃至７を介して任意の版識別情報及び多次元識別情報を指定し、更新データを入力する。クライアント装置４乃至７は、指定された版識別情報及び多次元識別情報並びに更新データを受け付け、受け付けた版識別情報及び多次元識別情報並びに更新データを情報処理装置１へ送信する。
【００５０】
情報処理装置１のＣＰＵ１８は、指定された版識別情報及び多次元識別情報並びに更新データを受け付ける（Ｓ２０１）。ＣＰＵ１８は、多次元データベース２に格納してある版管理テーブルＴ１にアクセスし、上述した検索処理（図７参照）を実行する（Ｓ２０２）。
【００５１】
ＣＰＵ１８は、受け付けた更新データと上述した検索処理により抽出されたコンテントデータである検索結果とが同じであるか否かを判断する（Ｓ２０３）。その結果、ＣＰＵ１８は、更新データと検索結果とが同じでないと判断した場合（Ｓ２０３でＮＯ）、更新データに基づいて更新されたコンテントデータを指定された版識別情報及び多次元識別情報に対応付けて多次元データベース２内の版管理テーブルＴ１に格納し（Ｓ２０４）、更新処理を終了する。
【００５２】
一方、ＣＰＵ１８は、更新データと検索結果とが同じであると判断した場合（Ｓ２０３でＹＥＳ）、更新データに基づいてコンテントデータを更新することなく、更新処理を終了する。
【００５３】
実施例２．
上述した実施例１では、版管理テーブルＴ１にコンテントデータ自体が格納されている一例を説明したが、これに限るものでない。実施例２では、版管理テーブルＴ１' に版識別情報が示す版のコンテントデータと当該版より上位階層にある親版のコンテントデータとの差分が格納されている一例を説明する。図９は実施例２に係る第１データ構造Ｄ１を説明するための一例を示した概念図である。
【００５４】
図９中、Ｔ１' は、第１のデータ構造Ｄ１でコンテントデータの版を管理するための版管理テーブルである。版管理テーブルＴ１' には、レコード毎に版識別情報（キー）、多次元識別情報（キー）及び登録情報が対応付けて格納されている。
【００５５】
登録情報は、版識別情報が示す版のコンテントデータと当該版より上位階層にある親版のコンテントデータとの差分である。登録情報には、始点、長さ及び置換値が含まれる。更新すべきコンテントデータは、登録してあるコンテントデータから登録情報が含む始点を基準とした長さの文字を削除し、削除した箇所に置換値を挿入することにより表現される。
例えば、版識別情報「０１」にて指定される版を対象として「ａｂｃｄｅｆｇ」というコンテントデータを「Ａ０１０１」のセル内に新規登録するとき、登録情報には始点１、長さ０及び置換値「ａｂｃｄｅｆｇ」が格納される。
【００５６】
次に、版識別情報「０２」にて指定される版を対象として「Ａ０１０１」のセル内のコンテントデータを「ａｘｙｚｆｇ」に更新するとき、登録情報には始点２、長さ４及び置換値「ｘｙｚ」が格納される。さらに、版識別情報「０３」にて指定される版を対象として「Ａ０１０１」のセル内のコンテントデータを「ａａｘｙｆｇ」に更新するとき、登録情報には始点１、長さ０及び置換値「ａ」が格納される。また、版識別情報「０４」にて指定される版を対象として「Ａ０１０１」のセル内のコンテントデータを「ｄｅｆｇ」に更新するとき、登録情報には始点１、長さ３が格納され、置換値には空値が格納される。即ち、版識別情報「０４」にて指定される版の親版は、版識別情報「０１」で指定される版であるから、親版における「Ａ０１０１」のセル内のコンテントデータ「ａｂｃｄｅｆｇ」からの差分が登録情報に格納される。
【００５７】
次に実施例２において、多次元データベース２に保持してあるコンテントデータの検索について説明する。図１０は実施例２に係る情報処理装置１で実行する検索処理の手順を示すフローチャートである。例えば、営業統括部のユーザは、各支店の作業用データ又は完成データにアクセスすべく、クライアント装置３を介して任意の版識別情報及び多次元識別情報を指定する。クライアント装置３は、指定された版識別情報及び多次元識別情報を受け付け、受け付けた版識別情報及び多次元識別情報を情報処理装置１へ送信する。
【００５８】
情報処理装置１のＣＰＵ１８は、ＲＡＭ１２内の記憶領域に確保してあるスタック（図示せず）を初期化する（Ｓ３０１）。ＣＰＵ１８は、指定された版識別情報及び多次元識別情報を受け付ける（Ｓ３０２）。ＣＰＵ１８は、多次元データベース２に格納してある版管理テーブルＴ１' にアクセスし、アクセスした版管理テーブルＴ１' から版識別情報及び多次元識別情報に対応する登録情報を抽出する（Ｓ３０３）。ＣＰＵ１８は、登録情報の抽出に成功したか否かを判断する（Ｓ３０４）。その結果、ＣＰＵ１８は、登録情報の抽出に成功したと判断した場合（Ｓ３０４でＹＥＳ）、抽出した登録情報をスタックに積み上げる（Ｓ３０５）。ＣＰＵ１８は、多次元データベース２に格納してある階層構造テーブルＴ２にアクセスし、アクセスした階層構造テーブルＴ２から親版を示す版識別情報を抽出する（Ｓ３０６）。
【００５９】
一方、ＣＰＵ１８は、登録情報の抽出に失敗したと判断した場合（Ｓ３０４でＮＯ）、ステップＳ３０５の処理を実行することなく、多次元データベース２に格納してある階層構造テーブルＴ２にアクセスし、アクセスした階層構造テーブルＴ２から親版を示す版識別情報を抽出する（Ｓ３０６）。ＣＰＵ１８は、親版を示す版識別情報の抽出に成功したか否かを判断する（Ｓ３０７）。
【００６０】
その結果、ＣＰＵ１８は、親版を示す版識別情報の抽出に成功したと判断した場合（Ｓ３０７でＹＥＳ）、親版を示す版識別情報を指定された版識別情報（Ｓ３０２参照）に置換し（Ｓ３０８）、ステップＳ３０２に戻って検索処理を繰り返す。
【００６１】
一方，ＣＰＵ１８は、親版を示す版識別情報の抽出に失敗したと判断した場合（Ｓ３０７でＮＯ）、スタックが空状態であるか否かを判断する（Ｓ３０９）。その結果、ＣＰＵ１８は、スタックが空状態であると判断した場合（Ｓ３０９でＹＥＳ）、空値をクライアント装置３へ送信し（Ｓ３１０）、検索処理を終了する。クライアント装置３は、情報処理装置１から送信された空値を受信したとき、ユーザにより指定された版識別情報及び多次元識別情報が示すコンテントデータが多次元データベース２内に登録されていないと判断する。
【００６２】
一方、ＣＰＵ１８は、ステップＳ３０９において、スタックが空状態でないと判断した場合（Ｓ３０９でＮＯ）、スタックに積まれた登録情報を取り出す（Ｓ３１１）。ＣＰＵ１８は、取り出した登録情報に基づいてコンテントデータを生成し（Ｓ３１２）、生成したコンテントデータをクライアント装置３へ送信し（Ｓ３１３）、検索処理を終了する。クライアント装置３は、情報処理装置１から送信されたコンテントデータを受信する。
【００６３】
次に多次元データベース２に保持してあるコンテントデータの更新について説明する。図１１は実施例２に係る情報処理装置１で実行する更新処理の手順を示すフローチャートである。例えば、各部署のユーザは、作業用データにアクセスすべく、クライアント装置４乃至７を介して任意の版識別情報及び多次元識別情報を指定し、更新データを入力する。クライアント装置４乃至７は、指定された版識別情報及び多次元識別情報並びに更新データを受け付け、受け付けた版識別情報及び多次元識別情報並びに更新データを情報処理装置１へ送信する。
【００６４】
情報処理装置１のＣＰＵ１８は、指定された版識別情報及び多次元識別情報並びに更新データを受け付ける（Ｓ４０１）。ＣＰＵ１８は、多次元データベース２に格納してある版管理テーブルＴ１'にアクセスし、上述した検索処理（図１０参照）を実行する（Ｓ４０２）。ＣＰＵ１８は、ステップＳ４０２で指定された版の検索結果及び指定された版の親版の検索結果を取得する（Ｓ４０３）。尚、親版がない場合は、親版の検索結果を空値とみなす。
【００６５】
ＣＰＵ１８は、受け付けた更新データと指定された版の検索結果とが同じであるか否かを判断する（Ｓ４０４）。その結果、ＣＰＵ１８は、更新データと指定された版の検索結果とが同じでないと判断した場合（Ｓ４０４でＮＯ）、指定された版の親版の検索結果と更新データとの差分を抽出する（Ｓ４０５）。ＣＰＵ１８は、抽出した差分を指定された版識別情報及び多次元識別情報に対応付けて多次元データベース２内の版管理テーブルＴ１'に格納し（Ｓ４０６）、更新処理を終了する。
【００６６】
一方、ＣＰＵ１８は、更新データと指定された版の検索結果とが同じであると判断した場合（Ｓ４０４でＹＥＳ）、更新データに基づいてコンテントデータを更新することなく、更新処理を終了する。
【００６７】
尚、その他の構成及び作用については、実施例１で説明した構成及び作用と同様であるから説明を省略する。
【００６８】
上述した実施の形態では、第１データ構造Ｄ１及び第２データ構造Ｄ２がテーブルの構造要素である一例を説明したが、これに限らず、ＸＭＬなどのマークアップ言語を用いるなどの方法で多次元データベース２の第１データ構造Ｄ１及び第２データ構造Ｄ２を構築するようにしてもよい。
【００６９】
また、上述した実施の形態では、版管理テーブルＴ１及び階層構造テーブルＴ２が多次元データベース２内に格納されている一例を説明したが、これに限らず、情報処理装置１内に格納されてもよい。
【図面の簡単な説明】
【００７０】
【図１】本発明に係る多次元データベース構築システムの全体構成を示す概略図である。
【図２】本発明に係る多次元データベース構築システムの使用例を示す概略図である。
【図３】本発明で用いる多次元データベースを説明するための概念図である。
【図４】実施例１に係る第１データ構造を説明するための一例を示した概念図である。
【図５】第２データ構造を説明するための一例を示した概念図である。
【図６】版識別情報が有する階層構造の一例を示した概念図である。
【図７】実施例１に係る情報処理装置で実行する検索処理の手順を示すフローチャートである。
【図８】実施例１に係る情報処理装置で実行する更新処理の手順を示すフローチャートである。
【図９】実施例２に係る第１データ構造を説明するための一例を示した概念図である。
【図１０】実施例２に係る情報処理装置１で実行する検索処理の手順を示すフローチャートである。
【図１１】実施例２に係る情報処理装置１で実行する更新処理の手順を示すフローチャートである。
【図１２】従来の多次元データベースを説明するための概念図である。
【符号の説明】
【００７１】
１  情報処理装置
１２  ＲＡＭ
１６  補助記憶装置
１８  ＣＰＵ
２  多次元データベース
２１  キューブ
２１０  セル
３、４、５、７  クライアント装置
【図１】
0004395526.tif 000002
【図２】
0004395526.tif 000003
【図３】
0004395526.tif 000004
【図４】
0004395526.tif 000005
【図５】
0004395526.tif 000006
【図６】
0004395526.tif 000007
【図７】
0004395526.tif 000008
【図８】
0004395526.tif 000009
【図９】
0004395526.tif 000010
【図１０】
0004395526.tif 000011
【図１１】
0004395526.tif 000012
【図１２】
0004395526.tif 000013