JP5933410B2 - データベース分析装置及びデータベース分析方法 - Google Patents

データベース分析装置及びデータベース分析方法 Download PDF

Info

Publication number
JP5933410B2
JP5933410B2 JP2012235686A JP2012235686A JP5933410B2 JP 5933410 B2 JP5933410 B2 JP 5933410B2 JP 2012235686 A JP2012235686 A JP 2012235686A JP 2012235686 A JP2012235686 A JP 2012235686A JP 5933410 B2 JP5933410 B2 JP 5933410B2
Authority
JP
Japan
Prior art keywords
data
data pattern
pattern
group
database
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
JP2012235686A
Other languages
English (en)
Other versions
JP2014085926A (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 JP2012235686A priority Critical patent/JP5933410B2/ja
Priority to US14/061,115 priority patent/US9436713B2/en
Priority to CN201310511560.9A priority patent/CN103778179B/zh
Publication of JP2014085926A publication Critical patent/JP2014085926A/ja
Application granted granted Critical
Publication of JP5933410B2 publication Critical patent/JP5933410B2/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/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/21Design, administration or maintenance of databases
    • G06F16/217Database tuning

Landscapes

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

Description

本発明は、データベース分析装置及びデータベース分析方法に関し、データベースに保持されているデータ群を解析するデータベース分析装置及びデータベース分析方法に適用して好適なものである。
近年、大量のデータを保持するデータベースの利用が活発になっているが、データベースの開発では、データベース内で割り当てる資源のサイズ等、データベースに関する様々なパラメータを調整する必要がある(データベースのチューニング)。データベースのチューニングを適切に行うためには、ダミーのテストデータによってデータベースに負荷を与えるテストを行い、データベースの状況を評価する方法が一般的である。
このようなテストデータを作成するときには、市販のテストデータ生成ツールを使用することができるが、データ値の範囲や出現頻度等について、生成されるデータの特性をユーザが設定する必要がある。そのためには、分析対象のデータベースにおいて、どのような特徴を有するデータが格納されているのかを確実に把握することが重要であった。
例えば特許文献1には、既存のデータベースに格納されているデータからダミーのテストデータを生成するテストデータ生成装置が記載されている。特許文献1に記載されたテストデータ生成装置は、実稼働している既存のデータベースに格納されているデータからデータの特徴を算出し、算出した特徴を活用して開発対象のデータベースに必要なテストデータを生成することによって、実情に即したダミーのテストデータを生成することができる。
特開2001−256076号公報
しかし、特許文献1に記載されたテストデータ生成装置では、分析対象とするデータ群について、データのテーブルカラム間の特徴に注目してデータの特徴を取得しているが、テーブルカラム単位のデータの特徴を取得することはできないので、データカラム単位の特徴に基づいて、網羅性を担保する適量のテストデータを生成することが難しいという課題があった。
以下に、具体例をあげて説明する。例えば、あるデータベース内のデータ群において、データカラムのデータが「空値」、「半角文字列」、「全角文字列」の3種類のデータ群に分けられるとすると、上述の3種類の情報を扱うケースそれぞれについてテストデータを作成してテストを実施することにより、データベースに対するテストの網羅性が担保できると考えられる。しかしながら、特許文献1に記載されたテストデータ生成装置の場合には、テーブルカラム単位でデータの特徴を取得することができないので、テストデータ生成装置で生成した全てのテストデータによってテストを実施するか、テストデータ生成装置で生成した全てのテストデータからランダムに選択したデータによってテストを実施するか、という方法を選択せざるを得ない。このとき、全てのテストデータを用いる場合には、テストの網羅性を確保するために、本来必要とされるテスト量以上のテストデータが使用される可能性があり、テスト費用及びテスト時間効率の面で問題がある。また、ランダムに選択したデータを用いる場合には、網羅性を担保できないという問題がある。すなわち、特許文献1に記載されたテストデータ生成装置では、データカラム単位の特徴に基づいた適切なテストデータの生成が難しい。
本発明は以上の点を考慮してなされたもので、データベースを網羅的に分析し、当該データベースのデータ群をテーブルカラム単位の特徴で分類したデータパターンを提供し得るデータベース分析装置及びデータベース分析方法を提案しようとするものである。
かかる課題を解決するため本発明においては、分析対象のデータベースに格納されているデータ群を、該データ内の指定されたテーブルカラムに着目して分析するデータベース分析装置において、データを格納する記憶部と、前記分析対象のデータベースから取得されたデータ群を前記テーブルカラムのデータ値に基づいて整理し、分析対象データとして前記記憶部に格納するデータ整理部と、前記分析対象データにおけるデータ値の差異に基づいて前記データ値ごとにグループを作成し、前記グループをまとめたデータパターンを前記記憶部に格納するデータパターン作成処理部と、前記記憶部に格納されたデータパターンの妥当性を第1の判定基準に基づいて判定するデータパターン判定処理部と、前記データパターン判定処理部による妥当性の判定において否定結果が得られた場合に、前記データパターンを変形して再構成し、前記再構成したデータパターンを前記記憶部に格納するデータパターン変形処理部と、を備え、前記データパターン変形処理部は、前記データパターンに含まれる各グループの構成要素について、概念上類似している構成要素を同じ構成要素に変換するような所定の変換規則に従って前記各グループを変形して前記データパターンを再構成するデータベース分析装置が提供される。
また、かかる課題を解決するため本発明においては、分析対象のデータベースに格納されているデータ群を、該データ内の指定されたテーブルカラムに着目して分析するデータベース分析装置によるデータベース分析方法において、前記データベース分析装置は、データを格納する記憶部を有し、前記データベース分析装置が、前記分析対象のデータベースから取得されたデータ群を前記テーブルカラムのデータ値に基づいて整理し、分析対象データとして前記記憶部に格納するデータ整理ステップと、前記データベース分析装置が、前記分析対象データにおけるデータ値の差異に基づいて前記データ値ごとにグループを作成し、前記グループをまとめたデータパターンを前記記憶部に格納するデータパターン作成ステップと、前記データベース分析装置が、前記記憶部に格納されたデータパターンの妥当性を第1の判定基準に基づいて判定するデータパターン判定ステップと、前記データベース分析装置が、前記データパターン判定ステップによる妥当性の判定において否定結果が得られた場合に、前記データパターンに含まれる各グループの構成要素について、概念上類似している構成要素を同じ構成要素に変換するような所定の変換規則に従って前記各グループを変形して前記データパターンを再構成し、前記再構成したデータパターンを前記記憶部に格納するデータパターン再構成ステップと、を備えるデータベース分析方法が提供される。
本発明によれば、データベースを網羅的に分析し、当該データベースのデータ群をテーブルカラム単位の特徴で分類したデータパターンを提供し得る。
第1の実施の形態におけるデータベース分析装置の構成例を示すブロック図である。 データベースのデータ群を分析するデータベース分析の処理手続を示すフローチャートである。 分析対象データを説明するための概略図である。 初期データパターンを作成する処理を説明するための概略図(その1)である。 初期データパターンを作成する処理を説明するための概略図(その2)である。 初期データパターンを作成する処理を説明するための概略図(その3)である。 データパターン評価基準の一例を示すテーブルである。 データパターンの妥当性を評価する処理を説明するための概略図である。 データパターン変形規則の一例を示すテーブルである。 データパターンを変形する処理を説明するための概略図(その1)である。 データパターンを変形する処理を説明するための概略図(その2)である。 データパターンを変形する処理を説明するための概略図(その3)である。 変形処理後のデータパターンのうちから再構成したデータパターンを決定する処理を説明するための概略図である。 再構成されたデータパターンに対する妥当性の評価を説明するための概略図である。 データパターンを出力する処理の一例を説明するための概略図である。 第2の実施の形態によるデータベース分析装置の構成例を示すブロック図である。 第2の実施の形態における初期データパターンの作成処理を説明するための概略図(その1)である。 第2の実施の形態における初期データパターンの作成処理を説明するための概略図(その2)である。 第2の実施の形態におけるデータパターン評価基準の一例を示すテーブルである。 第2の実施の形態におけるデータパターンの妥当性評価を説明するための概略図である。 第2の実施の形態におけるデータパターン変形規則の一例を示すテーブルである。 第2の実施の形態におけるデータパターン除外規則に基づく例外パターンの判定処理を説明するための概要図である。 第2の実施の形態における例外パターンの除外処理を説明するための概略図である。 第2の実施の形態における最終的に再構成されたデータパターンに対して妥当性を評価する処理を説明するための概要図である。 第2の実施の形態におけるデータパターンを出力する処理の一例を説明するための概略図である。
(1)第1の実施の形態
第1の実施の形態によるデータベース分析装置は、指定されたテーブルカラムに着目してデータベースの分析を行って当該データベースのデータ群を分類し、当該データベースのデータ群をテーブルカラム単位の特徴で分類したデータパターンを作成及び出力することを特徴としている。
(1−1)データベース分析装置の構成
まず、本実施の形態によるデータベース分析装置の構成について説明する。図1は、第1の実施の形態によるデータベース分析装置の構成例を示すブロック図である。データベース分析装置10は、分析対象となるデータが格納されたデータベース30にネットワーク31を介して接続し、例えば一般的な構成を有するコンピュータを用いることができる。図1に示すように、データベース分析装置10は、ネットワークインタフェース(I/F)100、CPU(Central Processing Unit)101、メモリ102、入力装置103、出力装置104、及び外部記憶装置105を備えて構成される。
ネットワークI/F100は、ネットワーク31を介してデータベース分析装置10の外部と通信可能に接続し、データベース分析装置10の外部との間でデータの入出力及び信号の送受信を行うためのインタフェースである。例えば、データベース30に格納されているデータは、ネットワーク31及びネットワークI/F100を経由してデータベース分析装置10に入力される。
CPU101は、データベース分析装置10における全体的な制御を司る。例えば、外部記憶装置105に保持される処理プログラム110を実行する場合には、CPU101が、外部記憶装置105から読み出した処理プログラム110をメモリ102に読み込み、メモリ102に読み込んだ処理プログラム110を実行する。メモリ102は、データやプログラムを一時的に格納する記憶デバイスであり、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static RAM)を用いることができる。
入力装置103は、キーボード又はマウス等の入力デバイスであり、ユーザによる入力操作に応じた信号をCPU101に送信する。例えば、ユーザからの所定の入力操作が入力装置103に行われると、当該入力操作に応じた信号を受信したCPU101による制御に従って、データベース30に保持されているデータが、ネットワーク31及び入力I/F100を介してデータベース分析装置10に入力され、外部記憶装置105に書き込まれる。
出力装置104は、ディスプレイ又はプリンタ等の出力デバイスであり、CPU101による制御に従って、データや信号を出力する。例えば、出力装置104は、後述するデータベースの分析処理の後に、CPU101による制御に従って、データベースの分析結果を示す画像をディスプレイ上に表示したり、データベースの分析結果を示すテキストデータをプリンタから出力したりする。また、データベースの分析結果をデータベース分析装置10に接続された外部機器に出力する場合には、CPU101は、ネットワークI/F100を介して、当該外部機器にデータベースの分析結果を出力させるようにすればよい。
外部記憶装置105は、内部にデータ及びプログラムを格納する記憶デバイスであり、例えばHDD(Hard Disk Drive)やCD−R(Compact Disc Recordable)等を用いることができる。なお、外部記憶装置105の代わりに、例えばUSB(Universal Serial Bus)メモリのように、データベース分析装置10に接続される補助記憶装置が用いられてもよい。図1に示すように、外部記憶装置105は、データベースの分析処理を行うための処理プログラム110を保持する。また、外部記憶装置105は、データ記憶部106、データパターン判定基準記憶部107、データパターン記憶部108、及びデータパターン変形規則記憶部109の各記憶部を有している。
データ記憶部106は、外部からネットワークI/F100を介して入力されるデータを格納する。例えば図1では、データベース30のデータがデータ記憶部106に格納される。また、データパターン記憶部108は、分析対象のデータベースに保持されるデータ群のグループ分けする方法を示す情報であるデータパターンを格納する。処理プログラム110が実行されることにより、データ記憶部106に格納されたデータ群に対するデータパターンが作成されてデータパターン記憶部108に格納される。
また、データパターン判定基準記憶部107は、データパターン判定基準を示すデータを予め保持し、データパターン変形規則記憶部109は、データパターン変形規則を示すデータを予め保持する。データパターン、データパターン判定基準及びデータパターン変形規則の詳細については、後述するデータベース分析処理の中で説明する。
処理プログラム110は、CPU101がメモリ102に読み込んで実行することにより、データパターン作成処理部111、データパターン判定処理部112、データパターン数値化処理部113、データパターン変形処理部114、データパターン視覚化処理部115、及びデータ整理部116を実現するプログラムである。
データパターン作成処理部111は、データ記憶部106に格納されているデータを参照し、データの差異に基づいてグループを作成することによって初期データパターンを作成し、データパターン記憶部108に書き込む。初期データパターンの詳細については、図4〜図6を参照しながら後述する。
データパターン判定処理部112は、データパターン記憶部108に格納されたデータパターンについて、データパターン数値化処理部113を用いて点数付けし、データパターン判定基準記憶部107から読み出したデータパターン判定基準に基づいてデータパターンの適切さが必要な水準に達しているかを判定する。データパターン数値化処理部113は、データパターンの特徴に応じて点数付けを行うことにより、データパターンを数値化する処理を行う。
データパターン変形処理部114は、データパターン変形規則記憶部109から読み出したデータパターン変形規則に基づいて、データパターン記憶部108から読み出したデータパターンを変形する処理を行う。さらにデータパターン変形処理部114は、変形したデータパターンを、データパターン数値化処理部113を用いて点数付けし、最も点数が高いデータパターンをデータパターン記憶部108に書き込む。
データパターン視覚化処理部115は、データパターン記憶部108に格納されたデータパターンを読み出し、ユーザが視覚的に容易に認識可能な所定の形式に変換して出力装置104に出力する。データパターンを変換する所定の形式とは、例えば、画像形式、表形式、グラフ形式、テキストデータ形式等である。なお、データパターン視覚化処理部115は、データパターンをコンピュータが読み取り可能な所定の形式に変換して出力するようにしてもよい。この場合、所定の形式とは、例えばテキストデータ形式やバイナリデータ形式等である。
データ整理部116は、データベース分析装置10に入力されるデータに対して所定の規則に従った整理を行い、分析対象データとしてデータ記憶部106に格納する処理を行う。なお、データ整理部116によるデータの整理は、処理プログラム110内の他の処理部111〜115による処理に優先して実行される。
データベース分析装置10は、上述した各処理部111〜116の動作によって、データベース30に保持されるデータ群に対して、同一のテーブルカラム内のデータ値に着目して特徴を分析し、特徴に応じて当該データ群をグループ分けするためのデータパターンを作成し、最終的に決定されたデータパターンに基づいてデータ群を分類することによって、データベースのデータ群をテーブルカラム単位で分析する。
(1−2)データベース分析処理
図2は、データベースのデータ群を分析するデータベース分析の処理手続を示すフローチャートである。図2を参照しながら、データベース分析装置10によるデータベース分析処理の概要を説明し、詳細については、必要に応じて他図を参照しながら説明する。
(1−2−1)分析対象データの入力
まず、入力装置103において、データベース分析の開始を指示する所定の入力操作がユーザによって行われると、データベース30に格納されているデータ群のコピーデータが、ネットワーク31及びネットワークI/F100を介してデータベース分析装置10に入力される(図2のステップS101)。データベース分析の開始を指示する所定の入力操作時には、分析対象とするデータ群と、分析時に注目するテーブルカラム(分析対象カラム)とが指定される。この分析対象カラムは、分析対象とするデータ群においてテーブルデータを構成しているカラムの1つであり、例えば、後述する図3の「商品」テーブル301においては、「商品ID」や「商品名」がカラムに相当する。
なお、データベース30からデータベース分析装置10に入力されるデータは、データベース30に格納されているデータ群の全てのコピーデータであってもよいが、処理速度の向上や格納領域の使用効率を考慮すると、データベース30に格納されているデータ群のうち分析対象として指定されたデータ群のコピーデータであることが好ましい。以後では、分析対象として指定されたデータ群のコピーデータがデータベース分析装置10に入力されたとして説明を行う。
そして、ステップS101では、データベース30からデータベース分析装置10に入力されたデータに対して、データ整理部116が、指定された分析対象カラムに注目して当該データを整理し、整理結果のデータを分析対象データとしてデータ記憶部106に格納する。
図3は、分析対象データを説明するための概略図である。図3に示す「商品」テーブル301はデータベース30に格納されているデータ群の一部であって、データベース分析の開始を指示する所定の入力操作時に分析対象として指定されたデータ群の一例である。「商品」テーブル301は、「商品」に関連する情報を収集したテーブル形式のデータであり、商品名が記載される商品名カラムや、商品名に対応して予め付与された商品IDが記載される商品IDカラム302等から構成される。
ここで、データベース分析の開始を指示する所定の入力操作時に、商品ID302が分析対象カラムに指定されたとする。このとき、データ整理部116は、商品IDカラム302に含まれるデータを整理し、分析対象データ303としてデータ記憶部106に格納する。データ整理部116は、「商品」テーブル301に格納された商品IDカラム302内の複数のデータについて、同じデータ値の出現回数をカウントする。そして、データ整理部116は、商品IDのデータ値304と該データ値304の出現回数305とを組(ペア)にして、分析対象データ303を作成する。図3に示す分析対象データ303において、ペア306は、「123456」というデータ値304を示す商品IDが「8」個存在することを示し、ペア307は、「123568」というデータ値304を示す商品IDが「2」個存在することを示している。
なお、データ整理部116は、分析対象データ303の作成時に、データ値304と出現回数305とのペアをまとめるだけでなく、さらに、商品IDのデータ値304又は出現回数305について昇順に整列する処理を行ったり、データパターンの算出のために有効な整列処理等を行ったりしてもよい。
また、第1の実施の形態では、一例として、1つのカラムに含まれるデータが全て同じ長さの文字列であるとして説明を行うが、カラムに含まれるデータの文字列長は同じでなくてもよい。異なる長さの文字列からなるデータがカラムに含まれる場合には、データ整理部116が文字列長ごとにデータ群を分ける処理を予め行ってから、後述の処理を行うようにすればよい。
(1−2−2)初期データパターンの作成
ステップS101で分析対象データ303がデータ記憶部106に入力されると、データパターン作成処理部111が、データ記憶部106から分析対象データ303を参照する。そして、データパターン作成処理部111は、分析対象データ303からデータの差異に基づいてグループを作成し、作成したグループをまとめて最初のデータパターン(初期データパターン)を作成し、作成した初期データパターンをデータパターン記憶部108に書き込む(図2のステップS102)。ここで、データの差異とは、分析対象データ303として整理されたカラムの文字列(データ値304に相当)の差異に相当し、データパターン作成処理部111は、カラムの文字列をデータ値ごとにツリー構造にして初期データパターンを作成する。
図4〜図6は、初期データパターンを作成する処理を説明するための概略図である。まず、データパターン作成処理部111は、図4に示すように、ツリーの根となるノード400を作成する。さらに、データパターン作成処理部111は、データ記憶部106に格納されている分析対象データ303を参照して1つのペア(例えばペア306)を選択し、選択したペア306に対応するツリーを作成する。このツリーは、ノード401〜407によって構成され、データ値304の先頭の文字(ペア306の場合「1」)を値に持つノード401を根とし、データ値304のk番目(kは2以上の自然数)の文字を値に持つノード402〜406が、(k−1)番目の文字を値に持つノード401〜405の子として保持されるように構成され、かつ、データ値304の末尾の文字(ペア306の場合「6」)を値に持つノード406の子として、出現回数305(ペア306の場合「8」)を値に持つノード407が保持されるように構成される。次に、データパターン作成処理部111は、ノード400にノード401を子として追加することによってツリーを合成し、ツリー410を作成する。従って図4に示すツリー410は、ペア306に対応して作成されたツリーである。
次に、図5に示すように、データパターン作成処理部111は、分析対象データ303のうち、まだ選択されていないペア(例えばペア307)を選択し、選択したペア307に対応するツリー500を図4と同様の作成方法によって作成する。そして、データパターン作成処理部111は、ノード400を根とする作成済みのツリー410に対して、ノード400の子としてツリー500の根であるノード501を追加し、ツリー410にツリー500を合成する。ツリー410にツリー500を合成する際、データパターン作成処理部111は、ツリーの同じ深さにあり、かつ、同じ文字を値に持つノードは、同一のノードとなるように合成する。例えば図5では、ツリー500におけるノード501,502,503と、ツリー410におけるノード401,402,403とが、それぞれ同じ深さにあって同じ文字を値に持つので、合成後のツリー510では同一のノード(ノード511〜513)となる。
次いで、データパターン作成処理部111は、データ記憶部106に保持されている分析対象データ303の全てのペアについて、図4〜図5に示したような方法でツリーを作成し、ノード400を根とするツリーに合成する処理を実行する。図6には、10組のペアからなる分析対象データ600と、分析対象データ600に基づいて作成されるツリー601が示されている。ツリー601は、分析対象データ600の全てのペアに対応して作成される10本のツリーを、ノード400を根として合成したツリーである。データパターン作成処理部111は、ステップS102の最後に、ツリー601を分析対象データ600に基づいた初期データパターンとしてデータパターン記憶部108に書き込む。
(1−2−3)データパターンの妥当性評価
ステップS102で初期データパターン(ツリー601)がデータパターン記憶部108に書き込まれると、データパターン判定処理部112が、データパターン記憶部108に保持されているデータパターンの妥当性を評価する(図2のステップS103)。なお、データパーン評価部112は、ステップS102に続いてステップS103の処理が行われる場合には、初期データパターンに対して妥当性を評価するが、ステップS103の処理がステップS105〜S106の処理(後述する)に続いて行われる場合には、直前のステップS105〜S106で再構成されたデータパターンに対して妥当性を評価する。
ステップS103では、まず、データパターン判定処理部112が、データパターン記憶部108に保持されているデータパターンを読み出し、データパターン数値化処理部113を用いて点数付けする。データパターン数値化処理部113は、データパターンの特徴を数値化するための所定の処理を行い、例えば、データパターンがツリー601の場合に、ツリー601を構成する葉の数を計数することによってグループ数を算出する。図6に示すツリー601では、葉の数は10であるので、データパターンは、グループ数10と点数付けされる。
データパターン判定処理部112は、データパターン数値化処理部113を用いて点数付けされたデータパターンに対し、データパターン評価基準記憶部107に保持された所定の基準(データパターン評価基準)に基づいて、当該データパターンが適切な水準を満足しているかという妥当性を判定する。
図7は、データパターン評価基準の一例を示すテーブルである。データパターン評価基準700は、予め規定されてデータパターン評価記憶部107に格納される評価基準用のテーブルデータであって、評価基準の項目が記載される評価項目欄701と、当該評価基準の項目値が記載される項目値欄702とを有して構成される。図7に示すデータパターン評価基準700では、評価基準として「グループ数の上限を5までとする」ことが設定されている。なお、データパターン評価基準は、グループ数の上限数に限定されるものではなく、グループ数の範囲がより細かく規定された基準であってもよいし、他にも例えば、出現回数に基づいて規定された基準等であってもよい。何れの場合であっても、データパターン数値化処理部113は、データパターン判定処理部112がデータパターン評価基準に基づいてデータパターンの妥当性を判定できるように、当該データパターンに対する点数付けを行うように設定される。
図8は、データパターンの妥当性を評価する処理(妥当性評価)を説明するための概略図である。図8には、データパターン記憶部108から読み出されたデータパターンを示すツリー601と、データパターン評価基準記憶部107に保持されたデータパターン評価基準700とが示されている。このとき、データパターン判定処理部112は、データパターン数値化処理部113を用いて算出されたグループ数800と、データパターン評価基準700の項目値欄702で規定されたグループ数の上限「5」とを比較する(図2のステップS104)。ステップS104では、グループ数800はツリー601におけるグループ数、すなわち「10」であるから、「5」以下という条件を満たさず、データパターン判定処理部112は、当該データパターンが妥当でないと判定し、ステップS105の処理に移行する。ステップS104で妥当と判定した場合には、ステップS107の処理に移行する。
(1−2−4)データパターンの再構成
図2のステップS105では、データパターン変形処理部114が、データパターン変形規則記憶部109から読み出したデータパターン変形規則を参照しながら、データパターン記憶部108から読み出したデータパターンを変形する。さらに、ステップS105では、データパターン変形処理部114は、変形処理後のデータパターンに対して、データパターン数値化処理部113を用いて所定の処理による点数付けを行い、点数付けの結果に基づいて、再構成したデータパターンとするデータパターンを決定し、データパターン記憶部108に書き込む。
図9は、データパターン変形規則の一例を示すテーブルである。データパターン変形規則は、データパターンが保持するデータ分類を変更してデータパターンを変形する処理のために、データパターンの情報(データパターンを構成するノードのノード値)を書き換える規則に関する情報であって、事前にデータパターン変形規則記憶部109に格納されている。図9に示すデータパターン変形規則900は、書き換えの対象となる情報(ノード値)が記載される変形前欄901と、当該情報に対する書き換え後の情報(ノード値)が記載される変形後欄902とを組にして構成される。例えば、データパターン変形規則900によれば、「a」という情報は[a−z]に書き換えられ、[0−9]という情報は「¥w」に書き換えられる。なお、変形前欄901に記載されていない情報は、書き換えを行わなくてよい。
以下では、データパターン変形処理部114が、図6に示したデータパターン(ツリー601)に対して、図9に示したデータパターン変形規則900を用いて変形する処理について、図10〜図12を参照しながら説明する。
図10〜図12は、データパターンを変形する処理を説明するための概略図である。まず、図10に示すように、データパターン変形処理部114は、データパターン記憶部108からデータパターン(ツリー601)を読み出し、ツリー601を構成するノードのうち、複数の子を有するノードを探索する。図10のツリー601において、複数の子を有するノードは、ノード1000〜1006である。例えば、ノード1001は、ノード値「C」のノードとノード値「D」のノードとを子に有している。次に、データ変形処理部114は、探索されたノード1000〜1006のそれぞれについて、当該ノードの子をデータパターン変形規則900に基づいて書き換える処理を行い、書き換え後のツリー1007〜1013を作成する。なお、ツリー601において、複数の子を有するノードが存在しない場合には、データパターン変形処理部114は、図2のステップS106でデータパターンの変形が不可能と判断して(NO)、ステップS107の処理に移行する。
図11〜図12では、複数の子を持つノードの子を書き換える処理の一例として、データパターン変形処理部114が、データパターン変形規則900に基づいて、図10のノード1002の子を書き換えていき、変形したデータパターンの最終形としてツリー1009を作成する処理について説明する。
まず、データパターン変形処理部114は、図11に示すように、データパターン601をコピーしてデータパターン1100を作成する。このとき、ノード1002の全ての子、すなわち、ノード1101,1102について、データパターン変形規則900の書き換え規則に従って、ノード値の書き換えを行う。すなわち、データパターン変形処理部114は、ノード値「4」を持つノード1101をノード値[0−9]を持つノード1103に、ノード値「5」を持つノード1102をノード値[0−9]を持つノード1104に書き換える。
次に、データパターン変形処理部114は、ツリー1100に対して、同じ深さで同じノード値を持ち、共にノード1002の子であるノード1103及びノード1104を1つのノード1200にまとめる。このとき、ツリー1100は、図12に示すツリー1201に変形される。さらに、データパターン変形処理部114は、合成されたノード1200の子にあたるノード1202〜1205に注目し、同じノード値「5」を持つノード1202及びノード1204を1つのノード1206にまとめ、同じノード値「8」を持つノード1203及びノード1205を1つのノード1207にまとめる。このとき、ツリー1201は、ツリー1208に変形される。そしてさらに、データパターン変形処理部114は、合成されたノード1206,1207のそれぞれについても同様に、同じノード値を持つ子ノードを1つにまとめる。具体的には、ノード1209及びノード12010をノード1213に合成し、ノード1211及びノード1212をノード1214に合成する。その結果、ツリー1208はツリー1215に変形される。
ここで、ツリー1215は、データ値304の文字列の末尾を示すノードまで変形処理が完了した状態であるが、ノード1213やノード1214には、子のノードとして出現回数305を示す複数のノードが存在している。このような出現回数305を示すノードについては、データパターン変形処理部114は、データ値304の文字列を示すノードのように同じノード値を持つノードを1つにまとめるのではなく、当該ノードが持つノード値を加算して1つにまとめる。具体的には、データパターン変形処理部114は、ノード1213の子であるノード1216,1217について、ノード値「8」を持つノード1216とノード値「1」を持つノード1217とをまとめて、ノード値「9」を持つノード1220とする。同様に、データパターン変形処理部114は、ノード1214の子であるノード1218,1219について、ノード値「6」を持つノード1218とノード値「2」を持つノード1219とをまとめて、ノード値「8」を持つノード1221とする。この結果、ツリー1215はツリー1009となり、ノード1002の子を書き換えて変形した最終形のデータパターンが作成される。
データパターン変形処理部114は、上述したノード1002に対する処理と同様の変形処理を、ツリー601において複数の子を有するノード1000〜1006に対してそれぞれ行うことによって、変形処理後のデータパターンを示すツリー1007〜1013を作成することができる。
図13は、変形処理後のデータパターンのうちから再構成したデータパターンを決定する処理を説明するための概略図である。まず、データパターン変形処理部114は、変形処理後のデータパターンであるツリー1007〜1013について、データパターン数値化処理部113を用いてそれぞれのツリーの葉の数をカウントし、グループ数を算出する。図13では、ツリー1007〜1013のそれぞれについて算出したグループ数1300〜1306が示されている。次に、データパターン変形処理部114は、グループ数1300〜1306のうち、最もグループ数が少ないデータパターンを1つ選択する。ここでは、「8」を有するグループ数1302に対応するツリー1009を選択する。そして、データパターン変形処理部114は、選択したツリー1009を、再構成されたデータパターンに決定し、データパターン記憶部108に書き込む。なお、図13におけるツリー1009及びツリー1012のように、最も少ないグループ数に対応するデータパターンが複数ある場合には、データパターン変形処理部114は、当該複数のデータパターンのうち何れか1つを任意に選択して再構成されたデータパターンに決定する。
次に、ステップS106では、データパターン変形処理部114が、再構成されたデータパターンが変形可能であるか判定する。具体的には例えば、再構成されたデータパターンを示すツリー1400において、複数の子を持つノードが存在する場合には、さらなる変形が可能と判定してステップS103の処理に戻る。また、再構成されたデータパターンを示すツリー1400において、複数の子を持つノードが存在しない場合には、これ以上の変形は不可能と判定して、ステップS107の処理に移行する。また、ステップS106において、再構成されたデータパターン(ツリー1400)が、再構成される前のデータパターン(ツリー600)と完全に同一である場合には、データパターン変形処理部114はデータパターンの変形が不可能と判定し、ステップS107の処理に移行する。
(1−2−5)再構成されたデータパターンの妥当性評価
図2のステップS106処理後のステップS103では、データパターン判定処理部112が、再構成されたデータパターンに対してデータパターンの妥当性を評価する。
図14は、再構成されたデータパターンに対する妥当性の評価を説明するための概略図である。再構成されたデータパターンに対する妥当性の評価は、前述した初期データパターンに対する妥当性の評価における処理と同様に、データパターン判定処理部112によって行われる。すなわち、データパターン判定処理部112は、データパターン記憶部108に保持されている再構成されたデータパターンを読み出し、データパターン数値化処理部113を用いて点数付けし、点数付けの結果と、データパターン評価基準記憶部107に保持されたデータパターン評価基準700とに基づいて、再構成されたデータパターンが適切な水準を満足しているかという妥当性を判定する。
図14では、再構成されたデータパターンを示すツリー1400について、グループ数1401として「5」が点数付けされる。グループ数1401は、データパターン評価基準700に示される「グループ数上限が5以下」という条件を満たすので、データパターン判定処理部112は、ツリー1400が妥当であると判定し、ステップS107の処理に移行する。
(1−2−6)データパターンの出力
上述してきたように、データパターンは、図2のステップS103においてデータパターン評価基準700を満足できずに否定判定が得られた場合には、ステップS104でデータパターンが再構成され、再構成されたデータパターンが変形可能であれば、再度ステップS103において妥当性の評価が行われる処理を繰り返す。そして、何れかの段階における妥当性の評価で肯定判定が得られるか、妥当性の評価で否定判定が得られてデータパターンを再構成したがそれ以上データパターンを変形できない場合(ステップS106のNO)には、ステップS107でデータパターンの出力が行われる。
ステップS107では、データパターン視覚化処理部115が、データパターン記憶部108に最後に格納されたデータパターンを読み出し、所定の形式に変換して出力装置104に出力する。なお、ステップS107におけるデータパターンの出力は、ステップS101でユーザから入力装置103に対してデータベース分析の開始が指示されるときに、出力方法(出力先及び出力形式)が指定され、データベース分析処理の終了後に自動的に、当該出力方法に応じて出力装置104に出力されるようにしてもよいし、データベース分析処理の終了後に、ユーザから入力装置103に対してデータパターンの出力を指示する所定の入力操作が行われたことを契機として実行されるようにしてもよい。また、データパターンの出力先には、ディスプレイ、プリンタ、又はファイル等の一般的な出力先を選択することができ、データパターンの出力形式は、文字やグラフィックによる画像表示や、テキストデータ又はバイナリデータ等の一般的な出力形式を選択することができる。
図15は、データパターンを出力する処理の一例を説明するための概略図である。図15では、データパターンを出力テーブル1510にまとめて出力する処理を示している。出力テーブル1510は、データパターンが保持するツリーにおけるパス構成が記載されるグループ1511と、当該パス構成で表されるデータの出現回数が記載される出現回数1512とが組(ペア)になって構成される。
データパターン視覚化処理部115は、まず、データパターン記憶部108から、最後に格納されたデータパターンを読み出す。従って、初期データパターンが変形されて再構成されたデータパターンが格納されている場合には、データパターン記憶部108から再構成されたデータパターンが読み出される。次に、データパターン視覚化処理部115は、読み出したデータパターンが保持するツリー1400から、根からそれぞれの葉までのパス1500〜1504を取得する。その後、データパターン視覚化処理部115は、取得したパス1500〜1504に含まれる葉以外のノードの値を、出力テーブル1510のグループ1511の値とし、葉のノード値を当該グループ1510とペアになる出現回数1512の値とする。図15に示す出力テーブル1510のグループ1511では、文字列の先頭に「^」を付し、文字列の終端に「$」を付している。この結果、例えば、出力テーブル1510のペア1513には、「5F3C2[A−Z]」という文字列で表されるグループが「4」回出現したことが示され、ペア1514には、「5F3D43」という文字列で表されるグループが「1」回出現したことが示される。そして、データパターン視覚化処理部115は、ユーザに指定された出力方式に従って、出力テーブル1510を出力装置104に出力する。
(1−3)本実施の形態による効果
このようなデータベース分析装置10によれば、データベースが保持するデータ群を分析する場合に、ユーザによって指定されたテーブルカラムに着目し、同一カラム内のデータ値に基づいて当該データ群の特徴を分析し、当該データ群の特徴に基づいたグループ分け(分類)を行うことができる。そして、このようなデータベース分析装置10は、分析対象のデータ群を同一カラム内のデータ値に着目してグループ分けする方法をデータパターンによって示し、出力することができるので、データベースを網羅的に分析し、当該データベースのデータ群をテーブルカラム単位の特徴で分類したデータパターンを自動的に提供し得る。かくして、ユーザが分析対象のデータベースに対するテストデータを作成する場合に当該データパターンに基づいてテストデータを作成することによって、当該データベース内のデータ群に対する網羅性を担保しながら、データの特徴に基づいた効率的なテストデータの作成に寄与する効果が期待できる。
また、このようなデータベース分析装置10では、ユーザによって指定された様々な出力方法(出力先及び出力形式)に従ってデータパターンを出力できるので、例えば視覚的に認識しやすい出力やデータ処理を行いやすい出力等、ユーザの要求に応えて柔軟な出力方法によって分析対象のデータベースの特徴を示すデータパターンを提供することができる。より具体的には、例えば、データパターンをテキストデータやバイナリデータで出力し、テストデータを生成するツールに対する入力データとして、出力データをそのまま利用することが可能となる。
また、このようなデータベース分析装置10では、データベース分析の開始を指示する際に、特徴抽出のために着目するデータ項目(テーブルカラム、カラム)が指定されればよいので、分析対象とするデータ群の具体的なデータ値やその特徴についてユーザに事前知識の把握を要求しない。従って、このようなデータベース分析装置10では、分析対象とするデータベースのデータ群に関するユーザの事前知識を必要とせずに、当該データベースの特徴を解析し、データパターンとしてユーザに提供することができる。
また、このようなデータベース分析装置10によれば、データパターンを出力する場合に、図15の出力テーブル1510のグループ1511に示したように、出力内容を抽象化(記号化)することが可能であり、抽象化した出力を行うことにより、データベースのデータ内容を部外者には分かりにくくする効果が期待できる。
(2)第2の実施の形態
第2の実施の形態によるデータベース分析装置は、第1の実施の形態によるデータベース分析装置10のように指定されたテーブルカラムに着目してデータベースの分析を行って当該データベースのデータ群の特徴を表すデータパターンを作成する際に、データ群を分類したパターングループのうち、出現頻度が低い又はデータ構成(文字パターン)が極端に異なる等の例外的な特徴を有するパターングループについて、例外パターンとしてデータパターンから除外し、データ群の特徴をより集約したデータパターンを作成することを特徴としている。
(2−1)データベース分析装置の構成
図16は、第2の実施の形態によるデータベース分析装置の構成例を示すブロック図である。図16に示すように、データベース分析装置20は、外部記憶装置201内にデータパターン例外記憶部202が新たに追加された点以外は、図1に示したデータベース分析装置10と同様の構成を備え、共通の構成要素については図1と同じ番号を付して説明を省略する。また、処理プログラム20は、データパターン変形処理部114とは異なる処理を行うデータパターン変形処理部214、及びデータパターン視覚化処理部115とは異なる処理を行うデータパターン視覚化処理部215を有する。データパターン変形処理部214及びデータパターン視覚化処理部215による処理については、図21〜図23並びに図25を参照しながら後述する。
(2−2)データベース分析処理
以下では、第2の実施の形態によるデータベース分析装置20がデータベースのデータ群を分析する処理を、図2を参照しながら説明する。データベース分析装置20によるデータベース分析処理は、データベース分析装置10による処理と同様に、図2に示したフローチャートに従って進められるので、データベース分析装置10と同様の処理を行う箇所については、詳細な説明を省略する。
(2−2−1)分析対象データの入力
まず、図2のステップS101では、入力装置103においてデータベース分析の開始を指示する所定の入力操作が行われたことを契機として、データベース30のデータ群がデータベース分析装置20に入力され、データ整理部116が該データ群を整理して分析対象カラム303をデータ記憶部106に書き込む。
(2−2−2)初期データパターンの作成
次に、ステップS102では、データパターン作成処理部111が、データ記憶部106に格納された分析対象データ303に基づいて、初期データパターンを作成し、データパターン記憶部108に書き込む。
図17及び図18は、第2の実施の形態における初期データパターンの作成処理を説明するための概略図である。図17には、データ作成処理部111が、データ記憶部106に格納されている分析対象データ303を参照して、分析対象データ303のペア306に対応するツリー1710を作成する様子が示されている。ツリー1710を作成する基本的な処理手順は、図4に示した処理と同様なので説明を省略する。ただし、ツリー1710の葉ノード1701は、出現回数305の値ではなく、葉ノード1701に対応するパス(ノード401〜406)に含まれるデータの種類数を値に持つ。すなわち、図17に示す段階では、ノード401〜406で示されるパスには、ペア306に示される1種類のデータ(データ値「123456」)が含まれるだけなので、葉ノード1701はノード値「1」を持つ。さらに、データ作成処理部111は、分析対象データ303の全てのペアについて、図17のツリー1701を作成する処理と同様の処理を行ってツリーを作成し、作成した複数のツリーを、ノード1700を根とする1つのツリーに合成する。
図18には、データ作成処理部111が、分析対象データ600の全てのペアについてツリーを作成し、1本のツリーに合成したツリー1800が示されている。ツリー1800におけるそれぞれの葉ノードは、データ種類数「1」を値に持つ。そして、データ作成処理部111は、ツリー1800を分析対象データ600に基づいた初期データパターンとしてデータパターン記憶部108に書き込む。
(2−2−3)データパターンの妥当性評価
次に、ステップS103〜S104では、データパターン判定処理部112が、データパターン記憶部108に保持されているデータパターン(ツリー1800)を読み出し、データパターン数値化処理部113を用いて点数付けし、点数付けの結果と、データパターン評価基準記憶部107に保持されたデータパターン評価基準1900とに基づいて、当該データパターンが適切な水準を満足しているかという妥当性を判定する。
図19は、第2の実施の形態におけるデータパターン評価基準の一例を示すテーブルである。図19に示すデータパターン評価基準1900では、評価基準の項目が記載される評価項目欄1901に「グループ数上限」が記載され、当該評価基準の項目値が記載される項目値欄1902に「3」が記載されていることから、「グループ数の上限を3までとする」ことが設定されている。なお、第2の実施の形態におけるデータパターン評価基準は、図19に示すようにグループ数の上限数に限定されるものではなく、グループ数の範囲がより細かく規定された基準であってもよいし、他にも例えば、出現回数に基づいて規定された基準であってもよいし、又は、後述する例外パターンの出現割合に基づいた基準(例えば例外パターンの割合が全体の5%以下である等)等であってもよい。何れの場合であっても、データパターン数値化処理部113は、データパターン判定処理部112がデータパターン評価基準に基づいてデータパターンの妥当性を判定できるように、当該データパターンに対する点数付けを行うように設定される。
図20は、第2の実施の形態におけるデータパターンの妥当性評価を説明するための概略図である。図20に示すように、データパターン判定処理部112は、データパターン記憶部108に保持されているデータパターンとしてツリー1800を読み出し、データパターン数値化処理部113を用いてツリー1800のグループ数2000を算出する。ここで、ツリー1800のグループ数2000は「10」となる。データパターン判定処理部112は、グループ数「10」を、「グループ数の上限を3までとする」データパターン評価基準1900と比較し、当該データパターンが妥当でないという判定結果を得る。ステップS104で否定結果(妥当でないという判定)が得られた場合には、ステップS105の処理に移行する。なお、ステップS104で肯定結果(妥当であるという判定)が得られた場合には、ステップS107の処理に移行する。
(2−2−4)データパターンの再構成
ステップS105では、データパターン変形処理部214が、データパターン変形規則記憶部109に格納されたデータパターン変形規則2100を参照しながら、データパターンの再構成を行う。ここで、第2の実施の形態における特徴的な処理の1つとして、データパターンの再構成処理においては、データパターンの情報を書き換えてデータパターンを変形する変形処理が行われた後で、出現頻度が低い又は文字パターンが極端に異なる等の例外的な特徴を有する例外パターンをデータパターンから除外する除外処理が行われる。
図21は、第2の実施の形態におけるデータパターン変形規則の一例を示すテーブルである。図21に示すデータパターン変形規則2100は、データパターンの情報(データパターンを構成するノードのノード値)を書き換える規則を示すデータパターン置換規則2110と、データパターンから除外する例外的なデータパターン(例外パターン)を決定するための規則を示すデータパターン除外規則2120とを含み、データパターン変形規則記憶部109に予め格納されている。データパターン置換規則2110は、第1の実施の形態において図9に示したデータパターン変形規則900に相当し、書き換えの対象となる情報(ノード値)が記載される変形前欄2111と、当該情報に対する書き換え後の情報(ノード値)が記載される変形後欄2112とを組にして構成される。また、データパターン除外規則2120は、例外的なパターン情報の判定項目が記載される判定項目欄2121と、当該判定項目における除外条件が記載される除外条件欄2122とを組にして構成される。例えば、データパターン除外規則2120には、「該当種数≦([最大]/4)」という除外規則が設定され、これはすなわち「該当種数がデータパターン中の該当種数の最大値の4分の1以下である」ことを意味する。なお、「該当種数」とは、データパターンの各パスにおけるデータの種類数のことである。
まず、データパターンの変形処理において、データパターン変形処理部214が、データパターン変形規則2100を参照しながら、データパターン記憶部108から読み出したデータパターン(ツリー1800)を書き換え、変形処理後のデータパターンに対して、データパターン数値化処理部113を用いて所定の処理による点数付けを行い、点数付けの結果に基づいて、再構成したデータパターンを決定する。このような処理は、第1の実施の形態において図10〜図13を参照して説明した処理と同様なので、説明を省略する。データパターン変形処理部214は、決定した「再構成したデータパターン」をデータパターン記憶部108に書き込む。
その後、データパターン変形処理部214は、再構成したデータパターンについて、データパターン除外規則2120を満足しているかを判定し、データパターン除外規則2120を満足するパターン情報が存在する場合には、当該パターン情報を例外パターンとしてデータパターンから除外する除外処理を行う。
図22は、第2の実施の形態におけるデータパターン除外規則に基づく例外パターンの判定処理を説明するための概要図である。図22に示すツリー2200は、ツリー1800に対するデータパターンの変形処理によって変形され、再構成したデータパターンとして決定されたツリーである。データパターン除外規則2120によれば、例外パターンの判定規則は、「ツリー2200の各パスにおけるデータの種類数(該当種数)が、データパターン中の該当種数の最大値の4分の1以下である」こととされている。ここで、ツリー2200におけるそれぞれの葉ノード2201〜2205のノード値はデータの種類数を示すので、ノード2201〜2205のノード値を参照する。その結果、データパターン変形処理部214は、ノード2203から最大値「4」を取得し、ノード2201〜2205のうち、最大値の4分の1、すなわち、「1」以下であるノード値を持つノードが存在するかを判定する。図22を参照すれば、ノード2202,2205がノード値「1」を持ち、上述の条件に該当するので、ノード2202,2205を葉に持つパス構成が、例外パターンとして選択される。
次に、データパターン変形処理部214は、例外パターンとして選択されたパス構成をデータパターンから除外する。図23は、第2の実施の形態における例外パターンの除外処理を説明するための概略図である。まず、データパターン変形処理部214は、例外パターンとして選択されたパス構成のうち1つを選ぶ。ここでは、ノード2202を葉とするパス構成が選ばれたとする。次に、データパターン変形処理部214は、ツリー2200の根のノード2300から、当該パス構成の葉にあたるノード2202まで繋がる一連のパス2301をコピーし、例外パターンとしてデータパターン例外記憶部202に追加する。さらに、データパターン変形処理部214は、ノード2202からノード2202に最も近く、かつ、複数の子を持つ祖先のノード2001までのパス2302を、ツリー2200から取り除き、ツリー2303を作成する。その後、データパターン変形処理部214は、ノード2202の場合と同様に、ノード2205についても例外パターンをデータパターン例外記憶部202に追加し、ノード2205からノード2205に最も近く、かつ、複数の子を持つ祖先のノードまでのパスをツリー2303から取り除く。データパターン変形処理部214は、例外パターンとして選択された全てのパス構成に対して同様の処理を行って、データパターンから例外パターンを除外し、例外パターンを除外したツリーを「最終的に再構成されたデータパターン」とする。例えば、ツリー2200は、このような除外処理を行われることによって、後述する図24に示すツリー2400となる。このツリー2400が「最終的に再構成されたデータパターン」に相当し、データパターン変形処理部214は、ツリー2400をデータパターン記憶部108に書き込む。
次に、ステップS106では、データパターン変形処理部214が、「最終的に再構成されたデータパターン」が変形可能であるか判定し、変形可能と判定した場合には、ステップS103の処理に戻る。「最終的に再構成されたデータパターン」が変形不可能、又は、再構成前のデータパターンと完全に同一である場合には、ステップS107の処理に移行する。
(2−2−5)最終的に再構成されたデータパターンの妥当性評価
ステップS106の処理後のステップS103では、データパターン判定処理部112が、「最終的に再構成されたデータパターン」に対する妥当性の評価を行う。
図24は、第2の実施の形態における最終的に再構成されたデータパターンに対して妥当性を評価する処理を説明するための概要図である。最終的に再構成されたデータパターンに対する妥当性の評価は、前述した初期データパターンに対する妥当性の評価における処理と同様に、データパターン判定処理部112によって行われる。すなわち、データパターン判定処理部112は、データパターン記憶部108に保持されている「最終的に再構成されたデータパターン」を読み出し、データパターン数値化処理部113を用いて点数付けし、点数付けの結果と、データパターン評価基準記憶部107に保持されたデータパターン評価基準1900とに基づいて、再構成されたデータパターンが適切な水準を満足しているかという妥当性を判定する。
図24では、再構成されたデータパターンを示すツリー2400について、グループ数2401として「3」が点数付けされる。グループ数2401は、データパターン評価基準1900に示される「グループ数上限が3以下」という条件を満たすので、データパターン判定処理部112は、ツリー2400が妥当であると判定し、ステップS107の処理に移行する。
上述してきたように、データパターンは、図2のステップS103においてデータパターン評価基準1900を満足できずに否定判定が得られた場合には、ステップS104でデータパターンが再構成され、最終的に再構成されたデータパターンが変形可能であれば、再度ステップS103において妥当性の評価が行われる処理を繰り返す。そして、何れかの段階における妥当性の評価で肯定判定が得られるか、妥当性の評価で否定判定が得られてデータパターンを再構成したがそれ以上データパターンを変形できない場合(ステップS106のNO)には、ステップS107でデータパターンの出力が行われる。
(2−2−6)データパターンの出力
ステップS107では、データパターン視覚化処理部215が、データパターン記憶部108に最後に格納されたデータパターンを読み出し、ユーザが視覚的に容易に認識可能な所定の形式に変換して出力装置104に出力する。なお、データパターン視覚化処理部215は、データパターン視覚化処理部115と同様に、データパターンをコンピュータが読み取り可能な所定の形式に変換して出力するようにしてもよい。また、ステップS107におけるデータパターンの出力方法は、第1の実施の形態による場合と同様に、ユーザからの指定に応じて決定される。
図25は、第2の実施の形態におけるデータパターンを出力する処理の一例を説明するための概略図である。図25では、データパターンを出力テーブル2510にまとめて出力する処理を示している。出力テーブル2510は、データパターンが保持するツリーにおけるパス構成が記載されるグループ2511と、当該パス構成で表されるデータの種類数が記載される該当種数2512と、当該グループの区分が記載される区分2513とを有して構成される。グループ2511における記載方法は、図15を参照して説明したグループ1511と同様とする。また、該当種数2512に記載されるデータの種類数は、当該グループの子にあたる葉ノードのノード値に相当し、例えばツリー2400の場合にはノード2201,2203,2204のノード値である。また、区分2513には、当該グループが例外パターンに相当する場合に、例えば「例外」と記載される。
データパターン視覚化処理部215は、まず、データパターン記憶部108から、最後に格納されたデータパターンを読み出す。従って、初期データパターンが変形されて「最終的に再構成されたデータパターン」が格納されている場合には、図25に示すように、データパターン記憶部108からは「最終的に再構成されたデータパターン」に相当するツリー2400が読み出される。次に、データパターン視覚化処理部215は、読み出したデータパターンが保持するツリー2400から、根からそれぞれの葉までのパス2500〜2503を取得する。その後、データパターン視覚化処理部215は、取得したパス2500〜2503に含まれる葉以外のノードの値を、出力テーブル2510のグループ2511の値とし、葉のノード値を当該グループ2510の該当種数2512の値とする。そして、データパターン視覚処理部215は、データパターン記憶部108から読み出したデータパターンに対応する出力である場合には、区分2513に何も記載しない。
さらに、データパターン視覚化処理部215は、データパターン例外記憶部202に格納された例外パターンを読み出し、データパターン記憶部108から読み出したデータパターンと同様に、出力テーブル2510を作成する。すなわち、データパターン視覚処理部215は、パス2503,2504を取得し、パス2503,2504に含まれる葉以外のノード値をグループ2511の値とし、葉のノード値を該当種数2512の値とする。そして、データパターン視覚処理部215は、データパターン例外記憶部202から読み出した例外パターンに対応する出力である場合には、区分2513に「例外」と記載する。
この結果、図25に示すように、列2514には、データパターンの一部として「5F3C2[A−Z]」という文字列で表されるグループが「2」つのデータ種数を有することが示される。また、列2517には、「######」という文字列で表されるグループが「1」つのデータ種数を有し、当該グループは例外パターンであることが示されているが、列2517の例外パターンは、他のパターングループに比べて文字パターンが極端に異なるパターングループの一例である。また、列2518には、「5F3D43」という文字列で表されるグループが「1」つのデータ種数を有し、当該グループは例外パターンであることが示されているが、列2518の例外パターンは、他のパターングループに比べて出現頻度が低いパターングループの一例である。最後に、データパターン視覚化処理部215は、ユーザに指定された出力方式に従って、出力テーブル2510を出力装置104に出力する。
(2−3)本実施の形態による効果
このようなデータベース分析装置20では、指定されたテーブルカラムに着目し、同一カラム内のデータ値に基づいて分析対象のデータベース内のデータ群の特徴を分析し、当該データ群の特徴に基づいたグループ分け(分類)を行うだけでなく、さらに、データの種類数が所定の基準よりも少ないパターングループ、すなわち、出現頻度が低い、又は文字パターンが極端に異なる等の例外的な特徴を有するパターングループについて例外パターンとしてデータパターンから除外し、データパターンを作成及び出力する。その結果、第1の実施の形態によるデータベース分析装置10が奏する効果に加えて、分析対象のデータベース内のデータ群を、第1の実施の形態による場合よりもさらに代表的な特徴に集約したデータパターンをユーザに提供することができる。かくして、ユーザがデータベース分析装置20による出力結果に基づいてテストデータを作成する場合に、代表的なデータの特徴を把握しながらテストデータを作成することに寄与できる。
また、このようなデータベース分析装置20によれば、データパターンから除外された例外パターンも、データパターンとは区分して共に出力するので、分析対象のデータベース内のデータ群に対しての網羅性を損なうことなく、データ群の特徴をより細かくユーザに提供することができる。そして、ユーザがデータベース分析装置20による出力結果に基づいてテストデータを作成する場合には、データパターンに対応するテストデータに加えて、例外パターンとして出力されたパターングループに対応するテストデータも併せて用意することによって、出現頻度や文字パターンの傾向を意識しながら、データベースのデータ群の特徴を網羅したテストデータを作成することができる。
また、このようなデータベース分析装置20では、データベースの分析処理において、例外パターンを除外しながらデータパターンを再構成することにより、データパターンの再構成における処理時間が短縮され、データベースの分析処理に要する全体的な処理時間を短縮する効果が期待できる。
(3)他の実施の形態
なお、上述の第1及び2の実施の形態によるデータベース分析装置10,20では、データベース30に格納されたデータ群に対して分析を行う場合について述べたが、本発明はこれに限らず、例えばネットワーク31を介してデータベース分析装置10,20に接続される複数のデータベースが存在する場合には、データベース分析の開始を指示する所定の入力操作をユーザが行う際に、分析の対象とするデータベースを指定することによって、指定されたデータベースからデータベース分析装置10,20に、当該データベースに格納されているデータ群のコピーデータが入力されるように構成されてもよい。
また、上述の第1及び第2の実施の形態によるデータベース分析装置10,20において、外部記憶装置105,201は記憶部の一例であり、データパターン評価基準700,1900は、データパターンの妥当性を判定するための第1の判定基準の一例である。また、データパターン変形規則900又はデータパターン置換規則2110は、データパターンに含まれる各グループの構成要素について、概念上類似している構成要素を同じ構成要素に変換するような所定の変換規則の一例である。また、データパターン除外規則2120は、例外的なグループを決定するための、変形後のデータパターンに含まれる各グループの出現頻度又はデータ構成に関する第2の判定基準の一例である。また、データパターン視覚化処理部115は、記憶部に最後に格納されたデータパターンを所定の形式に変換し、変換後のデータパターンを出力装置に出力させる第1のデータパターン出力処理部の一例である。また、データパターン視覚化処理部215は、記憶部に最後に格納されたデータパターン及び記憶部に格納された全ての例外パターンを所定の形式に変換し、変換後のデータパターン及び変換後の例外パターンを出力装置に出力させる第2のデータパターン出力処理部の一例である。
また、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態における構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態における構成に他の実施の形態における構成を加えることも可能である。また、各実施の形態における構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実施には殆ど全ての構成が相互に接続されていると考えてもよい。
10,20 データベース分析装置
101 CPU
102 メモリ
103 入力装置
104 出力装置
105,201 外部記憶装置
106 データ記憶部
108 データパターン記憶部
110 処理プログラム
111 データパターン作成処理部
112 データパターン判定処理部
113 データパターン数値化処理部
114,214 データパターン変形処理部
115,215 データパターン視覚化処理部
202 データパターン例外記憶部
30 データベース
31 ネットワーク

Claims (15)

  1. 分析対象のデータベースに格納されているデータ群を、該データ内の指定されたテーブルカラムに着目して分析するデータベース分析装置において、
    データを格納する記憶部と、
    前記分析対象のデータベースから取得されたデータ群を前記テーブルカラムのデータ値に基づいて整理し、分析対象データとして前記記憶部に格納するデータ整理部と、
    前記分析対象データにおけるデータ値の差異に基づいて前記データ値ごとにグループを作成し、前記グループをまとめたデータパターンを前記記憶部に格納するデータパターン作成処理部と、
    前記記憶部に格納されたデータパターンの妥当性を第1の判定基準に基づいて判定するデータパターン判定処理部と、
    前記データパターン判定処理部による妥当性の判定において否定結果が得られた場合に、前記データパターンを変形して再構成し、前記再構成したデータパターンを前記記憶部に格納するデータパターン変形処理部と、
    を備え、
    前記データパターン変形処理部は、前記データパターンに含まれる各グループの構成要素について、概念上類似している構成要素を同じ構成要素に変換するような所定の変換規則に従って前記各グループを変形して前記データパターンを再構成する
    ことを特徴とするデータベース分析装置。
  2. 予め設定された数値化方法に従って、前記データパターンの適切さを判定するための点数付けを行うデータパターン数値化処理部をさらに備え、
    前記データパターン判定処理部は、前記データパターン数値化処理部によって前記データパターンに付けられた点数を前記第1の判定基準と比較することによって前記データパターンの妥当性を判定する
    ことを特徴とする請求項1記載のデータベース分析装置。
  3. 前記データパターン変形処理部は、前記データパターン判定処理部による妥当性の判定において肯定結果が得られるまで、又は、否定結果が得られた場合には、前記所定の変換規則に従って前記データパターンをさらに変形できなくなるまで、前記データパターンの再構成を繰り返す
    ことを特徴とする請求項1記載のデータベース分析装置。
  4. 前記データパターンの各グループは、前記分析対象データにおけるテーブルカラムのデータ値を示す構成要素と、該データ値の出現回数又は該データの種類数を示す構成要素とを含んで構成される
    ことを特徴とする請求項1記載のデータベース分析装置。
  5. 前記データパターン変形処理部は、前記データパターンを変形する処理に加えて、さらに、
    変形後のデータパターンに含まれるグループについて、各グループの出現頻度又はデータ構成に関する第2の判定基準に基づいて例外的なグループを決定し、前記決定した例外的なグループを例外パターンとして前記記憶部に格納し、前記変形後のデータパターンから該例外パターンを除外したデータパターンを作成し、再構成したデータパターンとして前記記憶部に格納する
    ことを特徴とする請求項1記載のデータベース分析装置。
  6. 前記第2の判定基準には、前記データパターンに含まれる各グループについて、該グループの構成要素の値、又は該グループに含まれるデータの種類数が含まれる
    ことを特徴とする請求項5記載のデータベース分析装置。
  7. データを出力する出力装置と、
    前記記憶部に最後に格納されたデータパターンを所定の形式に変換し、変換後のデータパターンを前記出力装置に出力させる第1のデータパターン出力処理部とをさらに備える
    ことを特徴とする請求項1記載のデータベース分析装置。
  8. データを出力する出力装置と、
    前記記憶部に最後に格納されたデータパターン及び前記記憶部に格納された全ての例外パターンを所定の形式に変換し、前記変換後のデータパターン及び前記変換後の例外パターンを前記出力装置に出力させる第2のデータパターン出力処理部とをさらに備える
    ことを特徴とする請求項5記載のデータベース分析装置。
  9. 分析対象のデータベースに格納されているデータ群を、該データ内の指定されたテーブルカラムに着目して分析するデータベース分析装置によるデータベース分析方法において、
    前記データベース分析装置は、データを格納する記憶部を有し、
    前記データベース分析装置が、前記分析対象のデータベースから取得されたデータ群を前記テーブルカラムのデータ値に基づいて整理し、分析対象データとして前記記憶部に格納するデータ整理ステップと、
    前記データベース分析装置が、前記分析対象データにおけるデータ値の差異に基づいて前記データ値ごとにグループを作成し、前記グループをまとめたデータパターンを前記記憶部に格納するデータパターン作成ステップと、
    前記データベース分析装置が、前記記憶部に格納されたデータパターンの妥当性を第1の判定基準に基づいて判定するデータパターン判定ステップと、
    前記データベース分析装置が、前記データパターン判定ステップによる妥当性の判定において否定結果が得られた場合に、前記データパターンに含まれる各グループの構成要素について、概念上類似している構成要素を同じ構成要素に変換するような所定の変換規則に従って前記各グループを変形して前記データパターンを再構成し、前記再構成したデータパターンを前記記憶部に格納するデータパターン再構成ステップと、
    を備えることを特徴とするデータベース分析方法。
  10. 前記データパターン判定ステップにおいて、前記データベース分析装置が、
    予め設定された数値化方法に従って、前記データパターンの適切さを判定するための点数付けを行い、前記点数付けによって前記データパターンに付けられた点数を前記第1の判定基準と比較することによって前記データパターンの妥当性を判定する
    ことを特徴とする請求項9記載のデータベース分析方法。
  11. 前記データベース分析装置が、前記データパターン判定ステップにおける妥当性の判定において肯定結果が得られるまで、又は、否定結果が得られた場合には、前記所定の変換規則に従って前記データパターンをさらに変形できなくなるまで、前記データパターン再構成ステップを繰り返す
    ことを特徴とする請求項9記載のデータベース分析方法。
  12. 前記データパターン再構成ステップにおいて、
    前記データベース分析装置が、前記データパターンを変形する処理の後に、前記変形後のデータパターンに含まれるグループについて、各グループの出現頻度又はデータ構成に関する第2の判定基準に基づいて例外的なグループを決定する例外パターン決定ステップと、
    前記データベース分析装置が、前記例外パターン決定ステップで決定した例外的なグループを例外パターンとして前記記憶部に格納し、前記変形後のデータパターンから該例外パターンを除外したデータパターンを作成する除外ステップとをさらに備え、
    前記データベース分析装置は、前記除外ステップによって作成されたデータパターンを、再構成したデータパターンとして前記記憶部に格納する
    ことを特徴とする請求項9記載のデータベース分析方法。
  13. 前記第2の判定基準には、前記データパターンに含まれる各グループについて、該グループの構成要素の値、又は該グループに含まれるデータの種類数が含まれる
    ことを特徴とする請求項12記載のデータベース分析方法。
  14. 前記データベース分析装置は、データを出力する出力装置を有し、
    前記データベース分析装置が、前記記憶部に最後に格納されたデータパターンを所定の形式に変換し、変換後のデータパターンを前記出力装置に出力させる第1のデータパターン出力ステップをさらに備える
    ことを特徴とする請求項9記載のデータベース分析方法。
  15. 前記データベース分析装置は、データを出力する出力装置を有し、
    前記データベース分析装置が、前記記憶部に最後に格納されたデータパターン及び前記記憶部に格納された全ての例外パターンを所定の形式に変換し、前記変換後のデータパターン及び前記変換後の例外パターンを前記出力装置に出力させる第2のデータパターン出力ステップをさらに備える
    ことを特徴とする請求項12記載のデータベース分析方法。
JP2012235686A 2012-10-25 2012-10-25 データベース分析装置及びデータベース分析方法 Active JP5933410B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012235686A JP5933410B2 (ja) 2012-10-25 2012-10-25 データベース分析装置及びデータベース分析方法
US14/061,115 US9436713B2 (en) 2012-10-25 2013-10-23 Database analyzer and database analysis method
CN201310511560.9A CN103778179B (zh) 2012-10-25 2013-10-25 数据库分析装置和数据库分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012235686A JP5933410B2 (ja) 2012-10-25 2012-10-25 データベース分析装置及びデータベース分析方法

Publications (2)

Publication Number Publication Date
JP2014085926A JP2014085926A (ja) 2014-05-12
JP5933410B2 true JP5933410B2 (ja) 2016-06-08

Family

ID=50548358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012235686A Active JP5933410B2 (ja) 2012-10-25 2012-10-25 データベース分析装置及びデータベース分析方法

Country Status (3)

Country Link
US (1) US9436713B2 (ja)
JP (1) JP5933410B2 (ja)
CN (1) CN103778179B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235496B2 (en) * 2013-10-17 2016-01-12 Informatica Llc Domain centric test data generation
JP6244274B2 (ja) * 2014-07-01 2017-12-06 株式会社日立製作所 相関ルール分析装置および相関ルール分析方法
CN106708815B (zh) * 2015-07-15 2021-09-17 中兴通讯股份有限公司 数据处理方法、装置和系统
JP6419667B2 (ja) * 2015-09-28 2018-11-07 株式会社日立製作所 テストdbデータ生成方法及び装置
CN109325218A (zh) * 2017-08-01 2019-02-12 珠海金山办公软件有限公司 一种数据筛选统计方法、装置、电子设备及存储介质
WO2019078374A1 (ko) * 2017-10-16 2019-04-25 주식회사 센티언스 데이터 분석 활용을 위한 데이터 보안성 유지 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256076A (ja) 2000-03-08 2001-09-21 Ricoh Co Ltd テストデータ生成装置、テストデータ生成方法及び記録媒体
EP1637955A1 (de) * 2004-09-15 2006-03-22 Ubs Ag Erzeugung aktualisierbarer anonymisierter Datensätze für Test- und Entwicklungszwecke
EP1637956A1 (de) * 2004-09-15 2006-03-22 Ubs Ag Erzeugung anonymisierter Datensätze zum Testen und Entwickeln von Anwendungen
JP4720213B2 (ja) * 2005-02-28 2011-07-13 富士通株式会社 解析支援プログラム、装置及び方法
JP2009529756A (ja) * 2006-03-13 2009-08-20 ヴェリジー(シンガポール) プライベート リミテッド テストデータのフォーマット変換
US7702613B1 (en) * 2006-05-16 2010-04-20 Sprint Communications Company L.P. System and methods for validating and distributing test data
JP5241370B2 (ja) 2008-08-01 2013-07-17 三菱電機株式会社 テーブル分類装置、テーブル分類方法及びテーブル分類プログラム
CN101458694A (zh) * 2008-10-09 2009-06-17 浙江大学 一种基于树形词库的中文分词方法
AU2010258731B2 (en) * 2009-06-10 2015-07-23 Ab Initio Technology Llc Generating test data
US8862557B2 (en) * 2009-12-23 2014-10-14 Adi, Llc System and method for rule-driven constraint-based generation of domain-specific data sets
EP2597573B1 (en) * 2011-11-28 2018-08-29 Tata Consultancy Services Limited Test data generation

Also Published As

Publication number Publication date
CN103778179A (zh) 2014-05-07
JP2014085926A (ja) 2014-05-12
US20140122445A1 (en) 2014-05-01
CN103778179B (zh) 2017-04-12
US9436713B2 (en) 2016-09-06

Similar Documents

Publication Publication Date Title
JP5933410B2 (ja) データベース分析装置及びデータベース分析方法
JP5629239B2 (ja) ソフトウェアの動作をテストする装置及び方法
US20150032708A1 (en) Database analysis apparatus and method
JP4382526B2 (ja) 文章分類装置および方法
US20150094997A1 (en) Explaining partially illegal combinations in combinatorial models
JP5936138B2 (ja) 操作手順書を生成する装置及び方法
CN107145482A (zh) 基于人工智能的文章生成方法及装置、设备与可读介质
JP2019049873A (ja) 同義語辞書作成装置、同義語辞書作成プログラム及び同義語辞書作成方法
CN109710306B (zh) 源代码解析装置、源代码解析方法、计算机可读记录介质
US10936971B2 (en) Optimization apparatus and optimization method for hyper parameter
CN107943702A (zh) 硬件兼容性测试方法及装置
JP3828379B2 (ja) テスト仕様生成支援装置、方法、プログラム及び記録媒体
JP2010061176A (ja) テキストマイニング装置、テキストマイニング方法、および、テキストマイニングプログラム
US20160203105A1 (en) Information processing device, information processing method, and information processing program
EP4196900A1 (en) Identifying noise in verbal feedback using artificial text from non-textual parameters and transfer learning
Viotti et al. A Benchmark of JSON-compatible Binary Serialization Specifications
Yano et al. Labeling feature-oriented software clusters for software visualization application
JP2021056570A (ja) データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラム
JP5396977B2 (ja) データ処理装置、データ処理方法およびプログラム
JP2019087206A (ja) 情報処理装置、情報処理方法及びプログラム
US11983487B2 (en) Document creation support apparatus, document creation support method and document creation support program
JP2017174009A (ja) 事態間知識抽出装置、事態間知識抽出方法、及びプログラム
JP2016099726A (ja) 仕様生成方法、仕様生成装置、及びプログラム
JP2007193829A (ja) 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム
JP5417950B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160502

R150 Certificate of patent or registration of utility model

Ref document number: 5933410

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150