JP6136694B2 - データ管理プログラム、データ管理装置およびデータ管理方法 - Google Patents

データ管理プログラム、データ管理装置およびデータ管理方法 Download PDF

Info

Publication number
JP6136694B2
JP6136694B2 JP2013150946A JP2013150946A JP6136694B2 JP 6136694 B2 JP6136694 B2 JP 6136694B2 JP 2013150946 A JP2013150946 A JP 2013150946A JP 2013150946 A JP2013150946 A JP 2013150946A JP 6136694 B2 JP6136694 B2 JP 6136694B2
Authority
JP
Japan
Prior art keywords
item
schema
attribute
request
items
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
JP2013150946A
Other languages
English (en)
Other versions
JP2015022575A (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 JP2013150946A priority Critical patent/JP6136694B2/ja
Priority to CN201410294768.4A priority patent/CN104298698B/zh
Priority to US14/317,366 priority patent/US10534766B2/en
Publication of JP2015022575A publication Critical patent/JP2015022575A/ja
Application granted granted Critical
Publication of JP6136694B2 publication Critical patent/JP6136694B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ管理プログラム等に関する。
データベース(DB)には、DBの各項目について項目名やデータ型が予め定義されたスキーマを有する条件下で動作するDB(例えば、スキーマフルDBという)が存在する。また、スキーマを有しない条件下で動作するDB(例えば、スキーマレスDBという)が存在する。さらに、スキーマフルDBとスキーマレスDBとが混在した条件下で動作するDB(例えば、ハイブリッドDBという)とが存在する。すなわち、ハイブリッドDBでは、テーブルを構成する項目が備えているべき共通的属性をスキーマに定義する一方で、一部の項目の属性をアドホックにスキーマに定義する。
ハイブリッドDBに関し、複数のデータソースをマージする場合に、スキーマを拡張する技術が開示されている(例えば、特許文献1)。例えば、所定のアプリケーションが、複数のデータソースをマージする場合に、各データソース中のフィールドをマッピングする。すなわち、最初のデータソースを初期データソースとして取り出し、取り出した後続の各データソースのフィールドを初期データソースのフィールドと関連付け、初期データソース中に出現しない後続のデータソース中のフィールドを追加する。各入力データソースからマッピングされたフィールドが、アドホックにスキーマに追加される。
特開2006−107466号公報
しかしながら、スキーマを拡張する技術では、意図しない項目がスキーマに追加された場合、意図しない項目を判別できないという問題がある。すなわち、スキーマ拡張によりスキーマに追加された項目は、項目名やデータ型等のチェックが行われないまま追加されるので、例えば項目名のスペルミス等により意図しない項目が追加されてしまう場合がある。このため、従来の所定のアプリケーションでは、追加された項目が意図する項目か意図しない項目かを判別できない。
1つの側面では、スキーマ拡張により意図しない項目がスキーマに追加された場合であっても、意図しない項目を判別できることを目的とする。
1つの案では、データ管理プログラムは、複数の項目を有し、前記複数の項目それぞれが項目属性情報を有するデータベースを管理するコンピュータに、前記データベースに対する更新要求を受け付けた際に、前記更新要求で指定された項目が、前記複数の項目に含まれるか否かを判別し、前記指定された項目が前記複数の項目に含まれない場合、前記複数の項目に前記指定された項目を追加するとともに、前記指定された項目の前記項目属性情報に含まれる定義設定フラグを、前記データベースの項目として承認済みの項目の項目属性情報に含まれる定義設定フラグに設定された第1状態と異なる第2状態に設定する処理を実行させる。
1つの態様によれば、スキーマ拡張により意図しない項目がスキーマに追加された場合であっても、意図しない項目を判別できる。
図1は、実施例に係るデータ管理装置の構成を示すブロック図である。 図2Aは、実施例に係るテーブル定義のデータ構造の一例を示す図である。 図2Bは、実施例に係るテーブル定義の一例を示す図である。 図3Aは、実施例に係る属性定義のデータ構造の一例を示す図である。 図3Bは、実施例に係る属性定義の一例を示す図である。 図4は、データ追加・更新要求を受け付けた場合の処理のフローチャートを示す図である。 図5は、スキーマ照会要求を受け付けた場合の処理のフローチャートを示す図である。 図6は、宣言済フラグの変更要求を受け付けた場合の処理のフローチャートを示す図である。 図7は、データ管理プログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示するデータ管理プログラム、データ管理装置およびデータ管理方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[データ管理装置の構成]
図1は、実施例に係るデータ管理装置の構成を示すブロック図である。図1に示すように、データ管理装置1は、制御部10および記憶部20を有する。データ管理装置1は、データベースを管理する。データ管理装置1は、データベースの未定義の項目にデータを追加する場合、未定義の項目をスキーマに追加するとともに、スキーマに新たに設けられた宣言済フラグを、宣言されていない(定義されていない)項目であることを示す識別情報(例えば、「偽」)に設定し、スキーマ拡張を行う。一方、スキーマに既に定義された項目は、宣言済フラグを、宣言されている(定義されている)項目であることを示す識別情報(例えば、「真」)に設定される。実施例では、データベース(DB)は、スキーマを有するスキーマフルDBとスキーマを有さないスキーマレスDBとが混在した条件下で動作するハイブリッドDBであるものとする。すなわち、実施例に係るデータベースは、テーブルを構成する項目が備えているべき共通的属性をスキーマに定義する一方で、一部の項目の属性をアドホックにスキーマに定義する。なお、宣言済フラグは、定義設定フラグの一例である。
制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部10は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路の電子回路に対応する。または、制御部10は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。さらに、制御部10は、要求・応答部11、スキーマ検査部12、データ追加・更新部13、スキーマ拡張部14およびスキーマ管理部15を有する。スキーマ管理部15は、スキーマ照会部16およびスキーマ定義変更部17を有する。
記憶部20は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。また、記憶部20は、例えばRAM(Random Access Memory)等の揮発性の半導体メモリ素子を利用した記憶装置に対応しても良い。この場合、記憶部20は、不揮発性の半導体メモリ素子等の記憶装置からデータを適宜ロードするようにすれば良い。記憶部20は、データ記憶部21およびスキーマ定義体22を有する。データ記憶部21は、単数または複数の項目それぞれの属性に基づいて格納されたデータを記憶する。例えば、データ記憶部21には、複数のテーブルが記憶され、各テーブルには、後述するスキーマ定義体22によって定義された単数または複数の項目毎に、値(データ)が記憶される。スキーマ定義体22は、複数の項目それぞれの属性を定義する。スキーマ定義体22は、テーブル定義221および属性定義222を有する。
ここで、テーブル定義221のデータ構造について、図2Aおよび図2Bを参照して説明する。図2Aは、実施例に係るテーブル定義のデータ構造の一例を示す図である。図2Bは、実施例に係るテーブル定義の一例を示す図である。
図2Aに示すように、テーブル定義221は、属性として、テーブルID221aおよびテーブル名221bを有する。テーブルID221aは、テーブルの管理に用いられる一意のID(identification)である。ここでは、テーブルID221aは、主キー(Primary Key)であることが示されている。テーブル名221bは、テーブルの名称である。
図2Bに示すように、テーブル定義221は、テーブル名221bをテーブルID221aに対応付けて記憶する。一例として、テーブルID221aが「1」である場合、テーブル名221bとして「商品」と記憶している。テーブルID221aが「2」である場合、テーブル名221bとして「受注」と記憶している。
また、属性定義222のデータ構造について、図3Aおよび図3Bを参照して説明する。図3Aは、実施例に係る属性定義のデータ構造の一例を示す図である。図3Bは、実施例に係る属性定義の一例を示す図である。
図3Aに示すように、属性定義222は、属性として、テーブルID222a、属性ID222b、属性名222c、属性型222dおよび宣言済フラグ222eを有する。テーブルID222aは、テーブルの管理に用いられる一意のIDである。属性ID222bは、テーブルID222aに対応するテーブル内の項目(属性名)を一意に表すIDである。属性名222cは、属性の名称である。なお、属性名222cに設定される属性名は、テーブル内の項目に対応するものである。属性型222dは、属性のデータの型である。例えば、属性のデータが数値である場合、属性型222dには、数値型であることを示す「数値」が設定される。属性のデータが文字列である場合、属性型222dには、文字列型であることを示す「文字列」が設定される。なお、属性型222dには、属性のデータがフラグである場合、真(例えば0)か偽(例えば1)であることを示す「真偽値」が設定されても良い。
宣言済フラグ222eは、属性が宣言されている(定義されている)かどうかを表す真偽値である。例えば、属性が宣言されている場合、宣言済フラグ222eには、宣言済みであることを示す「真」が設定される。属性が宣言されていない場合、宣言済フラグ222eには、宣言済みでないことを示す「偽」が設定される。すなわち、後述するスキーマ拡張部14は、データを追加する項目が属性定義222の属性名222cに定義されていない場合、当該項目を属性定義222の属性名222cに追加するとともに、宣言済フラグ222eを「偽」に設定し、スキーマ拡張を行う。
図3Bに示すように、属性定義222は、テーブルID222aと、属性ID222bと、属性名222cとを、属性型222dおよび宣言済フラグ222eに対応付けて記憶する。一例として、テーブルID222aが「1」および属性ID222bが「1」である場合、属性名222cとして「商品ID」、属性型222dとして「数値」、宣言済フラグ222eとして「真」と記憶している。また、テーブルID222aが「1」および属性ID222bが「4」である場合、属性名222cとして「担当部署コード」、属性型222dとして「数値」、宣言済フラグ222eとして「偽」と記憶している。すなわち、データを追加する項目が「担当部署コード」である場合に、「担当部署コード」が属性定義222の属性名222cに定義されていないので、宣言済フラグ222eが「偽」に設定されている。すなわち、「担当部署コード」に対応する属性が、スキーマ拡張されたものである。
図1に戻って、要求・応答部11は、データベースに対して所定の要求を受け付け、受け付けた要求を振り分ける。また、要求・応答部11は、要求に対する処理結果を要求元に応答する。なお、要求・応答部11は、所定の要求をデータ管理装置1の外部の装置から受信しても良いし、データ管理装置1内の他の制御部から受け取っても良い。
一例として、要求・応答部11は、データベースに対する追加要求または更新要求を受け付けた場合、受け付けた要求をスキーマ検査部12に振り分ける。このとき、要求・応答部11は、追加要求として、例えば、データが追加されるテーブルのテーブル名、データが追加される項目の項目名およびそのデータを含む要求を受け付ける。要求・応答部11は、更新要求として、例えば、データが更新されるテーブルのテーブル名、データが更新される項目の項目名およびそのデータを含む要求を受け付ける。
別の一例として、要求・応答部11は、データベースのスキーマに対する照会要求を受け付けた場合、受け付けた照会要求をスキーマ照会部16に振り分ける。このとき、要求・応答部11は、照会要求として、例えば、照会を所望するテーブルのテーブル名および照会モードを含む要求を受け付ける。ここでいう照会モードとは、宣言済フラグに「偽」が設定されている属性名に対応する属性情報を照会するか否かを示すモードである。宣言済フラグに「偽」が設定されている属性名に対応する属性情報を照会しないことを示すモードを「通常照会モード」という。宣言済フラグに「偽」が設定されている属性名に対応する属性情報も含めて照会することを示すモードを「拡張照会モード」という。一例として、宣言済フラグに「偽」が設定されている属性名に対応する属性情報も含めて照会する場合、照会モードとして「拡張照会モード」に対応する識別情報が設定される。また、要求・応答部11は、照会要求に対する照会結果を要求元に応答する。
別の一例として、要求・応答部11は、宣言済フラグの変更要求を受け付けた場合、受け付けた変更要求をスキーマ定義変更部17に振り分ける。このとき、要求・応答部11は、宣言済フラグの変更要求として、例えば、宣言済フラグが変更される属性名に対応する項目を有するテーブルのテーブル名、属性名および変更内容を含む要求を受け付ける。変更内容には、「偽」から「真」に変更する場合、例えば「真」が設定される。「真」から「偽」に変更する場合、例えば「偽」が設定される。
スキーマ検査部12は、データベースに対する追加要求または更新要求について、スキーマ定義体22に基づいて、スキーマチェックを行う。以降では、更新要求についてのスキーマチェックの例を説明するが、追加要求についてのスキーマチェックも同様であるので、その説明を省略する。
例えば、スキーマ検査部12は、更新要求で指定された項目が、属性定義222に記憶された複数の項目(属性名)に含まれるか否かを判定する。スキーマ検査部12は、指定された項目が、属性定義222に記憶された複数の項目(属性名)に含まれないと判定した場合、スキーマ拡張部14にスキーマを拡張させる。
また、スキーマ検査部12は、指定された項目が、属性定義222に記憶された複数の項目(属性名)に含まれると判定した場合、属性定義222に基づいて、指定された項目のデータが属性型222dに設定される型と不整合でないか否かを判定する。そして、スキーマ検査部12は、指定された項目のデータが属性型222dに設定される型と不整合でないと判定した場合、データ追加・更新部13にデータを追加または更新させる。また、スキーマ検査部12は、指定された項目のデータが属性型222dに設定される型と不整合であると判定した場合、異常であることを要求・応答部11に通知する。なお、スキーマ検査部12は、項目のデータが型と不整合でないか否かを判定すると説明したが、これに限定されるものではなく、さらに、データがヌルでない等の制約違反でないか否かを判定しても良い。
スキーマ拡張部14は、更新要求で指定された項目を、属性定義222の属性名222cに追加する。加えて、スキーマ拡張部14は、追加した属性名222cに対応する宣言済フラグ222eを「偽」に設定する。すなわち、スキーマ拡張部14は、属性定義222に追加された属性名222cに対応する宣言済フラグ222eを、まだ承認されていないことを示す「偽」に設定する。さらに、スキーマ拡張部14は、指定された項目のデータに基づいて、属性型222dを設定する。一例として、指定された項目のデータが「123」である場合、属性型222dは「数値」に設定される。指定された項目のデータが「あいう」である場合、属性型222dは「文字列」に設定される。指定された項目のデータが「TRUE」や「FALSE」である場合、属性型222dは「真偽値」に設定される。これにより、スキーマ拡張部14は、更新要求で指定された未定義の項目を、未定義の項目としてアドホックに属性定義222に追加し、スキーマを拡張することができる。
データ追加・更新部13は、更新要求で指定された項目のデータをデータ記憶部21に格納する。また、データ追加・更新部13は、追加要求で指定された項目のデータをデータ記憶部21に格納する。
スキーマ照会部16は、データベースのスキーマ定義体22に対する照会要求について、照会要求に含まれる照会モードに応じて属性定義222に記憶された内容を照会する。例えば、スキーマ照会部16は、照会要求に含まれる照会モードが「拡張照会モード」であるか否かを判定する。スキーマ照会部16は、照会モードが「拡張照会モード」であると判定した場合、属性定義222の宣言済フラグ222eが「真」である属性名に加えて「偽」である属性名に対応する属性情報を照会する。また、スキーマ照会部16は、照会モードが「通常照会モード」であると判定した場合、属性定義222の宣言済フラグ222eが「真」である属性名に対応する属性情報を照会する。照会される属性情報には、一例として、要求されたテーブルのテーブルID222a、属性ID222b、属性名222c、属性型222dおよび宣言済フラグ222eが含まれる。これにより、スキーマ照会部16は、テーブル中にどのような宣言されていない未定義の項目が設定されているのかを照会することができる。また、スキーマ照会部16は、宣言されていない未定義の項目を照会することで、意図しない項目を判別させることができる。
スキーマ定義変更部17は、宣言済フラグに対する変更要求について、変更要求に応じて、設定されている状態を、設定されている状態と異なる状態に変更する。例えば、スキーマ定義変更部17は、変更要求に含まれる変更内容が「真」であるか否かを判定する。スキーマ定義変更部17は、変更内容が「真」であると判定した場合、属性定義222に記憶される該当テーブルの属性名に対応する宣言済フラグ222eを「偽」から「真」に変更する。すなわち、スキーマ定義変更部17は、宣言されていない未定義の項目を宣言済みの項目に変更する。また、スキーマ定義変更部17は、変更内容が「偽」であると判定した場合、属性定義222に記憶される該当テーブルの属性名に対応する宣言済フラグ222eを「真」から「偽」に変更する。すなわち、スキーマ定義変更部17は、宣言済みの項目を宣言されていない未定義の項目に変更する。これにより、スキーマ定義変更部17は、データ記憶部21のデータを移行しなくても、フラグの操作のみで、宣言されていない未定義の項目を宣言済みの項目に変更することができる。
[データ追加・更新要求を受け付けた場合の処理のフローチャート]
次に、図4を参照して、データ追加・更新要求を受け付けた場合の処理の手順を説明する。図4は、データ追加・更新要求を受け付けた場合の処理のフローチャートを示す図である。なお、図4の例では、要求・応答部11が、データの更新要求を受け付けた場合について説明する。
図4に示すように、要求・応答部11は、データの更新要求を受け付ける(ステップS11)。例えば、要求・応答部11は、データが更新されるテーブルのテーブル名、データが更新される項目の項目名およびそのデータを含む更新要求を受け付ける。すると、要求・応答部11は、更新要求をスキーマ検査部12に振り分ける。
そして、スキーマ検査部12は、更新要求で指定された項目について、スキーマ情報を確認し(ステップS12)、当該項目に、未定義の項目(属性)があるか否かを判定する(ステップS13)。例えば、スキーマ検査部12は、更新要求で指定された項目が、属性定義222に記憶された複数の項目(属性名)に含まれていないかどうかを判定する。
未定義の項目があると判定した場合(ステップS13;Yes)、スキーマ拡張部14は、未定義の項目全てについて、属性定義222に追加する。このとき、スキーマ拡張部14は、未定義の項目全てについて、属性定義222の宣言済フラグ222eを「偽」に設定する(ステップS14)。例えば、スキーマ拡張部14は、未定義の項目の項目名を、属性定義222の属性名222cに追加する。加えて、スキーマ拡張部14は、追加した属性名222cに対応する宣言済フラグ222eを「偽」に設定する。すなわち、追加された属性名について、まだ宣言されていない未定義の属性であることを示す「偽」が設定される。さらに、スキーマ拡張部14は、未定義の項目のデータに基づいて、追加した属性名222cに対応する属性型222dを設定する。そして、スキーマ拡張部14は、ステップS15に移行する。
一方、未定義の項目がないと判定した場合(ステップS13;No)、スキーマ検査部12は、属性定義222に基づいて、指定された項目であって定義されている項目全てについて、項目のデータの型が不整合でないかどうかを判定する(ステップS15)。定義されている項目全てについて、項目のデータの型が不整合でないと判定した場合(ステップS15;Yes)、データ追加・更新部13は、データ追加・更新処理を実行する(ステップS16)。すなわち、データ追加・更新部13は、更新要求で指定された項目のデータをデータ記憶部21に格納する。
一方、定義されている項目のいずれかについて、項目のデータの型が不整合であると判定した場合(ステップS15;No)、スキーマ検査部12は、エラー応答をすべく、エラーであることを要求・応答部11に通知する(ステップS17)。
なお、スキーマ検査部12は、指定された項目であって定義されていない項目全てについて、項目のデータが制約違反でないかどうかを判定するようにしても良い。この場合、属性定義222には、テーブルID222a、属性ID222b、属性名222c、属性型222dおよび宣言済フラグ222eに加えて属性の制約が追加されるようにする。そして、スキーマ検査部12は、属性定義222に基づいて、指定された項目であって定義されている項目全てについて、項目のデータが制約違反でないかどうかを判定すれば良い。
[スキーマ照会要求を受け付けた場合の処理のフローチャート]
次に、図5を参照して、スキーマ照会要求を受け付けた場合の処理の手順を説明する。図5は、スキーマ照会要求を受け付けた場合の処理のフローチャートを示す図である。
図5に示すように、要求・応答部11は、スキーマの照会要求を受け付ける(ステップS21)。例えば、要求・応答部11は、照会を所望するテーブルのテーブル名および照会モードを含む照会要求を受け付ける。すると、要求・応答部11は、照会要求をスキーマ照会部16に振り分ける。
そして、スキーマ照会部16は、照会モードが拡張照会を示す「拡張照会モード」であるか否かを判定する(ステップS22)。拡張照会モードであると判定した場合(ステップS22;Yes)、スキーマ照会部16は、属性定義222から、宣言済フラグ222eが「偽」の属性情報を含めて読み出す(ステップS23)。例えば、スキーマ照会部16は、属性定義222から、照会要求で指定されたテーブルに対応する属性情報であって、宣言済フラグ222eが「真」である属性情報に加えて「偽」である属性情報を読み出す。そして、スキーマ照会部16は、ステップS25に移行する。
一方、拡張照会モードでないと判定した場合(ステップS22;No)、スキーマ照会部16は、属性定義222から、宣言済フラグ222eが「偽」の属性情報を含めないで読み出す(ステップS24)。例えば、スキーマ照会部16は、属性定義222から、照会要求で指定されたテーブルに対応する属性情報であって、宣言済フラグ222eが「真」である属性情報を読み出す。そして、スキーマ照会部16は、ステップS25に移行する。
ステップS25では、スキーマ照会部16は、要求・応答部11を介して、読み出した属性情報を要求元に返却する(ステップS25)。例えば、スキーマ照会部16は、属性情報として、テーブルID222a、属性ID222b、属性名222c、属性型222dおよび宣言済フラグ222eを要求元に返却する。
その後、要求元では、返却された属性情報を編集し、例えば、属性名222c、属性型222dおよび宣言済フラグ222eを画面に表示しても良い。
これにより、要求元は、スキーマ拡張により意図しない項目がスキーマに追加された場合であっても、意図しない項目を判別することができる。
[宣言済フラグの変更要求を受け付けた場合の処理のフローチャート]
次に、図6を参照して、宣言済フラグの変更要求を受け付けた場合の処理の手順を説明する。図6は、宣言済フラグの変更要求を受け付けた場合の処理のフローチャートを示す図である。
図6に示すように、要求・応答部11は、宣言済フラグの変更要求を受け付ける(ステップS31)。例えば、要求・応答部11は、宣言済フラグ222eが変更される属性名に対応する項目を有するテーブルのテーブル名、属性名および変更内容を含む変更要求を受け付ける。すると、要求・応答部11は、変更要求をスキーマ定義変更部17に振り分ける。
そして、スキーマ定義変更部17は、変更内容が「真」であるか否かを判定する(ステップS32)。変更内容が「真」であると判定した場合(ステップS32;Yes)、スキーマ定義変更部17は、属性定義222の、該当属性名に対応する宣言済フラグ222eを「偽」から「真」に変更する(ステップS33)。そして、スキーマ定義変更部17は、処理を終了する。
一方、変更内容が「真」でないと判定した場合(ステップS32;No)、スキーマ定義変更部17は、属性定義222の、該当属性名に対応する宣言済フラグ222eを「真」から「偽」に変更する(ステップS34)。そして、スキーマ定義変更部17は、処理を終了する。
これにより、スキーマ定義変更部17は、データ記憶部21のデータを移行しなくても、フラグの操作のみで、宣言されていない未定義の項目を宣言済みの項目に変更することができる。
なお、要求・応答部11は、一例として、所定の要求をデータ管理装置1の外部の装置から受信すると説明した。この場合、要求・応答部11は、ネットワークを介した通信端末から受信するものとしても良い。例えば、要求・応答部11は、通信端末から送信されたデータベースに対する更新要求を受け付け、受け付けた更新要求をスキーマ検査部12に振り分ける。そして、スキーマ検査部12は、更新要求で指定された項目(例えば「担当部署コード」)が属性定義222に記憶されていない場合、スキーマ拡張部14が、属性定義222の属性名222cに追加し、宣言済フラグ222eを「偽」に設定する。これにより、通信端末は、新たな項目を随時データベースに追加できる。さらに、要求・応答部11は、同じ通信端末から送信された拡張照会モードの照会要求を受け付け、受け付けた照会要求をスキーマ照会部16に振り分ける。そして、スキーマ照会部16は、照会要求に基づいて、宣言済フラグ222eが「真」である項目および「偽」である項目に対応する属性情報を照会し、照会結果を要求元の通信端末に通知する。これにより、通信端末は、照会結果を用いて「偽」である項目と「真」である項目を区別して何らかのアプリケーションを実行したりすることができる。そして、要求・応答部11は、同じ通信端末から送信された、「担当部署コード」の宣言済フラグ222eを「真」に変更する変更要求を受け付け、受け付けた変更要求をスキーマ定義変更部17に振り分ける。そして、スキーマ定義変更部17は、「担当部署コード」の宣言済フラグ222eを「偽」から「真」に変更する。これにより、通信端末は、アプリケーションを実行した結果、「担当部署コード」を必要な項目と判断すれば、正式に定義することができる。また、通信端末は、遠隔でデータベースを管理することができる。
[実施例の効果]
上記実施例によれば、データ管理装置1は、データベースに対する更新要求を受け付けた際に、更新要求で指定された項目が、属性定義222に記憶された複数の項目に含まれるか否かを判定する。そして、データ管理装置1は、指定された項目が複数の項目に含まれないと判定された場合、属性定義222に、指定された項目を追加する。そして、データ管理装置1は、指定された項目に対応する、属性定義222に含まれる宣言済フラグ222eを、データベースの項目として承認済みの項目に対応する宣言済フラグ222eに設定された第1状態と異なる第2状態に設定する。かかる構成によれば、データ管理装置1は、指定された項目が属性定義222に含まれていなくても、当該項目を属性定義222に追加し、宣言済フラグ222eに承認済みの項目と異なる状態を設定するので、追加した項目を承認済みの項目と区別できる。この結果、データ管理装置1は、指定された項目が意図しない項目であっても、当該項目を判別することが可能となる。
また、上記実施例によれば、データ管理装置1は、データベースの属性情報222に対する照会要求を受け付けた際、以下の処理を行う。すなわち、データ管理装置1は、宣言済フラグ222eが第2状態である項目を含んで照会する照会モードである場合、第1状態である項目に加えて第2状態である項目の項目属性情報を出力する。かかる構成によれば、データ管理装置1は、仮に意図しない項目を更新要求してしまっても、第2状態である項目の項目属性情報を照会することで、意図しない項目を確認することができる。
また、上記実施例によれば、データ管理装置1は、所定の項目について、宣言済フラグ222eに対する変更要求を受け付けた際に、変更要求に応じて、設定されている状態を、当該設定されている状態と異なる状態に変更する。かかる構成によれば、データ管理装置1は、所定の項目の宣言済フラグ222eに対する変更要求に応じて、設定されている状態を変更するので、所定の項目に紐付くデータを、変更された状態に応じた意味合いに簡単に変更できる。一例として、データ管理装置1は、所定の項目についての宣言済フラグ222eが第2状態から第1状態に変更されれば、所定の項目に紐付くデータを、承認済みのデータに、簡単に変更できる。すなわち、データ管理装置1は、データを移行しなくても、フラグの操作のみで、宣言されていない項目を宣言(承認)済みの項目に変更することができる。別の例として、データ管理装置1は、所定の項目についての宣言済フラグ222eが第1状態から第2状態に変更されれば、所定の項目に紐付くデータを、未承認のデータに、簡単に変更できる。すなわち、データ管理装置1は、データを移行しなくても、フラグの操作のみで、宣言されていた項目を未宣言の項目に変更することができる。
[その他]
なお、データ管理装置1は、既知のパーソナルコンピュータ、ワークステーション等の装置に、上記したスキーマ検査部12、スキーマ拡張部14、スキーマ照会部16およびスキーマ定義変更部17等の各機能を搭載することによって実現することができる。
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、スキーマ検査部12とデータ追加・更新部13とスキーマ拡張部14とをそれぞれ1個の部として統合しても良い。一方、要求・応答部11を、要求部と応答部とに分散しても良い。データ追加・更新部13を、データ追加部とデータ更新部とに分散しても良い。また、記憶部20をデータ管理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図1に示したデータ管理装置1と同様の機能を実現するデータ管理プログラムを実行するコンピュータの一例を説明する。図7は、データ管理プログラムを実行するコンピュータの一例を示す図である。
図7に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、データ管理プログラム205aおよびデータ管理関連情報205bを記憶する。
CPU203は、データ管理プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、データ管理装置1の各機能部に対応する。データ管理関連情報205bは、データ記憶部21、スキーマ定義体22に対応する。そして、例えばリムーバブルディスク211が、データ管理プログラム205a等の各情報を記憶する。
なお、データ管理プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからデータ管理プログラム205aを読み出して実行するようにしても良い。
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)複数の項目を有し、前記複数の項目それぞれが項目属性情報を有するデータベースを管理するコンピュータに、
前記データベースに対する更新要求を受け付けた際に、前記更新要求で指定された項目が、前記複数の項目に含まれるか否かを判別し、
前記指定された項目が前記複数の項目に含まれない場合、前記複数の項目に前記指定された項目を追加するとともに、前記指定された項目の前記項目属性情報に含まれる定義設定フラグを、前記データベースの項目として承認済みの項目の項目属性情報に含まれる定義設定フラグに設定された第1状態と異なる第2状態に設定する
処理を実行させることを特徴とするデータ管理プログラム。
(付記2)前記データベースの前記項目属性情報に対する照会要求を受け付けた際に、前記定義設定フラグが第2状態である項目を含んで照会する照会モードである場合、前記第1状態である項目に加えて前記第2状態である項目の項目属性情報を出力する
処理を実行させることを特徴とする付記1に記載のデータ管理プログラム。
(付記3)所定の項目について、前記定義設定フラグに対する変更要求を受け付けた際に、変更要求に応じて、設定されている状態を、当該設定されている状態と異なる状態に変更する
処理を実行させることを特徴とする付記1または付記2に記載のデータ管理プログラム。
(付記4)所定の項目について、前記定義設定フラグを前記第1状態に変更する変更要求を受け付けた場合、設定されている前記第2状態を、前記第1状態に変更する
処理を実行させることを特徴とする付記3に記載のデータ管理プログラム。
(付記5)所定の項目について、前記定義設定フラグを前記第2状態に変更する変更要求を受け付けた場合、設定されている前記第1状態を、前記第2状態に変更する
処理を実行させることを特徴とする付記3に記載のデータ管理プログラム。
(付記6)複数の項目を有し、前記複数の項目それぞれが項目属性情報を有するデータベースと、
前記データベースに対する更新要求を受け付けた際に、前記更新要求で指定された項目が、前記複数の項目に含まれるか否かを判別する判別部と、
前記判別部によって前記指定された項目が前記複数の項目に含まれないと判別された場合、前記複数の項目に前記指定された項目を追加するとともに、前記指定された項目の前記項目属性情報に含まれる定義設定フラグを、前記データベースの項目として承認済みの項目の項目属性情報に含まれる定義設定フラグに設定された第1状態と異なる第2状態に設定する設定部と、
を有することを特徴とするデータ管理装置。
(付記7)複数の項目を有し、前記複数の項目それぞれが項目属性情報を有するデータベースのデータ管理方法であって、
コンピュータが、
前記データベースに対する更新要求を受け付けた際に、前記更新要求で指定された項目が、前記複数の項目に含まれるか否かを判別し、
前記指定された項目が前記複数の項目に含まれない場合、前記複数の項目に前記指定された項目を追加するとともに、前記指定された項目の前記項目属性情報に含まれる定義設定フラグを、前記データベースの項目として承認済みの項目の項目属性情報に含まれる定義設定フラグに設定された第1状態と異なる第2状態に設定する
処理を実行することを特徴とするデータ管理方法。
1 データ管理装置
10 制御部
11 要求・応答部
12 スキーマ検査部
13 データ追加・更新部
14 スキーマ拡張部
15 スキーマ管理部
16 スキーマ照会部
17 スキーマ定義変更部
20 記憶部
21 データ記憶部
22 スキーマ定義体
221 テーブル定義
222 属性定義

Claims (5)

  1. 複数の項目を有し、前記複数の項目それぞれが項目属性情報を有するデータベースを管理するコンピュータに、
    前記データベースに対する更新要求を受け付けた際に、前記更新要求で指定された項目が、前記複数の項目に含まれるか否かを判別し、
    前記指定された項目が前記複数の項目に含まれない場合、前記複数の項目に前記指定された項目を追加するとともに、前記指定された項目の前記項目属性情報に含まれる定義設定フラグを、前記データベースの項目として承認済みの項目の項目属性情報に含まれる定義設定フラグに設定された第1状態と異なる第2状態に設定する
    処理を実行させることを特徴とするデータ管理プログラム。
  2. 前記データベースの前記項目属性情報に対する照会要求を受け付けた際に、前記定義設定フラグが前記第2状態である項目を含んで照会する照会モードである場合、前記第1状態である項目に加えて前記第2状態である項目の項目属性情報を出力する
    処理を実行させることを特徴とする請求項1に記載のデータ管理プログラム。
  3. 所定の項目について、前記定義設定フラグに対する変更要求を受け付けた際に、変更要求に応じて、設定されている状態を、当該設定されている状態と異なる状態に変更する
    処理を実行させることを特徴とする請求項1または請求項2に記載のデータ管理プログラム。
  4. 複数の項目を有し、前記複数の項目それぞれが項目属性情報を有するデータベースと、
    前記データベースに対する更新要求を受け付けた際に、前記更新要求で指定された項目が、前記複数の項目に含まれるか否かを判別する判別部と、
    前記判別部によって前記指定された項目が前記複数の項目に含まれないと判別された場合、前記複数の項目に前記指定された項目を追加するとともに、前記指定された項目の前記項目属性情報に含まれる定義設定フラグを、前記データベースの項目として承認済みの項目の項目属性情報に含まれる定義設定フラグに設定された第1状態と異なる第2状態に設定する設定部と、
    を有することを特徴とするデータ管理装置。
  5. 複数の項目を有し、前記複数の項目それぞれが項目属性情報を有するデータベースのデータ管理方法であって、
    コンピュータが、
    前記データベースに対する更新要求を受け付けた際に、前記更新要求で指定された項目が、前記複数の項目に含まれるか否かを判別し、
    前記指定された項目が前記複数の項目に含まれない場合、前記複数の項目に前記指定された項目を追加するとともに、前記指定された項目の前記項目属性情報に含まれる定義設定フラグを、前記データベースの項目として承認済みの項目の項目属性情報に含まれる定義設定フラグに設定された第1状態と異なる第2状態に設定する
    処理を実行することを特徴とするデータ管理方法。
JP2013150946A 2013-07-19 2013-07-19 データ管理プログラム、データ管理装置およびデータ管理方法 Active JP6136694B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013150946A JP6136694B2 (ja) 2013-07-19 2013-07-19 データ管理プログラム、データ管理装置およびデータ管理方法
CN201410294768.4A CN104298698B (zh) 2013-07-19 2014-06-26 数据管理设备及数据管理方法
US14/317,366 US10534766B2 (en) 2013-07-19 2014-06-27 Data management apparatus and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013150946A JP6136694B2 (ja) 2013-07-19 2013-07-19 データ管理プログラム、データ管理装置およびデータ管理方法

Publications (2)

Publication Number Publication Date
JP2015022575A JP2015022575A (ja) 2015-02-02
JP6136694B2 true JP6136694B2 (ja) 2017-05-31

Family

ID=52318426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013150946A Active JP6136694B2 (ja) 2013-07-19 2013-07-19 データ管理プログラム、データ管理装置およびデータ管理方法

Country Status (3)

Country Link
US (1) US10534766B2 (ja)
JP (1) JP6136694B2 (ja)
CN (1) CN104298698B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177896B (zh) * 2019-12-12 2020-11-24 上海卫星工程研究所 基于模型的机械接口数据管理方法及系统

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317742A (en) * 1991-06-21 1994-05-31 Racal-Datacom, Inc. Dynamic translation of network management primitives to queries to a database
US5838965A (en) * 1994-11-10 1998-11-17 Cadis, Inc. Object oriented database management system
JPH10133930A (ja) * 1996-11-05 1998-05-22 Toshiba Corp データベースシステム
US7031956B1 (en) * 2000-02-16 2006-04-18 Verizon Laboratories Inc. System and method for synchronizing and/or updating an existing relational database with supplemental XML data
JP3750504B2 (ja) * 2000-08-09 2006-03-01 セイコーエプソン株式会社 データ更新方法および情報処理装置
JP3673189B2 (ja) * 2001-05-21 2005-07-20 株式会社東芝 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム
JP4279499B2 (ja) * 2002-03-01 2009-06-17 シャープ株式会社 情報処理装置
US7124145B2 (en) * 2003-03-27 2006-10-17 Millennium It (Usa) Inc. System and method for dynamic business logic rule integration
US7620630B2 (en) * 2003-11-12 2009-11-17 Oliver Lloyd Pty Ltd Directory system
AU2005241559A1 (en) * 2004-05-05 2005-11-17 Ims Software Services, Ltd. Data record matching algorithms for longitudinal patient level databases
WO2006039516A2 (en) * 2004-09-30 2006-04-13 Millennium It (Usa) Inc. System and method for configurable trading system
US7739309B2 (en) 2004-09-30 2010-06-15 Microsoft Corporation Method, system, and computer-readable medium for merging data from multiple data sources for use in an electronic document
US20060230019A1 (en) * 2005-04-08 2006-10-12 International Business Machines Corporation System and method to optimize database access by synchronizing state based on data access patterns
JP2006350924A (ja) * 2005-06-20 2006-12-28 Hitachi Ltd 情報処理装置、スキーマ作成方法、及びプログラム
JP2007072526A (ja) * 2005-09-02 2007-03-22 Fuji Xerox Co Ltd リポジトリ及びデータ入力装置及びプログラム
US8458176B2 (en) * 2005-11-09 2013-06-04 Ca, Inc. Method and system for providing a directory overlay
US20070106699A1 (en) * 2005-11-09 2007-05-10 Harvey Richard H Method and system for automatic registration of attribute types
US20100121839A1 (en) * 2007-03-15 2010-05-13 Scott Meyer Query optimization
KR101049500B1 (ko) * 2007-07-06 2011-07-15 후지쯔 가부시끼가이샤 파일 관리 시스템 및 파일 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP2009146084A (ja) * 2007-12-13 2009-07-02 Mitsubishi Electric Corp テーブル管理装置
US8103951B2 (en) * 2008-09-30 2012-01-24 Apple Inc. Dynamic schema creation
US20100250599A1 (en) * 2009-03-30 2010-09-30 Nokia Corporation Method and apparatus for integration of community-provided place data
JP5061166B2 (ja) * 2009-09-04 2012-10-31 Kii株式会社 データ同期システムおよびデータ同期方法
JP2011123604A (ja) * 2009-12-09 2011-06-23 Toshiba Tec Corp データベースシステム、サーバ装置、端末装置およびプログラム
US8818963B2 (en) * 2010-10-29 2014-08-26 Microsoft Corporation Halloween protection in a multi-version database system
US9275082B2 (en) * 2011-02-01 2016-03-01 Salesforce.Com, Inc. User-extensible common schema in a shared database
US9514154B2 (en) * 2011-10-27 2016-12-06 International Business Machines Corporation Virtual file system interface for communicating changes of metadata in a data storage system
US9507820B1 (en) * 2012-10-23 2016-11-29 Dell Software Inc. Data modeling system for runtime schema extensibility
US10268645B2 (en) * 2013-04-04 2019-04-23 Sap Se In-database provisioning of data
US9471711B2 (en) * 2013-09-23 2016-10-18 Teradata Us, Inc. Schema-less access to stored data

Also Published As

Publication number Publication date
US20150026221A1 (en) 2015-01-22
JP2015022575A (ja) 2015-02-02
CN104298698B (zh) 2019-03-12
CN104298698A (zh) 2015-01-21
US10534766B2 (en) 2020-01-14

Similar Documents

Publication Publication Date Title
JP5077430B2 (ja) 管理装置および管理装置のプログラム
JP2009104229A (ja) 入力チェック装置および入力チェック方法
US20130325534A1 (en) Terminal management system, management server, and method therefor
US10956392B1 (en) Methods, apparatuses, and computer program products for identifying fields in a data tree
JP2016503214A (ja) 動的ファームウェア更新
JP6136694B2 (ja) データ管理プログラム、データ管理装置およびデータ管理方法
JP6826929B2 (ja) アクセス制御装置及びアクセス制御プログラム
US20210019381A1 (en) License management system and non-transitory computer readable medium
US20130326324A1 (en) Document management server, document management method, and storage medium
CN106796557B (zh) 供应商专用的外围设备类标识符
JP2008269515A (ja) パラメータによる画面レイアウト動的生成方法
JP6604086B2 (ja) 項目値対応づけ処理方法、項目値対応づけ処理プログラムおよび情報処理装置
WO2019031283A1 (ja) センサ管理ユニット、センサ装置、センシングデータ管理方法、および、センシングデータ管理プログラム
JP6800274B2 (ja) 開示制御装置、開示制御方法および開示制御プログラム
US9424405B2 (en) Using receipts to control assignments of items of content to users
JP6575219B2 (ja) 項目値対応づけ処理方法、項目値対応づけ処理プログラムおよび情報処理装置
US20230004665A1 (en) Control server, data sharing system, and control program
JP6136980B2 (ja) 情報処理システム及びプログラム
JP6225749B2 (ja) 情報処理システム及びプログラム
JP2012108740A (ja) 入力支援方法及びプログラム
JP6699433B2 (ja) データ管理プログラム、装置、及び方法
JP7176434B2 (ja) 情報処理システム、情報処理装置及びデータ記憶プログラム
US10282217B2 (en) Method, system and computer program product for object serialization and de-serialization
JP2022187163A (ja) データ管理システム、及びデータ管理プログラム
JP6657706B2 (ja) データ管理装置、データ管理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170309

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: 20170404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170417

R150 Certificate of patent or registration of utility model

Ref document number: 6136694

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150