JP6670097B2 - 関係型データベース表の列横断的検索 - Google Patents

関係型データベース表の列横断的検索 Download PDF

Info

Publication number
JP6670097B2
JP6670097B2 JP2015252946A JP2015252946A JP6670097B2 JP 6670097 B2 JP6670097 B2 JP 6670097B2 JP 2015252946 A JP2015252946 A JP 2015252946A JP 2015252946 A JP2015252946 A JP 2015252946A JP 6670097 B2 JP6670097 B2 JP 6670097B2
Authority
JP
Japan
Prior art keywords
columns
relational database
metadata tag
database table
column
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
JP2015252946A
Other languages
English (en)
Other versions
JP2016126788A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2016126788A publication Critical patent/JP2016126788A/ja
Application granted granted Critical
Publication of JP6670097B2 publication Critical patent/JP6670097B2/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • 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

Landscapes

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

Description

例示的な本実施形態は、関係型データベース管理システムにおける検索に関し、より具体的には、複数の列を同時に検索することができる、関係型データベース管理システムにおける検索の方法に関する。
関係型データベースは、関連する列と行との2次元の表に編成された、関連するデータの集合であり、表に対して、結合、ソート、マージなどの集合演算を行って、情報を導き出すことができる。
より詳細には、各データベースは、関連する表の集まりである。各表は、列及び行から成る表形式で表された、エンティティ又はオブジェクトの物理表現である。列は、レコードのフィールド又はエンティティの属性である。行は、値又はデータ・インスタンスを収容し、これらはレコード又はタプルとも呼ばれる。
関係は、表内の列の間、及び表同士の間の両方に存在する。これらの関係は、1対1、1対多、又は多対多、の3つの論理形態を取る。ほとんどの関係型データベースは、セル(列と行との交差部)毎に値が1つの値のみが存在するように設計されており、この設計パターンにおいて、表内には1対1関係のみが存在する。各々の表は、人又は住所など、それが収容するデータに従って名称付けられる。
実際のデータベースとシステムのユーザとの間には、関係型データベース管理システム(RDBMS)として知られるソフトウェア層が存在する。RDBMSは、データベースへの全てのアクセス要求の処理を担当し、任意の具体的なハードウェア実装の詳細からユーザを遮蔽する。RDBMSは、制御システムであり、データの格納、データの取出し、及びデータの更新を含むがこれらに限定されないデータベースの特徴をサポートする。
関係型データベース内に格納されたデータは、典型的には、構造化問合わせ言語(SQL)のような問合せ言語で構築されるユーザ定義されたクエリによってアクセスされる。SQLクエリは、クエリの目的又は所望の結果をユーザにとって意味のある言語で指定する。しかし、クエリを達成するために実行すべきステップ又はステップの順序を定義するわけではないという点で非手続き型である。
本発明の目的は、複数の列を同時に検索することができる、関係型データベース管理システムにおける検索の方法を提供することである。
上記及び以下で説明される例示的な実施形態の種々の利点及び目的は、例示的な実施形態の第1の態様により、関係型データベース表を検索する方法を提供することによって達成される。方法は、複数の行及び列を有し、複数の列の各々が該各々の列内のデータを説明する列名を有する関係型データベース表を準備することと、関係型データベース表へのアクセスを管理するための関係型データベース管理システム(RDBMS)を準備することと、複数の列の少なくとも幾つかの列に対して、複数の列の少なくとも幾つかの列に割り当てられる非階層的なキーワード又はタームである、少なくとも1つのメタデータ・タグを提供することと、少なくとも1つのメタデータ・タグを選択すること、及び、検索文字列を選択することに応答して、RDBMSの検索・結合関数により、関係型データベース表内の少なくとも1つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列を検索して、少なくとも1つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列内で検索文字列と一致するデータを見つけることと、を含む。この方法は、少なくとも1つのコンピューティング・デバイス上に実装される。
例示的な実施形態の第2の態様により、関係型データベース表を検索する方法が提供される。方法は、複数の行及び列を有し、複数の列の各々が該各々の列内のデータを説明する関係型データベース表を準備することと、関係型データベース表へのアクセスを管理するための関係型データベース管理システム(RDBMS)を準備することと、複数の列の少なくとも幾つかの列に対して、複数の列の少なくとも幾つかの列に割り当てられる非階層的なキーワード又はタームである、少なくとも1つのメタデータ・タグが提供されたことを検出することと、複数の列の少なくとも幾つかの列に対して少なくとも1つのメタデータ・タグが提供された場合、複数の列の少なくとも幾つかの列に対応するメタデータ・タグのリストをフェッチすることと、少なくとも1つのメタデータ・タグを選択すること、及び、検索文字列を選択することに応答して、RDBMSの検索・結合関数により、関係型データベース表内の少なくとも1つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列を検索して、少なくとも1つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列内で検索文字列と一致するデータを見つけることと、を含む。この方法は、少なくとも1つのコンピューティング・デバイス上に実装される。
例示的な実施形態の第3の態様により、関係型データベース表を検索するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、具体化されたコンピュータ可読プログラム・コードを有するコンピュータ可読ストレージ媒体を含む。コンピュータ可読プログラム・コードは、複数の行及び列を有し、複数の列の各々が該各々の列内のデータを説明する列名を有する関係型データベース表を準備するように構成されたコンピュータ可読プログラム・コードと、関係型データベース表へのアクセスを管理するための関係型データベース管理システム(RDBMS)を準備するように構成されたコンピュータ可読プログラム・コードと、複数の列の少なくとも幾つかの列に対して、複数の列の少なくとも幾つかの列に割り当てられる非階層的なキーワード又はタームである、少なくとも1つのメタデータ・タグを提供するように構成されたコンピュータ可読プログラム・コードと、少なくとも1つのメタデータ・タグを選択すること、及び、検索文字列を選択することに応答して、RDBMSの検索・結合関数により、関係型データベース表内の少なくとも1つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列を検索して、検索文字列と一致するデータを見つけるように構成されたコンピュータ可読プログラム・コードと、を含む。
新規であると信ずる例示的な実施形態の特性、及び例示的な実施形態の特徴的な要素は、添付の特許請求の範囲において具体的に示される。図面は例証のみを目的としたものであり、縮尺通りに描かれてはいない。例示的な実施形態は、その編成及び動作方法の両方に関して、以下の詳細な説明を添付の図面と併せて参照することにより、最も良好に理解することができる。
従来の関係型データベース表である。 図1のテーブル1に関する従来の列毎のクエリである。 各列に対するメタデータ・タグを有する関係型データベース表である。 図3のテーブル1のメタデータ・タグを用いたクエリである。 例示的な実施形態を実装するためのコンピューティング・デバイスのブロック図である。
図面をより詳細に参照し、特に図1を参照すると、名目的にテーブル1(顧客_フィードバック)と表示された従来の関係型データベース表10の例が示されている。関係型データベース表10は、複数の行12a、12b、12c、複数の列14a、14b、14c、14d、及び複数の列名16a、16b、16c、16dを含む。図1の関係型データベース表において、各列に対して1つの列名が存在する。よって、列名「RECORD NO.(レコード番号)」16aは列14aに対応し、列名「CUSTOMER(顧客)」16bは列14bに対応し、列名「DESCRIPTION(説明)」16cは列14cに対応し、列名「COMMENTS(コメント)」16dは列14dに対応する。
関係型データベース表10へのアクセスは、RDBMSにより処理することができる。RDBMSは、SQLクエリを通じてデータにアクセスするためのクエリプロセッサを含むことができる。
図1の関係型データベース表10に関して、ユーザは、同じテキスト又はテキスト・パターンを有するレコードを、関係型データベース表内で性質が類似したものであり得る異なる列を横断して探索することを望むことができる。関係型データベース表10内に複数名の顧客が存在し得ると仮定すると、例えば、列名「説明」を有する列14c及び列名「コメント」を有する列14dは、いずれもテキスト「excellent(非常に良い)」を含んでいる可能性があるので、テキスト「excellent(非常に良い)」を有するレコード又は顧客は、これらの列内で検索することが望ましい場合がある。
関係型データベース表10の2つの列を従来の方法で検索するには、各列を別々に検索するために2つのクエリを書かなければならないことになる。ここで図2を参照すると、列14c、14dを検索するために必要なクエリが示される。クエリ1は、列14c内の説明を、テキスト「excellent(非常に良い)」について検索することになる。クエリ1は、以下のように定式化することができる。
Figure 0006670097
クエリ2は、列14d内のコメントを、テキスト「excellent(非常に良い)」について検索することになる。クエリ2は、以下のように定式化することができる。
Figure 0006670097
説明の列及びコメントの列の両方をテキスト「excellent(非常に良い)」について検索するために、クエリは、以下及び図2に示されるように互いに結合される。
Figure 0006670097
厳密な構文はSQLベンダの間で異なることがあるが、この単純な検索は、関係型データベース表10のような関係型データベース表を検索する従来の方法に関する課題、すなわち、検索される各列がそれ自体の検索クエリを必要とし、それらが後で結合されるということを例証する。
現在のRDBMSは、関係型データベース表の列を横断する効率的で簡単なコンテンツ検索方法を可能にするものではない。この問題点は、表が以下の特性のうちの1つ又は複数を有する場合に、より顕著になる。
a.関係型データベース表が、列を横断して情報を格納するように設計されている場合。例えば、2つ又はそれ以上の列にわたって格納されている製品/サービスの説明。有効な分類は、両方の列の分析を必要とする。
b.関係型データベース表が、異なるタイプのユーザ入力を異なる列内に格納するように設計されている場合。例えば、発行の説明の列、診断の列、解決の列、フィードバックの列を有するサービス・チケット・レコード。効率的な分析は、全ての列内のテキストを考慮しなければならない。
アプリケーション開発者及びデータベース管理者は、この課題に対して、列を別々に検索する複雑なクエリを作成し、次いでその結果集合を結合することにより、対処することができる。
関係型データベース表の複数の列を1つの検索・結合演算で検索することができる解決策を提案する。
例示的な実施形態によれば、関係型データベース表の列の少なくとも幾つか、好ましくは全ての列に対してタグを付加することが提案される。タグは、関係型データベース表の列名に割り当てられる非階層的なキーワード又はタームである。
図1のテーブル1を修正して、各々の列内の各々の列名にメタデータ・タグ(以後、単に「タグ」とする)を付加した。ここで図3のテーブル1(顧客_フィードバック)20を参照すると、タグ22a「RECORD(レコード)」が列14a内の列名「レコード番号」16aに付加され、タグ22b「NAME(名前)」が列14b内の列名「CUSTOMER(顧客)」16bに付加され、タグ22c「DESCRIPTION,SENTIMENT(説明、所感)」が列14c内の列名「DESCRIPTION(説明)」16cに付加され、タグ22d「COMMENTS,SENTIMENT(コメント、所感)」が列14d内の列名「COMMENT(コメント)」16dに付加された。
列22c、22dの場合のように、各列に対して1つより多くのタグが存在し得ることに留意されたい。列毎に1つより多くのタグを有することで、より融通が利く検索が可能になる。
図3の関係型データベース表20に関してもまた、ユーザは、テキスト「excelent(非常に良い)」を含むレコードを探索することを望むことができる。再び、関係型データベース表20内に複数名の顧客が存在し得ると仮定すると、例えば、列名「DESCRIPTION(説明)」を有する列14c及び列名「COMMENTS(コメント)」を有する列14dは、いずれもテキスト「excellent(非常に良い)」を収容している可能性があるので、テキスト「excellent(非常に良い)」を有するレコード又は顧客は、これらの列内で検索することが望ましい場合がある。
例示的な実施形態によれば、関係型データベース表20の2つの列を検索するには、単一の検索・結合演算をタグ「SENTIMENT(所感)」を用いて行うための1つのクエリを書くだけでよい場合がある。ここで図4を参照すると、列14c、14dを検索するために必要なクエリが示される。クエリは、以下のように定式化することができる。
Figure 0006670097
従って、「SENTIMENT(所感)」タグに対して検索することで、1つの検索・結合演算のみで両方の列を検索することが可能になる。検索は2つの列のみに限定される必要はない。タグを用いて、任意の数の列を組み合わせて検索することができる。
例示的な実施形態によれば、表のレコードは、図3に示される列タグ22a−22dのような列タグに基づいて検索することができる。RDBMSは、クエリがタグベース検索を表しているかどうかを検出する。タグベース検索に関して、RDBMSは、表のメタデータを参照し、1つ又は複数のタグによって表される列名のリストをフェッチする。実際の検索に関して、各々の関連するレコードに対して、RDBMSは、一致が見つかるまで又は一致がないまま列のリストが消尽するまで、全ての列を逐次的に(列の順序に基づいて)検索することができる。
関係型データベース表を作成するときに、以下の(又は類似の)構文を用いてタグを付加することができる。
Figure 0006670097
現行の既存の関係型データベース表を修正するときには、以下の(又は類似の)構文を用いてタグを付加することができる。
Figure 0006670097
タグ(TAG)は論理的なグループ化なので、制約条件(CONSTRAINTS)は適用可能にはならない。
実際のSQL構文の設計及びデータ管理アルゴリズムはRDBMSベンダの領分であるが、上記のことは、関係型データベース表にタグを付加する一般的な表現である。
タグは、以下のようにしてRDBMSに実装することができる。
第1に、列の制約条件と同様に、RDBMSは、1つ又は複数のタグを列レベルで定義し、格納し、及び管理するためのDDL(データ定義言語)構造及びプロセスを提供する必要がある。DDLは、データベース内に置かれる。
第2に、RDBMSは、検索・結合機能を、列タグまで拡張する必要がある。タグに対する検索・結合演算は、タグ付けされた全ての列をカバーするようにすべきである。例えば、あるクエリが、あるタグに対してテキストを検索するものである場合、関係型データベースは、それをタグ付けされた全ての列と内部的に比較して、1つ又は複数のタグ付けされた列がその検索文字列に一致した全てのレコードを戻すようにすべきである。
第3に、RDBMSは、索引及びパーティション能力をタグまで拡張する必要がある。あるタグに関して作成された索引は、そのタグを有する全ての列を索引付けするものでなければならない。
第4に、タグ付けは、検索/フィルタリングのみに限定することができる。タグ付けは、CRUD(作成(create)、読み出し(read)、更新(update)、及び削除(delete))、集約又は集約関数にまで拡張しないようにすることもできる。
例示的な実施形態を実装するコンピューティング・デバイスは、汎用コンピュータ、又は手持ち式コンピュータのような専用デバイスとすることができる。図5は、コンピューティング・デバイスの1つの例示的なハードウェア環境を示すブロック図である。例示的な実施形態は、マイクロプロセッサ手段、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)及び他のコンポーネントから構成されるコンピュータ510を用いて実装することができる。コンピュータ510は、パーソナル・コンピュータ、サーバ、メインフレーム・コンピュータ、手持ち式デバイス又は他のコンピューティング・デバイスとすることができる。何らかの型式のストレージ・デバイス514が、コンピュータ510内に常駐するか又は周辺に存在することができる。
一般的に言って、例示的な実施形態のソフトウェア実装である図5のプログラム512は、上述のストレージ・デバイス514のようなコンピュータ可読ストレージ媒体内に有形に具体化することができる。プログラム512は、コンピュータ510のマイクロプロセッサによって読み出されて実行されたときに例示的な実施形態のステップ又は要素を実行するのに必要なステップをコンピュータ510に行わせる命令を含むことができる。
本発明は、システム、方法、及び/又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する1つ又は複数のコンピュータ可読ストレージ媒体を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持し、格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のものの任意の適切な組合せとすることが出来るがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクトディスク読み出し専用メモリ(DC−ROM)、デジタル多目的ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカード若しくは記録された命令を有する溝内に隆起した構造のような機械式コード化デバイス、及び上記のものの任意の適切な組合せを含む。コンピュータ可読ストレージ媒体は、本明細書で用いられる場合、無線波若しくは他の自由に伝搬する電磁波、導波路若しくは他の伝送媒体を通って伝搬する電磁波(例えば光ファイバケーブルを通る光パルス)、又は電線を通って伝送される電気信号のような、それ自体が一時的な信号と解釈されるべきではない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスにダウンロードすることも、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク及び/又は無線ネットワークを経由して、外部コンピュータ若しくは外部ストレージ・デバイスにダウンロードすることもできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含むことができる。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体にストレージのために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ(state−setting data)、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語及び「C」プログラミング言語若しくは類似のプログラミング言語のような従来の手続き型プログラミング言語を含む1つ若しくは複数のプログラミング言語の任意の組合せで記述されたソースコード若しくはオブジェクトコードのいずれか、とすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続が為される場合もある(例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えばプログラム可能論理回路、列プログラム可能ゲートアレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することにより、コンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本明細書において、本発明の態様による方法、装置(システム)、及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図のブロックの組合せは、コンピュータ可読プログラム命令によって実装することができることが理解されよう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実装するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、プログラム可能データ処理装置、及び/又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、その中に格納された命令を有するコンピュータ可読媒体が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製品を含むようにすることもできる。
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置又は他のデバイス上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するようにすることもできる。
図面内のフローチャート及びブロック図は、本開示の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図中に記された順序とは異なる順序で行われることがある。例えば、連続して示された2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図中のブロックの組合せは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステムによって実装することもでき、又は専用のハードウェアとコンピュータ命令との組合せを実行することができることにも留意されたい。
本開示を考慮した当業者には、本発明の趣旨から逸脱しない、本明細書で具体的に説明された例示的な実施形態を超えたそれら実施形態のその他の修正が明らかとなるであろう。従って、そのような修正は、添付の特許請求の範囲によってのみ制限される本発明の範囲内とみなされる。
10、20:関係型データベース表

Claims (22)

  1. 関係型データベース表を検索する方法であって、
    複数の行及び列を有し、前記複数の列の各々が該各々の列内のデータを説明する列名を
    有する関係型データベース表を準備することと、
    前記関係型データベース表へのアクセスを管理するための関係型データベース管理シス
    テム(RDBMS)を準備することと、
    前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
    に割り当てられる非階層的なキーワード又はタームである、少なくとも1つのメタデータ
    ・タグを提供することと、
    少なくとも1つのメタデータ・タグを選択すること、及び、検索文字列を選択すること
    に応答して、RDBMSの検索・結合関数により、前記関係型データベース表内の前記少
    なくとも1つのメタデータ・タグに対応する前記複数の列の少なくとも幾つかの列を検索
    して、前記少なくとも1つのメタデータ・タグに対応する前記複数の列の少なくとも幾つ
    かの列内で前記検索文字列と一致するデータを見つけることと、
    を含み、
    前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
    に割り当てられる非階層的なキーワード又はタームである、少なくとも1つのメタデータ
    ・タグを提供することは、前記複数の列の少なくとも幾つかの列について、前記少なくとも1つのメタデータ・タグと前記列名が、同じ関係型データベース表内の同じ列に共に存在することを含む、
    少なくとも1つのコンピューティング・デバイス上に実装される、方法。
  2. 前記列を検索することは、一致が見つかるまで、又は前記列のリストが消尽するまで、
    逐次的に実行される、請求項1に記載の方法。
  3. 前記少なくとも1つのメタデータ・タグを提供することは、前記関係型データベース表
    が作成されるときに行われる、請求項1に記載の方法。
  4. 前記少なくとも1つのメタデータ・タグを提供することは、前記関係型データベース表
    が作成された後で行われる、請求項1に記載の方法。
  5. 前記少なくとも1つのメタデータ・タグを提供することは、前記複数の列の各列に対し
    て少なくとも1つのメタデータ・タグを提供することを含む、請求項1に記載の方法。
  6. 前記少なくとも1つのメタデータ・タグを提供することは、前記複数の列の少なくとも
    幾つかの列に対して複数のメタデータ・タグを提供することを含む、請求項1に記載の方
    法。
  7. 前記検索することは、前記少なくとも1つのメタデータ・タグに対応する前記複数の列
    の少なくとも幾つかの列の各々において、同じ検索文字列を検索することである、請求項
    1に記載の方法。
  8. 関係型データベース表を検索する方法であって、
    複数の行及び列を有し、前記複数の列の各々が該各々の列内のデータを説明する列名を
    有する関係型データベース表を準備することと、
    前記関係型データベース表へのアクセスを管理するための関係型データベース管理シス
    テム(RDBMS)を準備することと、
    前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
    に割り当てられる非階層的なキーワード又はタームである、少なくとも1つのメタデータ
    ・タグが提供されたことを検出することと、
    前記複数の列の少なくとも幾つかの列に対して少なくとも1つのメタデータ・タグが提
    供された場合、前記複数の列の少なくとも幾つかの列に対応するメタデータ・タグのリス
    トをフェッチすることと、
    少なくとも1つのメタデータ・タグを選択すること、及び、検索文字列を選択することに応答して、RDBMSの検索・結合関数により、前記関係型データベース表内の前記少
    なくとも1つのメタデータ・タグに対応する前記複数の列の少なくとも幾つかの列を検索
    して、前記少なくとも1つのメタデータ・タグに対応する前記複数の列の少なくとも幾つ
    かの列内で前記検索文字列と一致するデータを見つけることと、
    を含み、
    前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
    に割り当てられる非階層的なキーワード又はタームである、少なくとも1つのメタデータ
    ・タグが提供されたことを検出することは、前記複数の列の少なくとも幾つかの列について、前記少なくとも1つのメタデータ・タグと前記列名が、同じ関係型データベース表内の同じ列に共に存在することを含む、
    少なくとも1つのコンピューティング・デバイス上に実装される、方法。
  9. 前記列を前記検索することは、一致が見つかるまで、又は前記列のリストが消尽するま
    で、逐次的に実行される、請求項8に記載の方法。
  10. 前記少なくとも1つのメタデータ・タグを提供することは、前記関係型データベース表
    が作成されるときに行われる、請求項8に記載の方法。
  11. 前記少なくとも1つのメタデータ・タグを提供することは、前記関係型データベース表
    が作成された後で行われる、請求項8に記載の方法。
  12. 前記少なくとも1つのメタデータ・タグを提供することは、前記複数の列の各列に対し
    て少なくとも1つのメタデータ・タグを提供することを含む、請求項8に記載の方法。
  13. 前記少なくとも1つのメタデータ・タグを提供することは、前記複数の列の少なくとも
    幾つかの列に対して複数のメタデータ・タグを提供することを含む、請求項8に記載の方
    法。
  14. 前記検索することは、前記少なくとも1つのメタデータ・タグに対応する前記複数の列
    の少なくとも幾つかの列の各々において、同じ検索文字列を検索することである、請求項
    8に記載の方法。
  15. 関係型データベース表を検索するためのコンピュータ・プログラムであって、
    複数の行及び列を有し、前記複数の列の各々が該各々の列内のデータを説明する列名を
    有する関係型データベース表を準備するように構成されたコンピュータ可読プログラム・
    コードと、
    前記関係型データベース表へのアクセスを管理するための関係型データベース管理シス
    テム(RDBMS)を準備するように構成されたコンピュータ可読プログラム・コードと

    前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
    に割り当てられる非階層的なキーワード又はタームである、少なくとも1つのメタデータ
    ・タグを提供するように構成されたコンピュータ可読プログラム・コードと、
    少なくとも1つのメタデータ・タグを選択すること、及び、検索文字列を選択すること
    に応答して、RDBMSの検索・結合関数により、前記関係型データベース表内の前記少
    なくとも1つのメタデータ・タグに対応する前記複数の列の少なくとも幾つかの列を検索
    して、前記検索文字列と一致するデータを見つけるように構成されたコンピュータ可読プ
    ログラム・コードと、
    を含み、
    前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
    に割り当てられる非階層的なキーワード又はタームである、少なくとも1つのメタデータ
    ・タグを提供するように構成されたコンピュータ可読プログラム・コードは、前記複数の列の少なくとも幾つかの列について、前記少なくとも1つのメタデータ・タグと前記列名が、同じ関係型データベース表内の同じ列に共に存在するように構成されたコンピュータ可読プログラム・コードを含む、
    コンピュータ・プログラム。
  16. 前記列を前記検索するように構成された前記コンピュータ可読プログラム・コードは、
    一致が見つかるまで、又は前記列のリストが消尽するまで、逐次的に実行される、請求項
    15に記載のコンピュータ・プログラム。
  17. 前記少なくとも1つのメタデータ・タグを提供するように構成された前記コンピュータ
    可読プログラム・コードは、前記関係型データベース表が作成されるときに行われる、請求項15に記載のコンピュータ・プログラム。
  18. 前記少なくとも1つのメタデータ・タグを提供するように構成された前記コンピュータ
    可読プログラム・コードは、前記関係型データベース表が作成された後で行われる、請求
    項15に記載のコンピュータ・プログラム。
  19. 前記少なくとも1つのメタデータ・タグを提供するように構成された前記コンピュータ
    可読プログラム・コードは、前記複数の列の各列に対して少なくとも1つのメタデータ・
    タグを提供するように構成されたコンピュータ可読プログラム・コードを含む、請求項1
    5に記載のコンピュータ・プログラム。
  20. 前記少なくとも1つのメタデータ・タグを提供するように構成された前記コンピュータ
    可読プログラム・コードは、前記複数の列の少なくとも幾つかの列に対して複数のメタデ
    ータ・タグを提供するように構成されたコンピュータ可読プログラム・コードを含む、請
    求項15に記載のコンピュータ・プログラム。
  21. 請求項1乃至14のいずれかに記載の方法に含まれる各ステップをコンピュータに実行
    させる、プログラム。
  22. 請求項1乃至14のいずれかに記載の方法に含まれる各ステップを実行する手段を備え
    る、システム。
JP2015252946A 2015-01-06 2015-12-25 関係型データベース表の列横断的検索 Active JP6670097B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/590,182 US10380115B2 (en) 2015-01-06 2015-01-06 Cross column searching a relational database table
US14/590182 2015-01-06

Publications (2)

Publication Number Publication Date
JP2016126788A JP2016126788A (ja) 2016-07-11
JP6670097B2 true JP6670097B2 (ja) 2020-03-18

Family

ID=56286646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015252946A Active JP6670097B2 (ja) 2015-01-06 2015-12-25 関係型データベース表の列横断的検索

Country Status (3)

Country Link
US (1) US10380115B2 (ja)
JP (1) JP6670097B2 (ja)
CN (1) CN105760418B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10628416B2 (en) * 2016-05-31 2020-04-21 International Business Machines Corporation Enhanced database query processing
CN110019307B (zh) * 2017-12-28 2023-09-01 阿里巴巴集团控股有限公司 数据处理方法及装置
CN110096501A (zh) * 2018-09-04 2019-08-06 中国平安人寿保险股份有限公司 基于标签的数据搜索方法、装置、介质及电子设备
US10977246B2 (en) * 2018-09-13 2021-04-13 Sigma Computing, Inc. Generating a database query using a dimensional hierarchy within a graphical user interface
WO2023245467A1 (en) * 2022-06-22 2023-12-28 Honeywell International Inc. Method and system for automatically supplementing a data stream received from a building management system to aid in subsequent access, aggregation, analysis and display of data from the data stream

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260044B1 (en) 1998-02-04 2001-07-10 Nugenesis Technologies Corporation Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database
US6434558B1 (en) 1998-12-16 2002-08-13 Microsoft Corporation Data lineage data type
US6871204B2 (en) * 2000-09-07 2005-03-22 Oracle International Corporation Apparatus and method for mapping relational data and metadata to XML
CA2374271A1 (en) 2002-03-01 2003-09-01 Ibm Canada Limited-Ibm Canada Limitee Redundant join elimination and sub-query elimination using subsumption
US7421443B2 (en) 2003-01-29 2008-09-02 Microsoft Corporation Filestream data storage attribute
US7248168B2 (en) 2004-06-21 2007-07-24 Sap Aktiengesellschaft Accessing data tag information using database queries
KR100782810B1 (ko) 2005-01-07 2007-12-06 삼성전자주식회사 확장 검색 기능을 제공하기 위한 메타데이터가 기록된 저장매체를 재생하는 방법 및 장치
US8176074B2 (en) 2009-10-28 2012-05-08 Sap Ag Methods and systems for querying a tag database
US20110320433A1 (en) * 2010-06-25 2011-12-29 Microsoft Corporation Automated Joining of Disparate Data for Database Queries
US8990205B2 (en) 2013-01-28 2015-03-24 International Business Machines Corporation Data caveats for database tables
WO2014193470A1 (en) * 2013-05-28 2014-12-04 Dynasim Technical Services, Inc. Method of managing relational data in a single matrix representation
US9405794B2 (en) * 2013-07-17 2016-08-02 Thoughtspot, Inc. Information retrieval system
CN103902701B (zh) 2014-03-31 2017-12-29 北京皮尔布莱尼软件有限公司 一种数据存储系统和存储方法
CN104063487B (zh) 2014-07-03 2017-02-15 浙江大学 基于关系型数据库及k‑d树索引的文件数据管理方法
US9785725B2 (en) * 2014-09-26 2017-10-10 Oracle International Corporation Method and system for visualizing relational data as RDF graphs with interactive response time

Also Published As

Publication number Publication date
CN105760418B (zh) 2020-02-07
JP2016126788A (ja) 2016-07-11
CN105760418A (zh) 2016-07-13
US10380115B2 (en) 2019-08-13
US20160196310A1 (en) 2016-07-07

Similar Documents

Publication Publication Date Title
US10754562B2 (en) Key value based block device
US10474648B2 (en) Migration of unified table metadata graph nodes
US10282439B2 (en) Storing and querying multidimensional data using first and second indicies
US10114908B2 (en) Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data
US9348870B2 (en) Searching content managed by a search engine using relational database type queries
JP6670097B2 (ja) 関係型データベース表の列横断的検索
US10282447B2 (en) Adapting a relational query to accommodate hierarchical data
US20180144061A1 (en) Edge store designs for graph databases
US20150242452A1 (en) Early exit from table scans of loosely ordered and/or grouped relations using nearly ordered maps
US9218394B2 (en) Reading rows from memory prior to reading rows from secondary storage
US11030242B1 (en) Indexing and querying semi-structured documents using a key-value store
US9229961B2 (en) Database management delete efficiency
US20180181581A1 (en) Systems and methods for implementing object storage and fast metadata search using extended attributes
US11093541B2 (en) Transforming an ontology query to an SQL query
US10936640B2 (en) Intelligent visualization of unstructured data in column-oriented data tables
US20180357330A1 (en) Compound indexes for graph databases
US20180357278A1 (en) Processing aggregate queries in a graph database
US9984108B2 (en) Database joins using uncertain criteria
US11520763B2 (en) Automated optimization for in-memory data structures of column store databases
US20180144060A1 (en) Processing deleted edges in graph databases
US10417230B2 (en) Transforming and evaluating missing values in graph databases
US20210397608A1 (en) Retrieving and presenting data in a structured view from a non-relational database
US10025818B2 (en) Customize column sequence in projection list of select queries

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190917

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200228

R150 Certificate of patent or registration of utility model

Ref document number: 6670097

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150