JPH10143538A - 一般化されたキーインデックス - Google Patents
一般化されたキーインデックスInfo
- Publication number
- JPH10143538A JPH10143538A JP9181947A JP18194797A JPH10143538A JP H10143538 A JPH10143538 A JP H10143538A JP 9181947 A JP9181947 A JP 9181947A JP 18194797 A JP18194797 A JP 18194797A JP H10143538 A JPH10143538 A JP H10143538A
- Authority
- JP
- Japan
- Prior art keywords
- index
- query
- record
- condition
- key value
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
る新規なインデックスを提供する。 【解決手段】 一般化されたキーインデックスは、リレ
ーショナルデータベースの第1テーブルをインデックス
キー及びインデックス条件を用いてインデックスできる
ようにし、インデックスキー及びインデックス条件のい
ずれか又は両方がデータベースの多数のテーブルを参照
してもよいし、或いは第1テーブル以外の1つ以上のテ
ーブルのフィールドを用いた表現であってもよい。一般
化されたキーインデックスは、一般化されたインデック
スキー値を第1テーブルの記録の記録識別子に直接関連
付け、効率的な記憶及びデータ検索を行えるようにす
る。
Description
ョナルデータベースシステムに係り、より詳細には、リ
レーショナルデータベースシステムにおけるインデック
ス動作に係る。
をテーブルの集合体と理解しており、各テーブルは、項
目及び項目属性のデータを行及び列に配列するもので、
テーブルの行は、項目(記録と称する)に対応し、そし
てテーブルの列は、項目の属性(フィールドと称する)
に対応する。テーブルの記録は、一般的に、その記録が
記憶されたページ及びページ内のオフセットを指示する
記録識別子(RID)により識別することができる。
ースにおけるテーブルの例を示す。テーブルに記憶され
たデータは、図4ないし6に示されたようなインデック
スを用いてアクセスすることができ、これらインデック
スは、テーブル記録の論理的なオーダー(順序)を与え
ることによりデータをアクセスするのに役立つ。図4
は、顧客名410aをインデックスキーとして使用する
図1のCUSTテーブル100における従来のインデッ
クス400を示す。インデックス400は、顧客名12
0によりCUSTテーブル100の記録のアルファベッ
ト式オーダーを与え、各名前410aを、cust n
ameフィールド120に顧客名を有するテーブル記録
の記録識別子410bと関連付ける。
問合せは、通常は、関連記録識別子440bを用いてキ
ー値「Smith」440aを有するエントリーのイン
デックス400をサーチしてCUSTテーブル100に
おける記録を検索し、そしてその検索された記録のcu
st phoneフィールド140のデータを抽出する
ことにより処理される。インデックス400は、顧客名
によりオーダーされるので、インデックスサーチは、イ
ンデックスなしに要求されるCUSTテーブル100の
直線的なサーチよりも高速である。インデックスは、B
ツリー及びハッシュ機能のような種々の方法を用いて実
施される。
インデックスエントリーは、一般的に、インデックスキ
ー値、及びテーブル記録の記録識別子の2つの属性を有
している。インデックスキーは、一般に、テーブルから
のフィールド又はフィールドの組み合わせであり、そし
て各インデックスエントリーは、キー値をテーブル記録
の記録識別子と関連付ける。
ドに基づくキー値を、その同じテーブルの記録の記録識
別子に関連付ける単一テーブルである。図4のインデッ
クス400は、単一テーブルインデックスの一例であ
る。単一テーブルインデックスは、種々の形式が存在す
る。図7は、テーブル記録の1つ以上のフィールドを用
いた表現としてインデックスキーを定義することにより
形成された「仮想列」インデックスの一例を示す。例え
ば、割引を含む価格により図2のオーダーテーブル(O
RDテーブル)の記録をオーダーするために、インデッ
クスキー(ORD.price−ORD.discou
nt)を用いて仮想列インデックスが形成される。
指定の条件を満足するテーブル記録のみをインデックス
する「部分インデックス」である。例えば、図8は、O
RD.dateの値を、少なくとも$50,000.0
0の価格を有するテーブル記録の記録識別子のみに関連
付けるインデックスを示している。
いて、インデックスは、マルチテーブルであって、その
インデックスキーの第1テーブルからのフィールドを使
用しそしてインデックスキー値を第2テーブルの記録の
記録識別子に関連付けるものであってもよい。マルチテ
ーブルインデックスは、一般に、連結インデックスと称
する。
からの名前フィールド120をインデックスキー(CU
ST.cust name)として使用してITEMテ
ーブル300(図3)に形成された顧客名に基づくイン
デックス記録を検索するためのインデックスを実施を示
す。図示されたように、このインデックスは、3つのレ
ベルを有する。第1のレベル(インデックス400、図
4)は、CUST.cust name410aの値を
CUSTテーブル410bの記録の記録識別子に関連付
け、第2のレベル(インデックス500、図5)は、C
UST.cust no510aの値を、そのORD.
cust noに対して同じ値を有するORDテーブル
510bの記録の記録識別子に関連付け、そして第3の
レベル(インデックス600、図6)は、ORD.or
d no610aの値を、ITEM.ord noに対
して同じ値を有するITEMテーブル610bの記録の
記録識別子に関連付ける。
名に対応する項目記録を検索する上で役立つ。例えば、
顧客Smithの項目記録を検索するためには、インデ
ックス400は、Smith(002)に対応するCU
ST記録のCUST.cust no(1002)を検
索するのに使用され、インデックス500は、CUS
T.cust no(1002)に対応するORD記録
(101、102)のORD.ord no(002、
003)を検索するのに使用され、そして最後にインデ
ックス600は、ORD.ord no(002、00
3)に対応するITEM記録(201、202、20
3)を検索するのに使用される。
ブルインデックスは、リレーショナルデータベースシス
テムのデータを簡単にアクセスするが、リレーショナル
データベースの従来のインデックスには制約がある。例
えば、第1テーブルのフィールドのキー値を第2テーブ
ルの記録の記録識別子に関連付ける従来のインデックス
は、一般に、図4ないし6に示すように、2つ以上のレ
ベルを有する。
のレベルを有する結果として、このようなインデックス
は、単一テーブルインデックスよりも多量のメモリスペ
ースを必要とする。更に、多数のレベルを有する結果と
して、問合せを処理するのに多量の処理が必要となる。
例えば、顧客名Smithに対応する項目記録を検索す
る場合に、多数の処理段階が必要となる。
1つの特徴において、インデックスキー及びインデック
ス条件に基づきマルチテーブルのリレーショナルデータ
ベースにおける第1テーブルのインデックスを形成する
ためのコンピュータ実施方法であって、インデックスキ
ー値を決定し、インデックスキーが第1テーブル以外の
テーブルを参照する場合には、他のテーブルからのデー
タを検索してインデックスキー値を決定することを含
み;更に、各々の決定されたインデックスキー値を、イ
ンデックス条件を満足する第1テーブルの記録の記録識
別子と関連させ、インデックス条件が第1テーブル以外
のテーブルを参照する場合には、他のテーブルからのデ
ータを検索して、関連する記録識別子を決定することを
含み;そしてインデックスキー値及び関連する記録識別
子をインデックスに記憶するという段階を備えた方法を
提供する。
を含む。インデックスキーは、少なくとも第2テーブル
及び第3テーブルを参照する。インデックス条件は、少
なくとも第2テーブル及び第3テーブルを参照する。イ
ンデックスキーは、少なくとも第2テーブルを参照する
表現である。
ックスキーに基づきマルチテーブルのリレーショナルデ
ータベースにおける第1テーブルのインデックスを形成
するためのコンピュータ実施方法であって、インデック
スキー値を決定し、インデックスキーは、少なくとも第
2テーブルを参照する表現を含み;各々の決定されたキ
ー値を第1テーブルの記録の記録識別子と関連させ;そ
してインデックスキー値及び関連する記録識別子をイン
デックスに記憶するという段階を備えた方法も提供す
る。
ルチテーブルのリレーショナルデータベースにおける問
合せを処理するためのインデックスの適用性を決定する
コンピュータ実施方法であって、上記インデックスは、
インデックスキー及びインデックス条件に基づいてイン
デックステーブルをインデックスし、上記問合せは、1
組の問合せテーブルを参照する問合せ条件に基づくもの
であり、そして各々のテーブルは、マルチテーブルのリ
レーショナルデータベースのテーブルであるような方法
も提供する。この方法は、インデックステーブルが問合
せテーブルの1つであるかどうか決定し;インデックス
条件が問合せ条件に比して等しく限定的であるか又はそ
れ以下であるかを決定し;そしてインデックステーブル
が問合せテーブルの1つでありそしてインデックス条件
が問合せ条件に比して等しく限定的であるか又はそれ以
下である場合には、問合せを処理するのにインデックス
を適用できると決定するという段階を備えている。
問合せ条件に比して等しく限定的であるか又はそれ以下
であるかを決定する段階が、各インデックス条件が少な
くとも1つの問合せ条件により満足されるかどうか決定
することを含むような方法も包含する。
レーショナルデータベースの1組の問合せテーブルに対
して問合せを処理するコンピュータ実施方法であって、
インデックスキー値を有するインデックスエントリー
と、上記1組の問合せテーブルにおける第1問合せテー
ブルの記録の関連記録識別子とを含むインデックスを検
索し、上記インデックスエントリーと、その関連記録識
別子との関係は、少なくとも上記1組の問合せテーブル
における第2の問合せテーブル及び第3の問合せテーブ
ルに基づくものであり;上記問合せに基づいてインデッ
クスキー値を決定し;その決定されたインデックスキー
値に対応するインデックスエントリーを決定し;そして
その決定されたインデックスエントリーの関連記録識別
子に基づいて第1問合せテーブルの記録を検索するとい
う段階を備えた方法も提供する。
レーショナルデータベースの1組の問合せテーブルに対
して問合せを処理するコンピュータ実施方法であって、
インデックスキー値を有するインデックスエントリー
と、上記1組の問合せテーブルにおける第1問合せテー
ブルの記録の関連記録識別子とを含むインデックスを検
索し、上記インデックスキー値は、少なくとも上記1組
の問合せテーブルにおける第2の問合せテーブルを参照
する表現に基づくものであり;上記問合せに基づいてイ
ンデックスキー値を決定し;その決定されたインデック
スキー値に対応するインデックスエントリーを選択し;
そしてその選択されたインデックスエントリーに基づい
て第1問合せテーブルの記録を検索するという段階を備
えた方法も提供する。
ログラム可能なプロセッサがインデックスキー及びイン
デックス条件に基づいてマルチテーブルのリレーショナ
ルデータベースの第1テーブルの記録をオーダーできる
ようにプロセッサ読み取り可能な媒体に記憶されたイン
デックスであって、インデックスキー値と、インデック
ス条件を満足する第1テーブルの記録に対する関連記録
識別子とを備え、上記インデックスキー及びインデック
ス条件の少なくとも1つは、マルチテーブルのリレーシ
ョナルデータベースの第2及び第3テーブルを参照する
ようなインデックスも提供する。
ログラム可能なプロセッサがインデックスキーに基づい
てマルチテーブルのリレーショナルデータベースの第1
テーブルの記録をオーダーできるようにプロセッサ読み
取り可能な媒体に記憶されたインデックスであって、イ
ンデックスキー値と、第1テーブルの記録に対する関連
記録識別子とを備え、上記インデックスキーは、少なく
ともマルチテーブルのリレーショナルデータベースの第
2テーブルを参照する表現であるようなインデックスも
提供する。
般化されたキーインデックスシステムは、単一レベルで
実施することができ、効率的な記憶を達成すると共に、
効率的な問合せ処理を可能にする。又、一般化されたキ
ーインデックスは、例えば、2つ以上のテーブルのフィ
ールドを用いた表現を含む種々のキーインデックスに対
してインデックスすることができる。
は、従来の単一テーブルインデックスを含む種々のイン
デックスフォーマットを包含するに充分なほどの融通性
がある。リレーショナルデータベースシステムは、一般
化されたキーインデックス及び従来のインデックスの両
方を形成しそして取り扱うように容易に適用できる。
説明から、又は本発明の実施により明らかとなろう。本
発明の目的及び効果は、特許請求の範囲に特に指摘する
手段及びその組み合わせにより実現することができよ
う。
明の好ましい実施形態を詳細に説明する。本発明は、リ
レーショナルデータベースシステムにおけるインデック
スの一般化された使用を提供する。一般化されたキーイ
ンデックス(GKインデックス)は、仮想列インデック
ス及び部分インデックスのような単一テーブルインデッ
クス、並びにマルチテーブルインデックスを含む従来の
インデックスを包含し、そして従来のインデックスに使
用された異なる技術を単一のインデックスに結合できる
ようにする。更に、GKインデックスは、効率的に記憶
されるカスタマイズされたインデックスを形成しそして
効率的な問合せ処理を行えるようにする改良された能力
を提供する。
スは、次の一般的フォーマットを有 但し、パラメータは、次の通りである。 index-name: 形成されているインデックスを識別
する。 table-name: 記録がインデックスされているテー
ブルを識別する。
ベースの1つ以上のテーブルからの1つ以上のフィール
ドを含む。 other-table-list: テーブル名に対応するテーブル以外
のテーブルであって、キーリスト又は条件リストのいず
れかで参照されたフィールドを有する各テーブルを含
む。形成されているインデックスが単一テーブルインデ
ックスである場合には、このリストは、空となる。 condition-list: 満足されるべき0以上の条件(表
現)を含む。このリストは空である。
その結果を記憶するようなステートメントからGKイン
デックスを形成する。例えば、GKインデックスを形成
する一般的フォーマットは、問合せとして表される。 SELECT <key-list>, <table-name>. RID FROM <other-table-list>, <table-name> WHERE <condition-list> ORDER BY <order-list> 但し、<table-name>. RID は、テーブル記録を参照し、
そして<order-list>は、一般に、キーリストにおいてオ
ーダーされたフィールドを反映する。
及び部分インデックスを含む従来の単一テーブルインデ
ックスを形成するのに使用することもできる。上記フォ
ーマットを用いた実施においては、単一テーブルGKイ
ンデックスは、次のようなステートメントにより形成さ
れる。 これは、次のように問合せとして表される。 SELECT <key-list>, <table-name>. RID FROM <table-name> WHERE <condition-list> ORDER BY <order-list>
ブルをインデックスする図4を参照して述べた標準的な
1テーブルインデックスは、次のようなステートメント
によって形成される。 これは、次のように問合せとして表される。 SELECT CUST.cust name, CUST.RID FROM CUST ORDER BY CUST.cust name
ス700は、次のステートメントによって形成される。
ックス800は、次のように形成される。 これは、次のように問合せとして表される。 SELECT ORD.date, ORD.RID FROM ORD WHERE ORD.price ≧ 50,000.00 ORDER BY ORD.date
の単一テーブルインデックスを包含する。又、GKイン
デックスは、マルチテーブルであってもよい。マルチテ
ーブルGKインデックスに対応する問合せを処理する際
には、GKインデックスキー値と、インデックスされた
テーブルの記録の記録識別子との最終的な関連を決定す
るのに中間テーブルが参照されるが、GKインデックス
は、最終的な結果を記憶する。
り、「Create GK Index (GKインデックスを形成す
る)」コマンドに対応する問合せを処理するのに種々の
方法を使用することができる。
を示すフローチャートである。ステップ910におい
て、インデックスキーK(<key-list>として上記した)
及びインデックス条件{C}(<condition-list>として
上記した)を使用して、テーブルT(<table-name>とし
て上記した)にGKインデックスGKIを形成するコマ
ンドを受け取った後に、ステップ920においてインデ
ックスキーKの値が決定される。ステップ930におい
て、各インデックスキー値に対し、条件{C}を満足す
るテーブルTの関連記録識別子が決定される。ステップ
940において、インデックスキー値及びそれらの関連
記録識別子が記憶される。
記録の関連記録識別子を決定するときには、テーブルT
ではなく、中間テーブル(<other-table-list>のテーブ
ルの1つ)を参照することができる。例えば、<other-t
able-list>のテーブルがインデックスキーにより又は
{C}の条件において参照される場合には、他のテーブ
ルからのデータを検索する必要がある。しかしながら、
中間テーブルが参照されるかどうかに関わりなく、イン
デックスは、インデックスキー値を、インデックスされ
たテーブルTの記録の関連記録識別子に直接関連させる
マッピングの結果を記憶する。
に関連付けて、図4ないし6のインデックスと同じ機能
を実行するGKインデックス1000を示す。次のよう
なコマンドの結果、 CREATE GK-INDEX CUST item ON ITEM (SELECT AS KEY CUST.cust name FROM CUST WHERE CUST.cust no = ORD.cust no AND ORD.ord no = ITEM.ord no) それに対応する問合せ SELECT CUST.cust name, ITEM.RID FROM CUST, ORD, ITEM WHERE CUST.cust no = ORD.cust no AND ORD.ord no = ITEM.ord no ORDER BY CUST.cust name が処理され、図10のGKインデックス1000を形成
する。
インデックス1000は、顧客名を項目記録の記録イン
デックスに関連付ける。しかしながら、図示されたよう
に、GKインデックス1000は、CUSTテーブルか
らの顧客名の値をITEMテーブルの記録の記録識別子
に直接関連付ける単一のレベルしかもたず、ORDテー
ブルへの参照を排除する。
のマルチテーブルインデックスは、キー値をテーブル記
録の記録識別子に関連付けるために中間記録を参照する
多数のレベルを有している。多数のレベルは、多量のメ
モリを必要としそしてアクセス時間を遅くするだけでな
く、形成することのできるインデックスの形式にある程
度の制約を課する。例えば、従来のマルチレベルマルチ
テーブルインデックス動作は、インデックスキーが2つ
以上のテーブルのフィールドに基づくことを許さない。
インデックスキー値をテーブル記録の記録識別子に直接
関連させる単一レベルしかもたないので、ユーザは、関
連をいかに定めるかを決定する上で著しい融通性をも
つ。例えば、GKインデックスキーは、第2テーブルの
1つ以上のフィールドを用いる表現を含むインデックス
キーを使用して第1テーブルに形成することができる。
図1ないし3のテーブルを参照すれば、特定の全価格を
有する単一オーダー購入を行った顧客を決定するため
に、図11のGKインデックスは、次のように形成され
る。 CREATE GK-INDEX cust expenditure ON CUST (SELECT AS KEY ((ORD.price - ORD.discount) * (1 + ORD.tax)) FROM ORD WHERE ORD.cust no = CUST.cust no) これは、次のように処理される。
テーブルからのフィールドに形成することもできる。例
えば、次のコマンドは、顧客名及びオーダー日付の組み
合わせを、そのオーダーで購入した項目の記録識別子に
関連付ける図12のGKインデックス1200を形成す
る。 CREATE GK-INDEX cust date item ON ITEM (SELECT AS KEY (CUST.cust name, ORD.date) FROM CUST, ORD WHERE CUST.cust no = ORD.cust no AND ORD.ord no = IEM.ord no) これは、次により形成される。
してカスタマイズされたインデックスを形成するための
一般化されたキーインデックス動作の融通性を示してい
る。
れたテーブルにおいてデータが追加され、削除され又は
変更された後にGKインデックスの精度の継続を確保す
るために、GKインデックスは、データ変更が生じた後
にそのエントリーが依然として正確であることを照合す
るために更新されねばならない。
スを更新するのに適用できる。1つの実施形態では、参
照されたフィールドのいずれかが変更されたときにGK
インデックスが再構成されるか、又はその変更がGKイ
ンデックスに適合しない場合にはGKインデックスが削
除される(例えば、不適合のデータ形式に対しフィール
ドが削除されるか又は変更される)。この方法は、デー
タが頻繁に更新されないデータウェアハウス(倉庫)環
境に特に適している。
スを使用し、GKインデックス内のGKインデックスキ
ー値を見出して、関連テーブル記録への関連記録識別子
に従うことにより、データをアクセスする。例えば、S
mithという名前の顧客に対する項目記録を見つける
ために図10のGKインデックス1000を使用する場
合に、Smithのエントリー1030aに対してGK
インデックス1000が最初にサーチされ、そしてそれ
に対応する記録識別子1030bにより項目記録が検索
される。
ョナルデータベースシステムは、最初に、所与の問合せ
を処理するためにその特定のインデックスが適切に使用
されるかどうか決定する。典型的に、データベースシス
テムは、所与の問合せを処理するのにどのインデックス
が使用されるかを決定する役目を果たす問合せ最適化手
段を有している。
デックスを問合せに適用できるかどうか及び(2)問合
せを処理するようにインデックスが最適に使用されるか
どうかを決定することにより、所与の問合せに対し特定
のインデックスを使用すべきかどうか決定する。例え
ば、次の問合せQについて考える。 SELECT <query-select-list> FROM <query-table-list> WHERE <query-condition-list> 更に、次のように形成されるGKインデックスGKIに
ついて考える。
できるためには、それがインデックスするテーブルが問
合せにより参照されねばならない。図13は、適用性を
決定する1つの実施形態におけるプロセスを示すフロー
チャートである。ステップ1310において、GKイン
デックスGKIによりインデックスされたテーブルTが
<query-table-list>のテーブルの1つでない場合には、
GKインデックスGKIは問合せに適用できない(ステ
ップ1315)。同様に、ステップ1320において、
<index-condition-list>が<query-condition-list>より
制約がある場合には、GKインデックスGKIは問合せ
に適用できない(ステップ1315)。さもなくば、G
KインデックスGKIは、問合せに適用できる(ステッ
プ1325)。
ンデックスGKIの使用が不完全な結果を生じないよう
に確保し、問合せにより要求される以上に制約のある条
件でインデックスGKIが形成される場合には不完全な
結果が生じる。1つの実施形態では、制約度の条件を満
足するかどうかは、<index-condition-list>の各条件が
<query-condition-list>の少なくとも1つの条件により
満足されるかどうかを評価することにより決定される。
ある。図1ないし3のテーブルを用いて、次のインデッ
クスが形成される。 (1)cust items インデックス:図10に示すよう
に、cust items インデックス1000は、顧客名を、
その顧客が購入した項目に対する項目記録の記録識別子
と関連させる。 (2)cust big items インデックス:図14に示す
ように、cust big items インデックス1400は、顧
客名を、少なくとも$50,000.00の価格のオー
ダーでその顧客が購入した項目に対する項目記録の記録
識別子と関連させる。このインデックスは、次のように
形成される。 CREATE GK-INDEX cust big items ON ITEM (SELECT AS KEY CUST.cust name FROM CUST, ORD WHERE CUST.cust no = ORD.cust no AND ORD.ord no = ITEM.ord.no AND ORD.price ≧ 50,000.00) (3)cust many big items インデックス:図15
に示すように、cust many big items インデックス1
500は、顧客名を、少なくとも$50,000.00
の価格のオーダーでその顧客により購入されそして少な
くとも10の量で購入された項目に対する項目記録の記
録識別子と関連させる。このインデックスは、次のよう
に形成される。
含むデータベースに基づいて送られる。(1)Q1:顧
客Smithによるオーダーにおいて項目番号及び項目
量を見出す。この問合せは、次のようにフォーマットさ
れる。 SELECT ITEM.item no, ITEM.quantity FROM CUST, ORD, ITEM WHERE CUST.cust name = "Smith" AND CUST.cust no = ORD.cust no AND ORD.ord no = ITEM.ord no (2)Q2:顧客Smithによる少なくとも$60,
000.00のオーダーにおいて項目番号及び項目量を
見出す。この問合せは、次のようにフォーマットされ
る。
000.00の少なくとも25の量のオーダーにおいて
購入した項目番号及び項目量を見出す。この問合せは、
次のようにフォーマットされる。 SELECT ITEM.item no, ITEM.quantity FROM CUST, ORD, ITEM WHERE CUST.cust name = "Smith" AND CUST.cust no = ORD.cust no AND ORD.ord no = ITEM.ord no AND ORD.price ≧ 60,000.00 and ITEM.quantity ≧ 25
ックス1000、1400及び1500の適応性は、図
16に示されている。Q1は、Smithにより購入さ
れた全ての項目に関する情報を要求する。インデックス
1000のみを適用できる。というのは、インデックス
1400及び1500のインデックス条件は、問合せ条
件よりも限定的であり、完全な結果を生じないからであ
る。ORD.price ≧ 50,000 というインデックス1400
の条件は、Q1の条件により満足されない。従って、イ
ンデックス1400は、少なくとも$50,000.0
0のオーダーにおいてSmithが購入した項目しか指
示しない。インデックス1500は、ORD.price ≧ 50,
000 及びITEM.quantity ≧ 10 の両方の条件を含み、そ
のいずれもQ2によって満足されない。従って、インデ
ックス1500は、少なくとも$50,000.00の
オーダーにおいてSmithが購入した項目のみを指示
する。
を有するインデックスは誤った結果を招くことを示して
いる。即ち、Smithが購入した全ての項目を要求す
るQ1に対する適切な応答は、項目201、202、2
03に対応し、インデックス1400は、項目201及
び202のみを生じ、インデックス1500は、項目2
01のみを生じる。
って更に示される。Q2は、少なくとも$60,00
0.00のオーダーにおいてSmithが購入した項目
を要求する。インデックス1400は、ORD.price ≧ 5
0,000.00というその条件がORD.price ≧ 60,000.00とい
うQ2問合せ条件により満足されるので、Q2に適用す
ることができる。インデックス1500は、ORD.price
≧ 50,000 というその条件は満足されるが、ORD.quanti
ty ≧ 10 というその条件がQ2の条件によって満足さ
れないので、適用できない。
のオーダーにおいて25より大きな量でSmith氏が
購入した項目を要求する。インデックス1400は、Q
2に対して適用できるという同じ理由で適用できる。イ
ンデックス1500も、ITEM.quantity ≧ 10 というそ
の条件がITEM.quantity ≧ 25 というQ3問合せの条件
により満足されるので、適用できる。
ことを決定すると、問合せ最適化手段は、一般に、その
問合せを処理するのにインデックスが最適に使用される
かどうか決定する。最適化方法は、問合せ最適化手段の
間で異なるが、一般的に使用される方法は、P.G.セ
リンガー氏等の「リレーショナルデータベースシステム
のためのアクセス仕様言語(An Access Specification L
anguage for a Relational Data Base System)」、19
79 ACM SIGMOD INT'L CONF. ONMANAGEME
NT OF DATA 23-34 (1979年5月/6月)に記載さ
れたセリンガーの最適化アルゴリズムに基づいている。
は、所与の問合せを処理するための考えられる実行プラ
ンを列挙し、各考えられるプランのコストを推定し、そ
して最良のプラン(最もコストの安いプラン)を選択す
ることである。従って、次の問合せを処理する場合、 SELECT <query-select-list> FROM <query-table-list> WHERE <query-condition-list> <query-table-list>をセット{T1,T2,...Tn }とすれ
ば、<query-table-list>の全てのテーブルを接合するこ
とが必要となる。1つの考えられるセリンガー最適化手
段は、問合せテーブルセットのテーブルの全ての順列に
対するプランを形成し、そしてその順列の第1テーブル
でスタートしてそのテーブルを第2テーブルと接合する
コストを推定し、そのコストを、上記第1接合の結果を
第3テーブルに接合するコストの推定値に加算し、テー
ブルセットの全てのテーブルを接合し続けそして累積さ
れた推定コストを計算することにより、各順列に対する
コストを推定する。又、総コストは、いかなる接合も必
要としない単一テーブル条件を組み込むコストも考慮す
る。このプロセスが各々の考えられる順列に対して繰り
返される。
ることができる。セリンガー最適化手段は、一般に、イ
ンデックスを用いて、テーブルを接合するコストを減少
するか、又は単一テーブルに対して条件を決定するコス
トを減少する。
300を参照し、次の問合せについて考える。 SELECT CUST.name, ITEM.quantity FROM CUST, ORD, ITEM WHERE CUST.cust name = "Smith" AND CUST.cust no = ORD.cust no AND ORD.ord no = ITEM.ord no AND ITEM.quantity ≧ 25
であり、プランは、次のような考えられる順列を含む。 (1){CUST, ORD, ITEM } (2){CUST, ITEM, ORD } (3){ORD, CUST, ITEM } (4){ORD, ITEM, CUST } (5){ITEM, CUST, ORD } (6){ITEM, ORD, CUST }
ルドITEM.quantity をITEM.RIDと関連付け、そして条件
ITEM.quantity ≧ 25 を処理するのに有用である。この
条件は、ITEMテーブルのみを参照し、それ故、他の
テーブルを予め接合する必要はない。従って、インデッ
クス1700は、ITEMテーブルが追加されるときに
上記プラン(1)ないし(6)の各々に使用することが
できる。
ルドITEM.ord noをITEM.RIDと関連付け、そして条件OR
D.ord no = ITEM.ord noを遂行して、ITEMテー
ブルを共通のord noフィールドによりORDテーブル
に接合するのに有用である。しかしながら、この条件は
ORDテーブルを参照するので、インデックス1800
は、ORDテーブルが既に接合された場合にITEMテ
ーブルを接合することのみに使用される。従って、イン
デックス1800は、プラン(1)、(3)及び(4)
のみに使用される。
する種々の方法を用いて、GKインデックスをこのアル
ゴリズムに組み込むようにセリンガー最適化手段を適応
させることができる。例えば、1つの実施形態におい
て、従来の単一テーブルインデックスと同様に、テーブ
ルTにおける単一テーブルGKインデックスは、そのテ
ーブルが接合されるときに、常に考慮される。マルチテ
ーブルGKインデックスは、キーリストに参照された全
てのテーブルが既に接合されたときに、考慮される。
ムをベースとする問合せ最適化手段も、GKインデック
スを処理するのに同様に適応できるが、特定の異なる変
更が行われる。
施形態も考えられる。例えば、他の実施形態は、異なる
更新方法を使用してもよい。ある実施形態は、その基礎
となるテーブルが変更されるときにGKインデックスを
削除するのではなく、インデックスを更新又は再計算す
る。
タ構造を使用して、bツリー及びビットマップインデッ
クスを含むGKキーインデックスを表すことを含む。
説明したが、ハードウェア又はソフトウェア或いはその
両方の組み合わせで実施することもできる。本発明は、
プロセッサ、データ記憶システム、入力装置及び出力装
置を備えたプログラム可能な処理システムにおいて実行
されるソフトウェアプログラムで実施されるのが好まし
い。
されたCPU1910、RAM1920及びI/Oコン
トローラ1930を含むプログラム可能な処理システム
1900を示している。I/Oコントローラ1930
は、I/Oバス1950によりキーボード1960のよ
うな入力装置、及びディスプレイ1970のような出力
装置にも接続される。
説明したが、本発明は、これに限定されるものではな
く、特許請求の範囲のみによって限定されるものとす
る。
図である。
図である。
図である。
のフローチャートである。
定する方法のフローチャートである。
を示す図である。
る。
Claims (14)
- 【請求項1】 インデックスキー及びインデックス条件
に基づきマルチテーブルのリレーショナルデータベース
における第1テーブルのインデックスを形成するための
コンピュータ実施方法において、 インデックスキー値を決定し、インデックスキーが第1
テーブル以外のテーブルを参照する場合には、他のテー
ブルからのデータを検索して、インデックスキー値を決
定することを含み、 各々の決定されたインデックスキー値を、インデックス
条件を満足する第1テーブルの記録の記録識別子と関連
させ、インデックス条件が第1テーブル以外のテーブル
を参照する場合には、他のテーブルからのデータを検索
して、関連する記録識別子を決定することを含み、そし
てインデックスキー値及び関連する記録識別子をインデ
ックスに記憶する、という段階を備えたことを特徴とす
る方法。 - 【請求項2】 上記インデックスキー値は、少なくとも
第2テーブル及び第3テーブルを参照する請求項1に記
載の方法。 - 【請求項3】 上記インデックス条件は、少なくとも第
2テーブル及び第3テーブルを参照する請求項1に記載
の方法。 - 【請求項4】 上記インデックスキーは、少なくとも第
2テーブルを参照する表現である請求項1に記載の方
法。 - 【請求項5】 上記インデックスキー表現は、更に、第
3テーブルを参照する請求項4に記載の方法。 - 【請求項6】 インデックスキーに基づきマルチテーブ
ルのリレーショナルデータベースにおける第1テーブル
のインデックスを形成するためのコンピュータ実施方法
において、 インデックスキー値を決定し、インデックスキーは、少
なくとも第2テーブルを参照する表現を含み、 各々の決定されたキー値を第1テーブルの記録の記録識
別子と関連させ、そしてインデックスキー値及び関連す
る記録識別子をインデックスに記憶する、という段階を
備えたことを特徴とする方法。 - 【請求項7】 上記インデックスキー表現は、更に、第
3テーブルを参照する請求項6に記載の方法。 - 【請求項8】 マルチテーブルのリレーショナルデータ
ベースにおける問合せを処理するためのインデックスの
適用性を決定するコンピュータ実施方法であって、上記
インデックスは、インデックスキー及びインデックス条
件に基づいてインデックステーブルをインデックスし、
上記問合せは、1組の問合せテーブルを参照する問合せ
条件に基づくものであり、そして各々のテーブルは、マ
ルチテーブルのリレーショナルデータベースのテーブル
であり、上記方法は、 インデックステーブルが問合せテーブルの1つであるか
どうか決定し、 インデックス条件が問合せ条件に比して等しく限定的で
あるか又はそれ以下であるかを決定し、そしてインデッ
クステーブルが問合せテーブルの1つでありそしてイン
デックス条件が問合せ条件に比して等しく限定的である
か又はそれ以下である場合には、問合せを処理するのに
インデックスを適用できると決定する、という段階を備
えたことを特徴とする方法。 - 【請求項9】 インデックス条件が問合せ条件に比して
等しく限定的であるか又はそれ以下であるかを決定する
上記段階は、各インデックス条件が少なくとも1つの問
合せ条件により満足されるかどうか決定することを含む
請求項8に記載の方法。 - 【請求項10】 リレーショナルデータベースの1組の
問合せテーブルに対して問合せを処理するコンピュータ
実施方法において、 インデックスキー値を有するインデックスエントリー
と、上記1組の問合せテーブルにおける第1問合せテー
ブルの記録の関連記録識別子とを含むインデックスを検
索し、上記インデックスエントリーと、その関連記録識
別子との関係は、少なくとも上記1組の問合せテーブル
における第2の問合せテーブル及び第3の問合せテーブ
ルに基づくものであり、 上記問合せに基づいてインデックスキー値を決定し、 その決定されたインデックスキー値に対応するインデッ
クスエントリーを決定し、そしてその決定されたインデ
ックスエントリーの関連記録識別子に基づいて第1問合
せテーブルの記録を検索する、という段階を備えたこと
を特徴とする方法。 - 【請求項11】 リレーショナルデータベースの1組の
問合せテーブルに対して問合せを処理するコンピュータ
実施方法において、 インデックスキー値を有するインデックスエントリー
と、上記1組の問合せテーブルにおける第1問合せテー
ブルの記録の関連記録識別子とを含むインデックスを検
索し、上記インデックスキー値は、少なくとも上記1組
の問合せテーブルにおける第2の問合せテーブルを参照
する表現に基づくものであり、 上記問合せに基づいてインデックスキー値を決定し、 その決定されたインデックスキー値に対応するインデッ
クスエントリーを選択し、そしてその選択されたインデ
ックスエントリーに基づいて第1問合せテーブルの記録
を検索する、という段階を備えたことを特徴とする方
法。 - 【請求項12】 プログラム可能なプロセッサがインデ
ックスキー及びインデックス条件に基づいてマルチテー
ブルのリレーショナルデータベースの第1テーブルの記
録をオーダーできるようにプロセッサ読み取り可能な媒
体に記憶されたインデックスにおいて、 インデックスキー値と、 インデックス条件を満足する第1テーブルの記録に対す
る関連記録識別子とを備え、 上記インデックスキー及びインデックス条件の少なくと
も1つは、マルチテーブルのリレーショナルデータベー
スの第2及び第3テーブルを参照することを特徴とする
インデックス。 - 【請求項13】 プログラム可能なプロセッサがインデ
ックスキーに基づいてマルチテーブルのリレーショナル
データベースの第1テーブルの記録をオーダーできるよ
うにプロセッサ読み取り可能な媒体に記憶されたインデ
ックスにおいて、 インデックスキー値と、 第1テーブルの記録に対する関連記録識別子とを備え、 上記インデックスキーは、少なくともマルチテーブルの
リレーショナルデータベースの第2テーブルを参照する
表現であることを特徴とするインデックス。 - 【請求項14】 上記インデックスキーの表現は、更
に、第3テーブルを参照する請求項13に記載のインデ
ックス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/677490 | 1996-07-09 | ||
US08/677,490 US5870747A (en) | 1996-07-09 | 1996-07-09 | Generalized key indexes |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10143538A true JPH10143538A (ja) | 1998-05-29 |
JP4132136B2 JP4132136B2 (ja) | 2008-08-13 |
Family
ID=24718929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18194797A Expired - Lifetime JP4132136B2 (ja) | 1996-07-09 | 1997-07-08 | リレーショナルデータベースのインデックスを形成するための方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5870747A (ja) |
EP (1) | EP0818743A3 (ja) |
JP (1) | JP4132136B2 (ja) |
BR (1) | BR9703939A (ja) |
CA (1) | CA2209978A1 (ja) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745889A (en) * | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for parsing information of databases records using word-location pairs and metaword-location pairs |
US6339775B1 (en) * | 1997-11-07 | 2002-01-15 | Informatica Corporation | Apparatus and method for performing data transformations in data warehousing |
US6014670A (en) * | 1997-11-07 | 2000-01-11 | Informatica Corporation | Apparatus and method for performing data transformations in data warehousing |
US6167399A (en) * | 1998-05-05 | 2000-12-26 | Ncr Corporation | Join index for relational databases |
US6070164A (en) * | 1998-05-09 | 2000-05-30 | Information Systems Corporation | Database method and apparatus using hierarchical bit vector index structure |
US6505189B1 (en) | 2000-06-15 | 2003-01-07 | Ncr Corporation | Aggregate join index for relational databases |
US6618720B1 (en) | 2000-06-15 | 2003-09-09 | Ncr Corporation | Common spool files for maintaining join indexes |
US6505188B1 (en) | 2000-06-15 | 2003-01-07 | Ncr Corporation | Virtual join index for relational databases |
US7117215B1 (en) | 2001-06-07 | 2006-10-03 | Informatica Corporation | Method and apparatus for transporting data for data warehousing applications that incorporates analytic data interface |
US6778534B1 (en) | 2000-06-30 | 2004-08-17 | E. Z. Chip Technologies Ltd. | High-performance network processor |
US8583745B2 (en) * | 2000-11-16 | 2013-11-12 | Opendesign, Inc. | Application platform |
EP1217540A1 (en) * | 2000-11-29 | 2002-06-26 | Lafayette Software Inc. | Methods of organizing data and processing queries in a database system, and database system and software product for implementing such method |
US7483979B1 (en) | 2001-01-16 | 2009-01-27 | International Business Machines Corporation | Method and system for virtualizing metadata between disparate systems |
US7809854B2 (en) * | 2002-02-12 | 2010-10-05 | Open Design, Inc. | Logical routing system |
AUPR399401A0 (en) * | 2001-03-26 | 2001-04-26 | Future Is Freedom Pty Ltd, The | Improvements in developing and maintaining custom computer information systems |
US7231460B2 (en) * | 2001-06-04 | 2007-06-12 | Gateway Inc. | System and method for leveraging networked computers to view windows based files on Linux platforms |
US6643636B1 (en) * | 2001-06-05 | 2003-11-04 | Ncr Corporation | Optimizing a query using a non-covering join index |
US7162643B1 (en) | 2001-06-15 | 2007-01-09 | Informatica Corporation | Method and system for providing transfer of analytic application data over a network |
US7720842B2 (en) | 2001-07-16 | 2010-05-18 | Informatica Corporation | Value-chained queries in analytic applications |
US7177856B1 (en) | 2001-10-03 | 2007-02-13 | International Business Machines Corporation | Method for correlating data from external databases |
FR2833095B1 (fr) * | 2001-11-30 | 2004-01-30 | Penbase | Dispositif informatique du type pda pour le stockage et le traitement de bases de donnees relationnelles |
US6820077B2 (en) | 2002-02-22 | 2004-11-16 | Informatica Corporation | Method and system for navigating a large amount of data |
US6934706B1 (en) | 2002-03-22 | 2005-08-23 | International Business Machines Corporation | Centralized mapping of security credentials for database access operations |
US7127467B2 (en) * | 2002-05-10 | 2006-10-24 | Oracle International Corporation | Managing expressions in a database system |
US6980981B2 (en) * | 2002-05-10 | 2005-12-27 | International Business Machines Corporation | Method, system, and program for selecting a join order for tables subject to a join operation |
US8005802B2 (en) * | 2002-08-01 | 2011-08-23 | Oracle International Corporation | Partial evaluation of rule sets |
US7613741B2 (en) * | 2002-08-01 | 2009-11-03 | Oracle International Corporation | Utilizing rules in a distributed information sharing system |
US7047254B2 (en) * | 2002-10-31 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing aggregate object identifiers |
US7359982B1 (en) | 2002-12-26 | 2008-04-15 | International Business Machines Corporation | System and method for facilitating access to content information |
US7349949B1 (en) | 2002-12-26 | 2008-03-25 | International Business Machines Corporation | System and method for facilitating development of a customizable portlet |
WO2005004001A1 (fr) * | 2003-06-04 | 2005-01-13 | M-Penbase | Dispositif informatique du type pda pour le stockage et le traitement de bases de donnees relationnelles |
US7421458B1 (en) | 2003-10-16 | 2008-09-02 | Informatica Corporation | Querying, versioning, and dynamic deployment of database objects |
US7254590B2 (en) * | 2003-12-03 | 2007-08-07 | Informatica Corporation | Set-oriented real-time data processing based on transaction boundaries |
WO2005086003A1 (ja) * | 2004-03-08 | 2005-09-15 | Annex Systems Incorporated | データベース・システム |
US20050222996A1 (en) * | 2004-03-30 | 2005-10-06 | Oracle International Corporation | Managing event-condition-action rules in a database system |
US7877372B1 (en) * | 2004-05-24 | 2011-01-25 | Teradata Us, Inc. | Method and system for querying tables stored on multiple processing modules |
US7801922B2 (en) * | 2004-09-30 | 2010-09-21 | Emc Corporation | File index processing |
US7716262B2 (en) * | 2004-09-30 | 2010-05-11 | Emc Corporation | Index processing |
US7457813B2 (en) * | 2004-10-06 | 2008-11-25 | Burnside Acquisition, Llc | Storage system for randomly named blocks of data |
US7567975B2 (en) * | 2005-03-16 | 2009-07-28 | Oracle International Corporation | Incremental evaluation of complex event-condition-action rules in a database system |
US7509332B1 (en) * | 2005-12-16 | 2009-03-24 | Tevaclata Us, Inc. | Customized indexes for user defined data types |
US8027969B2 (en) * | 2005-12-29 | 2011-09-27 | Sap Ag | Efficient calculation of sets of distinct results in an information retrieval service |
US7809741B2 (en) * | 2006-03-31 | 2010-10-05 | Microsoft Corporation | Generating and utilizing composite keys in lieu of compound keys |
US7562073B2 (en) * | 2006-08-02 | 2009-07-14 | Sap Ag | Business object search using multi-join indexes and extended join indexes |
EP2062168A4 (en) * | 2006-08-23 | 2010-03-31 | Innovative Solutions Inc | EFFECTIVE MECHANISM OF RESEARCH RESULT UPDATE |
KR101385956B1 (ko) * | 2007-08-31 | 2014-04-17 | 삼성전자주식회사 | 미디어 신호 인코딩/디코딩 방법 및 장치 |
WO2009153831A1 (ja) * | 2008-06-18 | 2009-12-23 | 株式会社 アテナテレコムラボ | テーブルの表示と操作のプログラム |
DE102008059098A1 (de) * | 2008-11-26 | 2010-06-10 | Continental Automotive Gmbh | Infotainmentsystem und Computerprogrammprodukt |
US9275031B2 (en) * | 2009-10-09 | 2016-03-01 | Microsoft Technology Licensing, Llc | Data analysis expressions |
JP5460486B2 (ja) * | 2010-06-23 | 2014-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データをソートする装置及び方法 |
US8380701B1 (en) * | 2011-09-02 | 2013-02-19 | International Business Machines Corporation | Using a partially built index in a computer database system |
US9069707B1 (en) | 2011-11-03 | 2015-06-30 | Permabit Technology Corp. | Indexing deduplicated data |
US9355127B2 (en) | 2012-10-12 | 2016-05-31 | International Business Machines Corporation | Functionality of decomposition data skew in asymmetric massively parallel processing databases |
US9953042B1 (en) | 2013-03-01 | 2018-04-24 | Red Hat, Inc. | Managing a deduplicated data index |
US10289980B2 (en) * | 2015-11-24 | 2019-05-14 | Ariba, Inc. | In-memory index for evaluating a complex expression |
US20170220656A1 (en) * | 2016-02-03 | 2017-08-03 | Adp, Llc | Information Access System |
US11119998B1 (en) | 2018-11-26 | 2021-09-14 | Amazon Technologies, Inc. | Index and view updates in a ledger-based database |
US11196567B2 (en) | 2018-11-26 | 2021-12-07 | Amazon Technologies, Inc. | Cryptographic verification of database transactions |
US11036708B2 (en) * | 2018-11-26 | 2021-06-15 | Amazon Technologies, Inc. | Indexes on non-materialized views |
US10942910B1 (en) | 2018-11-26 | 2021-03-09 | Amazon Technologies, Inc. | Journal queries of a ledger-based database |
CN110321344B (zh) * | 2019-05-20 | 2024-03-15 | 深圳市晶测科技有限公司 | 关联数据的信息查询方法、装置、计算机设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278978A (en) * | 1990-03-26 | 1994-01-11 | International Business Machines Corporation | Method and system for describing and exchanging data between heterogeneous database systems with data converted by the receiving database system |
US5604899A (en) * | 1990-05-21 | 1997-02-18 | Financial Systems Technology Pty. Ltd. | Data relationships processor with unlimited expansion capability |
US5440730A (en) * | 1990-08-09 | 1995-08-08 | Bell Communications Research, Inc. | Time index access structure for temporal databases having concurrent multiple versions |
JP2711204B2 (ja) * | 1992-03-09 | 1998-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | リレーショナルデータベースのユーザインターフェースを生成する方法 |
US5440732A (en) * | 1993-02-05 | 1995-08-08 | Digital Equipment Corp., Pat. Law Gr. | Key-range locking with index trees |
US5732270A (en) * | 1994-09-15 | 1998-03-24 | Visual Edge Software Limited | System and method for providing interoperability among heterogeneous object systems |
CA2167790A1 (en) * | 1995-01-23 | 1996-07-24 | Donald S. Maier | Relational database system and method with high data availability during table data restructuring |
-
1996
- 1996-07-09 US US08/677,490 patent/US5870747A/en not_active Expired - Lifetime
-
1997
- 1997-07-08 CA CA002209978A patent/CA2209978A1/en not_active Abandoned
- 1997-07-08 JP JP18194797A patent/JP4132136B2/ja not_active Expired - Lifetime
- 1997-07-09 BR BR9703939A patent/BR9703939A/pt active Search and Examination
- 1997-07-09 EP EP97305022A patent/EP0818743A3/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
US5870747A (en) | 1999-02-09 |
JP4132136B2 (ja) | 2008-08-13 |
AU713109B2 (en) | 1999-11-25 |
MX9705043A (es) | 1998-07-31 |
BR9703939A (pt) | 1998-09-08 |
EP0818743A2 (en) | 1998-01-14 |
EP0818743A3 (en) | 1999-08-18 |
CA2209978A1 (en) | 1998-01-09 |
AU2836197A (en) | 1998-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4132136B2 (ja) | リレーショナルデータベースのインデックスを形成するための方法 | |
US7805465B2 (en) | Metadata management for a data abstraction model | |
US5043872A (en) | Access path optimization using degrees of clustering | |
US7240044B2 (en) | Query optimization by sub-plan memoization | |
US5761653A (en) | Method for estimating cardinalities for query processing in a relational database management system | |
US7945557B2 (en) | Method, system, and program for query optimization with algebraic rules | |
US6233573B1 (en) | System and method for selecting rows from dimensional databases having temporal dimention | |
Chaudhuri et al. | Optimizing top-k selection queries over multimedia repositories | |
US8073840B2 (en) | Querying joined data within a search engine index | |
US5806061A (en) | Method for cost-based optimization over multimeida repositories | |
US7689553B2 (en) | Execution cost reduction of sampled queries in a database | |
US6594653B2 (en) | Server integrated system and methods for processing precomputed views | |
US5761654A (en) | Memory structure and method for tuning a database statement using a join-tree data structure representation, including selectivity factors, of a master table and detail table | |
US7747640B2 (en) | Method for regenerating selected rows for an otherwise static result set | |
US6965891B1 (en) | Method and mechanism for partition pruning | |
US6122644A (en) | System for halloween protection in a database system | |
EP2605158A1 (en) | Mixed join of row and column database tables in native orientation | |
US20060116999A1 (en) | Sequential stepwise query condition building | |
JP2003527642A (ja) | リレーショナルデータベース照会をリライトするためのシステム及び方法 | |
US7542962B2 (en) | Information retrieval method for optimizing queries having maximum or minimum function aggregation predicates | |
EP1860603B1 (en) | Efficient calculation of sets of distinct results | |
US20050004918A1 (en) | Populating a database using inferred dependencies | |
US7299224B2 (en) | Method and infrastructure for processing queries in a database | |
MXPA97005043A (es) | Indices generalizados de claves | |
KR20020046786A (ko) | 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20040227 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071120 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080108 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080501 |
|
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: 20080527 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080602 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
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: 20110606 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |