JP2011181106A - Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 - Google Patents

Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 Download PDF

Info

Publication number
JP2011181106A
JP2011181106A JP2011128317A JP2011128317A JP2011181106A JP 2011181106 A JP2011181106 A JP 2011181106A JP 2011128317 A JP2011128317 A JP 2011128317A JP 2011128317 A JP2011128317 A JP 2011128317A JP 2011181106 A JP2011181106 A JP 2011181106A
Authority
JP
Japan
Prior art keywords
data
xml
xml document
relational database
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.)
Granted
Application number
JP2011128317A
Other languages
English (en)
Other versions
JP5320438B2 (ja
Inventor
Muralidhar Krishnaprasad
クリシュナプラサド,ムラリダール
Viswanathan Krishnamurthy
クリシュナマーシー,ビスワナサン
Ravi Murthy
マーシー,ラビ
Visar Nimani
ニマニ,ビサー
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.)
Oracle International Corp
Original Assignee
Oracle International 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
Priority claimed from US09/949,020 external-priority patent/US7873649B2/en
Priority claimed from US09/948,949 external-priority patent/US6871204B2/en
Priority claimed from US09/948,998 external-priority patent/US7024425B2/en
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of JP2011181106A publication Critical patent/JP2011181106A/ja
Application granted granted Critical
Publication of JP5320438B2 publication Critical patent/JP5320438B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • G06F16/8358Query translation
    • 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/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database

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)

Abstract

【課題】XMLドキュメントとしてビジュアライズされるべき関係データベースの1つ以上の部分のための技術が提供される。
【解決手段】URLをビジュアライズされたXMLドキュメント上のXPath表記として定義することによって関係データベースに記憶されるデータにアクセスするための標準的なユニフォームリソースロケータ(URL)メカニズムが提供される。関係データベース内のデータからXMLデータおよびメタデータをマッピングするための技術、ユーザがデータベースクエリーを用いてXMLドキュメントの形で関係データベースからデータを取出すことを可能にするための技術、および、関係データベース内でのクエリー再書込およびXMLデータ記憶のための技術が提供される。
【選択図】図4

Description

[関連出願および優先権主張]
この出願は、発明者ムラリダール クリシュナプラサド(Muralidhar Krishnaprasad)、ビスワナサン クリシュナマーシー(Viswanathan Krishnamurthy)、およびラビ マーシー(Ravi Murthy)による「XMLデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照」(“XML DATA STORAGE,QUERY REWRITES, VISUALIZATION, MAPPING AND REFERENCING”)と題された、2000年9月7日に提出された米国特許仮出願第60/230,878号の優先権を主張する。
この出願は、発明者としてムラリダール クリシュナプラサド、ビスワナサン クリシュナマーシー、およびラビ マーシーを挙げる「データベースデータおよびメタデータに対する関係データベースおよびユニバーサルリソース識別子のXMLビジュアライゼーションのための方法および装置」(“METHOD AND APPARATUS FOR XML VISUALIZATION OF A RELATIONAL DATABASE AND UNIVERSAL RESOURCE IDENTIFIERS TO DATABASE DATA AND METADATA”)と題された米国特許出願第 号、代理人事件整理番号50277‐1564の優先権を主張する。
この出願は、発明者としてムラリダール クリシュナプラサド、ビスワナサン クリシュナマーシー、ラビ マーシー、およびビサール ニマニ(Visar Nimani)を挙げる「関係データおよびメタデータをXMLにマッピングするための装置および方法」(“APPARATUS AND METHOD FOR MAPPING RELATIONAL DATA AND METADATA TO XML”)と題された米国特許出願第 号、代理人事件整理番号50277−1565の優先権を主張する。
この出願は、発明者としてムラリダール クリシュナプラサド、ビスワナサン クリシュナマーシー、およびラビ マーシーを挙げる「関係データベースシステム内のXMLデータの一様な操作およびフレキシブルな記憶のための方法および装置」(“METHOD AND APPARATUS FOR FLEXIBLE STORAGE AND UNIFORM MANIPULATION OF XML DATA IN A RELATIONAL DATABASE SYSTEM”)と題された米国特許出願第 号、代理人事件整理番号50277−1566の優先権を主張する。
この発明は、一般に、関係データベースに関し、より具体的には、データベースのXMLビジュアライゼーション、データベースオブジェクトへのDBURI参照、関係データベースデータおよびメタデータのXMLデータへのマッピング、XMLクエリーに応答してのXMLデータの提供、XMLデータ記憶、操作、およびクエリー能力に関する。
ワールドワイドウェブでは、ドキュメント内の異なるソースからのデータを参照する必要がある。このようなデータを参照する標準的なやり方は、URIまたはユニバーサルリソース識別子を用いることによる。大部分のデータが関係データベース内にあるため、このようなデータに対する標準的なURIベースのアクセス方法をサポートすることが必要である。通常、このようなアプリケーションは、サーブレット(Servlet)のような標準的なメカニズムを用いて書込まれ、これは、次に、SQLステートメントを実行してデータベースデータを取出し、フォーマットし得る。SQLデータの結果を、拡張可能マークアップ言語(XML)等の、ユーザが必要とする標準的なフォーマットに変換するためには、多くの場合、かなりの処理が必要とされる。XMLは、データを表わすためのワールドワイドウェブコンソーシアム(W3C)規格である。
関係データベース内のデータは、典型的には、データベースを管理するデータベースサーバにコマンドを送信することによって、アクセスされる。このようなコマンドは、データベースサーバがサポートするデータベース言語に適合していなければならない。
多くのアプリケーションは、現在、XMLドキュメントの形の入力データを予想して設計されている。アプリケーションに提供されるデータが関係データベースから来る場合、データは、典型的には、XMLドキュメントに再フォーマットされなければならない。
データがXMLドキュメントとして提供される場合、ドキュメントの受信側は、XMLドキュメントの構造を理解しなければならない。XMLドキュメントが関係データベースクエリーの結果から生成される場合、結果として得られるXMLドキュメントの構造は、典型的には、クエリーの性質に基づいて変化する。したがって、関係データをXMLドキュメントに変換し、このように生成されたXMLドキュメントの構造を示すデータを生成するプロセスは、面倒なものであり、柔軟性を欠くおそれがある。
種々の技術を用いて、このようなXMLドキュメントからのデータを関係データベースに記憶することができる。1つの技術によると、各XMLドキュメントは、単一のデータ項目として扱われ、そのようなものとして関係表の単一の列に記憶される。この技術は、データベースサーバにサブミットされる前にXMLが処理されなくてもよい点で、便宜的である。しかし、データベースサーバは、XMLドキュメントを単一のデータ項目とみなすため、データベースサーバは、XMLドキュメントが構成されており、単一のXMLドキュメントが多くの属性および特定の値を備えたエレメントを含み得るという事実を活用することはできない。
代替的な技術によると、XMLドキュメントがデータベースに記憶される前に、XMLドキュメントは、その構成属性およびエレメントデータに分割され得る。各属性およびエレメントの値は、データベースにサブミットされ、表の対応する列に挿入される。この技術が用いられる場合、データベースサーバを用いて個別の属性値に基づいてデータが選択され得る。しかし、データがデータベースから取出される場合、属性値は、単一のXMLドキュメントの一部としてではなく、まぎれもないデータ項目として提供される。XMLドキュメントを回復するためには、データベースサーバから受信されるデータは、再フォーマットされ、構成されてXMLドキュメントを再構成しなければならない。
上に基づいて、URLを用いたリソースへのアクセスをサポートするブラウザ等のクライエントが関係データにアクセスすることを可能にするための、それほど面倒でないメカニズムおよび技術を提供することが明らかに望ましい。
さらに、理にかない、融通性があり、かつ効率的な様態で関係データをXMLに変換するための技術を提供することが望ましい。
記憶される特定の形に依存しないXMLドキュメントを処理するための技術の提供が望まれる。言い換えると、アプリケーションにとって、それらのXMLデータの記憶表現を独立して決定し、それが機能性にいかなる影響も与えないことが望ましい。しかし、記憶の選択は、アプリケーションの性能に影響を与えるおそれもある。さらに、データベースサーバにとって、ユーザ動作の最適な処理のために選択された記憶表現を活用する技術を実現することも望ましい。
ユーザがXMLフォーマットで関係データベースからのデータを見ることと取出すこととを可能にするための技術が提供される。(1)このようなデータへのURI参照を提供することによって、ワールドワイドウェブを通してユーザがこのデータにアクセスするための、(2)データベース内のこれらのURI参照上で動作を記憶し、実行するための、技術が提供される。
データを関係データベースと交換するときにXML構文を用いるための技術も提供される。ユーザは、XPath表記を用いてデータベースのこれらの「ビジュアライズされた」部分をナビゲートし得る。
関係データベース内のメタデータおよびデータをXMLデータにマッピングするための技術が提供される。この発明の特定の実施例に従うと、オブジェクト関係データをXMLデータに標準的にマッピングし、さらにはオブジェクト関係スキーマをXMLスキーマに標準的にマッピングすることによって、ユーザがデータベースクエリを用いてXMLドキュメントの形で関係データベースからデータを取出すことを可能にするためのメカニズムが提供される。異なるデータベーススキーマ内のデータベースメタデータオブジェクトを異なるXMLネーム空間にマッピングすることによって、XMLネーム空間を用いてスキーマ情報を増加させる。
関係データベースシステム内で抽象データ型を用いてXMLデータをモデル化するための技術が提供される。
ユーザがXMLクエリーをサブミットして、関係データベースに記憶されるXMLドキュメント内のデータにアクセスする時に、XMLクエリーおよびマッピング情報に基づいてデータベースクエリーを生成するためのメカニズムが提供される。このプロセスは、XMLデータの基礎をなす記憶表現をより良く活用する他のクエリーへと、ユーザクエリー(および他のデータ操作動作)を再び書込むことを含む。
この発明は、同じ参照番号が同様の要素を指す添付の図内で、限定としてではなく、例として例示される。
関係データベース内のスキーマおよびスキーマオブジェクトを例示したブロック図である。 関係データベースに記憶された表を例示したブロック図である。 Uritypeの階層を例示したブロック図である。 Uritypeデータを記憶する関係データベース表を例示したブロック図である。 表を例示したブロック図である。 SQL結果セットを含むビューを例示したブロック図である。 XMLType記憶アーキテクチャを例示したブロック図である。 XMLType列の構造を例示したブロック図である。 この発明の実施例が実現され得るコンピュータを示す図である。
XML構文を用いて関係データベース内のデータにアクセスするための技術、関係データベースからのデータおよびメタデータをXMLにマッピングするための技術、関係データベースシステム内で抽象データ型を用いてXMLデータをモデル化するための技術、多数の記憶表現のための技術、一様なクエリーインターフェイスのための技術、およびクエリー再書込を用いた最適な処理のための技術が提供される。以下の説明では、説明上、この発明の完全な理解を提供するために、多くの具体的な詳細事項が示される。しかし、これらの具体的な詳細事項なしに、この発明が実施され得ることは、当業者には明らかであろう。他の例では、この発明を不必要に曖昧なものにしないために、周知の構造および装置がブロック図の形で示される。
機能的な概要
ここで説明される技術を用いると、「現在のユーザ」とここで呼ばれる、関係データベースの特定のいずれかのユーザは、現在のユーザがアクセス特権を許可された関係データベース内のすべての表およびビューならびに関連のスキーマをXMLツリーとして見ることができる。言い換えると、ユーザは、表およびビューの形でデータベースデータを見る代わりに、データは、XMLドキュメントの形でユーザに対して提供され、XMLドキュメントの典型的な構造はツリーである。
データベースの、いくつかの並行な現在のユーザが存在し得る。しかし、説明を簡素化するために、ここで説明される技術は、単一の現在のユーザを指す。XMLツリーは、以下、「ビジュアライズされたXMLドキュメント」と呼ばれる。ビジュアライズされたXMLドキュメントは、表およびビューならびに関連のスキーマのXML表現を含む。XMLドキュメントは、ユーザのアクセス権に基づくため、XMLドキュメントは、各ユーザのアクセス権に基づいてユーザごとに異なり得る。したがって、ここで説明されるようなビジュアライズされたXMLドキュメントは、現在のユーザに関連する。
URLまたはURIによって識別され、かつ関係データベース内でアクセスされるべきデータ項目は、ここで「目標データ」と呼ばれる。目標データは、実現例ごとに異なり得る。目標データは、関係データベーススキーマオブジェクト、関係データ、および制御ファイル等の多くの種類のデータのいずれであってもよい。この発明は、特定のいずれかの種類の目標データに限定されない。
目標データがXMLデータであるかのように、現在のユーザが関係データベース内の目標データにアクセスし、それを操作するために、以下のためのメカニズムが提供される。すなわち、1)現在のユーザが関係データベース内でアクセス特権を有するすべてのデータを含む、現在のユーザのためのいずれかの関係データベースのデフォルトバーチャルビジュアライゼーションであって、デフォルトバーチャルビジュアライゼーションは標準的なXMLドキュメントとして定義される、デフォルトバーチャルビジュアライゼーションを定義するためのメカニズム、2)標準的なユニフォームリソースインディケータ(URI)を提供するためのメカニズムであって、これは、データベース内で局所的に定義され、さらには、これによって、ビジュアライズされたXMLドキュメント上でのXPath表記としてURIを定義することにより、ビジュアライズされたXMLドキュメントの1つ以上のフラグメントがアクセスされ得る、標準的なユニフォームリソースインディケータ(URI)を提供するためのメカニズム、3)ビジュアライズされたXMLドキュメント上でのXpath表記としてURLを定義することによって関係データベースに記憶されるデータにアクセスするために関係データベースの外のウェブブラウザと共に用いられ得るメカニズムとして標準的なユニフォームリソースロケータ(URL)を提供するためのメカニズム、4)URIおよびURLを記憶するために用いられ得る新しいデータ型および新しいオブジェクト型を関係データベース内で提供するためのメカニズム、5)ここで説明されるような標準的なURIおよびURLを用いて、ビジュアライズされたドキュメントを通して関係データベース内のデータを修正、生成、追加、または削除するためのメカニズムを提供するためのメカニズムが提供される。
XPath表記は、XMLドキュメントをナビゲートするためのW3cの標準的なやり方である。XPath表記は、ビジュアライズされたXMLドキュメント(関係データベースのXMLビジュアライゼーション)上での走査(traversal)および挿入/削除/更新を可能にする。XPath表記は、関係データベース内でSQLデータ定義言語(DDL)およびデータベース操作言語(DML)へと変換され得る。
(1)関係データベースのXMLビジュアライゼーションと、(2)XPath表記を用いてビジュアライズされたXMLドキュメントをナビゲートするためのメカニズムとの組合せによって、ユーザが関係データベース内のいずれかのデータを「指し示す」ことが可能となる。たとえば、/SCOTT/EMP/ROW[EMPNO=2100]等のXPath表記は、EMPNO=21によって識別される行内のデータ値を指し示す。ここでの行は、EMPと呼ばれる関係データベース表内にあり、これは、スコットと呼ばれる関係データベーススキーマのスキーマオブジェクトである。関係データベースのXMLビジュアライゼーションは、ここでより詳細に説明される。
データベースクエリーの結果は、ここで、「SQL結果セット」と呼ばれる。SQL結果セットが1つ以上のXMLドキュメントに変換されると、変換された結果セットは、ここで「XML結果セット」と呼ばれる。関係データベース内のデータは、ここで「オブジェクト関係データ」と呼ばれ、オブジェクト関係データに関連したメタデータが、ここで関係データベーススキーマと呼ばれる。関係データベーススキーマは、オブジェクトの集合であり、ここで「スキーマオブジェクト」と呼ばれる。スキーマオブジェクトは、関係データベース内のデータを直接指す論理構造である。したがって、スキーマオブジェクトは、表、ビュー、クラスタ、およびインデックス等の構造を含む。
ユーザが関係データベースクエリー言語を用いてクエリーをサブミットし、さらにはXMLドキュメントの形の結果セットを受取り得るために、以下のためのメカニズムが提供される。すなわち、1)関係データベースからXMLの形へとオブジェクト関係データをマッピングするための、2)関係データベーススキーマをXMLの形にマッピングするための、3)オブジェクト関係データおよび関係データベーススキーマからXMLドキュメントを生成するための、メカニズムが提供される。
オブジェクト関係データおよび関係データベーススキーマから結果セットしてXMLドキュメントを生成するためのメカニズムは、関係データベースに記憶されるルールセットに基づく。データベースクエリーの処理中に、予め定義されるか、または動的に定義されるいずれかであるオブジェクト関係データは、ルールセットに基づいて対応のXMLデータにマッピングされる。このようなマッピングは、ここで「XMLの形へのオブジェクト関係データの標準的なマッピング」と呼ばれる。
同様に、関係データベーススキーマは、関係データベーススキーマをそれらの対応のXMLスキーマにマッピングすることによって、XMLの形にマッピングされる。このようなマッピングは、「XMLスキーマへの関係データベーススキーマの標準的なマッピング」とここで呼ばれるルールセットに基づく。XMLスキーマへの関係データベーススキーマの標準的なマッピングは、ここでより詳細に説明される。
さらに、XML結果セットの生成、つまり、SQL結果セットからのXMLドキュメントの生成は、ここでより詳細に説明されるようなルールセットに基づく。
XMLデータおよびSQLデータの処理を関係データベース内で一体化するために、関係データベース内でXML型のデータ型をサポートして表の列および行内にXMLドキュメントを記憶するためのメカニズムが提供される。記憶表現は、実現例ごとに異なり得る。この発明は、特定のいずれの記憶表現にも限定されない。この発明の特定の実施例では、ユーザは、関係データベース内での記憶のためにXMLドキュメントをサブミットし得る。XMLドキュメントの各フィールドからのデータは、記憶に関連した種々の既存のインデックス付けメカニズムを活用する様態で、関係データベースに自動的に記憶される。たとえば、XMLドキュメントが、関係データベース内での記憶のためにサブミットされると、XMLドキュメントの各フィールドを記憶するために、関係データベース内で対応の記憶列を決定するためのメカニズムが提供される。したがって、XMLドキュメントの各フィールドは、関係データベース内のある列にマッピングされ、このマッピング情報は、関係データベースに記憶される。データの型に応じて、データフィールドのいくつかがまとめられて単一のオブジェクト関係列に記憶され得、他のフィールドは、別個のオブジェクト関係列として記憶され得る。XMLドキュメントの各フィールドからのデータには、適切なインデックス付け方式を用いて、インデックスが付けられ得る。たとえば、Bツリーインデックスが、関係型データを含む列のために用いられ得、インターメディアテキスト等のテキストインデックスが、大きなテキストデータを含む列のために用いられ得る。特定の実施例では、ユーザは、マッピング情報を特定し得る。マッピング情報を特定することによって、ユーザは、マッピングの細分性を制御し得る。
したがって、以下のような技術が提供される。すなわち、1)XMLデータおよびSQLデータの一様な処理のための技術、2)明確に定義されたXML動作セットのための一様なクエリーインターフェイスのための技術であって、動作セットは、関係データベース内のXMLデータのための基礎をなす記憶メカニズムから分離されている、技術、3)関係データベース内での基礎をなす記憶メカニズムのデータアクセスおよびデータ操作能力を活用する形へのクエリー再書込のための技術が提供される。
関係データベースおよびXPathのバーチャルXMLビジュアライゼーション
特定の実施例によると、現在のユーザは、ユーザがアクセス特権を許可された関係データベース内のすべてのデータを、ビジュアライズされたXMLドキュメントとして見ることができる。ビジュアライズされたXMLドキュメントは、表およびビューを備えたスキーマセットおよび「データベースタグ」を含む。たとえば、データベースが“oradb”と呼ばれるならば、XMLドキュメントは、データベースタグ“<oradb>”で始まり、データベースタグ“</oradb>”で終了する。
現在のユーザは、ビジュアライズされたXMLドキュメントからのエレメントの読出、挿入、更新、および削除を許可される。したがって、現在のユーザは、関係データベース内でのデータの記憶またはアクセスの実際の性質を認識していない。現在のユーザは、ビジュアライズされたXMLドキュメントをナビゲートするためにXPath表記を用いるのみである。
たとえば、関係データベースの現在のユーザがスコットであると仮定する。関係データベースの現在のユーザの各々に関連しているのは、同じ名前によるスキーマである。スキーマは、表、ビュークラスタ、および機能等の関係データベースオブジェクトの論理集合である。
図1Aは、関係データベース内のスキーマおよびスキーマオブジェクトを例示するブロック図である。図1Aの列102は、スキーマオブジェクトのリストを含む。説明のために、2つのスキーマ、SCOTTおよびJONESのみが示される。列104は、各スキーマ内の関係データベースオブジェクトを含む。説明のために、2つの表、EMPおよびDEPTのみが示される。スキーマSCOTTは表EMPを含み、スキーマJONESは表DEPTを含む。
図1Bは、関係データベースに記憶される表を例示したブロック図である。関係データベース110は、表EMPおよびDEPTを含む。表EMPは、3つの列、EMPNO、ENAME、およびSALARYを有する。EMPの各列は、値の行を含む。表DEPTは、2つの列、DEPTNOおよびDNAMEを有する。DEPTの各列は、値の行を含む。
現在のユーザ、スコットは、関係データベース内のスキーマSCOTTおよびJONESにアクセスする特権を有し、さらにはSCOTTおよびJONESに関連するデータにアクセスする特権を有すると仮定する。この技術の特定の実施例に従うと、現在のユーザ、スコットは、(全ビジュアライゼーションではないが)以下のような関係データベースのデフォルトバーチャルビジュアライゼーションを見ることができる。
Figure 2011181106
上のデフォルトバーチャルビジュアライゼーションは、デフォルトバーチャルビジュアライゼーションの1つの実現例にすぎない。デフォルトバーチャルビジュアライゼーションは、実現例ごとに異なり得る。この発明は、ある特定のビジュアライゼーションモデルに限定されない。
この技術の特定の実施例に従うと、URLおよびURIをビジュアライズされたXMLドキュメント上のXPath表記として定義することによって、いずれかのデータベースに記憶されたデータにアクセスするための標準的なURLおよびURIメカニズムも提供される。
この発明の1つの実施例に従うと、URLは、もともとのURI処理メカニズムを用いてURLが指し示すデータにアクセスするサーブレットを用いることによって、処理され得る。
この発明の特定の実施例に従うと、データベースタグ(oradb)は、処理コンテキスト内に暗黙的に結びつけられ得、URL内で明示的に特定される必要はない。
関係データベースへのローカルアクセスを有さない現在のユーザは、ブラウザを用いてURLを用いることによりインターネット上の関係データベース内のデータにアクセスし得る。たとえば、現在のユーザはスコットであり、スコットはブラウザを用いて、EMP表がスキーマSCOTT内にあり、従業員番号が2100である行の、EMP表の従業員名列にアクセスしたいと仮定する。スコットが用いるであろうURLは、以下のように示され得る。
Figure 2011181106
上のURLでは、データベースタグ“oradb”は暗黙的に結びつけられ、したがって、ユーザはURL内でデータベースタグを特定する必要はない。
URLまたはURIにアクセスした結果は、以下で示されるようなeネーム変数を含むビジュアライズされたXMLドキュメントのフラグメントであり得る。
Figure 2011181106
現在のユーザは、コンテント型でURLまたはURIを増補して多目的インターネットメール拡張(MIME)タイプの出力を特定し得る。たとえば、URLが、イメージを記憶しているBLOB(バイナリラージオブジェクト)列を指し示し、イメージが「目標データ」ならば、コンテント型は、gifに設定され得る。したがって、URLを用いることに応答して、現在のユーザは、たとえば、大きな16進法ファイルではなくイメージを得る。
別の例として、現在のユーザは、URLを増補して、URLが指し示す列のテキスト値を目標データとして要求し得る。たとえば、現在のユーザ、スコットが、従業員番号が2100である行の、EMP表の従業員名列にアクセスするために以下のURLを用いると仮定する。
Figure 2011181106
“text()”は、テキストノードを識別するためのXPath規格である。上のURL内でtext()を用いることによって、従業員番号が2100である行の、EMP表の従業員名列内でテキスト値のみを含む結果が生み出されるであろう。従業員番号が2100である行の、EMP表の従業員名列内のテキスト値は、「ジョン」である。したがって、text()を用いて上のURLにアクセスする結果は、「ジョン」である。対照的に、例の従業員名列にアクセスするためにtext()がURL内で用いられない場合、「ジョン」は、以下のようにビジュアライズされたXMLドキュメントのフラグメント内にインラインされる。
<ENAME>John</ENAME>
この発明の別の実施例では、URLとともに、またはユーザ書込機能を通して記憶され得る他の補助情報に基づいて、MIME情報がデータベースによって自動的に引出され得る。
関係データベースのバーチャルXMLビジュアライゼーションを定義するためのマッピングルール
データベースのデフォルトバーチャルビジュアライゼーションを標準的なXMLドキュメントとして定義するための技術が提供される。1つの実施例に従うと、デフォルトバーチャルビジュアライゼーションを定義するためのルールは、以下のとおりである。
1) 目標データを含む関係データベースを識別する擬似トップレベル囲みタグが存在する。目標データを含む関係データベースを識別する囲みタグのペアの例は、<oradb>...</oradb>であり、“oradb”は、以下で示されるように、目標データを含む関係データベースの名前である(ビジュアライゼーション内のすべてのエレメントが示されているわけではない)。
Figure 2011181106
2) 現在のユーザがアクセス特権を許可された関係データベース内の各スキーマは、ビジュアライズされたXMLドキュメント内の1つのエレメントに対応する。エレメントの名前は、エレメントが対応するスキーマの名前と同じである。ここで示される例では、関係データベース“oradb”内のスキーマSCOTTは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。同様に、スキーマJONESは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。以下のビジュアライズされたXMLドキュメントは、スキーマエレメントレベルでの関係データベースのビジュアライゼーションである。例示の目的のために、スキーマSCOTTおよびJONESに対応するエレメントのみが示される。
Figure 2011181106
3) 現在のユーザがアクセス特権を許可された関係データベース内の各表またはビューは、ビジュアライズされたXMLドキュメント内の1つの要素に対応する。エレメントの名前は、エレメントが対応する表またはビューの名前と同じである。ここで示される例では、関係データベース“oradb”内の表EMPは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。同様に、表DEPTは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。以下のビジュアライズされたXMLドキュメントは、表エレメントレベルでの関係データベースのビジュアライゼーションである。例示のために、表EMPおよびDEPTに対応するエレメントのみが示される。
Figure 2011181106
4) 現在のユーザがアクセス特権を許可された関係データベース内の各表またはビューの各行は、ビジュアライズされたXMLドキュメント内の1つのエレメントに対応する。以下のビジュアライズされたXMLドキュメントは、行エレメントレベルでの関係データベースのビジュアライゼーションである。例示のために、表EMPおよびDEPTの行に対応するエレメントのみが示される。
Figure 2011181106
5) 現在のユーザがアクセス特権を許可された関係データベース内の各表またはビューの各列は、ビジュアライズされたXMLドキュメント内の1つのエレメントに対応する。エレメントの名前は、エレメントが対応する列の名前と同じである。ここで示される例では、表EMP内の列EMPNOは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。同様に、列ENAMEは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。以下のビジュアライズされたXMLドキュメントは、列エレメントレベルでの関係データベースのビジュアライゼーションである。例示のために、表EMP内の列EMPNOおよびENAMEに対応するエレメントのみが示される。
Figure 2011181106
XPath表記を関係データベースクエリーに変換するためのルール
この発明の1つの実施例に従うと、XMLビジュアライゼーション上でのXpathクエリーは、関係データベースクエリーおよびXML内でフォーマットされる結果へと変換され得る。XPath表記を関係データベースクエリーに変換するための技術が提供される。説明のために、クエリーに変換されるべきXPath表記が関係データベース“oradb”のコンテキスト内にあると仮定する。したがって、典型的なXPath表記のフォーマットは“oradb”のコンテキストであり、以下のように生成され得る。
/Schema/Table/Row/Column/Attribute...(! further attributes)
上のXPath表記の各エレメントは、任意で述語を有し得る。述語は、形[(element)(operator)(value)]をとる。
たとえば、エレメント、Rowは、以下のような述語を有し得る。
/Schema/Table/Row[Column1=2100]/Column2
XPath表記を関係データベースクエリーに変換するためのルールは、XPath表記のための上の一般的なフォーマットを指し、以下のとおりである。
1) 形/Schema/TableのXPath表記は、以下のSQLステートメント等の対応する関係データベースクエリーに変換される。
Select*
From Schema.Table
上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいかなる構文にも限定されない。
SQLステートメントの結果は、次に、ビジュアライズされたXMLドキュメントの対応するフラグメントに変換され得る。
2) 形/Schema/Table/Row/ColumnのXPath表記は、以下のSQLステートメント等の対応する関係データベースクエリーに変換される。
Select Column
From Schema.Table
上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいかなる構文にも限定されない。
SQLステートメントの結果は、次に、ビジュアライズされたXMLドキュメントの対応するフラグメントに変換され得る。
3) 形/Schema/Table/Row[Empno=2100]/ColumnのXPath表記は、以下のSQLステートメント等の対応する関係データベースクエリーに変換される。
Select Column2
From Schema.Table
Where Column1=2100
上のステートメントで用いられる構文は、単なる例示にすぎない。クエリー言語ステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。
クエリー言語ステートメントの結果は、次に、ビジュアライズされたXMLドキュメントの対応するフラグメントに変換され得る。
URI型
特定の実施例に従うと、特別なデータ型が関係データベース内で提供されて関係データベース内でURIおよびURLが記憶される。このようなデータ型は、ここで“Uritype”と呼ばれる。URIおよびURLは、URIおよびURLをUritypeデータとして定義することによって、関係データベース表内の列に記憶され得る。
図2Aは、Uritypeの階層を例示するブロック図である。図2Aは、サブタイプを含む一般的なUritype210を示す。特定の実施例に従うと、サブタイプは、DB-Uritype212、HTTP-Uritype214、およびFTP-Uritype216である。
HTTP-Uritypeは、HTTP(ハイパーテキスト転送プロトコル)URLを記憶し、HTTPプロトコルを用いてURLによって指し示されるデータをフェッチする。FTP-Uritypeは、FTP(ファイル転送プロトコル)URLを記憶し、FTPを用いてデータをフェッチする。DB-Uritypeは、ここで説明されるXpathメカニズムを用いてイントラデータベース参照を記憶する。
DB-Uritypeは、前に定義されたXpath変換メカニズムを用いて、または他のメカニズムを通して、URLに関連したデータをフェッチし得る。
ユーザは、Uritypeのサブタイプまたは他のサブタイプのいずれかを定義し得、そのURLによって指し示されるデータを得るための実現例を提供し得る。
URIおよびURLを記憶できることとは別に、Uritypeデータ型に関連した一般的な機能は、URIおよびURLの取出と、関係データベース内でLOBとして、たとえば、CLOBおよびBLOBとして記憶されるXMLドキュメントの取出とを含む。
現在のユーザが、URLによって指し示される目標データを関係データベースから取り出したい場合、現在のユーザのXPath表記は、適切なクエリー言語ステートメントに自動的に変換される。このようなステートメントの実際の構文は、関係データベース内で用いられるクエリー言語に依存し、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。Uritypeデータ型の関係データベース機能は、以下のステートメントによって要約され得る。
getURL();
getBLOB();
getCLOB().
getXML();
上のステートメントは、単に機能を例示するにすぎない。このようなステートメントは、必ずしもクエリー言語ステートメントではない。この発明は、ある特定のセットのクエリー言語ステートメントに限定されない。
図2Bは、Uritypeデータを記憶する関係データベース表を例示するブロック図である。関係データベース表200は、パーチェスオーダ表である。表200は、2つの列、パーチェスオーダ番号列250とパーチェスオーダリンク列260とを有する。両列250および260は、3つのデータ行、つまり、行271、行272、および行273を含む。パーチェスオーダリンク列は、型UriTypeのデータを記憶し得る。
行271の列260は、型HTTP-Uritypeのデータを記憶する。行272の列260は、型FTP-Uritypeのデータを記憶する。最後に、行273の列260は、型DB-Uritypeのデータを記憶する。DB-Uritype、HTTP-Uritype等は、UriType型のサブタイプとして定義されたため、これらの型のインスタンスをパーチェスオーダリンク列に記憶できることが注目される。
現在のユーザは、表200内で記憶されるUritypeデータによって指し示されるデータのいずれかを引出し得る。データベースは、適切なメカニズムを用いてデータを自動的にフェッチする。
たとえば、以下で示されるクエリーは、パーチェスオーダリンク列によって指し示されるパーチェスオーダデータを取出す。
Figure 2011181106
データベースは、第1の行に対してはHTTPを通してパーチェスオーダをフェッチし、第2の行に対してはFTPを用い、最後の行に対してはDB-Uritype処理メカニズムを用いる。
上のステートメントで用いられる構文は、単なる例示にすぎない。実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。適切なクエリーへの変換は、現在のユーザには見えない。したがって、現在のユーザが目標データの型を認識する必要はない。
URITYPE機能を用いての関係データの修正
特定の実施例に従うと、ここで説明されるような標準的なURIおよびURLを用いて関係データベースに記憶されるXMLデータを修正、追加、または削除するためのメカニズムが提供される。
たとえば、現在のユーザ、スコットは、(全ビジュアライゼーションではないが)以下のような関係データベースのデフォルトバーチャルビジュアライゼーションを見ることができると仮定する。
Figure 2011181106
現在のユーザ、スコットが、従業員番号が2100である行の、EMP表の従業員名列のデータを更新したがっているとさらに仮定する。更新は、名前「ジョン」を「メアリ」に変更することを含む。
特定の実施例に従うと、現在のユーザ、スコットが関係データベースへの直接のアクセスを有するならば、スコットは、以下を行ない得る。すなわち、1)XMLデータの更新のための更新動作を選択し、2)以下のXPath表記を用いる。
Figure 2011181106
XPath表記/SCOTT/EMP/ROW[EMPNO=2100]/ENAMEは、更新されるべき目標データの行および列を示す。
XPath表記<ENAME>Mary</ENAME>は、更新されるべき目標データの新しい値を示す。
上のXPath表記は、以下のようなクエリー言語ステートメントに変換される。
UPDATE“SCOTT”.”EMP”
SET“ENAME”='Mary'
Where“EMPNO”=2100;
現在のユーザ、スコットがウェブブラウザを用いて関係データベース内の目標データにアクセスする場合、特定の実施例に従うと、汎用サーブレットが提供されて現在のユーザが、標準的なURIおよびURLを用いて関係データベース内に記憶されるXMLデータを修正、追加、または削除することが可能となり得る。名前「ジョン」を「メアリ」に更新する上の例を用いると、スコットが以下を行なうことを可能にする汎用サーブレットが提供される。すなわち、1)XMLデータを更新するために更新動作を選択し、2)以下のXPath表記の形で「更新」情報をサーブレットにポストする。
/SCOTT/EMP/ROW[EMPNO=2100]/ENAME
<ENAME>Mary</ENAME>
他の特定の実施例に従うと、特別なサーブレットが各データベース動作のために提供され得る。言い換えると、INSERT動作のために「挿入−サーブレット」が存在し得、DELETE動作のために「削除−サーブレット」が存在し得、UPDATE動作のために「更新−サーブレット」が存在し得る。
名前「ジョン」を「メアリー」に更新する上の例を用いて、スコットが以下を行なうことを可能にする“Insert_servlet”が提供される。すなわち、1)XMLデータを更新するために更新動作を選択し、2)以下のXPath表記の形で「更新」情報をサーブレットに対してポストする。
Figure 2011181106
同じメカニズムを用いてメタデータを修正、追加、または削除する。たとえば、現在のユーザ、スコットがスキーマSCOTTを削除したい場合、スコットは、以下を行ない得る。すなわち、1)関係データベース内のXMLデータを削除するために削除動作を選択し、2)ビジュアライズされたXMLドキュメント内のどのレベルが削除されるべきかを示す以下のXPath表記を用いる。
Figure 2011181106
図3Aは、関係データベースに記憶される表を例示したブロック図である。表EMPは、3つの列、EMPNO、ENAME、およびSALARYを有する。EMPの各列は、表EMPの複数行の各々の値を含む。しかし、簡素化のために、図3Aは、2つの行、つまり、行302および行304のみを示す。列EMPNOでは、行302は値「2100」を含み、行304は値「2200」を含む。同様に、列ENAMEでは、行302は値“JOHN”を含み、行304は値“MARY”を含む。列SALARYでは、行302は値「55K」を含み、行304は値「65K」を含む。
例として、ユーザが関係データベースクエリーをサブミットして列のうちの2つからの値、つまり、表EMPからのEMPNOおよびENAMEを取出すことを仮定する。関係データベースクエリーの一例は、以下のSQLステートメント、SELECT empno, ename FROM empである。
上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。
図3Bは、ename FROM emp、SELECT empno、およびSQLステートメントのSQL結果セットを含むビューを例示したブロック図である。SQL結果セットは、表EMPの2つの列のみを含む。したがって、図3Bは、列EMPNOおよびENAMEのみを示す。たとえSQL結果セットが列EMPNOおよびENAME内のすべての値の行を含むとしても、簡素化のために、(それぞれ行302および304からの値を含む)行310および312のみが図3Bで示される。
図3BのSQL結果セットは、この発明の特定の実施例に従うと、以下のルールに基づいて対応するXML結果セットに変換され得る。
1) XML結果セットは、ROWSETタグで始まるXMLドキュメントの形にある。ROWSETタグは、XMLドキュメントが行エレメントのセットを含むことを示す。
2) SQL結果セットの各行は、XMLドキュメント内の対応のROWエレメントに変換され、ROWエレメントはROWタグのペアによって示される。
3) SQL結果セットのある所与の行内の各列は、SQL結果セットの所与の行に対応する取囲む(encompassing)ROWエレメント内に埋込まれる対応するCOLUMNエレメントに変換される。COLUMNタグの名前は、SQL結果セット内の対応する列の名前である。
ROWSET、およびROWタグは、この発明の異なる実現例で異なった名前を有し得る。この発明は、このようなタグに関して特定のいかなる名前にも限定されない。COLUMNタグに関しては、1つの実施例に従うと、COLUMNタグの名前を変更するために、エイリアスメカニズムが提供される。
例示のために、上の例のXML結果セットは、以下のように現われ得る。
Figure 2011181106
オブジェクト関係データのマッピング
XMLの形へのオブジェクト関係データの標準的なマッピングの例は、以下のとおりである。
a) XMLエレメントへのオブジェクト関係列のマッピング
たとえば、図3Aを参照して、単一の行302におけるEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットは、以下のように現われ得る。
Figure 2011181106
オブジェクト関係列EMPNOおよびENAMEは、XML結果セット内の対応するCOLUMNエレメントにマッピングされる。EMPNOおよびENAMEは、取囲むROWエレメント内に埋込まれる。
b) オブジェクト型の属性を含むネストにされたサブエレメントを有するXMLエレメントへのオブジェクト関係オブジェクト型のマッピング
説明のために、“Address_t”と呼ばれる、ユーザによって定義される型は、あらかじめ関係データベース内で生成されると仮定する。“Address_t”は、3つのスカラ属性、つまり、CITY、STATE、およびZIPを含む複雑なオブジェクト型である。関係データベース内にはEmployee_tableと呼ばれる表が存在すると仮定する。Employee_tableは、2つの列ENAMEおよびADDRESSを有する。ENAMEは、「ストリング」の型であり、ADDRESSは、ユーザによって定義される型“Address_t”である。列ENAMEおよびADDRESSは、各々、値の単一の行のみを、つまり、従業員名「ジョン」およびジョンのアドレスをそれぞれ含むことをさらに仮定する。
“SELECT*FROM Employee_table”等のSQLクエリーは、この発明の特定の実施例に従うと、以下のXML結果セットにマッピングするSQL結果セットを生成し得る。
Figure 2011181106
オブジェクト関係列ADDRESSは、XML結果セット内の同じタグ名を有するエレメントにマッピングする。“address_t”型であるエレメントADDRESSは、属性CITY、STATE、およびZIPを有し、これらはエレメントADDRESSのサブエレメントにマッピングされる。各サブエレメントは、XML結果セット内のその対応するタグ名としての属性の名前を有する。
c) XMLリストへのオブジェクト関係集合型のマッピング
説明のために、“Lineitems_t”と呼ばれる、ユーザによって定義される型が、あらかじめ関係データベース内で生成されることを仮定する。“Lineitems_t”は、複数の集合項目を含む集合オブジェクト型である。各集合項目は、集合内の項目の位置上の値を定義するID属性を有する。たとえば、関係データベース内にはPurchaseOrder_tableと呼ばれる表が存在することを仮定する。PurchaseOrder_tableは、2つの列、パーチェスオーダ番号のためのPONOと、ライン項目リストのためのLINEITEMSとを有する。PONOは、「番号」の型であり、LINEITEMSは、“Lineitems_t”の型である。列PONOおよびLINEITEMSは、各々、値の単一の行、つまり、パーチェスオーダ番号「101」と、パーチェスオーダ番号「101」に関連したライン項目の集合とを含むとさらに仮定する。ライン項目の集合内には、1項目、つまり、「ブック」が存在すると仮定する。
“SELECT * FROM PurchaseOrder_table”等のSQLクエリーは、以下のXML結果セットにマッピングするSQL結果セットを生成する。
Figure 2011181106
オブジェクト関係列LINEITEMSは、XML結果セット内の同じタグ名を有するエレメントにマッピングする。LINEITEMS内の各集合項目は、LINEITEMSエレメント内に埋込まれるサブエレメントにマッピングされる。各集合項目は、タグ名としての集合型名、つまり、“LINEITEM_T”を有する。各集合項目は、エレメントLINEITEM_T内に埋込まれるサブエレメントにマッピングされる属性LINEITEMNAMEおよびCOSTを有する。各サブエレメントは、その対応するタグ名としての属性名、たとえば、<LINEITEMNAME>、および<COST>を有する。
d) URI参照へのオブジェクト関係REF型のマッピング
オブジェクト関係REF列は、いずれかのオブジェクト関係表内に含まれる行オブジェクトへのオブジェクト参照を記憶するための列である。説明のために、関係データベースは、Employee_tableと呼ばれる表を有すると仮定する。Employee_tableは、列EMPTNO、ENAME、およびDEPTREFを有する。EMPNOは、「番号」の型であり、EMPNOは値「15」の1つの行のみを有すると仮定する。ENAMEは、「ストリング」の型であり、ENAMEは値「ジョン」の1つの行のみを有すると仮定する。DEPTREFは、“REF”の型であり、DEPTREFは値の1つの行のみを有し、これは、Department_tableと呼ばれる別の表内のDEPTNO=1001に対応する値の行への参照であることを仮定する。Department_tableは、スキーマSCOTT内にあり、値「1001」を備えた列DEPTNOと値“SPORTS”を備えた列DEPTNAMEとを有すると仮定する。
“SELECT EMPNO, DEPTREF FROM Employee-table”等のSQLクエリーは、以下のXML結果セットにマッピングするSQL結果セットを生成する。
Figure 2011181106
この発明の特定の実施例に従うと、オブジェクト関係REF値を、16進法(“HEX”)でエンコードされるバイナリ値に変換することによって、DEPTREF列内のREF値は、XML結果セットのためのXMLの形に変換される。したがって、上のXML結果セットでは、「0344855FF4ABBCC3333」が、エンコードされたHEXである。
この発明の他の特定の実施例に従うと、REF値をデータベースユニフォームリソースインディケータ(“DBURI”)参照へと変換することによって、DEPTREF列内のREF値は、XMLの形に変換される。DBURI参照は、発明者としてムラリダール クリシュナプラサド、ビスワナサン クリシュナマーシー、ラビ マーシーを挙げる「データベースデータおよびメタデータに対する関係データベースおよびユニバーサルリソース識別子のXMLビジュアライゼーションのための方法および装置」と題された米国特許出願第 号、代理人事件整理番号50277‐1564で詳細に説明される。
上の同じ例を用いると、DBURI参照は、SCOTT/DEPARTMENT_TABLE/ROW[DEPTNO=“1001”]として現われ得、Deptnoは、主要なキー情報である。したがって、XML結果セットは、以下として現われ得る。
Figure 2011181106
この発明のさらなる他の実施例に従うと、REF列に記憶されるオブジェクトを独自に識別するオブジェクト識別子は、DBURI参照を生成するときに用いられ得る。上の同じ例を用いて、DBURI参照は、以下として現われ得る。
Figure 2011181106
したがって、XML結果セットは、以下のように現われ得る。
Figure 2011181106
この発明の実施例に従うと、LOB値もDBUri参照に変換され得る。たとえば、DEPT_PHOTOと呼ばれる部門表内に列が存在し、これがBLOB列ならば、DBUri参照が用いられて、XMLドキュメント内でBLOBデータをインラインする代わりに、BLOBデータが参照され得る。
XML結果は、DEPT_PHOTO列に対して以下のように現われ得る。
Figure 2011181106
この発明は、LOBおよびREFへのDBUri参照を生成することに限定されない。DBUri参照は、ビジュアライズされたドキュメント内でインラインされなくてもよいデータベースデータのいずれかの部分を参照するために生成され得る。たとえば、ネストにされた表、LONG、および他のデータ型は、ビジュアライズされたドキュメント内で全データをインラインする代わりに、DBUri参照に変換され得る。DBUri参照は、Xpath表記の述語内で行のROWIDまたは主要なキー情報を用いることによって、生成され得る。
関係データベーススキーマのマッピング
関係データベーススキーマは、関係データベーススキーマをそれらの対応するXMLスキーマにマッピングすることによって、XMLの形にマッピングされる。たとえば、図3Aを参照して、単一の行302でEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットを生成するために、XMLスキーマが生成される。XMLスキーマは、XML結果セットの構造を定義し、これは、XMLドキュメントの形である。したがって、単一の行302でEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットに対応するXMLスキーマは、この発明の特定の実施例に従うと、以下のとおりである。
Figure 2011181106
上の例からわかるように、XML結果セット(XMLドキュメント)の構造を定義することに加えて、XMLスキーマはまた、もしあれば、データ上の制約およびデータの型を定義する。たとえば、上のサンプルXMLスキーマは、特に、以下を示す。すなわち、1)すべてのXMLスキーマに適用される規格を定義するネーム空間のためのURL、つまり、http://www.w3.org/2000/10/XMLSchema、2)エレメントROWSETが、「複合体」型であり、ROWエレメントを含むこと、3)ROWエレメントが、「複合体」型であり、XMLドキュメント内で任意の回数だけ起こり得ること、3)ROWエレメント内に埋込まれるエレメントEMPNOは「整数」型であること、4)ROWエレメント内に埋込まれるエレメントENAMEは、「ストリング」型であること、を示す。空白許可(nullable)属性は、エレメント値がNULLであり得るか否かを示す。“MinOccurs”は、結果として得られるドキュメント内でのこのエレメントの発生の最小の回数を示す。
代替的には、XMLスキーマは、その対応するXML結果セット(XMLドキュメント)内で「インライン」され得る。たとえば、図3Aを参照して、単一の行302でEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットは、この発明の特定の実施例に従うと、以下のようにXML結果セット内でその対応のXMLスキーマをインラインし得た。
Figure 2011181106
XMLネーム空間
ある所与の関係データベーススキーマに関連したオブジェクト関係データ型定義は、対応のXMLネーム空間に結合(bound)され得る。XMLネーム空間は、XMLドキュメント内でエレメント型および属性名として用いられる名前の集合である。XMLネーム空間は、URLによって定義され得る。たとえば、ここで説明されるように、関係データベースはユーザによって定義される型“Address_t”を有し、これは、3つのスカラ属性、つまり、CITY、STATE、およびZIPを含む複雑なオブジェクト型であると仮定する。説明のために、複雑なオブジェクト型“Address_t”は関係データベーススキーマSCOTT内で定義されると仮定する。したがって、“Address_t”は、たとえば、URL, http://ora.com/SCOTTによって定義されるXMLネーム空間に結合され得る。
XMLスキーマは、異なるXMLネーム空間からのオブジェクト関係型を含み得る。例示のために、関係データベーススキーマFOOおよび関係データベーススキーマPEEが生成されると仮定する。さらに、関係データベーススキーマFOOは、AddressTypeと呼ばれる、ユーザによって定義される型を含み、関係データベーススキーマPEEは、NameTypeと呼ばれる、ユーザによって定義される型を含むことが仮定される。AddressTypeは、3つのスカラ属性、つまり、CITY、STATE、およびZIPを含む。NameTypeは、2つのスカラ属性、つまり、FIRSTNAMEおよびLASTNAMEを含む。オブジェクト関係表EMP2が生成されることが仮定される。EMP2は、2つの列、つまり、ENAMEおよびEADDRを有する。ENAMEは、従業員名「ジェームス ボンド」を含み、NameTypeの型である。EADDRは、ジェームス ボンドのアドレスを含み、AddressTypeの型である。
以下のSQLステートメントは、関係データベース内のEMP2、NameType、AddressType、データベーススキーマPEE、およびデータベーススキーマFOOの生成を例示する。
Figure 2011181106
上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。
表EMP2では、列ENAMEは、関係データベーススキーマPEEのために定義されるNameTypeを用い、列EADDRは、関係データベーススキーマFOOのために定義されるアドレス型を用いる。
したがって、SELECT*FROM EMP2等のSQLクエリーのXML結果セットに対応するXMLスキーマは、FOOおよびPEEのためのXMLネーム空間を定義する別個のURLを含む。FOOのためのXMLネーム空間は、AddressTypeのための定義を含む。PEEのためのXMLネーム空間は、NameTypeのための定義を含む。
SELECT*FROM EMP2等のSQLクエリーのXML結果セットに対応するXMLスキーマは、この発明の特定の実施例に従うと、以下のとおりである。
Figure 2011181106
代替的には、XMLスキーマは、目標データ、つまり、EMP2内の従業員のアドレスおよび名前を含むその対応するXML結果セット内で「インライン」され得る。この発明の特定の実施例に従うと、XML結果セットは、「インライン」されるその対応するXMLスキーマを示す。
Figure 2011181106
XMLデータおよびSQLデータの一様な処理
典型的には、関係データベース内には、予め定義された関係データ型が存在する。典型的な予め定義された関係データ型の例は、数、日付、およびストリング等である。オブジェクト関係データベースはまた、ユーザによって定義されるオブジェクト型を含み得る。しかし、XMLデータおよびSQLデータの一様な処理を提供するために、XMLTypeと呼ばれるデータ型が、関係データベースシステム内でもともと定義される。XMLTypeデータ型は、構造化XMLデータであっても、非構造化XMLデータであっても、いずれの型のXMLデータも記憶するために用いられ得る。
図4は、XMLType記憶アーキテクチャを例示したブロック図である。ブロック402は、ブロック406で示されるXMLTypeを用いて記憶されるべきXMLデータである。XMLTypeは、XMLデータのための基礎をなす記憶メカニズムを含む。記憶メカニズムのうちのいくつかが、記憶層414で示される。記憶層414では、LOB記憶メカニズム408、オブジェクト関係記憶メカニズム410、および「他の」記憶メカニズム412が示される。「他の」記憶メカニズム412は、XMLデータのためのいずれかの適切な記憶メカニズムであり得る。したがって、記憶層414内の記憶メカニズムは、XMLデータのための記憶メカニズムの、余すところのないセットを含むわけではない。XMLTypeは、基礎をなす記憶メカニズムを含むため、XMLデータのユーザは、XMLTypeを見るのみであり、XMLデータの基礎をなす記憶メカニズムの実際の詳細は、ユーザから隠れている。典型的には、関係データベースシステムの管理者は、記憶されるべきXMLデータのための基礎をなす記憶メカニズムを選択する。管理者は、記憶メカニズムの性能詳細事項に基づいて、基礎をなす記憶メカニズムのタイプを選択する。
記憶を示すために、ある所与のXMLドキュメントのフィールドのうちのいくつかは、構造化データを含み得る。構造化データは、関係データベース内の関係列にマッピングされ得るデータである。別の例では、XMLドキュメントは、全ブックのテキストコンテントを含むと仮定する。XMLドキュメントのあらゆるエレメントまたはフィールドを関係列にマッピングすることによってこのようなXMLドキュメントを広げる(explode)のではなく、ユーザが照会しそうなデータを含むフィールドのみが、ストリング、番号等の予め定義された関係型にマッピングされ、残りのデータは、まとめられ、キャラクタラージオブジェクト(CLOB)のための1つの列にマッピングされる。ユーザは、ユーザ自身のテンプレートを生成してどのフィールドが関係列にマッピングされるべきか、およびどのフィールドがCLOBにマッピングされるべきかを特定し得る。
図5は、XMLType列の構造を例示したブロック図である。列504は、構造化データを含むXMLドキュメントを含んだXMLType列である。構造化データのフィールドは、隠し列506にマッピングされる。たとえば、XMLドキュメントのPONOエレメントは、NUMBER列にマッピングされ、PNAMEはストリング列にマッピングされる。図5では、網掛けされたエリアは、列がユーザからは見えないように隠されていることを示す。ユーザは、単一のXMLType列を見るのみである。
一様なクエリーインターフェイス
この発明の特定の実施例に従うと、関連データベース内に記憶されるXMLTypeデータ上の動作のコアセットを定義するために、一様なクエリーインターフェイスが提供される。このような動作は、基礎をなす記憶フォーマットからは独立している。この発明の特定の実施例に従うと、XMLTypeデータ上の動作は、以下のように機能的に要約される。
1) ある所与のXMLドキュメントのフラグメントの抽出
2) XMLドキュメント内の特定の構造の存在のテスト
3) XMLドキュメント内の特定のデータ値の抽出
4) ある所与のXMLドキュメントの変換
上の動作リストは、XMLTypeデータのための余すところのない動作リストというわけではない。動作のいくつかを例示するために、“X”と呼ばれるXMLドキュメントがパーチェスオーダデータを含むと仮定する。パーチェスオーダデータは、値「21」を備えたパーチェスオーダ番号“PONO”、値“JOHN”を備えたパーチェスオーダネーム“PNAME”、およびライン項目の集合を含み、以下のように現われる。
Figure 2011181106
したがって、この発明の特定の実施例に従うと、XMLドキュメント“X”のフラグメントを抽出するための動作の例は、以下のとおりである。
EXTRACT (X,‘PO/LINEITEM’)
上の動作は、ドキュメントXのフラグメントを抽出し、フラグメントは、LINEITEM下のすべてのブランチから構成されるサブツリーである。
XMLドキュメント“X”内の特定のデータ値を抽出するための動作の例は、以下のとおりである。
EXTRACTVALUE (X,‘PO/PNAME’)
上の動作は、PNAME内のスカラ値、つまり、“JOHN”を抽出する。
XMLドキュメント“X”内での特定のエレメントの存在のテストのための動作例は、以下のとおりである。
EXISTSNODE (X,‘PO/[PONO=21]’)
上の動作は、値が21であるPONOと呼ばれる子を有する、POと呼ばれるエレメントをXMLドキュメント“X”が有するかをテストする。
XSLスタイルシートを用いてXMLドキュメントを変換するための動作例は、以下のとおりである。
TRANSFORM (X,‘<xs1>......stylesheet.....</xs1>’)
上の動作は、XMLドキュメントの基礎をなす記憶フォーマットに関して、全く寛容である。
クエリー再書込
この発明の特定の実施例に従うと、関係データベース内の基礎をなす記憶メカニズムのデータアクセスおよびデータ操作能力を活用する形へとユーザクエリーを再書込みするためのメカニズムが提供される。
ある所与のXMLドキュメントの構造化データのフィールドは、フィールド内のデータがユーザによって頻繁に照会されるようであれば、別個の関係列にマッピングされ得る。たとえば、XMLドキュメントのフィールドのうちの1つが従業員名を含み、ユーザが従業員名の値をもとにしてXMLドキュメントを頻繁に照会することが予想されると仮定する。これらの条件下では、従業員名は、XMLドキュメントそれ自体を記憶する列とは別のENAMEと呼ばれる関係列に記憶され得る。XMLユーザが、ある特定の従業員の名前に基づいてクエリーをサブミットしてXMLドキュメントにアクセスすると、XMLユーザのクエリーは、自動的に再書込みされてENAME列のみにアクセスする。
対照的に、クエリー再書込メカニズムが提供されず、従業員名が別個の列に記憶されないならば、XMLユーザがある特定の従業員の名前に基づいてクエリーをサブミットしてXMLドキュメントにアクセスする場合、XMLドキュメントをパーズすることによって、ドキュメントオブジェクトモデル(DOM)が各XMLドキュメントに対して生成される。次に、適切なXPATH表記を適用することによって、DOM上で従業員名に対して探索が行なわれる。DOMを生成し、次にDOM上で探索を行なうことは、明らかに、より効率性に欠ける。
別の例では、関係データベースの既存のインデックス付け能力を用いてXMLユーザのクエリーを満足させる。データが頻繁に照会されることが予想されるならば、データは、別個の関係列に記憶され得、Bツリーインデックスが、その列上で構築され得る。次に、XMLユーザクエリーがサブミットされて、たとえば、PONO=21である行が選択されるならば、PONO列上のBツリーインデックスを用いて、PONO列内で値21を有するXMLドキュメントを含む行が識別され得る。同様に、XMLドキュメントがLOBとして記憶されるならば、テキストインデックスを用いてLOB列上での探索が最適化され得る。
関係データベース内のXMLドキュメントの記憶に関連したマッピング情報およびユーザのXMLクエリーに基づいて、データベースクエリー、たとえば、SQLクエリーを生成するためのメカニズムがデータベース内で提供される。
図5を参照して、図5の表はPO‐TABLEと呼ばれ、Bツリーインデックスは関係列PONO上で生成されると仮定する。XMLユーザが以下のクエリーをサブミットすると仮定する。
SELECT * From PO-TABLE
Where EXISTNODE (PO-XML,‘/PO[PONO=21]’)
この発明の特定の実施例に従うと、上のXMLユーザのクエリーは、以下へと変換される。
SELECT * From PO-TABLE
Where PO-XML .PONO=21
したがって、インデックス探索は、PONOの述語に対して行われ得る。
ハードウェア
図6は、この発明の実施例が実現され得るコンピュータシステム600を例示したブロック図である。コンピュータシステム600は、情報の通信を行なうためのバス602または他の通信メカニズム、および、情報を処理するための、バス602に結合されるプロセッサ604を含む。コンピュータシステム600はまた、プロセッサ604によって実行されるべき情報および命令の記憶のための、バス602に結合されるランダムアクセスメモリ(RAM)または他の動的記憶装置等のメインメモリ606を含む。メインメモリ606はまた、プロセッサ604によって実行されるべき命令の実行中に一時変数または他の中間情報を記憶するために用いられ得る。コンピュータシステム600はさらに、プロセッサ604のための命令および静的情報を記憶するための、バス602に結合される読出専用メモリ(ROM)608または他の静的記憶装置を含む。磁気ディスクまたは光学ディスク等の記憶装置610が、設けられ、情報および命令を記憶するためにバス602に結合される。
コンピュータシステム600は、コンピュータユーザに情報を表示するための、陰極線管(CRT)等のディスプレイ612にバス602を介して結合され得る。英数字および他のキーを含む入力装置614がバス602に結合されて、情報およびコマンド選択をプロセッサ604に伝達する。別の種類のユーザ入力装置は、方向情報およびコマンド選択をプロセッサ604に伝達し、さらにはディスプレイ612上でのカーソルの動きを制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御616である。この入力装置は、典型的には、2つの軸、第1の軸(たとえば、x)と第2の軸(たとえば、y)とにおいて2自由度を有し、これによって、装置が平面で位置を特定することが可能となる。
この発明は、ここで説明される技術を実現するためのコンピュータシステム600の用途に関連する。この発明の1つの実施例に従うと、これらの技術は、メインメモリ606内に含まれる1つ以上の命令の1つ以上のシーケンスをプロセッサ604が実行することに応答して、コンピュータシステム600によって実現される。このような命令は、記憶装置610等の別のコンピュータ読出可能な媒体からメインメモリ606へと読出され得る。メインメモリ606内に含まれる命令シーケンスの実行によって、プロセッサ604がここで説明されるプロセスステップを実行させられる。多重処理構成における1つ以上のプロセッサを用いてメインメモリ606内に含まれる命令シーケンスを実行することもできる。代替的な実施例では、ソフトウェア命令の代わりに、またはソフトウェア命令と組合せてハードワイヤード回路を用いてこの発明を実現することもできる。したがって、この発明の実施例は、ハードウェア回路とソフトウェアとの特定のいずれかの組合せに限定されない。
ここで用いられるような用語「コンピュータ読出可能な媒体」は、実行のために命令をプロセッサ604に提供するいずれかの媒体を指す。このような媒体は、不揮発性媒体、揮発性媒体、および送信媒体を含むがそれらに限定されない多くの形をとり得る。不揮発性媒体は、たとえば、記憶装置610等の光学ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ606等のダイナミックメモリを含む。送信媒体は、バス602を含むワイヤを含んだ、同軸ケーブル、銅ワイヤ、および光ファイバを含む。送信媒体はまた、電波および赤外線データ通信中に生成されるような音波または光波の形をとり得る。
コンピュータ読出可能な媒体の一般的な形は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他のいずれかの磁気媒体、CD−ROM、他のいずれかの光学媒体、パンチカード、ペーパーテープ、ホールパターンを備えた他のいずれかの物理的な媒体、RAM、PROM、EPROM、フラッシュEPROM、他のいずれかのメモリチップまたはカートリッジ、以下で説明されるような搬送波、またはコンピュータが読出可能な他のいずれかの媒体を含む。
種々の形のコンピュータ読出可能な媒体は、実行のために1つ以上の命令の1つ以上のシーケンスをプロセッサ604に搬送することに関与し得る。たとえば、命令は、最初リモートコンピュータの磁気ディスク上で搬送され得る。リモートコンピュータは、命令をそのダイナミックメモリにロードし、モデムを用いて電話線上で命令を送信し得る。コンピュータシステム600にとってローカルなモデムは、電話線上のデータを受信し、赤外線トランスミッタを用いてデータを赤外線信号に変換し得る。バス602に結合される赤外検出器が、赤外線信号で搬送されたデータを受信し、データをバス602上に置き得る。バス602は、データをメインメモリ606へと搬送し、ここから、プロセッサ604は命令を取出し、実行する。メインメモリ606が受取る命令は、任意で、プロセッサ604による実行の前に、またはその後に、記憶装置610上に記憶され得る。
コンピュータシステム600はまた、バス602に結合される通信インターフェイス618を含む。通信インターフェイス618は、ローカルネットワーク622に接続されるネットワークリンク620に結合される双方向データ通信を提供する。たとえば、通信インターフェイス618は、統合サービスデジタル通信網(ISDN)カードまたはモデムであってデータ通信接続を対応する種類の電話線に提供し得る。別の例として、通信インターフェイス618は、ローカルエリアネットワーク(LAN)カードであってデータ通信接続を適合したLANに提供し得る。ワイヤレスリンクも実現され得る。このようないずれの実現例でも、通信インターフェイス618は、種々の種類の情報を表わすデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。
ネットワークリンク620は、典型的には、1つ以上のネットワークを通して他のデータ装置にデータ通信を提供する。たとえば、ネットワークリンク620は、ローカルネットワーク622を通してホストコンピュータ624へと、またはインターネットサービスプロバイダ(ISP)626によって動作されるデータ装置へと、接続を提供し得る。ISP626は、次に、現在「インターネット」628と通例呼ばれるワールドワイドパケットデータ通信ネットワークを通してデータ通信サービスを提供する。ローカルネットワーク622およびインターネット628の両方は、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を用いる。コンピュータシステム600へと、およびコンピュータシステム600からデジタルデータを搬送する、ネットワークリンク620上にあり通信インターフェイス618を通る信号および種々のネットワークを通る信号は、情報を運ぶ搬送波の例示的な形である。
コンピュータシステム600は、ネットワーク、ネットワークリンク620、および通信インターフェイス618を通して、プログラムコードを含むメッセージを送信し、プログラムコードを含むデータを受信し得る。インターネットの例では、サーバ630は、インターネット628、ISP626、ローカルネットワーク622、および通信インターフェイス618を通して、アプリケーションプログラムのための要求されたコードを送り得る。この発明に従うと、アプリケーションをダウンロードしたものが、ここで説明される技術を実現する。
受信されたコードは、それが受信される時にプロセッサ604によって実行され得、および/または、後の実行のために記憶装置610に、または他の不揮発性記憶装置に記憶され得る。この様態で、コンピュータシステム600は、搬送波の形のアプリケーションコードを得ることができる。
上の明細書では、この発明は、その具体的な実施例を参照しながら説明された。しかし、この発明のより広い思想および範囲から逸脱することなく、この発明に対して種々の変形および変更が可能であることは明らかであろう。したがって、明細書および図は、限定的な意味ではなく例示的な意味で理解されるべきである。

Claims (13)

  1. 関係データベース内のデータを管理するための方法であって、
    前記関係データベースでの記憶のためにXMLドキュメントをデータベースサーバで受信するステップと、
    前記データベースサーバが、前記関係データベース内の対応する列への、XMLドキュメント内の1つ以上のフィールドのマッピングを表すマッピング情報を、前記関係データベースに記憶するステップと、
    前記データベースサーバが、前記XMLドキュメントからのデータを、もともとのデータ型の1つ以上のインスタンスとして、前記関係データベース内において、前記マッピング情報に基づいて前記データベースサーバによって決定される場所に記憶するステップとを含み、
    前記もともとのデータ型は、前記データベースサーバに固有であり、前記データベースサーバによってサポートされるXMLデータのための複数の記憶メカニズムを含み、
    前記方法はさらに、
    前記データベースサーバが前記XMLドキュメントからのデータの要求を受信することに応答して、前記データベースサーバが、前記マッピング情報を調べて、前記XMLドキュメントからのデータにどのようにアクセスすべきかを決定するステップを含む、方法。
  2. データを記憶するステップは、
    前記XMLドキュメントの複数のフィールドのための値を関係表の第1の列に記憶するステップと、
    前記XMLドキュメントの少なくとも1つのフィールドのための値を、前記関係表の第2の列に記憶するステップとを含み、第2の列は前記第1の列とは異なる、請求項1に記載の方法。
  3. データの要求は、XMLクエリーである、請求項1に記載の方法。
  4. 前記XMLクエリーおよび前記マッピング情報に基づいてデータベースクエリーを生成するステップと、
    前記データベースクエリーを実行して前記XMLドキュメントからのデータにアクセスするステップとをさらに含む、請求項3に記載の方法。
  5. 前記データベースクエリーは、基礎をなす関係列に直接アクセスし、テキストインデックスであるインデックスを用いる、請求項4に記載の方法。
  6. 前記XMLドキュメントの構造は、構造化データの1つ以上のフィールドを含むようにユーザによって定義されており、構造化データは、前記関係データベース内の既存の関係データオブジェクト型に対応する型であるデータである、請求項1に記載の方法。
  7. XMLドキュメントの構造は、非構造化データの1つ以上のフィールドを含むようにユーザによって定義されており、非構造化データは、前記関係データベースでの記憶のために前記XMLドキュメントの処理中に前記関係データベース内のLOBデータ型にマッピングされるデータである、請求項1に記載の方法。
  8. 前記マッピング情報は、ユーザによって定義される、請求項1に記載の方法。
  9. 一組の操作が、前記もともとのデータ型のために、前記データベースサーバによって定義される、請求項1に記載の方法。
  10. 前記マッピング情報は、前記XMLドキュメントのフィールドを関係表の複数の列にマッピングし、
    前記XMLドキュメントからのデータを記憶するステップは、前記XMLドキュメントの前記フィールドを解析して複数の値を識別するステップと、前記複数の値の各々を前記関係表の前記複数の列のうちの異なる1つ1つに記憶するステップとを含む、請求項1に記載の方法。
  11. 前記要求は、前記XMLドキュメントのフィールドのための基準を特定し、
    前記方法は、以下のステップを行なうことによって前記基準が満たされているかを判断するステップを含み、前記以下のステップは、
    前記マッピング情報に基づいて、前記フィールドが、ある特定の列にマッピングされる複数のフィールドのうちの1つであることを判断するステップと、
    前記特定の列内のデータを解析して前記XMLドキュメントのための前記フィールドの値の位置を特定するステップと、
    前記値が基準を満たすかを判断するステップとを含む、請求項1に記載の方法。
  12. 前記関係データベース内の1つ以上のフィールドは、前記関係データベース内の1つ以上のフィールドを2つ以上含む、請求項1に記載の方法。
  13. 1つ以上のプロセッサによって実行されると1つ以上のプロセッサに請求項1〜12のいずれかに記載の方法を実行させる1つ以上の命令シーケンスを格納している、コンピュータ読み取り可能な記録媒体。
