JP7279524B2 - データ管理プログラム、データ管理方法およびデータ管理システム - Google Patents

データ管理プログラム、データ管理方法およびデータ管理システム Download PDF

Info

Publication number
JP7279524B2
JP7279524B2 JP2019102746A JP2019102746A JP7279524B2 JP 7279524 B2 JP7279524 B2 JP 7279524B2 JP 2019102746 A JP2019102746 A JP 2019102746A JP 2019102746 A JP2019102746 A JP 2019102746A JP 7279524 B2 JP7279524 B2 JP 7279524B2
Authority
JP
Japan
Prior art keywords
data
schema
product information
database
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019102746A
Other languages
English (en)
Other versions
JP2020197839A (ja
Inventor
正敬 立脇
弘樹 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019102746A priority Critical patent/JP7279524B2/ja
Publication of JP2020197839A publication Critical patent/JP2020197839A/ja
Application granted granted Critical
Publication of JP7279524B2 publication Critical patent/JP7279524B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ管理プログラム、データ管理方法およびデータ管理システムに関する。
従来、土木・建築物や航空機・船舶のような大規模かつ長期間使用される製品などでは、その製品の企画・設計段階や施工・製造段階、および出荷後の運用・保守段階を含むライフサイクル全体で製品情報を蓄積し、管理することが求められている。こうした製品に関わるライフサイクル全体の情報を取り扱い可能にするために、オブジェクト指向データモデリング手法を採用した製品情報モデルが提案され、仕様化されている。
一方、これらの製品情報データである実体データを長期にわたり蓄積・管理するためには、たとえば、ACID特性に優れる関係データベースが適している。そこで、オブジェクト指向データモデルに基づいて作成された実体データを計算機上で蓄積・管理するために、関係モデルに変換し、それらのデータを効率的に操作する仕組みが提案されている。
関連する先行技術としては、オブジェクト指向データモデルに基づいて作成された実体データを計算機上で蓄積・管理する技術がある。
特開2001-195297号公報 特開2004-46650号公報 特開2005-202850号公報
しかしながら、長期の運用期間中には、製品情報モデル自体、すなわち、オブジェクト指向データモデル自体の追加・更新などの変更がおこなわれることがあり、従来技術にあっては、これらの変更に基づいた実体データを統一して管理することができないという問題がある。
一つの側面では、本発明は、オブジェクト指向データモデルの変更に柔軟に対応し、それに基づいた実体データを統一して管理することを目的とする。
一つの実施態様では、オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、前記メタデータをデータ辞書に登録し、前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、処理をコンピュータに実行させることを特徴とするデータ管理プログラムが提供される。
本発明の一側面によれば、オブジェクト指向データモデルに基づいて作成された実体データを統一して管理することができる。
図1は、実施の形態にかかるデータ管理プログラムの概要の一例を示す説明図である。 図2は、実施の形態にかかるデータ管理システムの構成の一例を示す説明図である。 図3は、実施の形態にかかるデータ管理システムを構成する情報処理装置(サーバ、情報端末装置)のハードウェア構成の一例を示すブロック図である。 図4は、実施の形態にかかるデータ管理システムの機能的構成の一例を示すブロック図である。 図5は、データ辞書の構成の一例を示す説明図である。 図6は、製品情報データベースの構成の一例を示す説明図である。 図7は、データ辞書へのメタデータの登録手順の一例を示すフローチャートである。 図8は、製品情報データベース定義テーブルへのデータの登録手順の一例を示すフローチャートである。 図9は、クラス定義テーブルへのデータの登録手順の一例を示すフローチャートである。 図10は、属性定義テーブルへのデータの登録手順の一例を示すフローチャートである。 図11は、製品情報データベースの作成手順(インスタンス・テーブルの生成)の一例を示すフローチャートである。 図12は、製品情報データベースの作成手順(クラステーブルの生成)の一例を示すフローチャートである。 図13は、製品情報データベースへのデータアクセス制御手順(データ登録)の一例を示すフローチャートである。 図14は、製品情報データベースへのデータアクセス制御手順(データ取得)の一例を示すフローチャートである。
以下に図面を参照して、本発明にかかるデータ管理プログラム、データ管理方法およびデータ管理システムの実施の形態を詳細に説明する。
(実施の形態)
(データ管理プログラムの概要)
図1は、実施の形態にかかるデータ管理プログラムの概要の一例を示す説明図である。図1において、本実施の形態にかかるデータ管理プログラムは、製品情報データスキーマ110から生成したメタデータをデータ辞書111に登録をすること(“データ辞書登録”)、および、データ辞書111に登録されたメタデータを参照して、製品情報実体データを格納する製品情報データベース112の作成をすること(“製品情報データベース作成”)により、製品情報データベース112に対して製品情報の実体データを保存・抽出することができる。
具体的には、まず、オブジェクト指向データモデル記述の製品情報データスキーマ110から、ステップS104において作成する製品情報データベース112のメタデータを生成する(ステップS101)。つぎに、一つの製品情報データスキーマ110に対して一つのスキーマIDを生成する(ステップS102)。これにより、スキーマIDによって、メタデータを管理することができる。そして、ステップS101において生成したメタデータを、ステップS102において生成したスキーマIDを主キーとして、データ辞書111に登録する(ステップS103)。
このようにして、データ管理プログラムは、ステップS101~S103によって、“データ辞書登録”をおこなう。データ辞書登録の詳細な手順については、後述する図7~図10において説明する。これが、実施の形態にかかるデータ管理プログラムにおける第1の特徴である。
つぎに、ステップS103においてデータ辞書111に登録されているメタデータを参照して、オブジェクト指向データモデル記述の製品情報データスキーマ110から製品情報データベース112を作成する(ステップS104)。このようにして、データ管理プログラムは、ステップS104によって、“製品情報データベース作成”をおこなう。製品情報データベース作成の詳細な手順については、後述する図11および図12において説明する。これが、実施の形態にかかるデータ管理プログラムにおける第2の特徴である。
さらに、ステップS102において生成されたスキーマIDと、実体データのインスタンスIDとを主キーとして、関係データベース上の実体データへアクセスする(ステップS105)。そして、製品情報データベース112に対して、製品情報の実体データの保存または抽出をおこなう(ステップS106)。製品情報データベース112へのデータアクセスの詳細な手順については、後述する図13および図14において説明する。
このように、実施の形態にかかるデータ管理プログラム、データ管理方法およびデータ管理システムは、“データ辞書登録”および“製品情報データベース作成”をおこなうことによって、異なる製品情報データスキーマを持つ実体データを統一して管理することができる。これにより、製品情報モデル自体の追加・変更などに柔軟に対応することができるものである。
(データ管理システムの構成)
図2は、実施の形態にかかるデータ管理システムの全体構成の一例を示す説明図である。図2において、データ管理システム200は、情報処理装置の一例であるサーバ201と、情報処理装置の別の一例である情報端末装置202と、を備えている。サーバ201に対して、ネットワーク203を介して、情報端末装置202が、それぞれ接続されている。
サーバ201は、このデータ管理システム200の全体を管理するとともに、各情報端末装置202との情報の送受信をおこなう。また、データ辞書111および製品情報データベース112は、サーバ201が備えていてもよく、また、サーバ201と通信可能に接続されていてもよい。そして、サーバ201は、データ辞書111および製品情報データベース112のデータの入出力や、更新などの管理をおこなう。このように、サーバ201は、実施の形態にかかるデータ管理システムの機能を実現することができる。
また、サーバ201は、ネットワーク203を介して、図示は省略する別の一つまたは複数のサーバとアクセス可能に接続されていてもよい。そして、データ辞書111および製品情報データベース112の少なくともいずれかは、サーバ201を含む別の一つまたは複数のサーバによって分散して管理するようにしてよい。
また、情報端末装置202は、データ辞書111、製品情報データベース112へアクセスすることが可能な装置であり、具体的には、たとえば、パーソナルコンピュータ、タブレット端末、スマートフォンなどの通信機能を備えた電子機器によって、その機能を実現することができる。
(情報処理装置のハードウェア構成例)
図3は、実施の形態にかかるデータ管理システムを構成する情報処理装置(サーバ、情報端末装置)のハードウェア構成の一例を示すブロック図である。図3において、情報処理装置(サーバ201、情報端末装置202)は、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、記録媒体I/F304と、記録媒体305と、を有する。また、各構成部301~304は、バス300によってそれぞれ接続される。
ここで、CPU301は、情報処理装置(サーバ201、情報端末装置202)の全体の制御を司る。メモリ302は、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、たとえば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
I/F303は、通信回線を通じて、ネットワーク203に接続され、ネットワーク203を介して他の情報処理装置に接続される。そして、I/F303は、ネットワークと自装置内部とのインターフェースを司り、他の情報処理装置からのデータの入出力を制御する。I/F303には、たとえば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F304の一例であるディスクドライブは、CPU301の制御にしたがって記録媒体305の一例であるディスクに対するデータのリード/ライトを制御する。記録媒体305の一例であるディスクは、記録媒体I/F304の制御で書き込まれたデータを記憶する。記録媒体305としては、たとえば、磁気ディスク、光ディスクなどが挙げられる。
なお、情報処理装置(サーバ201、情報端末装置202)は、上述した構成部のほかに、図示を省略するが、たとえば、SSD(Solid State Drive)、HDD(Hard Disk Drive)、ディスプレイ、入力装置などを有していてもよい。
ディスプレイは、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイとしては、たとえば、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどを採用することができる。
入力装置は、文字、数字、各種指示などの入力のためのキーを有し、データの入力をおこなう。入力装置は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
(データ管理システムの機能的構成)
図4は、実施の形態にかかるデータ管理システムの機能的構成の一例を示すブロック図である。図4において、データ管理システム200は、データ辞書111、製品情報データベース112のほか、メタデータ登録部401と、製品情報データベース作成部402と、データアクセス制御部403と、を含む構成となっている。
ここで、データ辞書111は、後述する図5に示すように、製品情報データスキーマ110を関係データベースのテーブルに変換して蓄積する。また、製品情報データベース112は、後述する図6に示すように、製品情報実体データ410を格納する。データ辞書111および製品情報データベース112は、たとえば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。
また、メタデータ登録部401、製品情報データベース作成部402、および、データアクセス制御部403は、データ管理システム200において制御部となる機能である。メタデータ登録部401、製品情報データベース作成部402、および、データアクセス制御部403は、具体的には、たとえば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、たとえば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
メタデータ登録部401は、製品情報データスキーマ110からメタデータを抽出しデータ辞書111に登録する。すなわち、メタデータ登録部401は、オブジェクト指向データモデルに基づいて作成された情報のデータスキーマ110から、当該情報のメタデータを生成し、メタデータをデータ辞書111に登録する。
より具体的には、メタデータ登録部401は、製品情報データスキーマ110ごとにスキーマIDを生成し、製品情報データスキーマ100から抽出されたメタデータを、スキーマIDをキーとしてデータ辞書111に登録する。
製品情報データベース作成部402は、データ辞書111に登録されたメタデータから製品情報データベースを作成する。すなわち、製品情報データベース作成部402は、データ辞書111に登録されているメタデータを参照して、オブジェクト指向データモデル記述の製品情報データスキーマ110から製品情報データベース112を作成する。
データアクセス制御部403は、製品情報データベース112に対して、製品情報実体データ410を保存または抽出する。その際に、データアクセス制御部403は、スキーマIDと、実体データのインスタンスIDと、をキーとして、製品情報データベース112上の実体データにアクセスする。
(データ辞書111の構成)
つぎに、データ辞書111の構成について説明する。図5は、データ辞書の構成の一例を示す説明図である。図5において、データ辞書111は、製品情報データベース定義テーブル501、クラス定義テーブル502、および、属性定義テーブル503の3つのテーブルからなる関係データベースとして構成されている。
製品情報データベース定義テーブル501は、「スキーマID」を主キー(Primary Key(PK))として、「データスキーマ名」および「製品情報データベース名」を管理するテーブルである。それにより、製品情報データベース定義テーブル501は、「スキーマID」と、製品情報データベース112と、の対応関係を管理することができる。製品情報データベース定義テーブル501は、製品情報データスキーマに対応する関係データベースシステム上の製品情報データベース112を特定するために使用される。
クラス定義テーブル502は、「スキーマID」と「製品情報クラス名」を主キー(PK)として、「継承元クラス名」、インスタンス格納先であるクラステーブル名(「インスタンス格納先テーブル名」)および「従属テーブル名」を管理するテーブルである。それにより、クラス定義テーブル502は、「スキーマID」と、製品情報のクラスに関する情報と、の対応関係を管理することができる。クラス定義テーブル502は、製品情報データベース112の作成、および、製品情報実体データ410へのアクセス時に参照される。
属性定義テーブル503は、「スキーマID」と「製品情報クラス名」を主キー(PK)として、そのクラスが持つ「属性名」、属性の「データ型」・「データ次元数」、および、格納先クラステーブルの対応する「カラム名」を管理するテーブルである。それにより、属性定義テーブル503は、「スキーマID」と、製品情報のクラスが持つ属性に関する情報と、の対応関係を管理することができる。属性定義テーブル503は、クラス定義テーブル502と同様に、製品情報データベース112の作成、および、製品実体データ410へのアクセスするために参照利用される。
データ辞書111は、このような構成によって、オブジェクト指向データモデルで記述された製品情報データスキーマ110を関係データベースとして蓄積・管理することができる。
(製品情報データベース112の構成)
つぎに、製品情報データベース112の構成について説明する。図6は、製品情報データベースの構成の一例を示す説明図である。図6において、製品情報データベース112は、インスタンス・テーブル601、クラステーブル(継承元クラステーブル602、継承先クラステーブル603)、従属テーブル(継承元クラステーブル602の従属テーブル604、継承先クラステーブル603の従属テーブル605)の3種類のテーブルからなる関係データベースとして構成される。
インスタンス・テーブル601は、製品情報クラスから、そのオブジェクトの「インスタンスID」を主キーとして、当該「インスタンスID」に対応する製品情報の実体データが格納されている格納テーブルの「格納テーブル名」を管理するテーブルである。具体的には、たとえば、クラステーブルである、継承元クラステーブル602および継承先クラステーブル603を管理する。それにより、インスタンス・テーブル601は、インスタンスIDと、当該「インスタンスID」に対応する製品情報実体データ410が格納されている格納テーブルと、の対応関係を管理する。
また、クラステーブルである、継承元クラステーブル602および継承先クラステーブル603は、「インスタンスID」を主キーとして、「格納テーブル名」と、当該インスタンスIDに対応する製品情報実体データ410の属性名に対応する「属性カラム名」と、を管理するテーブルである。ここで、継承元クラスがある場合は、その継承元クラスの「属性カラム名」を含めて管理する。これにより、クラステーブルは、「インスタンスID」と、当該「インスタンスID」に対応する製品情報実体データ410の属性カラムと、の対応関係を管理する。
従属テーブル604、605は、製品情報クラスの属性データ型がプリミティブ型でない場合に、その属性情報を格納する。従属テーブル604、605は、「親インスタンスID」、「属性名」、「インデックス」のそれぞれを主キーとして、「インスタンスID」および「テーブル名」を管理するテーブルである。すなわち、従属テーブル604、605は、格納テーブル(継承元クラステーブル602、継承先クラステーブル603)への従属テーブルである。
(メタデータ登録部401における処理)
つぎに、メタデータ登録部401における処理の内容について、図7~図10を用いて説明する。図7は、データ辞書へのメタデータの登録手順の一例を示すフローチャートである。
図7のフローチャートにおいて、図4に示したメタデータ登録部401は、まず、指定された製品情報データスキーマ110と製品情報データベース名710に基づいて、一意のスキーマIDを自動採番する(ステップS701)。そして、このスキーマIDを主キーとしてデータ辞書111へのメタデータの登録をおこなう各DML(Data Manipulation Language)を生成して、そのDMLにより、データ辞書111へメタデータの登録をおこなう。
より具体的には、製品情報データベース定義テーブル(TBL)501へのデータ登録DMLを生成して(ステップS702)、生成したデータ登録DMLを用いて、製品情報データベース定義テーブル501へのデータ登録をおこなう(後述する図8を参照)。
また、クラス定義テーブル(TBL)502へのデータ登録DMLを生成して(ステップS703)、生成したデータ登録DMLを用いて、クラス定義テーブル502へのデータ登録をおこなう(後述する図9を参照)。
同様に、属性定義テーブル(TBL)503へのデータ登録DMLを生成して(ステップS704)、生成したデータ登録DMLを用いて、属性定義テーブル503へのデータ登録をおこなう(後述する図10を参照)。
図8は、製品情報データベース定義テーブルへのデータの登録手順の一例を示すフローチャートである。図8のフローチャートは、図7に示したフローチャートのステップS701、S702に対応する。図8のフローチャートにおいて、スキーマIDを自動採番して、自動採番されたスキーマIDをキーとして、入力された製品情報データスキーマ110のデータスキーマ名(ファイル名、ファイルパス)、および、製品情報データベース名710をカラムとするDMLを生成する(ステップS801)。以下は、ステップS801において生成するDMLの一例である。
INSERT INTO dictionary(schema_id,db_name,schema_name)
VALUES(‘1’,‘BMaintenance_ifc4’,‘IFC4_BM’);
そして、このDML出力にしたがって、データ辞書111の製品情報データベース定義テーブル501にデータ登録をおこなう。
図9は、クラス定義テーブルへのデータの登録手順の一例を示すフローチャートである。図9のフローチャートは、図7に示したフローチャートのステップS703に対応する。図9のフローチャートにおいて、まず、製品情報データスキーマ110から、製品情報クラス名とその継承元クラス名を抽出する(ステップS901)。
つぎに、ステップS901において抽出された製品情報クラス名を基に、所与のルールで格納先テーブル名を生成する(ステップS902)。さらに、スキーマID(PK)、製品情報クラス名、継承元クラス名、対応する格納先テーブル名、および、従属テーブル名をカラムとするDMLを生成する(ステップS903)。以下は、ステップS903において生成するDMLの一例である。
INSERT INTO entity_definitions(schema_id,entity_name,table_name,ind_table_name)
VALUES((SELECT schema_id FROM dictionary WHERE db_name=‘BMaintenance_ifc4’),‘ifcvirtualgridintersection’,‘en_ifcvirtualgridintersection’,‘ref_en_ifcvirtualgridintersection’);
そして、このDML出力にしたがって、データ辞書111のクラス定義テーブル502にデータ登録をおこなう。
図10は、属性定義テーブルへのデータの登録手順の一例を示すフローチャートである。図10のフローチャートは、図7に示したフローチャートのステップS704に対応する。図10のフローチャートにおいて、まず、製品情報データスキーマ110から、製品情報クラスの製品情報クラス名、当該製品情報クラスにおける属性名、当該製品情報クラスにおけるデータ型、および、当該製品情報クラスにおける集合データ型の次元数を抽出する(ステップS1001)。
つぎに、ステップS1001において抽出された、製品情報クラスにおける属性名を基に、所与のルールで属性カラム名を生成する(ステップS1002)。さらに、スキーマID(PK)、製品情報クラス名(PK)、属性名、データ型、集合データ型フラグ、および、対応する属性カラム名をカラムとするDMLを生成する(ステップS1003)。以下は、ステップS1003において生成するDMLの一例である。
INSERT INTO entity_attributes(schema_id,entity_name,attribute_name,data_type,collection_dimension_number,column_name)
VALUES ((SELECT schema_id FROM dictionary WHERE db_name=‘BMaintenance_ifc4’),‘ifcvirtualgridintersection’,‘offsetdistances’,‘ifclengthmeasure’,1,‘offsetdistances’);
そして、このDML出力にしたがって、データ辞書111の属性定義テーブル503にデータ登録をおこなう。このようにして、メタデータ登録部401は、データ辞書111へのメタデータの登録をおこなうことができる。
(製品情報データベース作成部402における処理)
つぎに、製品情報データベース作成部402における処理の内容について、図11および図12を用いて説明する。
図11は、製品情報データベースの作成手順(インスタンス・テーブルの生成)の一例を示すフローチャートである。図11のフローチャートにおいて、製品情報データベース作成部402は、インスタンスIDを主キーとする、クラステーブル名(格納テーブル名)をカラムとして持つインスタンス・テーブル601を生成する(ステップS1101)。これにより、製品情報データベース112におけるインスタンス・テーブル601を生成することができる。
また、図12は、製品情報データベースの作成手順(クラステーブルの生成)の一例を示すフローチャートである。図12のフローチャートにおいて、「N」に「1」を設定(N=1)する(ステップS1201)。
つぎに、N番目のクラス定義情報があるか否かを判断する(ステップS1202)。ここで、N番目のクラス定義情報がある場合(ステップS1202:Yes)は、データ辞書111からN番目のクラス定義情報を取得する(ステップS1203)。そして、取得したN番目のクラス定義情報が、処理済みリストにあるか否かを判断する(ステップS1204)。ここで、処理済みリストにある場合(ステップS1204:Yes)は、当該N番目のクラス定義情報については処理をする必要がないので、何もせずに、ステップS1207へ移行する。
一方、ステップS1204において、取得したクラス定義情報が、処理済みリストにない場合(ステップS1204:No)は、つぎに、継承元クラスがないかまたは継承元クラスのクラステーブルの生成処理が済みであるか否かを判断する(ステップS1205)。ここで、継承元クラスがない場合、または、継承元クラスがあっても、その継承元クラスのクラステーブルの生成処理が済みである場合(ステップS1205:Yes)は、N番目のクラス定義情報についてクラステーブルを生成して、処理済みリストに入れる(ステップS1206)。その後、ステップS1207へ移行する。
一方、ステップS1205において、継承元クラスがある場合であって、当該継承元クラスのクラステーブルの生成処理が未処理である場合(ステップS1205:No)は、何もせずに、ステップS1207へ移行する。このようにして、継承元クラスがある場合はその継承元クラスのクラステーブルの生成処理を優先させる。
ステップS1207においては、「N」に、「N+1」を設定(N=N+1)し(ステップS1207)、ステップS1202へ戻る。このようにして、ステップS1202~S1207の各処理を繰り返し実行する。そして、ステップS1202において、N番目のクラス定義情報がない場合、すなわち、すべてのクラス定義情報についてのクラステーブルの生成処理が完了した場合(ステップS1202:No)は、一連の処理を終了する。
このようにして、製品情報データベース作成部402は、データ辞書111に登録されているメタデータを参照して、オブジェクト指向データモデル記述の製品情報データスキーマ110から製品情報データベース112を作成することができる。
(データアクセス制御部403における処理)
つぎに、データアクセス制御部403における処理について説明する。データアクセス制御部403における処理は、データ登録処理とデータ取得処理の2つの処理からなる。図13は、製品情報データベースへのデータアクセス制御手順(データ登録)の一例を示すフローチャートである。
図13のフローチャートにおいて、データアクセス制御部403は、データ辞書111を参照して、ユーザから与えられた「スキーマID」と「製品情報クラス名」とをキーとして、「製品情報データベース名」、「従属テーブル名」、「属性名」、「データ型」、「データ次元数」および「カラム名」を取得する(ステップS1301)。
つぎに、インスタンス・テーブル601に実体データのオブジェクトの「インスタンスID」と、取得した「クラステーブル名(格納テーブル名)」と、を要素とするレコードを挿入する(ステップS1302)。さらに、取得したクラステーブル名のクラステーブル(継承元クラステーブル602または継承先クラステーブル603)に、実体データのオブジェクトの各属性値を要素とするレコードを挿入する(ステップS1303)。
ここで、属性のデータ型がプリミティブ型か否かを判断する(ステップS1304)。ここで、属性のデータ型がプリミティブ型でない場合(ステップS1304:No)は、従属テーブル(従属テーブル604または従属テーブル605)に、「親インスタンスID」、「属性名」、「インスタンスID」、および、その「テーブル名」を要素とするレコードを挿入し(ステップS1305)、一連の処理を終了する。一方、属性のデータ型がプリミティブ型である場合(ステップS1304:Yes)は、何もせずに、一連の処理を終了する。
このようにして、データアクセス制御部403は、製品情報データベース112に対してデータ登録処理をおこなうことができる。
図14は、製品情報データベースへのデータアクセス制御手順(データ取得)の一例を示すフローチャートである。図14のフローチャートにおいて、データアクセス制御部403は、データ辞書111を参照し、「スキーマID」と「製品情報クラス名」をキーとして、「製品情報データベース名」を取得する(ステップS1401)。
また、製品情報データベース112のインスタンス・テーブル601を参照して、オブジェクトの「インスタンスID」をキーとして、「クラステーブル名(格納テーブル名)」を取得する(ステップS1402)。
つぎに、ステップS1402において取得した「クラステーブル名(格納テーブル名)」のクラステーブル(継承元クラステーブル602または継承先クラステーブル603)を参照して、オブジェクトの「インスタンスID」をキーとして、各属性値を取得し、オブジェクトの属性に代入する(ステップS1403)。
また、ステップS1402において取得した「クラステーブル名」の従属テーブル(従属テーブル604または従属テーブル605)を参照して、「親インスタンスID」をキーとして、各属性の「インスタンスID」を取得して、オブジェクトの属性に代入する(ステップS1404)。
その後、オブジェクトを返し(ステップS1405)、一連の処理を終了する。このようにして、データアクセス制御部403は、製品情報データベース112に対してデータ取得処理をおこなうことができる。
以上説明したように、本実施の形態によれば、オブジェクト指向データモデルに基づいて作成された製品情報データスキーマ110から、当該製品情報のメタデータを生成し、メタデータをデータ辞書111に登録し、データ辞書111に登録されたメタデータを参照して、製品情報データスキーマ110から、製品情報に関するデータベース(製品情報データベース112)を作成するので、異なる製品情報データスキーマ110を持つ実体データを統一的に管理することができる。
また、本実施の形態によれば、製品情報データスキーマ110ごとにスキーマIDを生成し、メタデータを、スキーマIDをキーとしてデータ辞書111に登録する。これにより、データ辞書111のスキーマIDを用いて、効率よく、かつ、確実に、製品情報データスキーマ110から、製品情報データベース112を作成することができる。
また、本実施の形態によれば、製品情報データベース112に対して、製品情報実体データ410を保存または抽出する際に、スキーマIDと、製品情報実体データのインスタンスIDと、をキーとして、製品情報データベース112上の実体データにアクセスする。これにより、データ辞書111のスキーマIDを用いて、効率よく、かつ、確実に、実体データへのアクセスをすることができる。
また、本実施の形態によれば、データ辞書111が、スキーマIDと、製品情報データベース112と、の対応関係を管理する製品情報データベース定義テーブル501を有する。また、データ辞書111が、スキーマIDと、製品情報のクラスに関する情報と、の対応関係を管理するクラス定義テーブル502を有する。また、データ辞書111が、スキーマIDと、製品情報のクラスが持つ属性に関する情報と、の対応関係を管理する属性定義テーブル503を有する。これにより、製品情報のメタデータが、データ辞書111に参照容易に登録することができる。
また、本実施の形態によれば、製品情報データベース112が、インスタンスIDと、当該インスタンスIDに対応する製品情報実体データ410が格納されている格納テーブルと、の対応関係を管理するインスタンス・テーブル601を有する。また、製品情報データベース112が、インスタンスIDと、当該インスタンスIDに対応する製品情報実体データ410の属性カラムと、の対応関係を管理する継承元クラステーブル602、継承先クラステーブル603を有する。これにより、製品情報データベース112上の実体データへのアクセスを容易におこなうことができる。
また、本実施の形態によれば、製品情報データベース112が、格納テーブル(継承元クラステーブル602、継承先クラステーブル603)への従属テーブル604、605を有する。これにより、属性のデータ型がプリミティブ型でない場合に対応することができる。
このように、オブジェクト指向データモデルに基づいて作成された情報の製品情報データスキーマ110であっても、製品情報モデル自体の追加・変更などに柔軟に対応し、オブジェクト指向データモデルに基づいて作成された実体データを統一して管理することができる。
なお、本実施の形態においては、オブジェクト指向データモデルに基づいて作成された情報は製品情報であるとして説明したが、それには限定されない。すなわち、製品情報以外のオブジェクト指向データモデルに基づいて作成された情報であってもよい。
また、本実施の形態で説明したデータ管理方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。データ管理プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto-Optical Disk)、DVD(Digital Versatile Disk)、フラッシュメモリ、USB(Universal Serial Bus)メモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、データ管理プログラムは、インターネットなどのネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
前記メタデータをデータ辞書に登録し、
前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
処理をコンピュータに実行させることを特徴とするデータ管理プログラム。
(付記2)前記データスキーマごとにスキーマIDを生成し、
前記メタデータを、前記スキーマIDをキーとして前記データ辞書に登録する、
処理をコンピュータに実行させることを特徴とする付記1に記載のデータ管理プログラム。
(付記3)前記データベースに対して、前記情報の実体データを保存または抽出する際に、
前記スキーマIDと、前記実体データのインスタンスIDと、をキーとして、前記データベース上の実体データにアクセスする、
処理をコンピュータに実行させることを特徴とする付記2に記載のデータ管理プログラム。
(付記4)前記データ辞書は、前記スキーマIDと、前記データベースと、の対応関係を管理するデータベース定義テーブルを有することを特徴とする付記2または3に記載のデータ管理プログラム。
(付記5)前記データ辞書は、前記スキーマIDと、前記情報のクラスに関する情報と、の対応関係を管理するクラス定義テーブルを有することを特徴とする付記4に記載のデータ管理プログラム。
(付記6)前記データ辞書は、前記スキーマIDと、前記情報のクラスが持つ属性に関する情報と、の対応関係を管理する属性定義テーブルを有することを特徴とする付記5に記載のデータ管理プログラム。
(付記7)前記データベースは、前記インスタンスIDと、当該インスタンスIDに対応する前記実体データが格納されている格納テーブルと、の対応関係を管理するインスタンス・テーブルを有することを特徴とする付記3に記載のデータ管理プログラム。
(付記8)前記データベースは、前記インスタンスIDと、当該インスタンスIDに対応する前記実体データの属性カラムと、の対応関係を管理するクラステーブルを有することを特徴とする付記7に記載のデータ管理プログラム。
(付記9)前記データベースは、前記格納テーブルへの従属テーブルを有することを特徴とする付記8に記載のデータ管理プログラム。
(付記10)前記情報は、製品に関する製品情報であることを特徴とする付記1~9のいずれか一つに記載のデータ管理プログラム。
(付記11)オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
前記メタデータをデータ辞書に登録し、
前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
処理をコンピュータが実行することを特徴とするデータ管理方法。
(付記12)オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
前記メタデータをデータ辞書に登録し、
前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
制御部を有することを特徴とするデータ管理システム。
110 製品情報データスキーマ
111 データ辞書
112 製品情報データベース
200 データ管理システム
201 サーバ
202 情報端末装置
203 ネットワーク
401 メタデータ登録部
402 製品情報データベース作成部
403 データアクセス制御部
410 製品情報実体データ
501 製品情報データベース定義テーブル
502 クラス定義テーブル
503 属性定義テーブル
601 インスタンス・テーブル
602 継承元クラステーブル
603 継承先クラステーブル
604、605 従属テーブル
710 製品情報データベース名

