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

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

Info

Publication number
JP4741689B2
JP4741689B2 JP2009057380A JP2009057380A JP4741689B2 JP 4741689 B2 JP4741689 B2 JP 4741689B2 JP 2009057380 A JP2009057380 A JP 2009057380A JP 2009057380 A JP2009057380 A JP 2009057380A JP 4741689 B2 JP4741689 B2 JP 4741689B2
Authority
JP
Japan
Prior art keywords
item
unique
name
common
record
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.)
Expired - Fee Related
Application number
JP2009057380A
Other languages
English (en)
Other versions
JP2010211557A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009057380A priority Critical patent/JP4741689B2/ja
Priority to US12/512,658 priority patent/US8156091B2/en
Publication of JP2010211557A publication Critical patent/JP2010211557A/ja
Application granted granted Critical
Publication of JP4741689B2 publication Critical patent/JP4741689B2/ja
Expired - Fee Related 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Description

本発明は、RDBMS(Relational Data Base Management System)において、複数の組織で共有している情報(テーブルなど)に、特定の組織が参照および更新する固有項目を追加するための技術などに関する。
複数の組織で共有するデータを管理するシステムとして、RDBMSがある。例えば、ある企業の情報システムにおいて、顧客企業の企業情報をRDBMSに格納し、その企業に所属する組織(部署など)の間で企業情報を共有することがある。企業情報は、複数の項目(列)を持ったテーブルとしてRDBMSに格納され、そのテーブルへ業務AP(業務アプリケーション(プログラム))がアクセスし、企業情報を参照または更新する。項目の例としては、企業名や所在地などが考えられる。
このようなデータ処理システムにおいて、組織ごとに異なる項目を利用したい場合ある。図2は、そのような状況の例として、顧客企業情報管理システムでの例を示している。
顧客企業情報管理システム100は、営業部門や調達部門などの社内組織の間で、顧客企業情報130を共有する。しかし、部門によって利用したい項目が異なり、営業部門の顧客管理アプリケーション(営業部門顧客管理AP110)は、情報111を参照し、企業の営業担当者やその連絡先(営業担当連絡先)を格納する項目を利用する。一方、調達部門の発注アプリケーション(調達部門発注AP120)は、情報121を参照し、企業が調達先として適当か判断するために、品質保証に関する国際標準であるISO(International Organization for Standardization)9001の認可状況や認定番号といった項目を利用する。
ここで、全ての組織の間で共有する項目を共通項目、特定の組織のみで利用する項目を固有項目と呼ぶことにする。図2の例では、企業名や所在地は共通項目である。営業担当者や営業担当連絡先は、営業部門のみが利用する固有項目である。
なお、業務AP(ここでは、営業部門顧客管理AP110、調達部門発注AP120)と組織の関係は、必ずしも1対1ではない。業務APを利用する組織がただ1つの場合もあれば、業務APを利用する組織が複数ある場合もある。前者の場合は、業務APは特定の組織の固有項目を利用する。後者の場合は、業務APの利用者が所属する組織の固有項目を利用することになり、1つの業務APでも、利用者によって異なる固有項目を使うことになる。
従来のRDBMSにおいて、このような固有項目の管理を実現する方法として、次の3つの方法が知られている。
(方法1)組織毎に固有項目を格納する表を用意する方法(図25で後述)
(方法2)組織毎に共通項目と固有項目の両方を格納する表を用意する方法(図26で後述)
(方法3)共通項目と組織毎の固有項目を全て1つにまとめた表を用意する方法(図27で後述)
この3つの方法は、非特許文献1の「Hibernate(ハイバネート) イン アクション」の3.6節「クラス継承のマッピング」において、広く使われているオブジェクト/リレーショナルマッピングツールであるHibernateで提供されている3つのマッピングパターンとして紹介されている。
非特許文献1における「3.6.3 サブクラスごとに1つのテーブル(Table per subclass)」が方法1に対応し、「3.6.1 具象クラスごとに1つのテーブル(Table per concrete class)」が方法2に対応し、「3.6.2 クラス階層ごとに1つのテーブル(Table per class hierarchy)」が方法3に対応する。
このとき、マッピングするオブジェクトのクラス構造(論理的なデータ構造)としては、共通項目を親クラスの属性として、組織毎の固有項目を組織毎のサブクラスの属性とするのが一般的である。図2に示す例でのクラス構造の例を図24に示す。共通項目を属性に持つ親クラスが全社共通企業属性2401であり、固有項目を属性に持つサブクラスが営業部門固有企業属性2402と調達部門固有企業属性2403である。営業部門固有企業属性2402は営業部門が利用する固有項目を属性に持ち、調達部門固有企業属性2403は調達部門が利用する固有項目を属性に持つ。
これらを前提に、図25〜27について説明する。図25では、共通項目が全社共通テーブル2501に格納され、営業部門が利用する固有項目が営業部門固有テーブル2502に格納され、調達部門が利用する固有項目が調達部門固有テーブル2503に格納されている。
図26では、共通項目2602と営業部門が利用する固有項目が営業部門固有テーブル2601に格納され、共通項目2612と調達部門が利用する固有項目が調達部門固有テーブル2611に格納されている。
図27では、共通項目2711と、営業部門固有項目2712と、調達部門固有項目2713とが、単一の全社共通テーブル2701に格納されている。
クリスチャン・バウワー、外1名 著、倉橋 央、外1名 監訳、「Hibernate(ハイバネート) イン アクション」、ソフトバンク クリエイティブ、2006年1月15日,p.121−131
前記した従来の方法(方法1〜3)では、ある組織の変更(例えば、新たな組織の追加など)が、他の組織の業務APやデータ処理システムの運用に影響するという問題がある。
例えば、方法1や方法2の場合、組織の追加に伴って固有項目を格納する表の追加が必要となり、データ処理システムの運用にも影響する。表が増えることにより、データをバックアップするためのバッチ処理や運用作業手順などを変更しなければならないためである。
また、方法1や方法2の別の課題として、固有項目を変更(追加、削除または内容変更)するとき、その組織の全ての業務APのトランザクションを中断しなければならないという課題もある。固有項目の追加などをするには、その組織の業務APが利用する固有項目を格納する表の構造を変更しなければならないためである。
方法3の場合、ある組織のための固有項目を変更するには、全ての組織の業務APのトランザクションを中断しなければならず、他の組織にも影響する。固有項目を変更するには、全ての組織の業務APが利用する単一の表の構造を変更しなければならないためである。
さらに、方法3の場合、表の列数が、共通項目と全ての組織の固有項目の合計となるため、列数が多くなりやすく、RDBMSで許容される列数の上限に達してしまうことがある。列数が当該上限に達すると、いずれの組織もそれ以上固有項目を追加することができなくなってしまう。
本発明は、これらの問題に鑑みてなされたものであり、データ処理システムにおいて、ある組織が利用する固有項目を変更したときに他の組織やデータ処理システムの運用に与える影響を小さくすることを課題とする。
前記課題を解決するために、本発明は、複数の組織が共有する情報を格納するRDBMSを有するデータ処理装置と、組織のいずれかがデータ処理装置のRDBMSに格納された情報を使用する際に用いられデータ処理装置と通信可能に接続される業務アプリケーション実行装置と、を備えるデータ処理システムにおけるデータ処理装置である。
情報は、IDによって識別され、複数のデータ項目から構成されている。
データ処理装置は、IDと、複数の組織に共通のデータ項目である共通項目の値である共通項目値と、を格納する共通項目情報、および、IDと、組織の名前である組織名と、組織名に対応する組織が参照・更新するデータ項目である固有項目の名前である固有項目名と、固有項目の値である固有項目値と、を格納する固有項目情報、をRDBMSに記憶しており、業務アプリケーション実行装置から入力された、共通項目と固有項目とが区別なく混在して指定された出力項目名と、共通項目と固有項目とが区別なく混在した検索条件式と、組織名と、に基づいて、共通項目と固有項目とが混在したレコードを業務アプリケーション実行装置に出力するテーブル仮想化部を備えている。
テーブル仮想化部は、入力された出力項目名および検索条件式に含まれるデータ項目が共通項目であるか固有項目であるかの項目種別を、共通項目情報を参照して判定する項目種別判定処理部と、項目種別判定処理部で固有項目と判定されたデータ項目について、固有項目情報における組織名と固有項目名が、入力された組織名および固有項目と判定されたデータ項目の固有項目名と一致する部分を検索する固有項目検索条件式を作成する固有項目参照変換処理部と、入力された検索条件式から、項目種別判定処理部で共通項目と判定されたデータ項目を残した共通項目検索条件式を作成する共通項目参照変換処理部と、共通項目検索条件式を用いて共通項目情報から取り出したレコードと、当該レコードと同一IDを持ち、かつ固有項目検索条件式を用いて固有項目情報から取り出した固有項目値とを、出力項目名に基づいて連結して、共通項目と固有項目とが混在したレコードとして出力するレコード出力処理部と、を備える。
本発明によれば、データ処理システムにおいて、ある組織が利用する固有項目を変更したときに他の組織やデータ処理システムの運用に与える影響を小さくすることができる。
第1の実施形態のデータ処理システムの構成図である。 顧客企業情報管理システムを含む説明図である。 データ処理システムのハードウェアを含む構成を示す図である。 共通項目表および固有項目表管理表の一例を示す図である。 固有項目表の例を示す図である。 参照処理部の処理で使われる項目一覧表と仮想行の例を示す図である。 参照処理部の参照処理の流れを示すフローチャートである。 項目種別の判定処理の流れを示すフローチャートである。 固有項目の参照の変換処理の流れを示すフローチャートである。 共通項目の参照の変換処理の流れを示すフローチャートである。 項目一覧表が図6に示す内容の場合に、検索条件式を共通項目の参照の変換処理で実行したときの例を示す図である。 レコード出力処理の流れを示すフローチャートである。 追加処理の流れを示すフローチャートである。 共通項目表が図4に示す内容の場合に、追加処理でレコードを入力したときの処理の例を示す図である。 更新処理の流れを示すフローチャートである。 共通項目レコード更新処理の流れを示すフローチャートである。 固有項目レコード更新処理の流れを示すフローチャートである。 第2の実施形態のデータ処理システムの構成図である。 固有項目管理表の一例を示す図である。 固有項目定義部で固有項目定義を追加するときの処理の流れを示すフローチャートである。 ビュー表定義生成部のビュー表定義生成処理の流れを示すフローチャートである。 ビュー表定義生成処理で出力されるSQL文およびその構造の例を示す図である。 ビュー表定義生成処理で出力されるSQL文およびその構造の例を示す図である。 クラス構造の例を示す図である。 サブクラスごとに1つのテーブルを割り当てたときのテーブル構成の例を示す図である。 具象クラスごとに1つのテーブルを割り当てたときのテーブル構成の例を示す図である。 クラス階層ごとに1つのテーブルを割り当てたときのテーブル構成の例を示す図である。 テーブル仮想化部の構成を示す図である。
以下、本発明を実施するための形態(以下、実施形態という。)について、図面を参照(言及図以外も適宜参照)しながら説明する。
(第1の実施形態)
図1に示すように、第1の実施形態のデータ処理システム10000は、データ処理装置200、業務アプリケーション実行装置250,260および270を備えて構成され、それらはネットワーク240を介して相互に接続される。
業務アプリケーション実行装置250,260および270は、データ処理装置200上のデータを参照または更新するためのアプリケーションプログラムである業務アプリケーション251,261および271をそれぞれ備えている。
データ処理装置200は、業務アプリケーション251,261および271から参照または更新されるデータを管理するRDBMS230と、組織ごとに異なる固有項目を持った仮想テーブルのデータを参照または更新する手段を業務アプリケーション251,261および271に提供するテーブル仮想化部201と、を備えている。
RDBMS230は、SQL(Structured Query Language)インターフェイス部231と記憶装置210(記憶部)とを含む。SQLインターフェイス部231は、業務アプリケーション251,261および271にデータを参照または更新するためのインターフェイスとして、SQLを提供する。SQLインターフェイス部231に接続する手段として、ODBC(Open Database Connectivity)やJDBC(Java(登録商標)プログラムからデータベースにアクセスするためのインターフェイス)などが広く使われている。なお、テーブル仮想化部201が、この記憶装置210上の表にアクセスするためにSQLインターフェイス部231を使ってもよい。
記憶装置210は、複数の組織で共有する共通項目の値を格納する共通項目表211(共通項目情報)、組織固有の固有項目の値を格納し、固有項目の値の型ごとに異なる表を含む固有項目表220(固有項目情報)、固有項目表220と型の関係を格納する固有項目表管理表212(固有項目情報管理情報)を含む。
VARCHAR型固有項目表221は、VARCHAR型(可変長文字列型)の固有項目の値を格納する。同様に、INT型固有項目表222およびDATE型固有項目表223は、それぞれINT型(数値型)およびDATE型(日付型)の固有項目の値を格納する。なお、これらの型以外の固有項目表を含んでもよい。
次に、データ処理システム10000のハードウェア構成などについて説明する。図3(業務アプリケーション実行装置250,260および270のハードウェア構成は同様なので、代表して業務アプリケーション実行装置250について図示)に示すように、データ処理装置200は、CPU(Central Processing Unit)311、主記憶装置300、二次記憶装置310、及び通信インターフェイス312を備え、それらはバス313によって相互に接続される。
主記憶装置300は、CPU311によって実行されるテーブル仮想化プログラム301およびRDBMSプログラム302を含む。テーブル仮想化プログラム301は、テーブル仮想化部201を含む。RDBMSプログラム302は、RDBMS230を含み、さらに、RDBMS230はSQLインターフェイス部231を含む。
二次記憶装置310は、図1の記憶装置210に相当する。
通信インターフェイス312は、ネットワーク240に接続する手段である。
業務アプリケーション実行装置250は、CPU321、主記憶装置322、二次記憶装置323、および通信インターフェイス325を備え、それらはバス324によって相互に接続される。
主記憶装置300は、CPU321によって実行される業務アプリケーション251を記憶する。通信インターフェイス325は、ネットワーク240に接続する手段である。
ここで、図28を参照して、テーブル仮想化部201について説明する。図28に示すように、テーブル仮想化部201は、参照処理部621、追加処理部622、更新処理部623を含む。
参照処理部621は、項目種別の判定処理部2801(項目種別判定処理部)、固有項目の参照の変換処理部2802(固有項目参照変換処理部)、共通項目の参照の変換処理部2803(共通項目参照変換処理部)およびレコード出力処理部2804を含む(詳細は後述)。
追加処理部622は、レコード分割処理部2811、共通項目レコード追加処理部2812および固有項目レコード追加処理部2813を含む(詳細は後述)。
更新処理部623は、レコード分割処理部2821、共通項目レコード更新処理部2822および固有項目レコード更新処理部2823を含む(詳細は後述)。
次に、図4を参照して、共通項目表211および固有項目表管理表212について説明する。図4に示すように、共通項目表211は、レコードを識別するためのID(IDentification)401および複数の組織で共有する共通項目を含む。図4の例では、共通項目として、企業名402、所在地403および代表者404を示している。
固有項目表管理表212は、固有項目表220に格納する固有項目値の型を表す型411、および、固有項目表の名前を表す固有項目表名412(固有項目情報の名前)を含む。
図5を参照して、固有項目表220について説明する。図5に示すように、VARCHAR型固有項目表221は、ID501、利用組織502(組織名)、項目名503(固有項目名)、項目値504(固有項目値)を含む。ID501は、レコードを識別するための識別子であり、共通項目表211のID401(図4参照)と同じ識別子を格納する。利用組織502は、固有項目を利用する組織を表す組織名を格納する。項目名503は、固有項目の名前を格納する。項目値504は、固有項目の値を格納する。
INT型固有項目表222およびDATE型固有項目表223は、VARCHAR型固有項目表221の場合と比べて、項目値504の型が異なる他は同様なので、説明を省略する。
図6を参照して、参照処理部621の処理で使われる項目一覧表600と仮想行610について説明する。項目一覧表600は、参照処理部621の処理において、入力された項目に関する情報を記憶するのに使われる。
図6に示すように、項目一覧表600は、項目名601、項目種別602、固有項目の検索条件式603を含む。項目名601は、項目の名前を表す。項目種別602は、項目が共通項目か固有項目のどちらであるかを表す。固有項目の検索条件式603は、項目が固有項目の場合に、固有項目の値を固有項目表220から検索するのに用いる条件式を表す。
仮想行610は、参照処理部621の処理において、出力するレコードを作成するのに使われる。仮想行610は、業務アプリケーション251から入力された出力項目名の一覧の内容に対応して列が変わる。図6の仮想行610は、その一例を示している。入力ID611は必ず存在するが、企業名612、所在地613、営業担当者614、営業担当連絡先615は一例であり、出力項目名の一覧に対応する項目が指定されたときに存在する。
項目一覧表600と仮想行610は、参照処理部621の処理を実行するときに、一時的に主記憶装置300(図3参照)に格納される。参照処理部621の処理が終わったときには、項目一覧表600と仮想行610は主記憶装置300の上から削除される。
次に、図7〜17を用いて、テーブル仮想化部201の処理の流れについて説明する。
テーブル仮想化部201を構成する参照処理部621、追加処理部622、更新処理部623は、業務アプリケーション251,261および271からの要求に応じて実行される。共通項目や固有項目を含むデータを、参照するときには参照処理部621が、追加するときには追加処理部622が、更新するときには更新処理部623が、それぞれ実行される。
図7を参照して、参照処理部621の参照処理の流れについて説明する。参照処理は、組織名、出力項目名の一覧、検索条件式を入力とする。なお、組織名は、データを利用する組織の名前を表す。出力項目名の一覧は、参照する項目名の一覧を表す。検索条件式は、参照するレコードを特定するための条件を表す。これらの用語の意味は、以下、他図においても同様である。
図7に示すように、まず、参照処理では、主記憶装置300(図3参照)に項目一覧表600を作成する(ステップ701)。
続いて、項目種別の判定処理を実行する(ステップ702)。このとき、引数として組織名、出力項目名の一覧、検索条件式を指定する。このステップ702(項目種別の判定処理)の詳細については、後述する。
次に、固有項目の参照の変換処理を、組織名を引数として実行する(ステップ703)。このステップ703(固有項目の参照の変換処理)の詳細については、後述する。
そして、共通項目の参照の変換処理を実行し、その戻り値を共通項目のみの検索条件式とする(ステップ704)。このとき引数として、組織名、検索条件式を指定する。このステップ704(共通項目の参照の変換処理)の詳細については、後述する。
最後に、レコード出力処理を実行する(ステップ705)。このとき引数として、組織名、出力項目名の一覧、検索条件式、共通項目のみの検索条件式を指定する。このステップ705(レコード出力処理)の詳細については、後述する。
図8を参照して、項目種別の判定処理の流れについて説明する。項目種別の判定処理は、項目種別の判定処理部2801(図28参照)で実行される処理であり、組織名、出力項目名の一覧、検索条件式を入力とする。
図8に示すように、まず、項目種別の判定処理では、出力項目名の一覧に含まれる全ての項目について、その名前を項目名601(図6参照)に設定した行を、項目一覧表600に追加する(ステップ801)。このとき、当該行の項目種別602と固有項目の検索条件式603は空欄である。
次に、検索条件式に含まれる全ての項目について、その名前を項目名601に持つ行がまだ項目一覧表600にない場合、その名前を項目名601に設定した行を、項目一覧表600に追加する(ステップ802)。
ここで、項目一覧表600の全ての行Lについて、ステップ804〜806の手順を繰り返す(ステップ803〜807)。
Lの項目名601について、共通項目表211(図4参照)に同じ名前の項目(同じ項目名)があるかどうか判定する(ステップ804)。同じ名前の項目があればステップ805を、なければステップ806を実行する。
ステップ805では、項目一覧表600の項目種別602に「共有項目」を入れる。ステップ806では、項目一覧表600の項目種別602に「固有項目」を入れる。
図9を参照して、固有項目の参照の変換処理の流れについて説明する。固有項目の参照の変換処理は、固有項目の参照の変換処理部2802(図28参照)で実行される処理である。
図9に示すように、固有項目の参照の変換処理では、項目一覧表600の行のうち、項目種別602が「固有項目」の全ての行Lについて、ステップ902,903の処理を繰り返す(ステップ901〜904)。
ここで、行Lの項目名601を<項目名>、組織名を<組織名>とする(ステップ902)。
そして、行Lの固有項目の検索条件式603に、「利用組織=’<組織名>’ AND 項目名=’<項目名>’」を入れる(ステップ903)。
図10、および、図6の各情報の例を前提とする図11を参照して、共通項目の参照の変換処理について説明する。共通項目の参照の変換処理は、共通項目の参照の変換処理部2803(図28参照)で実行される処理であり、組織名、検索条件式を入力とする。
図10に示すように、まず、共通項目の参照の変換処理では、検索条件式を部分式に分解する(ステップ1001)。ここで、部分式とは、検索条件式を構成する式で、その式を評価すると真偽値を取る式のことである。典型的には、部分式は項目や定数を使った等式(例:営業担当者=’山田一郎’)や述語(例:所在地 LIKE ‘東京%’)であり、それらが論理演算子ANDやORで連結されて検索条件式を構成する。例えば、図11の式1102と式1104は、検索条件式1101を分解して得られた部分式である。
そして、ステップ1001で得られた全ての部分式について、ステップ1003,1004の処理を繰り返す(ステップ1002〜1005)。
ステップ1003では、部分式に含まれる項目について、項目一覧表600の項目種別602を参照する。もし、項目種別602が「固有項目」である項目が1つ以上あれば、「固有項目」の項目に関してステップ1004を実行する。そうでなければ(例えば、全ての項目の項目種別602が「共通項目」であれば)、ステップ1005へ進み、ステップ1002から始まる繰り返しを続行する。
ステップ1004では、部分式を‘TRUE’に変換する。
図11の部分式1102には、項目として「所在地」が使われているが、項目一覧表600でその項目に対応する項目種別602は「共通項目」のため、部分式1102を‘TRUE’に変換しない(部分式1103)。図11の部分式1104には、項目として「営業担当者」が使われており、項目一覧表600でその項目に対応する項目種別602は「固有項目」のため、部分式1104を‘TRUE’に変換する(部分式1105)。
ステップ1006では、分解した部分式を1つの検索条件式にまとめ、戻り値として返す。1つの検索条件式にまとめるときは、ステップ1001で部分式に分解したときの論理演算子を使う。例えば、図11では、部分式1103と部分式1105を1つの検索条件式1106にまとめた例を示している。部分式1103と部分式1105は、ANDで連結されていた検索条件式1101をステップ1001で分解したものであるため、検索条件式1106もANDで連結している。
図12を参照して、レコード出力処理の流れについて説明する。レコード出力処理は、レコード出力処理部2804(図28参照)で実行される処理であり、組織名、出力項目名の一覧、検索条件式、固有項目のみの検索条件式を入力とする。
図12に示すように、まず、レコード出力処理では、項目一覧表600の全ての項目名601を列に持つ仮想行610(図6参照)を作る(ステップ1201)。
続いて、共通項目表211(図4参照)の行Lのうち、固有項目のみの検索条件式が成立する行Lについて、ステップ1203〜1209の処理を繰り返す(ステップ1202〜1210)。
項目一覧表600で項目種別602が「共通項目」である全ての項目名601に対応する列(カラム)の値とIDを行Lから取得し、仮想行610の対応する列に格納する(ステップ1203)。
そして、項目一覧表600で項目種別602が「固有項目」の行Mについて、ステップ1205からステップ1207の処理を繰り返す(ステップ1204)。
仮想行610のID611と同じIDを持ち、行Mの固有項目の検索条件式603が成立する行Nを検索する(ステップ1205)。
次に、行Mの項目名601と同じ名前を持つ仮想行610の列に、行Nの項目値504(図5参照)の値を格納する(ステップ1206)。ここで、もしステップ1205で行Nが存在しなかった場合、仮想行610の当該列には‘NULL’を格納する。
続いて、仮想行610は検索条件式が成立するかどうか判定し(ステップ1208)、成立する場合(Yes)はステップ1209を実行し、成立しない場合(No)はステップ1209をスキップする。
ステップ1209では、入力された検索条件式が成立するレコードとして、仮想行610を業務AP(業務アプリケーション実行装置250の業務アプリケーション251など)に出力する。
図13、および、図4の各情報の例を前提とする図14を参照して、追加処理の流れについて説明する。追加処理は追加処理部622(図1参照)で実行される処理である。
図13に示す処理のうち、ステップ1301,1302の処理1321は、レコード分割処理部2811(図28参照)で実行されるレコード分割処理である。また、ステップ1303の処理1322は、共通項目レコード追加処理部2812(図28参照)で実行される共通項目レコード追加処理である。さらに、ステップ1304〜1308の処理1323は、固有項目レコード追加処理部2813(図28参照)で実行される固有項目レコード追加処理である。
なお、追加処理は、組織名およびレコードを入力とする。レコードは、追加するレコードを表す。
まず、追加処理では、レコードから、共通項目表211(図4参照)の項目と同じ項目を持つ列のみ残した共通項目レコードを作成する(ステップ1301)。図14の例では、レコード1450から、共通項目であるID、企業名、所在地(共通項目1451)のみ残した共通項目レコード1452を作成している。
さらに、レコードから、共通項目表211の項目と同じ項目を持つ列を取り除いた(ただし、IDは残す)固有項目レコードを作成する(ステップ1302)。図14の例では、共通項目である企業名、所在地(共通項目1451)を取り除き、ID、営業担当者、営業担当連絡先を列として持つ固有項目レコード1454を作成している。
そして、共通項目レコードを共通項目表211(図4参照)に追加する(ステップ1303)。
続いて、固有項目レコードのIDを除く全ての列Cについて、ステップ1305〜1307の処理を繰り返す(ステップ1304〜1308)。
まず、列Cの値の型を判定し、その型をTYPEとする(ステップ1305)。続いて、固有項目表管理表212(図4参照)から、型TYPEと同じ型411を持つ行を検索し、その固有項目表名412をTABLEとする(ステップ1306)。
テーブル名がTABLEと同じ固有項目表(図5のVARCHAR型固有項目表221、INT型固有項目表222、DATE型固有項目表223のいずれか)に、ID501が固有項目レコードのIDの値、利用組織502が組織名、項目名503が列Cの項目名、項目値504が列Cの値である行を追加する(ステップ1307)。図14では、列Cが営業担当者の場合に追加する行の例としてレコード1455、列Cが営業担当連絡先の場合に追加する行の列としてレコード1456を示している。
図15を参照して、更新処理の流れについて説明する。更新処理は、更新処理部623(図1参照)で実行される。図15に示す処理のうち、ステップ1501,1502の処理1521は、レコード分割処理部2821(図28参照)で実行される処理である。更新処理は、組織名およびレコードを入力とする。レコードは、更新するレコードを表す。
図15に示すように、まず、更新処理では、レコードから、共通項目表211(図4参照)の項目と同じ項目名を持つ列のみ残した共通項目レコードを作成する(ステップ1501)(図13のステップ1301と同様)。
続いて、レコードから、共通項目表211の項目と同じ項目を持つ列を取り除いた(ただし、IDは残す)固有項目レコードを作成する(ステップ1502)(図13のステップ1302と同様)。
そして、共通項目レコード更新処理を実行する(ステップ1503:詳細は図16で後述)。
最後に、固有項目レコード更新処理を実行する(ステップ1504:詳細は図17で後述)。
図16を参照して、共通項目レコード更新処理について説明する。共通項目レコード更新処理は、共通項目レコード更新処理部2822(図28参照)で実行され、組織名および共通項目レコードを入力とする。なお、共通項目レコードに含まれる項目は、共通項目のみでなければならない。
図16に示すように、まず、共通項目レコード更新処理では、レコードにおけるIDと同じIDを持つ行を共通項目表211(図4参照)から検索し、その行を行Lとする(ステップ1601)。
続いて、レコードの全ての列Cについて、ステップ1603の処理を繰り返す(ステップ1602〜1604)。
ステップ1603では、列Cの項目と同じ項目名の行Lの列を、列Cの値で更新する。
図17を参照して、固有項目レコード更新処理について説明する。固有項目レコード更新処理は、固有項目レコード更新処理部2823(図28参照)で実行され、組織名および固有項目レコードを入力とする。なお、固有項目レコードに含まれる項目は、IDと固有項目のみでなければならない。
図17に示すように、まず、固有項目レコード更新処理では、レコードにおけるIDの値を、idとする(ステップ1701)。
次に、レコードの全ての列Cについて、ステップ1703からステップ1714までの処理を繰り返す(ステップ1702〜1715)。
列Cの値の型を判定し、その型をTYPEとする(ステップ1703)。そして、固有項目表管理表212(図4参照)から、型TYPEと同じ型を持つ行を検索し、その固有項目表名412と同じ名前を持つ固有項目表をTとする(ステップ1704)。
そして、固有項目表T(図5参照)から、利用組織502が組織名と等しく、項目名503が列Cの項目名と等しく、IDがidと等しい行Lを検索する(ステップ1705)。ここで、行Lが存在した場合(ステップ1706でYes)はステップ1707を実行し、存在しない場合(ステップ1706でNo)はステップ1708を実行する。
ステップ1707では、行Lの項目値504を、列Cの値で更新する。ステップ1708では、ID501がid、利用組織502が組織名、項目名503が列Cの項目名、項目値504が列Cの値である行を、固有項目表Tに追加する。
次に、固有項目表管理表212の、型411がTYPEでない全ての行の固有項目表名412について、その名前を持つ固有項目表Tに対して、ステップ1711〜1713の処理を繰り返す(ステップ1710〜1714)。
まず、固有項目表Tから、利用組織502が組織名と等しく、項目名503が列Cの項目名と等しく、ID501がidと等しい行Lを検索する(ステップ1711)。
ここで、行Lが存在した場合(ステップ1712でYes)はステップ1713を実行し、存在しない場合(ステップ1706でNo)はステップ1714へ進む。ステップ1713では、行Lを固有項目表Tから削除する。
このように、本発明の第1の実施形態によれば、業務アプリケーション251,261および271は、テーブル仮想化部201に含まれる参照処理部621、追加処理部622および更新処理部623を利用し、その出力を得ることで、共通項目と固有項目を含むデータを参照または更新することができる。このとき、共通項目表211や固有項目表220の構造を意識する必要がない。さらに、共通項目と固有項目を区別する必要がないため、共通項目と固有項目が混在した組織専用の表に対して、レコードを参照または更新しているかのように、データを参照または更新することができる。
また、固有項目の追加は、新しい固有項目を列として持つレコードを追加する(追加処理を実行する)ことにより実現できる。このとき、記憶装置210に格納しているいずれの表の構造も変更する必要がないため、固有項目を追加しても、他の組織やデータ処理システム10000の運用に影響をほとんど与えずに済む。
(第2の実施形態)
本発明の第1の実施形態では、テーブル仮想化部201に含まれる参照処理部621、追加処理部622、更新処理部623がデータを参照または更新する手順を実行していた。それに対して第2の実施形態では、RDBMSのビュー表がデータを参照または更新する手順を実行する。
図18を参照して、本発明の第2の実施形態のデータ処理システム10000a(10000)の構成について説明する。なお、第1の実施形態のデータ処理システム10000と同様の構成には同様の符号を付し、説明を適宜省略する。
データ処理装置200a(200)は、第1の実施形態のデータ処理装置200と比べ、テーブル仮想化部201が削除され、テーブルビュー仮想化部1800と固有項目管理表1810とが追加された点で異なっている。
テーブルビュー仮想化部1800は、固有項目を定義する手段を提供する固有項目定義部1801と、データを参照または更新するためのビュー表定義を生成するビュー表定義生成部1802とを含む。
固有項目管理表1810は、固有項目の定義に関する情報を含み、固有項目定義部1801によって更新され、ビュー表定義生成部1802から参照される。
図19を参照して、固有項目管理表1810について説明する。固有項目管理表1810は、組織名1901と、固有項目名1902と、型1903と、固有項目表名1904とを含む。組織名1901は、固有項目を利用する組織の組織名を表す。固有項目名1902は、固有項目の名前を表す。型1903は、固有項目の型を表す。固有項目表名1904は、固有項目表の名前を表す。
図20を参照して、固有項目定義部1801で固有項目定義を追加するときの処理の流れについて説明する。
図20に示すように、固有項目定義部1801は、システム利用者から、組織名、固有項目名および型の入力を受け付ける(ステップ2001)。
そして、固有項目管理表1810に、ステップ2001で受け付けた入力に対応する行を追加する(ステップ2002)。具体的には、固有項目管理表1810の新たな行の組織名1901、固有項目名1902および型1903に、入力のあった組織名、固有項目名および型を格納する。また、固有項目表管理表212(図4参照)から型1903と型411が同じ行を検索し、その固有項目表名412の値を固有項目表名1904に格納する。
次に、ビュー表定義生成部1802のビュー表定義生成処理を実行する(ステップ2003)。ビュー表定義生成処理の入力として、組織名には、ステップ2001の入力で受け付けた組織名を設定する。ビュー表定義生成処理の詳細は、図21で後述する。
最後に、ビュー表定義生成処理(ステップ2003)で出力されたビュー表を、入力された組織名に対応する組織がデータを参照または更新するためのビュー表として出力する(ステップ2004)。
図21、および、SQL文などの例を示す図22、図23を適宜参照して、ビュー表定義生成部1802のビュー表定義生成処理について説明する。前記したように、ビュー表定義生成処理は、組織名を入力とする。組織名は、ビュー表を利用する組織の組織名を表す。
図21に示すように、まず、ビュー表定義生成処理では、固有項目管理表1810から、組織名1901の値が入力した組織名と等しい行LSを検索する(ステップ2101)。ここで、行LSは複数行になることがある。
次に、行LSの全ての行Lについて、ステップ2103〜2105の処理を繰り返す(ステップ2102〜2106)。
まず、SQLのSELECT文を生成する(ステップ2103)。このSELECT文は、行Lの固有項目表名1904と同じ名前を持つ固有項目表(固有項目表220における3つの固有項目表のいずれか)から、利用組織502が入力の組織名と等しく、かつ行Lの固有項目名1902が項目名503の値と等しい行の、ID501と項目値504を取得する処理を記述するものである。ただし、項目値504の列名は、固有項目名1902の値とする。
例えば、行Lが図19の固有項目管理表1810の行1911の場合、組織名1901が「営業」、固有項目表名1904が「VARCHAR型固有項目表」、固有項目名1902が「営業担当者」である。このときステップ2103によって、VARCHAR型固有項目表221(図5参照)から、利用組織502が「営業」と等しく、かつ項目名503が「営業担当者」と等しい行の、ID501と項目値504を取得するSELECT文が生成される。ここで、そのSELECT文で取得した項目値504の列名は、「営業担当者」となる。図22のSQL文の例2201の2行目〜4行目は、そのSELECT文の例を示している。
また、同様に行Lが図19の固有項目管理表1810の行1912の場合、図22のSQL文の例2202の2行目〜4行目に相当するSELECT文が、ステップ2103で生成される。
図21に戻って説明を続けると、次に、ステップ2103で生成したSELECT文を実行するビュー表定義を、ビュー表名を「{組織名}_{固有項目名}」として生成する(ステップ2104)。ここで、「{組織名}」には入力の組織名、「{固有項目名}」には行Lの固有項目名1902が入る。
例えば、入力の組織名が「営業」で、行Lが図19の固有項目管理表1810の行1911で、固有項目名1902が「営業担当者」の場合、ステップ2104はビュー表名「営業_営業担当者」として、図22のSQL文の例2201に示すビュー表定義を出力する。この場合のビュー表の構造は、図22のビュー表「営業_営業担当者」の例2210のようになる。同様に、行Lが図19の固有項目管理表1810の行1912の場合に出力するビュー表「営業_営業担当連絡先」の定義は、図22のSQL文の例2202となり、ビュー表の構造は図22のビュー表「営業_営業担当連絡先」の例2220のようになる。
そして、ステップ2104で生成したビュー表定義を、SQLインターフェイス部231を通じてRDBMS230に入力し、ビュー表を作成する(ステップ2105)。
続いて、ステップ2107では、SQLのSELECT文を生成する。このSELECT文は、共通項目表211(図4参照)と、ステップ2104で生成した全てのビュー表定義に対応するビュー表「{組織名}_{固有項目名}」を、共通項目表211のID401と等しいID2211を持つ行で連結し、共通項目表211の全ての項目(列)と、全てのビュー表「{組織名}_{固有項目名}」の固有項目を表す列を取得する。
例えば、固有項目管理表1810が図19に示す内容で、入力の組織名が「営業」の場合、共通項目表211(図4参照)と、ビュー表「営業_営業担当者」2210およびビュー表「営業_営業担当連絡先」2220を、共通項目表211のID401と等しいID2211を持つ行で連結し、共通項目表211と、営業担当者2212および営業担当連絡先2213を取得するSELECT文を生成する。図23のSQL文の例2203の2行目〜4行目は、このSELECT文に相当する。
次に、ステップ2107で生成したSELECT文を実行するビュー表定義を、ビュー表名を「{組織名}」として生成する(ステップ2108)。例えば、入力の組織名が「営業」の場合、ビュー表名を「営業」として生成する。このときに生成するビュー表定義のSQL文の例を、図23のSQL文の例2203に示し、このビュー表の構造を図23のビュー表「営業」2230に示す。
続いて、ステップ2108で生成したビュー表定義を、SQLインターフェイス部231を通じてRDBMS230a(230)に入力し、ビュー表を作成する(ステップ2109)。
最後に、ビュー表名「{組織名}」をビュー表定義生成処理の結果として出力する(ステップ2110)。
このように、本発明の第2の実施形態によれば、固有項目定義部1801を利用して固有項目の定義を追加すると、ビュー表定義生成部1802が、共通項目と固有項目を含むビュー表を出力する。業務アプリケーション251,261および271は、このビュー表を介して、共通項目と固有項目を含むデータを参照または更新することができる。
このとき、第1の実施形態と同様、業務アプリケーション251,261および271は、共通項目表211や固有項目表220の構造を意識したり、共通項目と固有項目を区別したりする必要はない。
本発明の第1の実施形態および第2の実施形態における特徴の1つは、固有項目表220(図5参照)の構造が、組織追加などの場合でも変わらない点である。これにより、ある組織のみが利用する固有項目を変更(追加、削除または内容変更)しても、他の組織やデータ処理システムの運用に影響がほとんど発生しない。
また、他の特徴は、テーブル仮想化部201やテーブルビュー仮想化部1800によって、業務AP(営業部門顧客管理AP110、調達部門発注AP120)が共通項目表211や固有項目表220の構造を意識することなく従来通りにデータを参照および更新できる点である。これにより、業務APを新たに開発する必要がない、業務APの運用を変更する必要がないなどの効果を奏する。
具体的には、例えば、テーブル仮想化部201は、そのようなインターフェイスとしての役割を果たすために、データを参照するためのオペレーションとして、共通項目と固有項目を区別なく混在して指定された出力項目名と、共通項目と固有項目が区別なく混在した検索条件式と、組織名とを入力として、検索条件式が成立するレコードを検索し、指定された出力項目名に基づいて、共通項目の項目カラムと固有項目のカラムが混在したレコードを出力するオペレーションを提供する。
このオペレーションを提供するために、テーブル仮想化部201には、以下の4つの処理が含まれる。
(1)項目種別の判定処理(図8参照)
(2)固有項目の参照の変換処理(図9参照)
(3)共通項目の参照の変換処理(図10参照)
(4)レコード出力処理(図12参照)
(1)の項目種別の判定処理では、入力された出力項目名や検索条件式に含まれる項目名が共通項目であるか固有項目であるかの項目種別を、共通項目表のスキーマ情報に基づいてする。
(2)の固有項目の参照の変換処理では、固有項目と判断された項目について、固有項目表の組織名と項目名が、入力された組織名と固有項目と判断された項目の名前と一致する行を検索する固有項目検索条件式を作成する。
(3)の共通項目の参照の変換処理では、入力された検索条件式から、共通項目と判断された項目のみ残した共通項目検索条件式を作成する。
(4)のレコード出力処理では、共通項目検索条件式を使って共通項目表から取り出したレコードと、そのレコードと同一IDを持ち、かつ固有項目検索条件式が成立する固有項目表のレコードから取り出した固有項目の値とを、入力された出力項目名に基づいて連結して、共通項目と固有項目とが混在したレコードとして出力する。
さらに、テーブル仮想化部201が提供するインターフェイスは、データを更新するために、共通項目と固有項目が区別なく混在して指定された項目の値とIDとを持つレコードを入力として、共通項目表と固有項目表を更新するオペレーションも提供する。
このオペレーションを提供するために、テーブル仮想化部201には、以下の3つの処理が含まれる。
(11)レコード分割処理(図13の処理1321参照)
(12)共通項目レコード更新処理(図16参照)
(13)固有項目レコード更新処理(図17参照)
(11)のレコード分割処理では、入力されたレコードの項目が共通項目であるか固有項目であるかを共通項目表のスキーマ情報に基づいて判断し、共有項目のみ集めた共通項目レコードと、固有項目のみ集めた固有項目レコードを作成する。
(12)の共通項目レコード更新処理では、共通項目レコードで共通項目表を更新する。
(13)の固有項目レコード更新処理では、固有項目レコードの各列から、ID、組織名、項目名、項目値から構成されるレコードを作成し、固有項目表を更新する。
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。例えば、ハードウェアの構成やフローチャートの内容について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
200 データ処理装置
201 テーブル仮想化部
210 記憶装置
211 共通項目表
212 固有項目表管理表
220 固有項目表
230 RDBMS
231 SQLインターフェイス部
240 ネットワーク
250,260,270 業務アプリケーション実行装置
251,261,271 業務アプリケーション
300,322 主記憶装置
301 テーブル仮想化プログラム
302 RDBMSプログラム
310,323 二次記憶装置
311,321 CPU
312,325 通信インターフェイス
313,324 バス
621 参照処理部
622 追加処理部
623 更新処理部
1800 テーブルビュー仮想化部
1801 固有項目定義部
1802 ビュー表定義生成部
1810 固有項目管理表

Claims (9)

  1. 複数の組織が共有する情報を格納するRDBMS(Relational Data Base Management System)を有するデータ処理装置と、前記組織のいずれかが前記データ処理装置のRDBMSに格納された前記情報を使用する際に用いられ前記データ処理装置と通信可能に接続される業務アプリケーション実行装置と、を備えるデータ処理システムにおける前記データ処理装置によるデータ処理方法であって、
    前記情報は、ID(IDentification)によって識別され、複数のデータ項目から構成されており、
    前記データ処理装置は、
    前記IDと、前記複数の組織に共通のデータ項目である共通項目の値である共通項目値と、を格納する共通項目情報、および
    前記IDと、前記組織の名前である組織名と、前記組織名に対応する組織が参照・更新するデータ項目である固有項目の名前である固有項目名と、前記固有項目の値である固有項目値と、を格納する固有項目情報、を前記RDBMSに記憶しており、
    前記業務アプリケーション実行装置から入力された、前記共通項目と前記固有項目とが区別なく混在して指定された出力項目名と、前記共通項目と前記固有項目とが区別なく混在した検索条件式と、前記組織名と、に基づいて、前記共通項目と前記固有項目とが混在したレコードを前記業務アプリケーション実行装置に出力するテーブル仮想化部を備えており、
    前記テーブル仮想化部において、
    項目種別判定処理部が、入力された前記出力項目名および前記検索条件式に含まれるデータ項目が共通項目であるか固有項目であるかの項目種別を、前記共通項目情報を参照して判定し、
    固有項目参照変換処理部が、前記項目種別判定処理部で固有項目と判定されたデータ項目について、前記固有項目情報における組織名と固有項目名が、入力された前記組織名および前記固有項目と判定されたデータ項目の固有項目名と一致する部分を検索する固有項目検索条件式を作成し、
    共通項目参照変換処理部が、入力された前記検索条件式から、前記項目種別判定処理部で共通項目と判定されたデータ項目を残した共通項目検索条件式を作成し、
    レコード出力処理部が、前記共通項目検索条件式を用いて前記共通項目情報から取り出したレコードと、当該レコードと同一IDを持ち、かつ前記固有項目検索条件式を用いて前記固有項目情報から取り出した固有項目値とを、前記出力項目名に基づいて連結して、前記共通項目と前記固有項目とが混在したレコードとして出力する
    ことを特徴とするデータ処理方法。
  2. 前記テーブル仮想化部は、
    前記業務アプリケーション実行装置から入力された、前記組織名と、前記共通項目と前記固有項目が区別なく混在して指定されたデータ項目と、当該データ項目の値と、前記IDと、を持つレコードに基づいて、前記RDBMSに格納された当該IDと同一IDを持つ情報の前記共通項目値と前記固有項目値とを更新する機能を有しており、
    前記テーブル仮想化部において、
    レコード分割処理部が、入力された前記レコードのデータ項目の項目種別を、前記共通項目情報を参照して判定し、前記レコードを、前記共通項目のデータ項目を集めた共通項目レコードと、前記固有項目のデータ項目を集めた固有項目レコードとに分割し、
    共通項目レコード更新処理部が、前記共通項目レコードに基づいて前記共通項目情報を更新し、
    固有項目レコード更新処理部が、前記固有項目レコードを、前記ID、前記組織名、前記固有項目名、前記固有項目値を使ったレコードに展開し、展開した当該レコードで前記固有項目情報を更新する
    ことを特徴とする請求項1の記載のデータ処理方法。
  3. 前記固有項目情報は、固有項目の型ごとに複数設定され、それぞれに名前が付与されており、
    前記データ処理装置は、
    前記固有項目の型と、前記固有項目情報の名前と、を関係付けて格納する固有項目情報管理情報を、さらに備えており、
    前記テーブル仮想化部は、
    前記固有項目情報を用いるとき、前記固有項目の値の型に応じて、前記固有項目情報管理情報から前記固有項目情報の名前を取得して、当該名前に対応する前記固有項目情報を選択して用いる
    ことを特徴とする請求項1または請求項2に記載のデータ処理方法。
  4. 前記テーブル仮想化部の処理手順が前記RDBMSのビュー情報定義として前記データ処理装置に備えられた記憶装置に記憶されており、前記ビュー情報定義に基づいて、前記RDBMSが前記テーブル仮想化部の処理手順を実行する
    ことを特徴とする請求項1または請求項2に記載のデータ処理方法。
  5. 複数の組織が共有する情報を格納するRDBMS(Relational Data Base Management System)を有するデータ処理装置と、前記組織のいずれかが前記データ処理装置のRDBMSに格納された前記情報を使用する際に用いられ前記データ処理装置と通信可能に接続される業務アプリケーション実行装置と、を備えるデータ処理システムにおける前記データ処理装置であって、
    前記情報は、ID(IDentification)によって識別され、複数のデータ項目から構成されており、
    前記データ処理装置は、
    前記IDと、前記複数の組織に共通のデータ項目である共通項目の値である共通項目値と、を格納する共通項目情報、および
    前記IDと、前記組織の名前である組織名と、前記組織名に対応する組織が参照・更新するデータ項目である固有項目の名前である固有項目名と、前記固有項目の値である固有項目値と、を格納する固有項目情報、を前記RDBMSに記憶しており、
    前記業務アプリケーション実行装置から入力された、前記共通項目と前記固有項目とが区別なく混在して指定された出力項目名と、前記共通項目と前記固有項目とが区別なく混在した検索条件式と、前記組織名と、に基づいて、前記共通項目と前記固有項目とが混在したレコードを前記業務アプリケーション実行装置に出力するテーブル仮想化部を備えており、
    前記テーブル仮想化部は、
    入力された前記出力項目名および前記検索条件式に含まれるデータ項目が共通項目であるか固有項目であるかの項目種別を、前記共通項目情報を参照して判定する項目種別判定処理部と、
    前記項目種別判定処理部で固有項目と判定されたデータ項目について、前記固有項目情報における組織名と固有項目名が、入力された前記組織名および前記固有項目と判定されたデータ項目の固有項目名と一致する部分を検索する固有項目検索条件式を作成する固有項目参照変換処理部と、
    入力された前記検索条件式から、前記項目種別判定処理部で共通項目と判定されたデータ項目を残した共通項目検索条件式を作成する共通項目参照変換処理部と、
    前記共通項目検索条件式を用いて前記共通項目情報から取り出したレコードと、当該レコードと同一IDを持ち、かつ前記固有項目検索条件式を用いて前記固有項目情報から取り出した固有項目値とを、前記出力項目名に基づいて連結して、前記共通項目と前記固有項目とが混在したレコードとして出力するレコード出力処理部と、
    を備えることを特徴とするデータ処理装置。
  6. 前記テーブル仮想化部は、
    前記業務アプリケーション実行装置から入力された、前記組織名と、前記共通項目と前記固有項目が区別なく混在して指定されたデータ項目と、当該データ項目の値と、前記IDと、を持つレコードに基づいて、前記RDBMSに格納された当該IDと同一IDを持つ情報の前記共通項目値と前記固有項目値とを更新する機能を有し、
    入力された前記レコードのデータ項目の項目種別を、前記共通項目情報を参照して判定し、前記レコードを、前記共通項目のデータ項目を集めた共通項目レコードと、前記固有項目のデータ項目を集めた固有項目レコードとに分割するレコード分割処理部と、
    前記共通項目レコードに基づいて前記共通項目情報を更新する共通項目レコード更新処理部と、
    前記固有項目レコードを、前記ID、前記組織名、前記固有項目名、前記固有項目値を使ったレコードに展開し、展開した当該レコードで前記固有項目情報を更新する固有項目レコード更新処理部と、
    を備えることを特徴とする請求項5の記載のデータ処理装置。
  7. 前記固有項目情報は、固有項目の型ごとに複数設定され、それぞれに名前が付与されており、
    前記データ処理装置は、
    前記固有項目の型と、前記固有項目情報の名前と、を関係付けて格納する固有項目情報管理情報を、さらに備え、
    前記テーブル仮想化部は、
    前記固有項目情報を用いるとき、前記固有項目の値の型に応じて、前記固有項目情報管理情報から前記固有項目情報の名前を取得して、当該名前に対応する前記固有項目情報を選択して用いる
    ことを特徴とする請求項5または請求項6に記載のデータ処理装置。
  8. 前記テーブル仮想化部の処理手順が前記RDBMSのビュー情報定義として前記データ処理装置に備えられた記憶装置に記憶され、前記ビュー情報定義に基づいて、前記RDBMSが前記テーブル仮想化部の処理手順を実行する
    ことを特徴とする請求項5または請求項6に記載のデータ処理装置。
  9. 請求項1から請求項4のいずれか一項に記載のデータ処理方法をコンピュータに実行させるためのデータ処理プログラム。