JP2011128317A 2000-09-07 2011-06-08 Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 Expired - Lifetime JP5320438B2 (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US23087800P 2000-09-07 2000-09-07
US60/230,878 2000-09-07
US09/949,020 US7873649B2 (en) 2000-09-07 2001-09-06 Method and mechanism for identifying transaction on a row of data
US09/948,949 2001-09-06
US09/948,949 US6871204B2 (en) 2000-09-07 2001-09-06 Apparatus and method for mapping relational data and metadata to XML
US09/948,998 2001-09-06
US09/949,020 2001-09-06
US09/948,998 US7024425B2 (en) 2000-09-07 2001-09-06 Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002525479A Division JP4890728B2 (ja) 2000-09-07 2001-09-07 Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置

Publications (2)

Publication Number Publication Date
JP2011181106A true JP2011181106A (ja) 2011-09-15
JP5320438B2 JP5320438B2 (ja) 2013-10-23

Family

ID=27499585

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002525479A Expired - Lifetime JP4890728B2 (ja) 2000-09-07 2001-09-07 Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置
JP2011128317A Expired - Lifetime JP5320438B2 (ja) 2000-09-07 2011-06-08 Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002525479A Expired - Lifetime JP4890728B2 (ja) 2000-09-07 2001-09-07 Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置

Country Status (6)

Country Link
EP (1) EP1337937B1 (ja)
JP (2) JP4890728B2 (ja)
AU (2) AU2001290693B2 (ja)
CA (2) CA2767315C (ja)
HK (1) HK1054092A1 (ja)
WO (1) WO2002021339A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762398B2 (en) 2011-12-02 2014-06-24 Chun Gi Kim Method of integrating data of XML document with database on web

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392239B2 (en) 2003-04-14 2008-06-24 International Business Machines Corporation System and method for querying XML streams
US7287037B2 (en) * 2003-08-28 2007-10-23 International Business Machines Corporation Method and apparatus for generating service oriented state data mapping between extensible meta-data model and state data including logical abstraction
US7409400B2 (en) * 2003-10-22 2008-08-05 Intel Corporation Applications of an appliance in a data center
US20050091231A1 (en) * 2003-10-24 2005-04-28 Shankar Pal System and method for storing and retrieving XML data encapsulated as an object in a database store
US7991786B2 (en) 2003-11-25 2011-08-02 International Business Machines Corporation Using intra-document indices to improve XQuery processing over XML streams
US7290012B2 (en) 2004-01-16 2007-10-30 International Business Machines Corporation Apparatus, system, and method for passing data between an extensible markup language document and a hierarchical database
US7418456B2 (en) 2004-01-16 2008-08-26 International Business Machines Corporation Method for defining a metadata schema to facilitate passing data between an extensible markup language document and a hierarchical database
US20050267881A1 (en) * 2004-05-21 2005-12-01 Christopher Betts Methods and systems for data storage
US7617450B2 (en) 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US7620889B2 (en) * 2004-12-20 2009-11-17 Microsoft Corporation Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements
US7752632B2 (en) 2004-12-21 2010-07-06 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US7770180B2 (en) 2004-12-21 2010-08-03 Microsoft Corporation Exposing embedded data in a computer-generated document
US7533111B2 (en) 2005-12-30 2009-05-12 Microsoft Corporation Using soap messages for inverse query expressions
KR102189417B1 (ko) * 2013-10-10 2020-12-11 쉬프트정보통신 주식회사 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템
US11055365B2 (en) 2018-06-29 2021-07-06 Paypal, Inc. Mechanism for web crawling e-commerce resource pages
US11741093B1 (en) 2021-07-21 2023-08-29 T-Mobile Usa, Inc. Intermediate communication layer to translate a request between a user of a database and the database

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999941A (en) * 1997-11-25 1999-12-07 Micron Electronics, Inc. Database access using active server pages
US6012067A (en) * 1998-03-02 2000-01-04 Sarkar; Shyam Sundar Method and apparatus for storing and manipulating objects in a plurality of relational data managers on the web

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762398B2 (en) 2011-12-02 2014-06-24 Chun Gi Kim Method of integrating data of XML document with database on web

Also Published As

Publication number Publication date
JP4890728B2 (ja) 2012-03-07
EP1337937A2 (en) 2003-08-27
CA2421214C (en) 2012-04-03
AU9069301A (en) 2002-03-22
JP2004519755A (ja) 2004-07-02
HK1054092A1 (en) 2003-11-14
CA2767315A1 (en) 2002-03-14
CA2421214A1 (en) 2002-03-14
JP5320438B2 (ja) 2013-10-23
WO2002021339A3 (en) 2003-06-26
WO2002021339A2 (en) 2002-03-14
EP1337937B1 (en) 2013-04-17
AU2001290693B2 (en) 2007-08-16
CA2767315C (en) 2015-02-10

Similar Documents

Publication Publication Date Title
JP5320438B2 (ja) Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置
US7873649B2 (en) Method and mechanism for identifying transaction on a row of data
US7024425B2 (en) Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system
US7668806B2 (en) Processing queries against one or more markup language sources
US7386567B2 (en) Techniques for changing XML content in a relational database
AU2004237062B2 (en) Retaining hierarchical information in mapping between XML documents and relational data
US7260585B2 (en) Apparatus and method for mapping relational data and metadata to XML
US8229932B2 (en) Storing XML documents efficiently in an RDBMS
US7120645B2 (en) Techniques for rewriting XML queries directed to relational database constructs
US7499909B2 (en) Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching
US8694510B2 (en) Indexing XML documents efficiently
US20070016605A1 (en) Mechanism for computing structural summaries of XML document collections in a database system
JP4351530B2 (ja) リレーショナルデータベースシステム内の階層型データにアクセスするための効率的な索引構造
AU2001290693A1 (en) Method and apparatus for XML data storage, query rewrites, visualization, mapping and references
US7627547B2 (en) Processing path-based database operations
JP2009544102A (ja) Xml文書の、意味論を意識した処理
JP4724177B2 (ja) Xmlデータにアクセスするためのインデックス
AU2007229359B2 (en) Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system
JP2004348485A (ja) 構造化文書処理方法及び装置及び構造化文書処理プログラム及び構造化文書処理プログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130712

R150 Certificate of patent or registration of utility model

Ref document number: 5320438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term