Claims (10)

  1. オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
    前記データスキーマごとにスキーマIDを生成し、
    前記メタデータを、前記スキーマIDをキーとしてデータ辞書に登録し、
    前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
    処理をコンピュータに実行させることを特徴とするデータ管理プログラム。
  2. 前記データベースに対して、前記情報の実体データを保存または抽出する際に、
    前記スキーマIDと、前記実体データのインスタンスIDと、をキーとして、前記データベース上の実体データにアクセスする、
    処理をコンピュータに実行させることを特徴とする請求項に記載のデータ管理プログラム。
  3. 前記データ辞書は、前記スキーマIDと、前記データベースと、の対応関係を管理するデータベース定義テーブルを有することを特徴とする請求項1または2に記載のデータ管理プログラム。
  4. 前記データ辞書は、前記スキーマIDと、前記情報のクラスに関する情報と、の対応関係を管理するクラス定義テーブルを有することを特徴とする請求項に記載のデータ管理プログラム。
  5. 前記データ辞書は、前記スキーマIDと、前記情報のクラスが持つ属性に関する情報と、の対応関係を管理する属性定義テーブルを有することを特徴とする請求項に記載のデータ管理プログラム。
  6. 前記データベースは、前記インスタンスIDと、当該インスタンスIDに対応する前記実体データが格納されている格納テーブルと、の対応関係を管理するインスタンス・テーブルを有することを特徴とする請求項に記載のデータ管理プログラム。
  7. 前記データベースは、前記インスタンスIDと、当該インスタンスIDに対応する前記実体データの属性カラムと、の対応関係を管理するクラステーブルを有することを特徴とする請求項に記載のデータ管理プログラム。
  8. 前記データベースは、前記格納テーブルへの従属テーブルを有することを特徴とする請求項に記載のデータ管理プログラム。
  9. オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
    前記データスキーマごとにスキーマIDを生成し、
    前記メタデータを、前記スキーマIDをキーとしてデータ辞書に登録し、
    前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
    処理をコンピュータが実行することを特徴とするデータ管理方法。
  10. オブジェクト指向データモデルに基づいて作成された情報のデータスキーマから、当該情報のメタデータを生成し、
    前記データスキーマごとにスキーマIDを生成し、
    前記メタデータを、前記スキーマIDをキーとしてデータ辞書に登録し、
    前記データ辞書に登録された前記メタデータを参照して、前記データスキーマから、前記情報に関するデータベースを作成する、
    制御部を有することを特徴とするデータ管理システム。
JP2019102746A 2019-05-31 2019-05-31 データ管理プログラム、データ管理方法およびデータ管理システム Active JP7279524B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019102746A JP7279524B2 (ja) 2019-05-31 2019-05-31 データ管理プログラム、データ管理方法およびデータ管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019102746A JP7279524B2 (ja) 2019-05-31 2019-05-31 データ管理プログラム、データ管理方法およびデータ管理システム

Publications (2)

Publication Number Publication Date
JP2020197839A JP2020197839A (ja) 2020-12-10
JP7279524B2 true JP7279524B2 (ja) 2023-05-23

Family

ID=73649268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019102746A Active JP7279524B2 (ja) 2019-05-31 2019-05-31 データ管理プログラム、データ管理方法およびデータ管理システム

Country Status (1)

Country Link
JP (1) JP7279524B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102419956B1 (ko) * 2021-11-12 2022-07-14 주식회사 스타캣 정형 데이터에 대한 메타데이터 자동 생성 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 메타데이터 생성 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295256A (en) 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
US6418451B1 (en) 1999-06-29 2002-07-09 Unisys Corporation Method, apparatus, and computer program product for persisting objects in a relational database
US20060026189A1 (en) 2004-07-29 2006-02-02 International Business Machines Corporation Method and system for reconstruction of object model data in a relational database

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295256A (en) 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
US6418451B1 (en) 1999-06-29 2002-07-09 Unisys Corporation Method, apparatus, and computer program product for persisting objects in a relational database
US20060026189A1 (en) 2004-07-29 2006-02-02 International Business Machines Corporation Method and system for reconstruction of object model data in a relational database

Also Published As

Publication number Publication date
JP2020197839A (ja) 2020-12-10

Similar Documents

Publication Publication Date Title
US10180992B2 (en) Atomic updating of graph database index structures
US8433673B2 (en) System and method for supporting data warehouse metadata extension using an extender
CN112036736A (zh) 一种工作流创建方法及装置
US7720885B2 (en) Generating a word-processing document from database content
US20180144061A1 (en) Edge store designs for graph databases
US20170255708A1 (en) Index structures for graph databases
JP6078437B2 (ja) パーソナル情報匿名化システム
US11567995B2 (en) Branch threading in graph databases
JP2006172446A (ja) 複合データアクセス
US20200364100A1 (en) Memory abstraction for lock-free inter-process communication
JP2008165432A (ja) クエリ制御プログラム、クエリ制御装置およびクエリ制御方法
JP5033322B2 (ja) 連結関係情報を用いた情報管理方法及び装置
CN110720097A (zh) 图数据库中元组和边的功能性等价
JP7279524B2 (ja) データ管理プログラム、データ管理方法およびデータ管理システム
US20180144060A1 (en) Processing deleted edges in graph databases
JP2007265250A (ja) 識別子発行システム、プログラムおよび識別子発行方法
JP2019133534A (ja) 併合方法、併合装置、および併合プログラム
JP5877488B1 (ja) Rdbシステム
JP2018109898A (ja) データマイグレーションシステム
Greener et al. Applying and Extending Oracle Spatial
Koch et al. Representation of CityGML instance models in BaseX
KR20190127066A (ko) 표준사전 기반 메타데이터 변경 관리를 위한 실시간 ddl 생성방법
Saadouni et al. Data Migration from Relational to NoSQL Database: Review and Comparative Study
WO2023276212A1 (ja) ソフトウェア部品更新システム及びソフトウェア部品更新方法
WO2017072872A1 (ja) 業務プログラム生成支援システムおよび業務プログラム生成支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230424

R150 Certificate of patent or registration of utility model

Ref document number: 7279524

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150