JP2009057380A 2009-03-11 2009-03-11 データ処理方法、データ処理装置およびデータ処理プログラム Expired - Fee Related JP4741689B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009057380A JP4741689B2 (ja) 2009-03-11 2009-03-11 データ処理方法、データ処理装置およびデータ処理プログラム
US12/512,658 US8156091B2 (en) 2009-03-11 2009-07-30 Method to retain an inherent and indelible item value in a relational database management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009057380A JP4741689B2 (ja) 2009-03-11 2009-03-11 データ処理方法、データ処理装置およびデータ処理プログラム

Publications (2)

Publication Number Publication Date
JP2010211557A JP2010211557A (ja) 2010-09-24
JP4741689B2 true JP4741689B2 (ja) 2011-08-03

Family

ID=42731521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009057380A Expired - Fee Related JP4741689B2 (ja) 2009-03-11 2009-03-11 データ処理方法、データ処理装置およびデータ処理プログラム

Country Status (2)

Country Link
US (1) US8156091B2 (ja)
JP (1) JP4741689B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5433659B2 (ja) * 2011-09-30 2014-03-05 株式会社東芝 ユーザ情報提供装置及びプログラム
US9286372B2 (en) * 2013-11-06 2016-03-15 Sap Se Content management with RDBMS
JP6245571B2 (ja) * 2013-11-08 2017-12-13 国立大学法人佐賀大学 データ構造、データ生成装置、その方法及びプログラム
CN106202340B (zh) * 2016-07-04 2019-11-08 陶光毅 基于光盘的数据库双核存储系统及利用该系统的方法
JP6773708B2 (ja) * 2018-03-23 2020-10-21 株式会社日立製作所 データ移行システム及びデータ移行サーバ

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049410A (ja) * 1996-08-07 1998-02-20 Matsushita Electric Ind Co Ltd 異種データベースアクセス装置
JPH1196055A (ja) * 1997-09-19 1999-04-09 Hitachi Ltd データベースの結合処理最適化方法及び装置
US5974453A (en) * 1997-10-08 1999-10-26 Intel Corporation Method and apparatus for translating a static identifier including a telephone number into a dynamically assigned network address
JP4552242B2 (ja) * 1999-10-06 2010-09-29 株式会社日立製作所 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
US7065526B2 (en) * 2002-02-21 2006-06-20 Intuit, Inc. Scalable database management system
JP2005275831A (ja) * 2004-03-25 2005-10-06 Hitachi Ltd 情報検索システム
WO2007083371A1 (ja) * 2006-01-18 2007-07-26 Fujitsu Limited データ統合装置、方法、プログラムを記録した記録媒体
JP4832952B2 (ja) * 2006-05-10 2011-12-07 三菱電機株式会社 データベース解析システム及びデータベース解析方法及びプログラム
JP2008165447A (ja) * 2006-12-27 2008-07-17 Ntt Data Corp データアクセス装置、データアクセス方法、及び、コンピュータプログラム
US20090043864A1 (en) * 2007-08-07 2009-02-12 Rohit Shetty Method and System for Generating Globally Unique Identifiers
US9641495B2 (en) * 2007-10-25 2017-05-02 Mcafee, Inc. Method for user identification
US8392383B2 (en) * 2008-03-24 2013-03-05 Hewlett-Packard Development Company, L.P. System and method for recording files of data

