(57)【要約】【課題】オブジェクト指向データモデルに基づいて作成された実体データの変更に柔軟に対応すること。【解決手段】オブジェクト指向データモデル記述の製品情報データスキーマ１１０からメタデータを生成し（Ｓ１０１）、製品情報データスキーマ１１０ごとにスキーマＩＤを生成し（Ｓ１０２）、メタデータをスキーマＩＤをキーとして、データ辞書１１１に登録をする（Ｓ１０３）こと（“データ辞書登録”）、および、データ辞書１１１に登録されたメタデータを参照して、製品情報実体データを格納する製品情報データベース１１２の作成をする（Ｓ１０４）こと（“製品情報データベース作成”）により、製品情報データベース１１２に対して製品情報の実体データを保存・抽出することができる。【選択図】図１
2020197839.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
前記メタデータをデータ辞書に登録し、
前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
処理をコンピュータに実行させることを特徴とするデータ管理プログラム。
【請求項２】
前記データスキーマごとにスキーマＩＤを生成し、
前記メタデータを、前記スキーマＩＤをキーとして前記データ辞書に登録する、
処理をコンピュータに実行させることを特徴とする請求項１に記載のデータ管理プログラム。
【請求項３】
前記データベースに対して、前記情報の実体データを保存または抽出する際に、
前記スキーマＩＤと、前記実体データのインスタンスＩＤと、をキーとして、前記データベース上の実体データにアクセスする、
処理をコンピュータに実行させることを特徴とする請求項２に記載のデータ管理プログラム。
【請求項４】
前記データ辞書は、前記スキーマＩＤと、前記データベースと、の対応関係を管理するデータベース定義テーブルを有することを特徴とする請求項２または３に記載のデータ管理プログラム。
【請求項５】
前記データ辞書は、前記スキーマＩＤと、前記情報のクラスに関する情報と、の対応関係を管理するクラス定義テーブルを有することを特徴とする請求項４に記載のデータ管理プログラム。
【請求項６】
前記データ辞書は、前記スキーマＩＤと、前記情報のクラスが持つ属性に関する情報と、の対応関係を管理する属性定義テーブルを有することを特徴とする請求項５に記載のデータ管理プログラム。
【請求項７】
前記データベースは、前記インスタンスＩＤと、当該インスタンスＩＤに対応する前記実体データが格納されている格納テーブルと、の対応関係を管理するインスタンス・テーブルを有することを特徴とする請求項３に記載のデータ管理プログラム。
【請求項８】
前記データベースは、前記インスタンスＩＤと、当該インスタンスＩＤに対応する前記実体データの属性カラムと、の対応関係を管理するクラステーブルを有することを特徴とする請求項７に記載のデータ管理プログラム。
【請求項９】
前記データベースは、前記格納テーブルへの従属テーブルを有することを特徴とする請求項８に記載のデータ管理プログラム。
【請求項１０】
オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
前記メタデータをデータ辞書に登録し、
前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
処理をコンピュータが実行することを特徴とするデータ管理方法。
【請求項１１】
オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
前記メタデータをデータ辞書に登録し、
前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
制御部を有することを特徴とするデータ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理プログラム、データ管理方法およびデータ管理システムに関する。
【背景技術】
【０００２】
従来、土木・建築物や航空機・船舶のような大規模かつ長期間使用される製品などでは、その製品の企画・設計段階や施工・製造段階、および出荷後の運用・保守段階を含むライフサイクル全体で製品情報を蓄積し、管理することが求められている。こうした製品に関わるライフサイクル全体の情報を取り扱い可能にするために、オブジェクト指向データモデリング手法を採用した製品情報モデルが提案され、仕様化されている。
【０００３】
一方、これらの製品情報データである実体データを長期にわたり蓄積・管理するためには、たとえば、ＡＣＩＤ特性に優れる関係データベースが適している。そこで、オブジェクト指向データモデルに基づいて作成された実体データを計算機上で蓄積・管理するために、関係モデルに変換し、それらのデータを効率的に操作する仕組みが提案されている。
【０００４】
関連する先行技術としては、オブジェクト指向データモデルに基づいて作成された実体データを計算機上で蓄積・管理する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１９５２９７号公報
【特許文献２】特開２００４−４６６５０号公報
【特許文献３】特開２００５−２０２８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、長期の運用期間中には、製品情報モデル自体、すなわち、オブジェクト指向データモデル自体の追加・更新などの変更がおこなわれることがあり、従来技術にあっては、これらの変更に基づいた実体データを統一して管理することができないという問題がある。
【０００７】
一つの側面では、本発明は、オブジェクト指向データモデルの変更に柔軟に対応し、それに基づいた実体データを統一して管理することを目的とする。
【課題を解決するための手段】
【０００８】
一つの実施態様では、オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、前記メタデータをデータ辞書に登録し、前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、処理をコンピュータに実行させることを特徴とするデータ管理プログラムが提供される。
【発明の効果】
【０００９】
本発明の一側面によれば、オブジェクト指向データモデルに基づいて作成された実体データを統一して管理することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかるデータ管理プログラムの概要の一例を示す説明図である。
【図２】図２は、実施の形態にかかるデータ管理システムの構成の一例を示す説明図である。
【図３】図３は、実施の形態にかかるデータ管理システムを構成する情報処理装置（サーバ、情報端末装置）のハードウェア構成の一例を示すブロック図である。
【図４】図４は、実施の形態にかかるデータ管理システムの機能的構成の一例を示すブロック図である。
【図５】図５は、データ辞書の構成の一例を示す説明図である。
【図６】図６は、製品情報データベースの構成の一例を示す説明図である。
【図７】図７は、データ辞書へのメタデータの登録手順の一例を示すフローチャートである。
【図８】図８は、製品情報データベース定義テーブルへのデータの登録手順の一例を示すフローチャートである。
【図９】図９は、クラス定義テーブルへのデータの登録手順の一例を示すフローチャートである。
【図１０】図１０は、属性定義テーブルへのデータの登録手順の一例を示すフローチャートである。
【図１１】図１１は、製品情報データベースの作成手順（インスタンス・テーブルの生成）の一例を示すフローチャートである。
【図１２】図１２は、製品情報データベースの作成手順（クラステーブルの生成）の一例を示すフローチャートである。
【図１３】図１３は、製品情報データベースへのデータアクセス制御手順（データ登録）の一例を示すフローチャートである。
【図１４】図１４は、製品情報データベースへのデータアクセス制御手順（データ取得）の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかるデータ管理プログラム、データ管理方法およびデータ管理システムの実施の形態を詳細に説明する。
【００１２】
（実施の形態）
（データ管理プログラムの概要）
図１は、実施の形態にかかるデータ管理プログラムの概要の一例を示す説明図である。図１において、本実施の形態にかかるデータ管理プログラムは、製品情報データスキーマ１１０から生成したメタデータをデータ辞書１１１に登録をすること（“データ辞書登録”）、および、データ辞書１１１に登録されたメタデータを参照して、製品情報実体データを格納する製品情報データベース１１２の作成をすること（“製品情報データベース作成”）により、製品情報データベース１１２に対して製品情報の実体データを保存・抽出することができる。
【００１３】
具体的には、まず、オブジェクト指向データモデル記述の製品情報データスキーマ１１０から、ステップＳ１０４において作成する製品情報データベース１１２のメタデータを生成する（ステップＳ１０１）。つぎに、一つの製品情報データスキーマ１１０に対して一つのスキーマＩＤを生成する（ステップＳ１０２）。これにより、スキーマＩＤによって、メタデータを管理することができる。そして、ステップＳ１０１において生成したメタデータを、ステップＳ１０２において生成したスキーマＩＤを主キーとして、データ辞書１１１に登録する（ステップＳ１０３）。
【００１４】
このようにして、データ管理プログラムは、ステップＳ１０１〜Ｓ１０３によって、“データ辞書登録”をおこなう。データ辞書登録の詳細な手順については、後述する図７〜図１０において説明する。これが、実施の形態にかかるデータ管理プログラムにおける第１の特徴である。
【００１５】
つぎに、ステップＳ１０３においてデータ辞書１１１に登録されているメタデータを参照して、オブジェクト指向データモデル記述の製品情報データスキーマ１１０から製品情報データベース１１２を作成する（ステップＳ１０４）。このようにして、データ管理プログラムは、ステップＳ１０４によって、“製品情報データベース作成”をおこなう。製品情報データベース作成の詳細な手順については、後述する図１１および図１２において説明する。これが、実施の形態にかかるデータ管理プログラムにおける第２の特徴である。
【００１６】
さらに、ステップＳ１０２において生成されたスキーマＩＤと、実体データのインスタンスＩＤとを主キーとして、関係データベース上の実体データへアクセスする（ステップＳ１０５）。そして、製品情報データベース１１２に対して、製品情報の実体データの保存または抽出をおこなう（ステップＳ１０６）。製品情報データベース１１２へのデータアクセスの詳細な手順については、後述する図１３および図１４において説明する。
【００１７】
このように、実施の形態にかかるデータ管理プログラム、データ管理方法およびデータ管理システムは、“データ辞書登録”および“製品情報データベース作成”をおこなうことによって、異なる製品情報データスキーマを持つ実体データを統一して管理することができる。これにより、製品情報モデル自体の追加・変更などに柔軟に対応することができるものである。
【００１８】
（データ管理システムの構成）
図２は、実施の形態にかかるデータ管理システムの全体構成の一例を示す説明図である。図２において、データ管理システム２００は、情報処理装置の一例であるサーバ２０１と、情報処理装置の別の一例である情報端末装置２０２と、を備えている。サーバ２０１に対して、ネットワーク２０３を介して、情報端末装置２０２が、それぞれ接続されている。
【００１９】
サーバ２０１は、このデータ管理システム２００の全体を管理するとともに、各情報端末装置２０２との情報の送受信をおこなう。また、データ辞書１１１および製品情報データベース１１２は、サーバ２０１が備えていてもよく、また、サーバ２０１と通信可能に接続されていてもよい。そして、サーバ２０１は、データ辞書１１１および製品情報データベース１１２のデータの入出力や、更新などの管理をおこなう。このように、サーバ２０１は、実施の形態にかかるデータ管理システムの機能を実現することができる。
【００２０】
また、サーバ２０１は、ネットワーク２０３を介して、図示は省略する別の一つまたは複数のサーバとアクセス可能に接続されていてもよい。そして、データ辞書１１１および製品情報データベース１１２の少なくともいずれかは、サーバ２０１を含む別の一つまたは複数のサーバによって分散して管理するようにしてよい。
【００２１】
また、情報端末装置２０２は、データ辞書１１１、製品情報データベース１１２へアクセスすることが可能な装置であり、具体的には、たとえば、パーソナルコンピュータ、タブレット端末、スマートフォンなどの通信機能を備えた電子機器によって、その機能を実現することができる。
【００２２】
（情報処理装置のハードウェア構成例）
図３は、実施の形態にかかるデータ管理システムを構成する情報処理装置（サーバ、情報端末装置）のハードウェア構成の一例を示すブロック図である。図３において、情報処理装置（サーバ２０１、情報端末装置２０２）は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、記録媒体Ｉ／Ｆ３０４と、記録媒体３０５と、を有する。また、各構成部３０１〜３０４は、バス３００によってそれぞれ接続される。
【００２３】
ここで、ＣＰＵ３０１は、情報処理装置（サーバ２０１、情報端末装置２０２）の全体の制御を司る。メモリ３０２は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、たとえば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００２４】
Ｉ／Ｆ３０３は、通信回線を通じて、ネットワーク２０３に接続され、ネットワーク２０３を介して他の情報処理装置に接続される。そして、Ｉ／Ｆ３０３は、ネットワークと自装置内部とのインターフェースを司り、他の情報処理装置からのデータの入出力を制御する。Ｉ／Ｆ３０３には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００２５】
記録媒体Ｉ／Ｆ３０４の一例であるディスクドライブは、ＣＰＵ３０１の制御にしたがって記録媒体３０５の一例であるディスクに対するデータのリード／ライトを制御する。記録媒体３０５の一例であるディスクは、記録媒体Ｉ／Ｆ３０４の制御で書き込まれたデータを記憶する。記録媒体３０５としては、たとえば、磁気ディスク、光ディスクなどが挙げられる。
【００２６】
なお、情報処理装置（サーバ２０１、情報端末装置２０２）は、上述した構成部のほかに、図示を省略するが、たとえば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ディスプレイ、入力装置などを有していてもよい。
【００２７】
ディスプレイは、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイとしては、たとえば、液晶ディスプレイ、有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどを採用することができる。
【００２８】
入力装置は、文字、数字、各種指示などの入力のためのキーを有し、データの入力をおこなう。入力装置は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
【００２９】
（データ管理システムの機能的構成）
図４は、実施の形態にかかるデータ管理システムの機能的構成の一例を示すブロック図である。図４において、データ管理システム２００は、データ辞書１１１、製品情報データベース１１２のほか、メタデータ登録部４０１と、製品情報データベース作成部４０２と、データアクセス制御部４０３と、を含む構成となっている。
【００３０】
ここで、データ辞書１１１は、後述する図５に示すように、製品情報データスキーマ１１０を関係データベースのテーブルに変換して蓄積する。また、製品情報データベース１１２は、後述する図６に示すように、製品情報実体データ４１０を格納する。データ辞書１１１および製品情報データベース１１２は、たとえば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域によって実現される。
【００３１】
また、メタデータ登録部４０１、製品情報データベース作成部４０２、および、データアクセス制御部４０３は、データ管理システム２００において制御部となる機能である。メタデータ登録部４０１、製品情報データベース作成部４０２、および、データアクセス制御部４０３は、具体的には、たとえば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、たとえば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶される。
【００３２】
メタデータ登録部４０１は、製品情報データスキーマ１１０からメタデータを抽出しデータ辞書１１１に登録する。すなわち、メタデータ登録部４０１は、オブジェクト指向データモデルに基づいて作成された情報のデータスキーマ１１０から、当該情報のメタデータを生成し、メタデータをデータ辞書１１１に登録する。
【００３３】
より具体的には、メタデータ登録部４０１は、製品情報データスキーマ１１０ごとにスキーマＩＤを生成し、製品情報データスキーマ１００から抽出されたメタデータを、スキーマＩＤをキーとしてデータ辞書１１１に登録する。
【００３４】
製品情報データベース作成部４０２は、データ辞書１１１に登録されたメタデータから製品情報データベースを作成する。すなわち、製品情報データベース作成部４０２は、データ辞書１１１に登録されているメタデータを参照して、オブジェクト指向データモデル記述の製品情報データスキーマ１１０から製品情報データベース１１２を作成する。
【００３５】
データアクセス制御部４０３は、製品情報データベース１１２に対して、製品情報実体データ４１０を保存または抽出する。その際に、データアクセス制御部４０３は、スキーマＩＤと、実体データのインスタンスＩＤと、をキーとして、製品情報データベース１１２上の実体データにアクセスする。
【００３６】
（データ辞書１１１の構成）
つぎに、データ辞書１１１の構成について説明する。図５は、データ辞書の構成の一例を示す説明図である。図５において、データ辞書１１１は、製品情報データベース定義テーブル５０１、クラス定義テーブル５０２、および、属性定義テーブル５０３の３つのテーブルからなる関係データベースとして構成されている。
【００３７】
製品情報データベース定義テーブル５０１は、「スキーマＩＤ」を主キー（Ｐｒｉｍａｒｙ  Ｋｅｙ（ＰＫ））として、「データスキーマ名」および「製品情報データベース名」を管理するテーブルである。それにより、製品情報データベース定義テーブル５０１は、「スキーマＩＤ」と、製品情報データベース１１２と、の対応関係を管理することができる。製品情報データベース定義テーブル５０１は、製品情報データスキーマに対応する関係データベースシステム上の製品情報データベース１１２を特定するために使用される。
【００３８】
クラス定義テーブル５０２は、「スキーマＩＤ」と「製品情報クラス名」を主キー（ＰＫ）として、「継承元クラス名」、インスタンス格納先であるクラステーブル名（「インスタンス格納先テーブル名」）および「従属テーブル名」を管理するテーブルである。それにより、クラス定義テーブル５０２は、「スキーマＩＤ」と、製品情報のクラスに関する情報と、の対応関係を管理することができる。クラス定義テーブル５０２は、製品情報データベース１１２の作成、および、製品情報実体データ４１０へのアクセス時に参照される。
【００３９】
属性定義テーブル５０３は、「スキーマＩＤ」と「製品情報クラス名」を主キー（ＰＫ）として、そのクラスが持つ「属性名」、属性の「データ型」・「データ次元数」、および、格納先クラステーブルの対応する「カラム名」を管理するテーブルである。それにより、属性定義テーブル５０３は、「スキーマＩＤ」と、製品情報のクラスが持つ属性に関する情報と、の対応関係を管理することができる。属性定義テーブル５０３は、クラス定義テーブル５０２と同様に、製品情報データベース１１２の作成、および、製品実体データ４１０へのアクセスするために参照利用される。
【００４０】
データ辞書１１１は、このような構成によって、オブジェクト指向データモデルで記述された製品情報データスキーマ１１０を関係データベースとして蓄積・管理することができる。
【００４１】
（製品情報データベース１１２の構成）
つぎに、製品情報データベース１１２の構成について説明する。図６は、製品情報データベースの構成の一例を示す説明図である。図６において、製品情報データベース１１２は、インスタンス・テーブル６０１、クラステーブル（継承元クラステーブル６０２、継承先クラステーブル６０３）、従属テーブル（継承元クラステーブル６０２の従属テーブル６０４、継承先クラステーブル６０３の従属テーブル６０５）の３種類のテーブルからなる関係データベースとして構成される。
【００４２】
インスタンス・テーブル６０１は、製品情報クラスから、そのオブジェクトの「インスタンスＩＤ」を主キーとして、当該「インスタンスＩＤ」に対応する製品情報の実体データが格納されている格納テーブルの「格納テーブル名」を管理するテーブルである。具体的には、たとえば、クラステーブルである、継承元クラステーブル６０２および継承先クラステーブル６０３を管理する。それにより、インスタンス・テーブル６０１は、インスタンスＩＤと、当該「インスタンスＩＤ」に対応する製品情報実体データ４１０が格納されている格納テーブルと、の対応関係を管理する。
【００４３】
また、クラステーブルである、継承元クラステーブル６０２および継承先クラステーブル６０３は、「インスタンスＩＤ」を主キーとして、「格納テーブル名」と、当該インスタンスＩＤに対応する製品情報実体データ４１０の属性名に対応する「属性カラム名」と、を管理するテーブルである。ここで、継承元クラスがある場合は、その継承元クラスの「属性カラム名」を含めて管理する。これにより、クラステーブルは、「インスタンスＩＤ」と、当該「インスタンスＩＤ」に対応する製品情報実体データ４１０の属性カラムと、の対応関係を管理する。
【００４４】
従属テーブル６０４、６０５は、製品情報クラスの属性データ型がプリミティブ型でない場合に、その属性情報を格納する。従属テーブル６０４、６０５は、「親インスタンスＩＤ」、「属性名」、「インデックス」のそれぞれを主キーとして、「インスタンスＩＤ」および「テーブル名」を管理するテーブルである。すなわち、従属テーブル６０４、６０５は、格納テーブル（継承元クラステーブル６０２、継承先クラステーブル６０３）への従属テーブルである。
【００４５】
（メタデータ登録部４０１における処理）
つぎに、メタデータ登録部４０１における処理の内容について、図７〜図１０を用いて説明する。図７は、データ辞書へのメタデータの登録手順の一例を示すフローチャートである。
【００４６】
図７のフローチャートにおいて、図４に示したメタデータ登録部４０１は、まず、指定された製品情報データスキーマ１１０と製品情報データベース名７１０に基づいて、一意のスキーマＩＤを自動採番する（ステップＳ７０１）。そして、このスキーマＩＤを主キーとしてデータ辞書１１１へのメタデータの登録をおこなう各ＤＭＬ（Ｄａｔａ  Ｍａｎｉｐｕｌａｔｉｏｎ  Ｌａｎｇｕａｇｅ）を生成して、そのＤＭＬにより、データ辞書１１１へメタデータの登録をおこなう。
【００４７】
より具体的には、製品情報データベース定義テーブル（ＴＢＬ）５０１へのデータ登録ＤＭＬを生成して（ステップＳ７０２）、生成したデータ登録ＤＭＬを用いて、製品情報データベース定義テーブル５０１へのデータ登録をおこなう（後述する図８を参照）。
【００４８】
また、クラス定義テーブル（ＴＢＬ）５０２へのデータ登録ＤＭＬを生成して（ステップＳ７０３）、生成したデータ登録ＤＭＬを用いて、クラス定義テーブル５０２へのデータ登録をおこなう（後述する図９を参照）。
【００４９】
同様に、属性定義テーブル（ＴＢＬ）５０３へのデータ登録ＤＭＬを生成して（ステップＳ７０４）、生成したデータ登録ＤＭＬを用いて、属性定義テーブル５０３へのデータ登録をおこなう（後述する図１０を参照）。
【００５０】
図８は、製品情報データベース定義テーブルへのデータの登録手順の一例を示すフローチャートである。図８のフローチャートは、図７に示したフローチャートのステップＳ７０１、Ｓ７０２に対応する。図８のフローチャートにおいて、スキーマＩＤを自動採番して、自動採番されたスキーマＩＤをキーとして、入力された製品情報データスキーマ１１０のデータスキーマ名（ファイル名、ファイルパス）、および、製品情報データベース名７１０をカラムとするＤＭＬを生成する（ステップＳ８０１）。以下は、ステップＳ８０１において生成するＤＭＬの一例である。
【００５１】
ＩＮＳＥＲＴ  ＩＮＴＯ  ｄｉｃｔｉｏｎａｒｙ（ｓｃｈｅｍａ＿ｉｄ，ｄｂ＿ｎａｍｅ，ｓｃｈｅｍａ＿ｎａｍｅ）
ＶＡＬＵＥＳ（‘１’，‘ＢＭａｉｎｔｅｎａｎｃｅ＿ｉｆｃ４’，‘ＩＦＣ４＿ＢＭ’）；
【００５２】
そして、このＤＭＬ出力にしたがって、データ辞書１１１の製品情報データベース定義テーブル５０１にデータ登録をおこなう。
【００５３】
図９は、クラス定義テーブルへのデータの登録手順の一例を示すフローチャートである。図９のフローチャートは、図７に示したフローチャートのステップＳ７０３に対応する。図９のフローチャートにおいて、まず、製品情報データスキーマ１１０から、製品情報クラス名とその継承元クラス名を抽出する（ステップＳ９０１）。
【００５４】
つぎに、ステップＳ９０１において抽出された製品情報クラス名を基に、所与のルールで格納先テーブル名を生成する（ステップＳ９０２）。さらに、スキーマＩＤ（ＰＫ）、製品情報クラス名、継承元クラス名、対応する格納先テーブル名、および、従属テーブル名をカラムとするＤＭＬを生成する（ステップＳ９０３）。以下は、ステップＳ９０３において生成するＤＭＬの一例である。
【００５５】
ＩＮＳＥＲＴ  ＩＮＴＯ  ｅｎｔｉｔｙ＿ｄｅｆｉｎｉｔｉｏｎｓ（ｓｃｈｅｍａ＿ｉｄ，ｅｎｔｉｔｙ＿ｎａｍｅ，ｔａｂｌｅ＿ｎａｍｅ，ｉｎｄ＿ｔａｂｌｅ＿ｎａｍｅ）
ＶＡＬＵＥＳ（（ＳＥＬＥＣＴ  ｓｃｈｅｍａ＿ｉｄ  ＦＲＯＭ  ｄｉｃｔｉｏｎａｒｙ  ＷＨＥＲＥ  ｄｂ＿ｎａｍｅ＝‘ＢＭａｉｎｔｅｎａｎｃｅ＿ｉｆｃ４’），‘ｉｆｃｖｉｒｔｕａｌｇｒｉｄｉｎｔｅｒｓｅｃｔｉｏｎ’，‘ｅｎ＿ｉｆｃｖｉｒｔｕａｌｇｒｉｄｉｎｔｅｒｓｅｃｔｉｏｎ’，‘ｒｅｆ＿ｅｎ＿ｉｆｃｖｉｒｔｕａｌｇｒｉｄｉｎｔｅｒｓｅｃｔｉｏｎ’）；
【００５６】
そして、このＤＭＬ出力にしたがって、データ辞書１１１のクラス定義テーブル５０２にデータ登録をおこなう。
【００５７】
図１０は、属性定義テーブルへのデータの登録手順の一例を示すフローチャートである。図１０のフローチャートは、図７に示したフローチャートのステップＳ７０４に対応する。図１０のフローチャートにおいて、まず、製品情報データスキーマ１１０から、製品情報クラスの製品情報クラス名、当該製品情報クラスにおける属性名、当該製品情報クラスにおけるデータ型、および、当該製品情報クラスにおける集合データ型の次元数を抽出する（ステップＳ１００１）。
【００５８】
つぎに、ステップＳ１００１において抽出された、製品情報クラスにおける属性名を基に、所与のルールで属性カラム名を生成する（ステップＳ１００２）。さらに、スキーマＩＤ（ＰＫ）、製品情報クラス名（ＰＫ）、属性名、データ型、集合データ型フラグ、および、対応する属性カラム名をカラムとするＤＭＬを生成する（ステップＳ１００３）。以下は、ステップＳ１００３において生成するＤＭＬの一例である。
【００５９】
ＩＮＳＥＲＴ  ＩＮＴＯ  ｅｎｔｉｔｙ＿ａｔｔｒｉｂｕｔｅｓ（ｓｃｈｅｍａ＿ｉｄ，ｅｎｔｉｔｙ＿ｎａｍｅ，ａｔｔｒｉｂｕｔｅ＿ｎａｍｅ，ｄａｔａ＿ｔｙｐｅ，ｃｏｌｌｅｃｔｉｏｎ＿ｄｉｍｅｎｓｉｏｎ＿ｎｕｍｂｅｒ，ｃｏｌｕｍｎ＿ｎａｍｅ）
ＶＡＬＵＥＳ  （（ＳＥＬＥＣＴ  ｓｃｈｅｍａ＿ｉｄ  ＦＲＯＭ  ｄｉｃｔｉｏｎａｒｙ  ＷＨＥＲＥ  ｄｂ＿ｎａｍｅ＝‘ＢＭａｉｎｔｅｎａｎｃｅ＿ｉｆｃ４’），‘ｉｆｃｖｉｒｔｕａｌｇｒｉｄｉｎｔｅｒｓｅｃｔｉｏｎ’，‘ｏｆｆｓｅｔｄｉｓｔａｎｃｅｓ’，‘ｉｆｃｌｅｎｇｔｈｍｅａｓｕｒｅ’，１，‘ｏｆｆｓｅｔｄｉｓｔａｎｃｅｓ’）；
【００６０】
そして、このＤＭＬ出力にしたがって、データ辞書１１１の属性定義テーブル５０３にデータ登録をおこなう。このようにして、メタデータ登録部４０１は、データ辞書１１１へのメタデータの登録をおこなうことができる。
【００６１】
（製品情報データベース作成部４０２における処理）
つぎに、製品情報データベース作成部４０２における処理の内容について、図１１および図１２を用いて説明する。
【００６２】
図１１は、製品情報データベースの作成手順（インスタンス・テーブルの生成）の一例を示すフローチャートである。図１１のフローチャートにおいて、製品情報データベース作成部４０２は、インスタンスＩＤを主キーとする、クラステーブル名（格納テーブル名）をカラムとして持つインスタンス・テーブル６０１を生成する（ステップＳ１１０１）。これにより、製品情報データベース１１２におけるインスタンス・テーブル６０１を生成することができる。
【００６３】
また、図１２は、製品情報データベースの作成手順（クラステーブルの生成）の一例を示すフローチャートである。図１２のフローチャートにおいて、「Ｎ」に「１」を設定（Ｎ＝１）する（ステップＳ１２０１）。
【００６４】
つぎに、Ｎ番目のクラス定義情報があるか否かを判断する（ステップＳ１２０２）。ここで、Ｎ番目のクラス定義情報がある場合（ステップＳ１２０２：Ｙｅｓ）は、データ辞書１１１からＮ番目のクラス定義情報を取得する（ステップＳ１２０３）。そして、取得したＮ番目のクラス定義情報が、処理済みリストにあるか否かを判断する（ステップＳ１２０４）。ここで、処理済みリストにある場合（ステップＳ１２０４：Ｙｅｓ）は、当該Ｎ番目のクラス定義情報については処理をする必要がないので、何もせずに、ステップＳ１２０７へ移行する。
【００６５】
一方、ステップＳ１２０４において、取得したクラス定義情報が、処理済みリストにない場合（ステップＳ１２０４：Ｎｏ）は、つぎに、継承元クラスがないかまたは継承元クラスのクラステーブルの生成処理が済みであるか否かを判断する（ステップＳ１２０５）。ここで、継承元クラスがない場合、または、継承元クラスがあっても、その継承元クラスのクラステーブルの生成処理が済みである場合（ステップＳ１２０５：Ｙｅｓ）は、Ｎ番目のクラス定義情報についてクラステーブルを生成して、処理済みリストに入れる（ステップＳ１２０６）。その後、ステップＳ１２０７へ移行する。
【００６６】
一方、ステップＳ１２０５において、継承元クラスがある場合であって、当該継承元クラスのクラステーブルの生成処理が未処理である場合（ステップＳ１２０５：Ｎｏ）は、何もせずに、ステップＳ１２０７へ移行する。このようにして、継承元クラスがある場合はその継承元クラスのクラステーブルの生成処理を優先させる。
【００６７】
ステップＳ１２０７においては、「Ｎ」に、「Ｎ＋１」を設定（Ｎ＝Ｎ＋１）し（ステップＳ１２０７）、ステップＳ１２０２へ戻る。このようにして、ステップＳ１２０２〜Ｓ１２０７の各処理を繰り返し実行する。そして、ステップＳ１２０２において、Ｎ番目のクラス定義情報がない場合、すなわち、すべてのクラス定義情報についてのクラステーブルの生成処理が完了した場合（ステップＳ１２０２：Ｎｏ）は、一連の処理を終了する。
【００６８】
このようにして、製品情報データベース作成部４０２は、データ辞書１１１に登録されているメタデータを参照して、オブジェクト指向データモデル記述の製品情報データスキーマ１１０から製品情報データベース１１２を作成することができる。
【００６９】
（データアクセス制御部４０３における処理）
つぎに、データアクセス制御部４０３における処理について説明する。データアクセス制御部４０３における処理は、データ登録処理とデータ取得処理の２つの処理からなる。図１３は、製品情報データベースへのデータアクセス制御手順（データ登録）の一例を示すフローチャートである。
【００７０】
図１３のフローチャートにおいて、データアクセス制御部４０３は、データ辞書１１１を参照して、ユーザから与えられた「スキーマＩＤ」と「製品情報クラス名」とをキーとして、「製品情報データベース名」、「従属テーブル名」、「属性名」、「データ型」、「データ次元数」および「カラム名」を取得する（ステップＳ１３０１）。
【００７１】
つぎに、インスタンス・テーブル６０１に実体データのオブジェクトの「インスタンスＩＤ」と、取得した「クラステーブル名（格納テーブル名）」と、を要素とするレコードを挿入する（ステップＳ１３０２）。さらに、取得したクラステーブル名のクラステーブル（継承元クラステーブル６０２または継承先クラステーブル６０３）に、実体データのオブジェクトの各属性値を要素とするレコードを挿入する（ステップＳ１３０３）。
【００７２】
ここで、属性のデータ型がプリミティブ型か否かを判断する（ステップＳ１３０４）。ここで、属性のデータ型がプリミティブ型でない場合（ステップＳ１３０４：Ｎｏ）は、従属テーブル（従属テーブル６０４または従属テーブル６０５）に、「親インスタンスＩＤ」、「属性名」、「インスタンスＩＤ」、および、その「テーブル名」を要素とするレコードを挿入し（ステップＳ１３０５）、一連の処理を終了する。一方、属性のデータ型がプリミティブ型である場合（ステップＳ１３０４：Ｙｅｓ）は、何もせずに、一連の処理を終了する。
【００７３】
このようにして、データアクセス制御部４０３は、製品情報データベース１１２に対してデータ登録処理をおこなうことができる。
【００７４】
図１４は、製品情報データベースへのデータアクセス制御手順（データ取得）の一例を示すフローチャートである。図１４のフローチャートにおいて、データアクセス制御部４０３は、データ辞書１１１を参照し、「スキーマＩＤ」と「製品情報クラス名」をキーとして、「製品情報データベース名」を取得する（ステップＳ１４０１）。
【００７５】
また、製品情報データベース１１２のインスタンス・テーブル６０１を参照して、オブジェクトの「インスタンスＩＤ」をキーとして、「クラステーブル名（格納テーブル名）」を取得する（ステップＳ１４０２）。
【００７６】
つぎに、ステップＳ１４０２において取得した「クラステーブル名（格納テーブル名）」のクラステーブル（継承元クラステーブル６０２または継承先クラステーブル６０３）を参照して、オブジェクトの「インスタンスＩＤ」をキーとして、各属性値を取得し、オブジェクトの属性に代入する（ステップＳ１４０３）。
【００７７】
また、ステップＳ１４０２において取得した「クラステーブル名」の従属テーブル（従属テーブル６０４または従属テーブル６０５）を参照して、「親インスタンスＩＤ」をキーとして、各属性の「インスタンスＩＤ」を取得して、オブジェクトの属性に代入する（ステップＳ１４０４）。
【００７８】
その後、オブジェクトを返し（ステップＳ１４０５）、一連の処理を終了する。このようにして、データアクセス制御部４０３は、製品情報データベース１１２に対してデータ取得処理をおこなうことができる。
【００７９】
以上説明したように、本実施の形態によれば、オブジェクト指向データモデルに基づいて作成された製品情報データスキーマ１１０から、当該製品情報のメタデータを生成し、メタデータをデータ辞書１１１に登録し、データ辞書１１１に登録されたメタデータを参照して、製品情報データスキーマ１１０から、製品情報に関するデータベース（製品情報データベース１１２）を作成するので、異なる製品情報データスキーマ１１０を持つ実体データを統一的に管理することができる。
【００８０】
また、本実施の形態によれば、製品情報データスキーマ１１０ごとにスキーマＩＤを生成し、メタデータを、スキーマＩＤをキーとしてデータ辞書１１１に登録する。これにより、データ辞書１１１のスキーマＩＤを用いて、効率よく、かつ、確実に、製品情報データスキーマ１１０から、製品情報データベース１１２を作成することができる。
【００８１】
また、本実施の形態によれば、製品情報データベース１１２に対して、製品情報実体データ４１０を保存または抽出する際に、スキーマＩＤと、製品情報実体データのインスタンスＩＤと、をキーとして、製品情報データベース１１２上の実体データにアクセスする。これにより、データ辞書１１１のスキーマＩＤを用いて、効率よく、かつ、確実に、実体データへのアクセスをすることができる。
【００８２】
また、本実施の形態によれば、データ辞書１１１が、スキーマＩＤと、製品情報データベース１１２と、の対応関係を管理する製品情報データベース定義テーブル５０１を有する。また、データ辞書１１１が、スキーマＩＤと、製品情報のクラスに関する情報と、の対応関係を管理するクラス定義テーブル５０２を有する。また、データ辞書１１１が、スキーマＩＤと、製品情報のクラスが持つ属性に関する情報と、の対応関係を管理する属性定義テーブル５０３を有する。これにより、製品情報のメタデータが、データ辞書１１１に参照容易に登録することができる。
【００８３】
また、本実施の形態によれば、製品情報データベース１１２が、インスタンスＩＤと、当該インスタンスＩＤに対応する製品情報実体データ４１０が格納されている格納テーブルと、の対応関係を管理するインスタンス・テーブル６０１を有する。また、製品情報データベース１１２が、インスタンスＩＤと、当該インスタンスＩＤに対応する製品情報実体データ４１０の属性カラムと、の対応関係を管理する継承元クラステーブル６０２、継承先クラステーブル６０３を有する。これにより、製品情報データベース１１２上の実体データへのアクセスを容易におこなうことができる。
【００８４】
また、本実施の形態によれば、製品情報データベース１１２が、格納テーブル（継承元クラステーブル６０２、継承先クラステーブル６０３）への従属テーブル６０４、６０５を有する。これにより、属性のデータ型がプリミティブ型でない場合に対応することができる。
【００８５】
このように、オブジェクト指向データモデルに基づいて作成された情報の製品情報データスキーマ１１０であっても、製品情報モデル自体の追加・変更などに柔軟に対応し、オブジェクト指向データモデルに基づいて作成された実体データを統一して管理することができる。
【００８６】
なお、本実施の形態においては、オブジェクト指向データモデルに基づいて作成された情報は製品情報であるとして説明したが、それには限定されない。すなわち、製品情報以外のオブジェクト指向データモデルに基づいて作成された情報であってもよい。
【００８７】
また、本実施の形態で説明したデータ管理方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。データ管理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フラッシュメモリ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、データ管理プログラムは、インターネットなどのネットワークを介して配布してもよい。
【００８８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００８９】
（付記１）オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
前記メタデータをデータ辞書に登録し、
前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
処理をコンピュータに実行させることを特徴とするデータ管理プログラム。
【００９０】
（付記２）前記データスキーマごとにスキーマＩＤを生成し、
前記メタデータを、前記スキーマＩＤをキーとして前記データ辞書に登録する、
処理をコンピュータに実行させることを特徴とする付記１に記載のデータ管理プログラム。
【００９１】
（付記３）前記データベースに対して、前記情報の実体データを保存または抽出する際に、
前記スキーマＩＤと、前記実体データのインスタンスＩＤと、をキーとして、前記データベース上の実体データにアクセスする、
処理をコンピュータに実行させることを特徴とする付記２に記載のデータ管理プログラム。
【００９２】
（付記４）前記データ辞書は、前記スキーマＩＤと、前記データベースと、の対応関係を管理するデータベース定義テーブルを有することを特徴とする付記２または３に記載のデータ管理プログラム。
【００９３】
（付記５）前記データ辞書は、前記スキーマＩＤと、前記情報のクラスに関する情報と、の対応関係を管理するクラス定義テーブルを有することを特徴とする付記４に記載のデータ管理プログラム。
【００９４】
（付記６）前記データ辞書は、前記スキーマＩＤと、前記情報のクラスが持つ属性に関する情報と、の対応関係を管理する属性定義テーブルを有することを特徴とする付記５に記載のデータ管理プログラム。
【００９５】
（付記７）前記データベースは、前記インスタンスＩＤと、当該インスタンスＩＤに対応する前記実体データが格納されている格納テーブルと、の対応関係を管理するインスタンス・テーブルを有することを特徴とする付記３に記載のデータ管理プログラム。
【００９６】
（付記８）前記データベースは、前記インスタンスＩＤと、当該インスタンスＩＤに対応する前記実体データの属性カラムと、の対応関係を管理するクラステーブルを有することを特徴とする付記７に記載のデータ管理プログラム。
【００９７】
（付記９）前記データベースは、前記格納テーブルへの従属テーブルを有することを特徴とする付記８に記載のデータ管理プログラム。
【００９８】
（付記１０）前記情報は、製品に関する製品情報であることを特徴とする付記１〜９のいずれか一つに記載のデータ管理プログラム。
【００９９】
（付記１１）オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
前記メタデータをデータ辞書に登録し、
前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
処理をコンピュータが実行することを特徴とするデータ管理方法。
【０１００】
（付記１２）オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
前記メタデータをデータ辞書に登録し、
前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
制御部を有することを特徴とするデータ管理システム。
【符号の説明】
【０１０１】
１１０  製品情報データスキーマ
１１１  データ辞書
１１２  製品情報データベース
２００  データ管理システム
２０１  サーバ
２０２  情報端末装置
２０３  ネットワーク
４０１  メタデータ登録部
４０２  製品情報データベース作成部
４０３  データアクセス制御部
４１０  製品情報実体データ
５０１  製品情報データベース定義テーブル
５０２  クラス定義テーブル
５０３  属性定義テーブル
６０１  インスタンス・テーブル
６０２  継承元クラステーブル
６０３  継承先クラステーブル
６０４、６０５  従属テーブル
７１０  製品情報データベース名
【図１】
2020197839.tif 000003
【図２】
2020197839.tif 000004
【図３】
2020197839.tif 000005
【図４】
2020197839.tif 000006
【図５】
2020197839.tif 000007
【図６】
2020197839.tif 000008
【図７】
2020197839.tif 000009
【図８】
2020197839.tif 000010
【図９】
2020197839.tif 000011
【図１０】
2020197839.tif 000012
【図１１】
2020197839.tif 000013
【図１２】
2020197839.tif 000014
【図１３】
2020197839.tif 000015
【図１４】
2020197839.tif 000016