JP6801268B2 - テーブル管理装置、テーブル管理方法およびテーブル管理プログラム - Google Patents

テーブル管理装置、テーブル管理方法およびテーブル管理プログラム Download PDF

Info

Publication number
JP6801268B2
JP6801268B2 JP2016133001A JP2016133001A JP6801268B2 JP 6801268 B2 JP6801268 B2 JP 6801268B2 JP 2016133001 A JP2016133001 A JP 2016133001A JP 2016133001 A JP2016133001 A JP 2016133001A JP 6801268 B2 JP6801268 B2 JP 6801268B2
Authority
JP
Japan
Prior art keywords
program
items
output
combination
condition
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
JP2016133001A
Other languages
English (en)
Other versions
JP2018005644A (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 JP2016133001A priority Critical patent/JP6801268B2/ja
Priority to US15/632,525 priority patent/US10891429B2/en
Publication of JP2018005644A publication Critical patent/JP2018005644A/ja
Application granted granted Critical
Publication of JP6801268B2 publication Critical patent/JP6801268B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Description

本発明は、テーブルの管理技術に関する。
例えば組織等の情報処理システムにおいては、組織の活動或いは組織の構成員等についてのデータが登録されたテーブルが用意され、要求に応じてデータが抽出される。このようなデータ抽出に関しては、様々な技術が文献に開示されている。
ところで、データが登録された複数のテーブルが用意されている場合において、データ分析等を行うために、それら複数のテーブルのいくつかを利用して指定の項目を含む別のテーブルを生成することをユーザが所望する場合がある。しかし、たとえテーブルを生成するための生成プログラムが予めいくつか用意されていたとしても、生成プログラムとその生成プログラムの入力に利用される入力テーブルとを選び出すことは、特にテーブル及び生成プログラムの数が多い場合には困難である。
このような問題に対処するための従来技術は知られていない。
特表2010−527472号公報 特開2000−76296号公報 特開2010−237725号公報 特開2009−76032号公報
本発明の目的は、1つの側面では、指定された出力項目を含む出力テーブルを生成するための入力テーブルと生成プログラムとを特定するための技術を提供することである。
本発明に係るテーブル管理方法は、テーブルの項目についての情報をテーブル毎に格納する第1データ格納部から、ユーザにより指定された1または複数の項目の少なくともいずれかをそれぞれ含む1または複数のテーブルを特定し、プログラムの実行時に入力される項目及び当該プログラムの実行によって出力される項目についての情報をプログラム毎に格納する第2データ格納部から、特定された1または複数のテーブルの各々から少なくともいずれかの項目が入力された場合に1または複数の項目の各々を出力するプログラムを特定し、1または複数のテーブルについての情報と特定されたプログラムについての情報とを出力する処理を含む。
1つの側面では、指定された出力項目を含む出力テーブルを生成するための入力テーブルと生成プログラムとを特定できるようになる。
図1は、情報処理装置の機能ブロック図である。 図2は、テーブル格納部に格納されているテーブルの一例を示す図である。 図3は、テーブルメタデータの一例を示す図である。 図4は、プログラムメタデータの一例を示す図である。 図5は、メインの処理フローを示す図である。 図6は、指定される出力項目の一例を示す図である。 図7は、プログラムメタデータの一例を示す図である。 図8は、テーブルメタデータの一例を示す図である。 図9は、指定される出力項目の一例を示す図である。 図10は、プログラムメタデータの一例を示す図である。 図11は、生成される入力項目の一例を示す図である。 図12は、テーブルメタデータの一例を示す図である。 図13は、テーブルの一例を示す図である。 図14は、メインの処理フローを示す図である。 図15は、メインの処理フローを示す図である。 図16は、情報処理装置の具体的な動作を説明するための図である。 図17は、情報処理装置の具体的な動作を説明するための図である。 図18は、情報処理装置の具体的な動作を説明するための図である。 図19は、情報処理装置の具体的な動作を説明するための図である。 図20は、情報処理装置の具体的な動作を説明するための図である。 図21は、情報処理装置の具体的な動作を説明するための図である。 図22は、情報処理装置の具体的な動作を説明するための図である。 図23は、情報処理装置の具体的な動作を説明するための図である。 図24は、情報処理装置の具体的な動作を説明するための図である。 図25は、情報処理装置の具体的な動作を説明するための図である。 図26は、情報処理装置の具体的な動作を説明するための図である。 図27は、情報処理装置の具体的な動作を説明するための図である。 図28は、情報処理装置の具体的な動作を説明するための図である。 図29は、コンピュータの機能ブロック図である。
図1に、本実施の形態の情報処理装置1の機能ブロック図を示す。情報処理装置1は、プログラム格納部101と、テーブル格納部102と、第1メタデータ格納部103と、第2メタデータ格納部104と、入力データ格納部105と、出力データ格納部106と、テーブル管理部11とを含む。テーブル管理部11は、テーブル特定部111と、プログラム特定部112と、出力部113とを含む。
テーブル特定部111は、入力データ格納部105に格納されているデータ、第1メタデータ格納部103に格納されているデータ及び第2メタデータ格納部104に格納されているデータに基づき処理を実行し、処理結果をプログラム特定部112に通知する。
プログラム特定部112は、テーブル特定部111から受け取った処理結果、入力データ格納部105に格納されているデータ及び第2メタデータ格納部104に格納されているデータに基づき処理を実行し、処理結果を出力部113に通知する。出力部113は、プログラム特定部112から受け取った処理結果、テーブル格納部102に格納されているデータ、プログラム格納部101に格納されているデータに基づき処理を実行し、処理結果を出力データ格納部106に格納する。
図2に、テーブル格納部102に格納されているテーブルの一例を示す。図2(a)に示されたテーブルは、項目名が「倉庫名」である項目と項目名が「所在地(都道府県)」である項目とを含むテーブルである。図2(b)に示されたテーブルは、項目名が「店舗名」である項目と項目名が「所在地(都道府県)」である項目とを含むテーブルである。図2(c)に示されたテーブルは、項目名が「日」である項目と項目名が「支店名」である項目と項目名が「売上」である項目とを含むテーブルである。
図3に、第1メタデータ格納部103に格納されているテーブルメタデータの一例を示す。図3の例では、テーブルの名前と、当該テーブルに含まれる項目の項目名とが格納される。第1メタデータ格納部103に格納されているデータは、予めユーザにより設定され或いは情報処理装置1により自動的に生成される。
図4に、第2メタデータ格納部104に格納されているプログラムメタデータの一例を示す。図4の例では、プログラムの名前と、当該プログラムの実行時に入力される項目の項目名及び当該プログラムの実行によって出力される項目の項目名とが格納される。例えば、プログラム「trans_siten」においては、或るテーブルから項目名が「支店コード」である項目が入力され、項目名が「支店名」である項目が出力される。第2メタデータ格納部104に格納されているデータは、予めユーザにより設定され或いは情報処理装置1により自動的に生成される。
プログラム格納部101には、プログラムメタデータに登録されているプログラムが格納される。
次に、図5乃至図28を用いて、情報処理装置1の動作を説明する。
まず、情報処理装置1のテーブル特定部111は、ユーザが所望する出力テーブルに含まれる出力項目の指定を、情報処理装置1の入力装置(例えばマウス或いはキーボード等)を介してユーザから受け付ける(図5:ステップS1)。例えば図6に示すように、項目名が「日」である出力項目、項目名が「支店名」である出力項目、項目名が「所在地(都道府県)」である出力項目及び項目名が「売上」である出力項目の指定を受け付ける。但し、指定される項目の数は4以外であってもよい。
テーブル特定部111は、出力テーブルに含まれる出力項目の各々を含むメタデータを有するプログラムを、プログラムメタデータにおいて探索する(ステップS3)。
テーブル特定部111は、ステップS3の処理によってプログラムが検出されたか判定する(ステップS5)。ステップS3の処理によってプログラムが検出されなかった場合(ステップS5:Noルート)、テーブル特定部111は、指定された出力項目の少なくともいずれかの項目名と同じ項目名の項目を含むテーブルを、テーブルメタデータから特定する(ステップS7)。そしてステップS15の処理に移行する。
例えば、図6に示した出力項目が指定され、プログラムメタデータが図4に示したデータであるとする。この場合、図7に示すように、指定された出力項目の各々を含むメタデータは存在しない。プログラム「trans_siten」のメタデータは、項目名が「支店名」である出力項目以外の出力項目を含まない。プログラム「sum_month」及びプログラム「join_branch」のメタデータは、いずれの出力項目も含まない。なお、xは任意の文字列を表す。
すると、ステップS7の処理が実行される。例えばテーブルメタデータが図3に示したデータであるとする。この場合、図8に示すように、項目名が「所在地(都道府県)」である項目を含むテーブル「倉庫所在地」と、項目名が「所在地(都道府県)」である項目を含むテーブル「店舗所在地」と、項目名が「日」である項目と項目名が「支店名」である項目と項目名が「売上」である項目とを含むテーブル「売り上げ」とが特定される。
図5の説明に戻り、ステップS3の処理によってプログラムが検出された場合(ステップS5:Yesルート)、テーブル特定部111は、検出されたプログラムのメタデータと、指定された出力項目の各々の項目名とから、入力項目の項目名を生成する(ステップS9)。
例えば、図9に示した出力項目が指定され、プログラムメタデータが図10に示すデータであるとする。この場合、プログラム「sum_month」の実行によって、指定された出力項目の各々が出力される。
すると、プログラム「sum_month」のメタデータを利用することで、図11に示すように、項目名が「日」である入力項目と、項目名が「売上」である入力項目とが生成される。
図5の説明に戻り、テーブル特定部111は、入力項目の少なくともいずれかの項目名と同じ項目名の項目を含むテーブルを、テーブルメタデータから特定する(ステップS11)。例えばテーブルメタデータが図12に示すデータである場合、テーブル「売り上げ」が特定される。特定されるテーブルは、例えば図13に示すようなテーブルである。
テーブル特定部111は、指定された出力項目の少なくともいずれかの項目名と同じ項目名の項目を含むテーブルを、テーブルメタデータから特定する(ステップS13)。本ステップはステップS7と同じである。
テーブル特定部111は、ステップS7において特定された1又は複数のテーブル又はステップS11及びS13において特定された1又は複数のテーブルから、テーブルの組合せを生成する(ステップS15)。組合せに含まれるテーブルの数が1であってもよい。例えばテーブルa及びテーブルbが特定された場合、テーブルa、テーブルb、並びに、テーブルa及びテーブルbとが組合せとして生成される。そして、テーブル特定部111は、生成されたテーブルの組合せをプログラム特定部112に出力する。そして処理は端子Aを介して図14のステップS17に移行する。
図14の説明に移行し、プログラム特定部112は、生成された組合せのうち未処理の組合せを1つ特定する(図14:ステップS17)。
プログラム特定部112は、プログラムメタデータから、入力に利用されるテーブルの数がステップS17において特定された組合せに含まれるテーブルの数と同じであるメタデータを有するプログラムを探索する(ステップS19)。例えば組合せに含まれるテーブルの数が2であり、プログラムメタデータが図4に示したデータである場合、プログラム「join_branch」が検出される。
プログラム特定部112は、ステップS19の処理によってプログラムが検出されたか判定する(ステップS21)。ステップS19の処理によってプログラムが検出されなかった場合(ステップS21:Noルート)、処理はステップS29に移行する。
一方、ステップS19の処理によってプログラムが検出された場合(ステップS21:Yesルート)、プログラム特定部112は、検出されたプログラムのメタデータに含まれる各条件が満たされるか判定する(ステップS23)。例えば、図4に示したプログラム「trans_siten」が検出された場合、メタデータには、条件「入力1:支店コード」及び条件「出力:支店名」が含まれる。
検出されたプログラムの条件のうち少なくともいずれかの条件が満たされない場合(ステップS25:Noルート)、処理はステップS29に移行する。一方、検出されたプログラムの各条件が満たされる場合(ステップS25:Yesルート)、検出されたプログラムとステップS17において特定された組合せとを含む候補を候補リストに登録する(ステップS27)。
プログラム特定部112は、生成された組合せのうち未処理の組合せが有るか判定する(ステップS29)。未処理の組合せが有る場合(ステップS29:Yesルート)、処理はステップS17に戻る。一方、未処理の組合せが無い場合(ステップS29:Noルート)、処理は端子Bを介して図15のステップS31に移行する。
図15の説明に移行し、プログラム特定部112は、候補リストから未処理の候補を1つ特定する(図15:ステップS31)。
プログラム特定部112は、指定された出力項目の各々が、候補に含まれるプログラムの実行によって生成されるか判定する(ステップS33)。指定された出力項目の各々が、ステップS31において特定された候補に含まれるプログラムの実行によって生成される場合(ステップS33:Yesルート)、処理はステップS39に移行する。
一方、指定された出力項目の各々が、ステップS31において特定された候補に含まれるプログラムの実行によって生成されない場合(ステップS33:Noルート)、プログラム特定部112は、指定された出力項目の各々が、候補に含まれる入力テーブルのいずれかに含まれるか判定する(ステップS35)。たとえ出力項目の各々がプログラムの実行によって生成されなくても、入力テーブルに含まれていればプログラムの実行によって出力されるので、ステップS35の処理が実行される。
指定された出力項目の各々が、候補に含まれる入力テーブルのいずれかに含まれる場合(ステップS35:Yesルート)、処理はステップS39に移行する。
一方、指定された出力項目の少なくともいずれかが、候補に含まれる入力テーブルのいずれにも含まれない場合(ステップS35:Noルート)、プログラム特定部112は、ステップS31において特定された候補を候補リストから削除する(ステップS37)。
プログラム特定部112は、候補リストに未処理の候補が有るか判定する(ステップS39)。候補リストに未処理の候補が有る場合(ステップS39:Yesルート)、処理はステップS31に戻る。
一方、候補リストに未処理の候補が無い場合(ステップS39:Noルート)、プログラム特定部112は、候補リストを出力部113に出力する。これに応じ、出力部113は、候補リストに含まれる候補のデータを表示装置(例えば、モニタ或いはプリンタ)に出力する(ステップS41)。
ユーザは、表示装置に出力された候補のデータを参照し、入力装置(例えばマウス或いはキーボード)の操作によって適切な候補を1つ選択する。これに応じ、出力部113は、候補の指定を受け付ける(ステップS43)。
出力部113は、候補に含まれるプログラムをプログラム格納部101から読み出し、候補に含まれるテーブルをテーブル格納部102から読み出す。そして、出力部113は、読み出されたプログラムを実行することで、読み出されたテーブルから、指定された出力項目の各々を含む出力テーブルを生成する(ステップS45)。出力部113は、生成された出力テーブルを出力データ格納部106に格納する。そして処理は終了する。
以上のように、本実施の形態によれば、ユーザが出力項目を指定すれば、指定された出力項目の各々を含む出力テーブルが自動的に生成される。
ここで、図16乃至図28を用いて、情報処理装置1の動作をより具体的に説明する。
まず、第1の例を示す。例えば図16に示すように、項目名が「月」である出力項目と、項目名が「売上月合計」である出力項目とが指定されたとする。この場合、図17に示すように、プログラムメタデータ1701から、項目名が「月」である項目と項目名が「x+月合計」(xは任意の文字列)である項目とが出力されるプログラム「sum_month」が特定される。すると、図18に示すように、プログラム「sum_month」のメタデータに含まれる条件から、項目名が「日」である入力項目1801と、項目名が「売上」である入力項目1802とが生成される。図19に示すように、テーブルメタデータ1901からは、入力項目1801及び入力項目1802のいずれかを含むテーブルが特定される。ここでは、テーブル「支店売上」とテーブル「商品売上」とが特定されるので、図20(a)乃至図20(c)に示すような組合せが生成される。
プログラムメタデータ1701と図20(a)とを比較すると、プログラム「sum_month」については、入力に利用されるテーブルの数が1であり、プログラムメタデータ1701に登録されている各条件が満たされ、且つ、指定された出力項目1601の各々が出力される。従って、図20(a)のテーブルとプログラム「sum_month」とを含む候補が候補リストに登録される。
プログラムメタデータ1701と図20(b)とを比較すると、プログラム「sum_month」については、入力に利用されるテーブルの数が1であり、プログラムメタデータ1701に登録されている各条件が満たされ、且つ、指定された出力項目1601の各々が出力される。従って、図20(b)のテーブルとプログラム「sum_month」とを含む候補が候補リストに登録される。
その他については、候補リストには登録されない。
従って、図21に示すように、各候補のデータが表示装置に出力される。例えば、プログラム「sum_month」とテーブル「商品売上」とを含む候補が選択され、プログラム「sum_month」が実行されると、テーブル「商品売上」を入力として図22に示すようなテーブルが出力される。
次に、第2の例を示す。例えば図23に示すように、項目名が「日」である出力項目と、項目名が「支店名」である出力項目と、項目名が「所在地(都道府県)」である出力項目と、項目名が「売上」である出力項目とが指定されたとする。この場合、図24に示すように、プログラムメタデータ2401からは、指定された出力項目2301の各々が出力されるプログラムは特定されない。すると、図25に示すように、テーブルメタデータ2551から、項目名が「日」である項目、項目名が「支店」である項目、項目名が「所在地(都道府県)」である項目及び項目名が「売上」である項目のいずれかを含むテーブルが特定される。ここでは、テーブル「店舗所在地」とテーブル「支店売上」とテーブル「商品売上」とが特定されるので、図26(a)乃至(g)に示すような組合せが生成される。
プログラムメタデータ2401と図26(d)とを比較すると、プログラム「join_branch」については、入力に利用されるテーブルの数が2であり、プログラムメタデータ2401に登録されている各条件が満たされ、且つ、指定された出力項目の各々が図26(d)のテーブルのいずれかに含まれる。従って、図26(d)のテーブルとプログラム「join_branch」とを含む候補が候補リストに登録される。
プログラムメタデータ2401と図26(d)とを比較すると、プログラム「join」については、入力に利用されるテーブルの数が2であり、プログラムメタデータ2401に登録されている各条件が満たされ、且つ、指定された出力項目の各々が図26(d)のテーブルのいずれかに含まれる。従って、図26(d)のテーブルとプログラム「join」とを含む候補が候補リストに登録される。
その他については、候補リストには登録されない。
従って、図27に示すように、各候補のデータが表示装置に出力される。例えば、プログラム「join_branch」とテーブル「店舗所在地」及びテーブル「支店売上」とを含む候補が選択され、プログラム「join_branch」が実行されると、テーブルテーブル「店舗所在地」及びテーブル「支店売上」を入力として図28に示すようなテーブルが出力される。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べた情報処理装置1は、コンピュータ装置であって、図29に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。例えば、テーブル特定部111とプログラム特定部112と出力部113とは、上記アプリケーションプログラムがCPU2503により実行されることで実現される。また、例えば、プログラム格納部101と、テーブル格納部102と、第1メタデータ格納部103と、第2メタデータ格納部104と、入力データ格納部105と、出力データ格納部106とは、メモリ2501又はHDD2505に設けられる。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係るテーブル管理方法は、(A)テーブルの項目についての情報をテーブル毎に格納する第1データ格納部(例えば第1メタデータ格納部103)から、ユーザにより指定された1または複数の項目(例えば指定された出力項目)の少なくともいずれかをそれぞれ含む1または複数のテーブルを特定し、(B)プログラムの実行時に入力される項目及び当該プログラムの実行によって出力される項目についての情報をプログラム毎に格納する第2データ格納部(例えば第2メタデータ格納部104)から、特定された1または複数のテーブルの各々から少なくともいずれかの項目が入力された場合に1または複数の項目の各々を出力するプログラムを特定し、(C)1または複数のテーブルについての情報と特定されたプログラムについての情報とを出力する処理を含む。
このように、指定された1または複数の項目の少なくともいずれかをそれぞれ含む1または複数のテーブルに限定して処理が実行される。これにより、処理時間を短縮しつつ、指定された1または複数の項目を含む出力テーブルを生成するための入力テーブルと生成プログラムとを特定できるようになる。
また、特定されたプログラムは、1または複数の項目の各々が当該プログラムの実行によって出力される項目のいずれかと一致するという第1条件、または、1または複数の項目の各々が1または複数のテーブルの項目のいずれかと一致するという第2条件を満たしてもよい。出力が適切ではないプログラムを除外できるようになる。
また、特定されたプログラムは、1または複数のテーブルの数と当該プログラムの入力に利用されるテーブルの数とが一致するという第3条件を満たしてもよい。入力の数が適切ではないプログラムを除外できるようになる。
また、特定されたプログラムは、当該プログラムの実行時に入力される各項目が1または複数のテーブルの項目のいずれかと一致し且つ当該プログラムの実行によって出力される各項目が1または複数の項目のいずれかと一致するという第4条件を満たしてもよい。入力又は出力が適切ではないプログラムを除外できるようになる。
また、本テーブル管理方法は、(D)1または複数の項目の各々を出力するプログラムを第2データ格納部から特定し、(E)特定されたプログラムの入力及び出力についての情報と1または複数の項目の各々とから、1または複数の入力項目を生成する処理をさらに含んでもよい。そして、第4条件が、プログラムの実行時に入力される各項目が1または複数のテーブルの項目のいずれか又は1または複数の入力項目のいずれかと一致し、且つ、プログラムの実行によって出力される各項目が1または複数の項目のいずれかと一致するという条件であってもよい。上記のようにして生成された1または複数の入力項目をも利用することで、より適切なプログラムを特定できるようになる。
また、本テーブル管理方法は、(F)特定されたプログラムを、1または複数のテーブルの項目を入力として実行することで、1または複数の項目の各々を含む出力テーブルを生成する処理をさらに含んでもよい。ユーザが要求する出力テーブルを生成できるようになる。
本実施の形態の第2の態様に係るテーブル装置は、(G)テーブルの項目についての情報をテーブル毎に格納する第1データ格納部から、ユーザにより指定された1または複数の項目の少なくともいずれかをそれぞれ含む1または複数のテーブルを特定する第1特定部(例えばテーブル特定部111)と、(H)プログラムの実行時に入力される項目及び当該プログラムの実行によって出力される項目についての情報をプログラム毎に格納する第2データ格納部から、第1特定部により特定された1または複数のテーブルの各々から少なくともいずれかの項目が入力された場合に1または複数の項目の各々を出力するプログラムを特定する第2特定部(例えばプログラム特定部112)と、(I)1または複数のテーブルについての情報と特定された前記プログラムについての情報とを出力する出力部(例えば出力部113)とを有する。
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
コンピュータに、
テーブルの項目についての情報をテーブル毎に格納する第1データ格納部から、ユーザにより指定された1または複数の項目の少なくともいずれかをそれぞれ含む1または複数のテーブルを特定し、
プログラムの実行時に入力される項目及び当該プログラムの実行によって出力される項目についての情報をプログラム毎に格納する第2データ格納部から、特定された前記1または複数のテーブルの各々から少なくともいずれかの項目が入力された場合に前記1または複数の項目の各々を出力するプログラムを特定し、
前記1または複数のテーブルについての情報と特定された前記プログラムについての情報とを出力する、
処理を実行させるテーブル管理プログラム。
(付記2)
特定された前記プログラムは、前記1または複数の項目の各々が当該プログラムの実行によって出力される項目のいずれかと一致するという第1条件、または、前記1または複数の項目の各々が前記1または複数のテーブルの項目のいずれかと一致するという第2条件を満たす、
付記1記載のテーブル管理プログラム。
(付記3)
特定された前記プログラムは、前記1または複数のテーブルの数と当該プログラムの入力に利用されるテーブルの数とが一致するという第3条件を満たす、
付記1又は2記載のテーブル管理プログラム。
(付記4)
特定された前記プログラムは、当該プログラムの実行時に入力される各項目が前記1または複数のテーブルの項目のいずれかと一致し且つ当該プログラムの実行によって出力される各項目が前記1または複数の項目のいずれかと一致するという第4条件を満たす、
付記1乃至3のいずれか1つ記載のテーブル管理プログラム。
(付記5)
前記コンピュータに、
前記1または複数の項目の各々を出力するプログラムを前記第2データ格納部から特定し、
特定された前記プログラムの入力及び出力についての情報と前記1または複数の項目の各々とから、1または複数の入力項目を生成する、
処理をさらに実行させ、
前記第4条件が、
前記プログラムの実行時に入力される各項目が前記1または複数のテーブルの項目のいずれか又は前記1または複数の入力項目のいずれかと一致し、且つ、前記プログラムの実行によって出力される各項目が前記1または複数の項目のいずれかと一致するという条件である、
付記4記載のテーブル管理プログラム。
(付記6)
前記コンピュータに、
特定された前記プログラムを、前記1または複数のテーブルの項目を入力として実行することで、前記1または複数の項目の各々を含む出力テーブルを生成する、
処理をさらに実行させる付記1乃至5のいずれか1つ記載のテーブル管理プログラム。
(付記7)
コンピュータが、
テーブルの項目についての情報をテーブル毎に格納する第1データ格納部から、ユーザにより指定された1または複数の項目の少なくともいずれかをそれぞれ含む1または複数のテーブルを特定し、
プログラムの実行時に入力される項目及び当該プログラムの実行によって出力される項目についての情報をプログラム毎に格納する第2データ格納部から、特定された前記1または複数のテーブルの各々から少なくともいずれかの項目が入力された場合に前記1または複数の項目の各々を出力するプログラムを特定し、
前記1または複数のテーブルについての情報と特定された前記プログラムについての情報とを出力する、
処理を実行するテーブル管理方法。
(付記8)
テーブルの項目についての情報をテーブル毎に格納する第1データ格納部から、ユーザにより指定された1または複数の項目の少なくともいずれかをそれぞれ含む1または複数のテーブルを特定する第1特定部と、
プログラムの実行時に入力される項目及び当該プログラムの実行によって出力される項目についての情報をプログラム毎に格納する第2データ格納部から、前記第1特定部により特定された前記1または複数のテーブルの各々から少なくともいずれかの項目が入力された場合に前記1または複数の項目の各々を出力するプログラムを特定する第2特定部と、
前記1または複数のテーブルについての情報と特定された前記プログラムについての情報とを出力する出力部と、
を有するテーブル管理装置。
1 情報処理装置 11 テーブル管理部
101 プログラム格納部 102 テーブル格納部
103 第1メタデータ格納部 104 第2メタデータ格納部
105 入力データ格納部 106 出力データ格納部
111 テーブル特定部 112 プログラム特定部
113 出力部

Claims (6)

  1. コンピュータに、
    テーブルの項目についての情報をテーブル毎に格納する第1データ格納部から、ユーザにより指定された1または複数の出力項目の少なくともいずれかをそれぞれ含む1または複数のテーブルを特定し、
    特定された前記1または複数のテーブルの第1の組み合わせ毎に、プログラムの実行時に入力される項目及び当該プログラムの実行によって出力される項目についての情報をプログラム毎に格納する第2データ格納部から、実行時に入力される各項目が当該第1の組み合わせのテーブルの項目のいずれかと一致し且つ実行によって出力される各項目が前記1または複数の出力項目のいずれかと一致するという第1の条件を満たすプログラムを特定し、
    プログラムが特定された前記第1の組み合わせと当該プログラムとの第2の組み合わせの各々について、前記1または複数の出力項目の各々が当該プログラムの実行によって出力される項目のいずれかと一致するという第2の条件、または、前記1または複数の出力項目の各々が前記プログラムが特定された前記第1の組み合わせのテーブルの項目のいずれかと一致するという第3の条件を満たすか確認し、
    前記第2の条件又は前記第3の条件を満たした前記第2の組み合わせについての情報を出力する、
    処理を実行させるテーブル管理プログラム。
  2. 前記プログラムを特定する処理において、
    当該第1の組み合わせに含まれるテーブルの数と力に利用されるテーブルの数とが一致するという第4条件をさらに満たすプログラムを特定する
    請求項記載のテーブル管理プログラム。
  3. 前記コンピュータに、
    前記1または複数の出力項目の各々を出力するプログラムを前記第2データ格納部から特定し、
    特定された前記プログラムの入力及び出力についての情報と前記1または複数の出力項目の各々とから、1または複数の入力項目を生成する、
    処理をさらに実行させ、
    前記第条件が、
    実行時に入力される各項目が当該第1の組み合わせのテーブルの項目のいずれか又は前記1または複数の入力項目のいずれかと一致し、且つ、実行によって出力される各項目が前記1または複数の出力項目のいずれかと一致するという条件である、
    請求項記載のテーブル管理プログラム。
  4. 前記コンピュータに、
    前記第2の条件又は前記第3の条件を満たした前記第2の組み合わせに含まれるプログラムを、前記第2の条件又は前記第3の条件を満たした前記第2の組み合わせに含まれる前記第1の組み合わせのテーブルの項目を入力として実行することで、前記1または複数の出力項目の各々を含む出力テーブルを生成する、
    処理をさらに実行させる請求項1乃至のいずれか1つ記載のテーブル管理プログラム。
  5. コンピュータが、
    テーブルの項目についての情報をテーブル毎に格納する第1データ格納部から、ユーザにより指定された1または複数の出力項目の少なくともいずれかをそれぞれ含む1または複数のテーブルを特定し、
    特定された前記1または複数のテーブルの第1の組み合わせ毎に、プログラムの実行時に入力される項目及び当該プログラムの実行によって出力される項目についての情報をプログラム毎に格納する第2データ格納部から、実行時に入力される各項目が当該第1の組み合わせのテーブルの項目のいずれかと一致し且つ実行によって出力される各項目が前記1または複数の出力項目のいずれかと一致するという第1の条件を満たすプログラムを特定し、
    プログラムが特定された前記第1の組み合わせと当該プログラムとの第2の組み合わせの各々について、前記1または複数の出力項目の各々が当該プログラムの実行によって出力される項目のいずれかと一致するという第2の条件、または、前記1または複数の出力項目の各々が前記プログラムが特定された前記第1の組み合わせのテーブルの項目のいずれかと一致するという第3の条件を満たすか確認し、
    前記第2の条件又は前記第3の条件を満たした前記第2の組み合わせについての情報を出力する、
    処理を実行するテーブル管理方法。
  6. テーブルの項目についての情報をテーブル毎に格納する第1データ格納部から、ユーザにより指定された1または複数の出力項目の少なくともいずれかをそれぞれ含む1または複数のテーブルを特定する第1特定部と、
    特定された前記1または複数のテーブルの第1の組み合わせ毎に、プログラムの実行時に入力される項目及び当該プログラムの実行によって出力される項目についての情報をプログラム毎に格納する第2データ格納部から、実行時に入力される各項目が当該第1の組み合わせのテーブルの項目のいずれかと一致し且つ実行によって出力される各項目が前記1または複数の出力項目のいずれかと一致するという第1の条件を満たすプログラムを特定する第2特定部と、
    プログラムが特定された前記第1の組み合わせと当該プログラムとの第2の組み合わせの各々について、前記1または複数の出力項目の各々が当該プログラムの実行によって出力される項目のいずれかと一致するという第2の条件、または、前記1または複数の出力項目の各々が前記プログラムが特定された前記第1の組み合わせのテーブルの項目のいずれかと一致するという第3の条件を満たすか確認する確認部と、
    前記第2の条件又は前記第3の条件を満たした前記第2の組み合わせについての情報を出力する出力部と、
    を有するテーブル管理装置。
JP2016133001A 2016-07-05 2016-07-05 テーブル管理装置、テーブル管理方法およびテーブル管理プログラム Active JP6801268B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016133001A JP6801268B2 (ja) 2016-07-05 2016-07-05 テーブル管理装置、テーブル管理方法およびテーブル管理プログラム
US15/632,525 US10891429B2 (en) 2016-07-05 2017-06-26 Device and method for managing table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016133001A JP6801268B2 (ja) 2016-07-05 2016-07-05 テーブル管理装置、テーブル管理方法およびテーブル管理プログラム

Publications (2)

Publication Number Publication Date
JP2018005644A JP2018005644A (ja) 2018-01-11
JP6801268B2 true JP6801268B2 (ja) 2020-12-16

Family

ID=60910951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016133001A Active JP6801268B2 (ja) 2016-07-05 2016-07-05 テーブル管理装置、テーブル管理方法およびテーブル管理プログラム

Country Status (2)

Country Link
US (1) US10891429B2 (ja)
JP (1) JP6801268B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076296A (ja) 1998-09-02 2000-03-14 Nippon Telegr & Teleph Corp <Ntt> 関連情報検索方法及び装置及び関連情報検索プログラムを格納した記憶媒体及び関連情報検索用データを格納した記憶媒体
US8484663B2 (en) 2007-04-27 2013-07-09 Microsoft Corporation Method of deriving web service interfaces from form and table metadata
JP5136133B2 (ja) 2007-08-29 2013-02-06 富士通株式会社 統合ルール作成支援プログラム、統合ルール作成支援システムおよび統合ルール作成支援方法
JP5399114B2 (ja) 2009-03-30 2014-01-29 株式会社日立ソリューションズ ファイルサーバ運用支援装置、方法、プログラム及び記録媒体
US9600513B2 (en) * 2011-06-09 2017-03-21 International Business Machines Corporation Database table comparison
US10114822B2 (en) * 2013-07-31 2018-10-30 Sap Se Enhanced reporting system
US20150051929A1 (en) * 2013-08-19 2015-02-19 Microsoft Corporation Ad hoc reporting with smart lists

Also Published As

Publication number Publication date
US10891429B2 (en) 2021-01-12
US20180011831A1 (en) 2018-01-11
JP2018005644A (ja) 2018-01-11

Similar Documents

Publication Publication Date Title
US20140310053A1 (en) Method and systems for providing business process suggestions and recommendations utilizing a business process modeler
JP7044893B2 (ja) 業務分析方法
JP6008693B2 (ja) 情報処理装置及びその制御方法、プログラム
CN105283843A (zh) 可嵌入的媒体内容搜索微件
US20160260341A1 (en) Cognitive bias determination and modeling
JP2013225181A (ja) 情報レコメンドシステム、方法、およびプログラム
JP2016151908A (ja) パーソナル情報匿名化支援装置
JP6758167B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP6801268B2 (ja) テーブル管理装置、テーブル管理方法およびテーブル管理プログラム
JP2015204076A (ja) 文書差分表示プログラム及び情報処理装置
KR101723310B1 (ko) 특허공보를 기반으로한 대리인 검색 서비스 제공 시스템 및 방법
JP2019016142A (ja) 入力内容確認画面表示装置、入力内容確認画面表示方法及び入力内容確認画面表示プログラム
JP6677624B2 (ja) 分析装置、分析方法、および分析プログラム
US20180293285A1 (en) Information providing method, information providing device, and computer-readable recording medium
JP5155351B2 (ja) 地図データ処理装置及び方法
JP6730596B2 (ja) ファイル提示プログラム、ファイル提示装置及びファイル提示方法
Ghabach et al. Guiding Clone-and-Own When Creating Unplanned Products from a Software Product Line
US10922106B2 (en) Systems and methods for providing globalization features in a service management application interface
JP5358981B2 (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム
JP7086873B2 (ja) 管理装置、方法及びプログラム
JP6852002B2 (ja) データ検索方法、データ検索装置及びプログラム
JP6664306B2 (ja) 類似文書抽出装置、類似文書抽出方法及び類似文書抽出プログラム
JP2011227655A (ja) 情報検索システム、情報検索方法およびプログラム
JP6680218B2 (ja) メタデータ処理方法、メタデータ処理装置及びメタデータ処理プログラム
JP2022148239A (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200605

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201109

R150 Certificate of patent or registration of utility model

Ref document number: 6801268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150