Also Published As

Publication number Publication date
US8156091B2 (en) 2012-04-10
US20100235380A1 (en) 2010-09-16
JP2010211557A (ja) 2010-09-24

Similar Documents

Publication Publication Date Title
US9747360B2 (en) Mapping non-relational database objects into a relational database model
US8996502B2 (en) Using join dependencies for refresh
US8051094B2 (en) Common interface to access catalog information from heterogeneous databases
US8943059B2 (en) Systems and methods for merging source records in accordance with survivorship rules
US9760571B1 (en) Tabular DB interface for unstructured data
US7139750B2 (en) System and method for where-used searches for data stored in a multi-level hierarchical structure
CN108228817A (zh) 数据处理方法、装置和系统
US20050076015A1 (en) Dynamic query building based on the desired number of results
US7213208B2 (en) Data container for interaction between a client process and software applications
US8527502B2 (en) Method, system and computer-readable media for software object relationship traversal for object-relational query binding
US7409387B2 (en) Materialized query table matching with query expansion
US8122044B2 (en) Generation of business intelligence entities from a dimensional model
CN100452047C (zh) 执行关系数据库搜索的系统和方法
JP2003526159A (ja) 多次元データベースおよび統合集約サーバ
US9171036B2 (en) Batching heterogeneous database commands
JP4741689B2 (ja) データ処理方法、データ処理装置およびデータ処理プログラム
CA2795628A1 (en) Method and system for providing business intelligence data
KR20050061597A (ko) 버저닝된 데이터베이스에 대한 리포트를 생성하기 위한시스템 및 방법
Marotta et al. Data warehouse design: A schema-transformation approach
US8090739B2 (en) Utilization of logical fields with conditional modifiers in abstract queries
US20040054640A1 (en) Interaction between a client process and software applications
US10366089B2 (en) Ranking based on dynamic contextual information
US11921710B2 (en) Systems and methods for accessing data entities managed by a data processing system
Silva et al. Logical big data integration and near real-time data analytics

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110506

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees