JP2004519755A - Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 - Google Patents
Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 Download PDFInfo
- Publication number
- JP2004519755A JP2004519755A JP2002525479A JP2002525479A JP2004519755A JP 2004519755 A JP2004519755 A JP 2004519755A JP 2002525479 A JP2002525479 A JP 2002525479A JP 2002525479 A JP2002525479 A JP 2002525479A JP 2004519755 A JP2004519755 A JP 2004519755A
- Authority
- JP
- Japan
- Prior art keywords
- data
- relational database
- xml
- xml document
- 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
Links
Images
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/80—Information 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/83—Querying
- G06F16/835—Query processing
- G06F16/8358—Query translation
-
- 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/80—Information 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/84—Mapping; Conversion
- G06F16/86—Mapping 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
Description
【関連出願および優先権主張】
この出願は、発明者ムラリダール クリシュナプラサド(Muralidhar Krishnaprasad)、ビスワナサン クリシュナマーシー(Viswanathan Krishnamurthy)、およびラビ マーシー(Ravi Murthy)による「XMLデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照」(“XML DATA STORAGE,QUERY REWRITES, VISUALIZATION, MAPPING AND REFERENCING”)と題された、2000年9月7日に提出された米国特許仮出願第60/230,878号の優先権を主張する。
【0002】
この出願は、発明者としてムラリダール クリシュナプラサド、ビスワナサン クリシュナマーシー、およびラビ マーシーを挙げる「データベースデータおよびメタデータに対する関係データベースおよびユニバーサルリソース識別子のXMLビジュアライゼーションのための方法および装置」(“METHOD AND APPARATUS FOR XML VISUALIZATION OF A RELATIONAL DATABASE AND UNIVERSAL RESOURCE IDENTIFIERS TO DATABASE DATA AND METADATA”)と題された米国特許出願第 号、代理人事件整理番号50277‐1564の優先権を主張する。
【0003】
この出願は、発明者としてムラリダール クリシュナプラサド、ビスワナサン クリシュナマーシー、ラビ マーシー、およびビサール ニマニ(Visar Nimani)を挙げる「関係データおよびメタデータをXMLにマッピングするための装置および方法」(“APPARATUS AND METHOD FOR MAPPING RELATIONAL DATA AND METADATA TO XML”)と題された米国特許出願第 号、代理人事件整理番号50277−1565の優先権を主張する。
【0004】
この出願は、発明者としてムラリダール クリシュナプラサド、ビスワナサン クリシュナマーシー、およびラビ マーシーを挙げる「関係データベースシステム内のXMLデータの一様な操作およびフレキシブルな記憶のための方法および装置」(“METHOD AND APPARATUS FOR FLEXIBLE STORAGE AND UNIFORM MANIPULATION OF XML DATA IN A RELATIONAL DATABASE SYSTEM”)と題された米国特許出願第 号、代理人事件整理番号50277−1566の優先権を主張する。
【0005】
【発明の分野】
この発明は、一般に、関係データベースに関し、より具体的には、データベースのXMLビジュアライゼーション、データベースオブジェクトへのDBURI参照、関係データベースデータおよびメタデータのXMLデータへのマッピング、XMLクエリーに応答してのXMLデータの提供、XMLデータ記憶、操作、およびクエリー能力に関する。
【0006】
【発明の背景】
ワールドワイドウェブでは、ドキュメント内の異なるソースからのデータを参照する必要がある。このようなデータを参照する標準的なやり方は、URIまたはユニバーサルリソース識別子を用いることによる。大部分のデータが関係データベース内にあるため、このようなデータに対する標準的なURIベースのアクセス方法をサポートすることが必要である。通常、このようなアプリケーションは、サーブレット(Servlet)のような標準的なメカニズムを用いて書込まれ、これは、次に、SQLステートメントを実行してデータベースデータを取出し、フォーマットし得る。SQLデータの結果を、拡張可能マークアップ言語(XML)等の、ユーザが必要とする標準的なフォーマットに変換するためには、多くの場合、かなりの処理が必要とされる。XMLは、データを表わすためのワールドワイドウェブコンソーシアム(W3C)規格である。
【0007】
関係データベース内のデータは、典型的には、データベースを管理するデータベースサーバにコマンドを送信することによって、アクセスされる。このようなコマンドは、データベースサーバがサポートするデータベース言語に適合していなければならない。
【0008】
多くのアプリケーションは、現在、XMLドキュメントの形の入力データを予想して設計されている。アプリケーションに提供されるデータが関係データベースから来る場合、データは、典型的には、XMLドキュメントに再フォーマットされなければならない。
【0009】
データがXMLドキュメントとして提供される場合、ドキュメントの受信側は、XMLドキュメントの構造を理解しなければならない。XMLドキュメントが関係データベースクエリーの結果から生成される場合、結果として得られるXMLドキュメントの構造は、典型的には、クエリーの性質に基づいて変化する。したがって、関係データをXMLドキュメントに変換し、このように生成されたXMLドキュメントの構造を示すデータを生成するプロセスは、面倒なものであり、柔軟性を欠くおそれがある。
【0010】
種々の技術を用いて、このようなXMLドキュメントからのデータを関係データベースに記憶することができる。1つの技術によると、各XMLドキュメントは、単一のデータ項目として扱われ、そのようなものとして関係表の単一の列に記憶される。この技術は、データベースサーバにサブミットされる前にXMLが処理されなくてもよい点で、便宜的である。しかし、データベースサーバは、XMLドキュメントを単一のデータ項目とみなすため、データベースサーバは、XMLドキュメントが構成されており、単一のXMLドキュメントが多くの属性および特定の値を備えたエレメントを含み得るという事実を活用することはできない。
【0011】
代替的な技術によると、XMLドキュメントがデータベースに記憶される前に、XMLドキュメントは、その構成属性およびエレメントデータに分割され得る。各属性およびエレメントの値は、データベースにサブミットされ、表の対応する列に挿入される。この技術が用いられる場合、データベースサーバを用いて個別の属性値に基づいてデータが選択され得る。しかし、データがデータベースから取出される場合、属性値は、単一のXMLドキュメントの一部としてではなく、まぎれもないデータ項目として提供される。XMLドキュメントを回復するためには、データベースサーバから受信されるデータは、再フォーマットされ、構成されてXMLドキュメントを再構成しなければならない。
【0012】
上に基づいて、URLを用いたリソースへのアクセスをサポートするブラウザ等のクライエントが関係データにアクセスすることを可能にするための、それほど面倒でないメカニズムおよび技術を提供することが明らかに望ましい。
【0013】
さらに、理にかない、融通性があり、かつ効率的な様態で関係データをXMLに変換するための技術を提供することが望ましい。
【0014】
記憶される特定の形に依存しないXMLドキュメントを処理するための技術の提供が望まれる。言い換えると、アプリケーションにとって、それらのXMLデータの記憶表現を独立して決定し、それが機能性にいかなる影響も与えないことが望ましい。しかし、記憶の選択は、アプリケーションの性能に影響を与えるおそれもある。さらに、データベースサーバにとって、ユーザ動作の最適な処理のために選択された記憶表現を活用する技術を実現することも望ましい。
【0015】
【発明の概要】
ユーザがXMLフォーマットで関係データベースからのデータを見ることと取出すこととを可能にするための技術が提供される。(1)このようなデータへのURI参照を提供することによって、ワールドワイドウェブを通してユーザがこのデータにアクセスするための、(2)データベース内のこれらのURI参照上で動作を記憶し、実行するための、技術が提供される。
【0016】
データを関係データベースと交換するときにXML構文を用いるための技術も提供される。ユーザは、XPath表記を用いてデータベースのこれらの「ビジュアライズされた」部分をナビゲートし得る。
【0017】
関係データベース内のメタデータおよびデータをXMLデータにマッピングするための技術が提供される。この発明の特定の実施例に従うと、オブジェクト関係データをXMLデータに標準的にマッピングし、さらにはオブジェクト関係スキーマをXMLスキーマに標準的にマッピングすることによって、ユーザがデータベースクエリを用いてXMLドキュメントの形で関係データベースからデータを取出すことを可能にするためのメカニズムが提供される。異なるデータベーススキーマ内のデータベースメタデータオブジェクトを異なるXMLネーム空間にマッピングすることによって、XMLネーム空間を用いてスキーマ情報を増加させる。
【0018】
関係データベースシステム内で抽象データ型を用いてXMLデータをモデル化するための技術が提供される。
【0019】
ユーザがXMLクエリーをサブミットして、関係データベースに記憶されるXMLドキュメント内のデータにアクセスする時に、XMLクエリーおよびマッピング情報に基づいてデータベースクエリーを生成するためのメカニズムが提供される。このプロセスは、XMLデータの基礎をなす記憶表現をより良く活用する他のクエリーへと、ユーザクエリー(および他のデータ操作動作)を再び書込むことを含む。
【0020】
この発明は、同じ参照番号が同様の要素を指す添付の図内で、限定としてではなく、例として例示される。
【0021】
【好ましい実施例の詳細な説明】
XML構文を用いて関係データベース内のデータにアクセスするための技術、関係データベースからのデータおよびメタデータをXMLにマッピングするための技術、関係データベースシステム内で抽象データ型を用いてXMLデータをモデル化するための技術、多数の記憶表現のための技術、一様なクエリーインターフェイスのための技術、およびクエリー再書込を用いた最適な処理のための技術が提供される。以下の説明では、説明上、この発明の完全な理解を提供するために、多くの具体的な詳細事項が示される。しかし、これらの具体的な詳細事項なしに、この発明が実施され得ることは、当業者には明らかであろう。他の例では、この発明を不必要に曖昧なものにしないために、周知の構造および装置がブロック図の形で示される。
【0022】
機能的な概要
ここで説明される技術を用いると、「現在のユーザ」とここで呼ばれる、関係データベースの特定のいずれかのユーザは、現在のユーザがアクセス特権を許可された関係データベース内のすべての表およびビューならびに関連のスキーマをXMLツリーとして見ることができる。言い換えると、ユーザは、表およびビューの形でデータベースデータを見る代わりに、データは、XMLドキュメントの形でユーザに対して提供され、XMLドキュメントの典型的な構造はツリーである。
【0023】
データベースの、いくつかの並行な現在のユーザが存在し得る。しかし、説明を簡素化するために、ここで説明される技術は、単一の現在のユーザを指す。XMLツリーは、以下、「ビジュアライズされたXMLドキュメント」と呼ばれる。ビジュアライズされたXMLドキュメントは、表およびビューならびに関連のスキーマのXML表現を含む。XMLドキュメントは、ユーザのアクセス権に基づくため、XMLドキュメントは、各ユーザのアクセス権に基づいてユーザごとに異なり得る。したがって、ここで説明されるようなビジュアライズされたXMLドキュメントは、現在のユーザに関連する。
【0024】
URLまたはURIによって識別され、かつ関係データベース内でアクセスされるべきデータ項目は、ここで「目標データ」と呼ばれる。目標データは、実現例ごとに異なり得る。目標データは、関係データベーススキーマオブジェクト、関係データ、および制御ファイル等の多くの種類のデータのいずれであってもよい。この発明は、特定のいずれかの種類の目標データに限定されない。
【0025】
目標データがXMLデータであるかのように、現在のユーザが関係データベース内の目標データにアクセスし、それを操作するために、以下のためのメカニズムが提供される。すなわち、1)現在のユーザが関係データベース内でアクセス特権を有するすべてのデータを含む、現在のユーザのためのいずれかの関係データベースのデフォルトバーチャルビジュアライゼーションであって、デフォルトバーチャルビジュアライゼーションは標準的なXMLドキュメントとして定義される、デフォルトバーチャルビジュアライゼーションを定義するためのメカニズム、2)標準的なユニフォームリソースインディケータ(URI)を提供するためのメカニズムであって、これは、データベース内で局所的に定義され、さらには、これによって、ビジュアライズされたXMLドキュメント上でのXPath表記としてURIを定義することにより、ビジュアライズされたXMLドキュメントの1つ以上のフラグメントがアクセスされ得る、標準的なユニフォームリソースインディケータ(URI)を提供するためのメカニズム、3)ビジュアライズされたXMLドキュメント上でのXpath表記としてURLを定義することによって関係データベースに記憶されるデータにアクセスするために関係データベースの外のウェブブラウザと共に用いられ得るメカニズムとして標準的なユニフォームリソースロケータ(URL)を提供するためのメカニズム、4)URIおよびURLを記憶するために用いられ得る新しいデータ型および新しいオブジェクト型を関係データベース内で提供するためのメカニズム、5)ここで説明されるような標準的なURIおよびURLを用いて、ビジュアライズされたドキュメントを通して関係データベース内のデータを修正、生成、追加、または削除するためのメカニズムを提供するためのメカニズムが提供される。
【0026】
XPath表記は、XMLドキュメントをナビゲートするためのW3cの標準的なやり方である。XPath表記は、ビジュアライズされたXMLドキュメント(関係データベースのXMLビジュアライゼーション)上での走査(traversal)および挿入/削除/更新を可能にする。XPath表記は、関係データベース内でSQLデータ定義言語(DDL)およびデータベース操作言語(DML)へと変換され得る。
【0027】
(1)関係データベースのXMLビジュアライゼーションと、(2)XPath表記を用いてビジュアライズされたXMLドキュメントをナビゲートするためのメカニズムとの組合せによって、ユーザが関係データベース内のいずれかのデータを「指し示す」ことが可能となる。たとえば、/SCOTT/EMP/ROW[EMPNO=2100]等のXPath表記は、EMPNO=21によって識別される行内のデータ値を指し示す。ここでの行は、EMPと呼ばれる関係データベース表内にあり、これは、スコットと呼ばれる関係データベーススキーマのスキーマオブジェクトである。関係データベースのXMLビジュアライゼーションは、ここでより詳細に説明される。
【0028】
データベースクエリーの結果は、ここで、「SQL結果セット」と呼ばれる。SQL結果セットが1つ以上のXMLドキュメントに変換されると、変換された結果セットは、ここで「XML結果セット」と呼ばれる。関係データベース内のデータは、ここで「オブジェクト関係データ」と呼ばれ、オブジェクト関係データに関連したメタデータが、ここで関係データベーススキーマと呼ばれる。関係データベーススキーマは、オブジェクトの集合であり、ここで「スキーマオブジェクト」と呼ばれる。スキーマオブジェクトは、関係データベース内のデータを直接指す論理構造である。したがって、スキーマオブジェクトは、表、ビュー、クラスタ、およびインデックス等の構造を含む。
【0029】
ユーザが関係データベースクエリー言語を用いてクエリーをサブミットし、さらにはXMLドキュメントの形の結果セットを受取り得るために、以下のためのメカニズムが提供される。すなわち、1)関係データベースからXMLの形へとオブジェクト関係データをマッピングするための、2)関係データベーススキーマをXMLの形にマッピングするための、3)オブジェクト関係データおよび関係データベーススキーマからXMLドキュメントを生成するための、メカニズムが提供される。
【0030】
オブジェクト関係データおよび関係データベーススキーマから結果セットしてXMLドキュメントを生成するためのメカニズムは、関係データベースに記憶されるルールセットに基づく。データベースクエリーの処理中に、予め定義されるか、または動的に定義されるいずれかであるオブジェクト関係データは、ルールセットに基づいて対応のXMLデータにマッピングされる。このようなマッピングは、ここで「XMLの形へのオブジェクト関係データの標準的なマッピング」と呼ばれる。
【0031】
同様に、関係データベーススキーマは、関係データベーススキーマをそれらの対応のXMLスキーマにマッピングすることによって、XMLの形にマッピングされる。このようなマッピングは、「XMLスキーマへの関係データベーススキーマの標準的なマッピング」とここで呼ばれるルールセットに基づく。XMLスキーマへの関係データベーススキーマの標準的なマッピングは、ここでより詳細に説明される。
【0032】
さらに、XML結果セットの生成、つまり、SQL結果セットからのXMLドキュメントの生成は、ここでより詳細に説明されるようなルールセットに基づく。
【0033】
XMLデータおよびSQLデータの処理を関係データベース内で一体化するために、関係データベース内でXML型のデータ型をサポートして表の列および行内にXMLドキュメントを記憶するためのメカニズムが提供される。記憶表現は、実現例ごとに異なり得る。この発明は、特定のいずれの記憶表現にも限定されない。この発明の特定の実施例では、ユーザは、関係データベース内での記憶のためにXMLドキュメントをサブミットし得る。XMLドキュメントの各フィールドからのデータは、記憶に関連した種々の既存のインデックス付けメカニズムを活用する様態で、関係データベースに自動的に記憶される。たとえば、XMLドキュメントが、関係データベース内での記憶のためにサブミットされると、XMLドキュメントの各フィールドを記憶するために、関係データベース内で対応の記憶列を決定するためのメカニズムが提供される。したがって、XMLドキュメントの各フィールドは、関係データベース内のある列にマッピングされ、このマッピング情報は、関係データベースに記憶される。データの型に応じて、データフィールドのいくつかがまとめられて単一のオブジェクト関係列に記憶され得、他のフィールドは、別個のオブジェクト関係列として記憶され得る。XMLドキュメントの各フィールドからのデータには、適切なインデックス付け方式を用いて、インデックスが付けられ得る。たとえば、Bツリーインデックスが、関係型データを含む列のために用いられ得、インターメディアテキスト等のテキストインデックスが、大きなテキストデータを含む列のために用いられ得る。特定の実施例では、ユーザは、マッピング情報を特定し得る。マッピング情報を特定することによって、ユーザは、マッピングの細分性を制御し得る。
【0034】
したがって、以下のような技術が提供される。すなわち、1)XMLデータおよびSQLデータの一様な処理のための技術、2)明確に定義されたXML動作セットのための一様なクエリーインターフェイスのための技術であって、動作セットは、関係データベース内のXMLデータのための基礎をなす記憶メカニズムから分離されている、技術、3)関係データベース内での基礎をなす記憶メカニズムのデータアクセスおよびデータ操作能力を活用する形へのクエリー再書込のための技術が提供される。
【0035】
関係データベースおよびXPathのバーチャルXMLビジュアライゼーション
特定の実施例によると、現在のユーザは、ユーザがアクセス特権を許可された関係データベース内のすべてのデータを、ビジュアライズされたXMLドキュメントとして見ることができる。ビジュアライズされたXMLドキュメントは、表およびビューを備えたスキーマセットおよび「データベースタグ」を含む。たとえば、データベースが“oradb”と呼ばれるならば、XMLドキュメントは、データベースタグ“<oradb>”で始まり、データベースタグ“</oradb>”で終了する。
【0036】
現在のユーザは、ビジュアライズされたXMLドキュメントからのエレメントの読出、挿入、更新、および削除を許可される。したがって、現在のユーザは、関係データベース内でのデータの記憶またはアクセスの実際の性質を認識していない。現在のユーザは、ビジュアライズされたXMLドキュメントをナビゲートするためにXPath表記を用いるのみである。
【0037】
たとえば、関係データベースの現在のユーザがスコットであると仮定する。関係データベースの現在のユーザの各々に関連しているのは、同じ名前によるスキーマである。スキーマは、表、ビュークラスタ、および機能等の関係データベースオブジェクトの論理集合である。
【0038】
図1Aは、関係データベース内のスキーマおよびスキーマオブジェクトを例示するブロック図である。図1Aの列102は、スキーマオブジェクトのリストを含む。説明のために、2つのスキーマ、SCOTTおよびJONESのみが示される。列104は、各スキーマ内の関係データベースオブジェクトを含む。説明のために、2つの表、EMPおよびDEPTのみが示される。スキーマSCOTTは表EMPを含み、スキーマJONESは表DEPTを含む。
【0039】
図1Bは、関係データベースに記憶される表を例示したブロック図である。関係データベース110は、表EMPおよびDEPTを含む。表EMPは、3つの列、EMPNO、ENAME、およびSALARYを有する。EMPの各列は、値の行を含む。表DEPTは、2つの列、DEPTNOおよびDNAMEを有する。DEPTの各列は、値の行を含む。
【0040】
現在のユーザ、スコットは、関係データベース内のスキーマSCOTTおよびJONESにアクセスする特権を有し、さらにはSCOTTおよびJONESに関連するデータにアクセスする特権を有すると仮定する。この技術の特定の実施例に従うと、現在のユーザ、スコットは、(全ビジュアライゼーションではないが)以下のような関係データベースのデフォルトバーチャルビジュアライゼーションを見ることができる。
【0041】
【数1】
【0042】
上のデフォルトバーチャルビジュアライゼーションは、デフォルトバーチャルビジュアライゼーションの1つの実現例にすぎない。デフォルトバーチャルビジュアライゼーションは、実現例ごとに異なり得る。この発明は、ある特定のビジュアライゼーションモデルに限定されない。
【0043】
この技術の特定の実施例に従うと、URLおよびURIをビジュアライズされたXMLドキュメント上のXPath表記として定義することによって、いずれかのデータベースに記憶されたデータにアクセスするための標準的なURLおよびURIメカニズムも提供される。
【0044】
この発明の1つの実施例に従うと、URLは、もともとのURI処理メカニズムを用いてURLが指し示すデータにアクセスするサーブレットを用いることによって、処理され得る。
【0045】
この発明の特定の実施例に従うと、データベースタグ(oradb)は、処理コンテキスト内に暗黙的に結びつけられ得、URL内で明示的に特定される必要はない。
【0046】
関係データベースへのローカルアクセスを有さない現在のユーザは、ブラウザを用いてURLを用いることによりインターネット上の関係データベース内のデータにアクセスし得る。たとえば、現在のユーザはスコットであり、スコットはブラウザを用いて、EMP表がスキーマSCOTT内にあり、従業員番号が2100である行の、EMP表の従業員名列にアクセスしたいと仮定する。スコットが用いるであろうURLは、以下のように示され得る。
【0047】
【数2】
【0048】
上のURLでは、データベースタグ“oradb”は暗黙的に結びつけられ、したがって、ユーザはURL内でデータベースタグを特定する必要はない。
【0049】
URLまたはURIにアクセスした結果は、以下で示されるようなeネーム変数を含むビジュアライズされたXMLドキュメントのフラグメントであり得る。
【0050】
【数3】
【0051】
現在のユーザは、コンテント型でURLまたはURIを増補して多目的インターネットメール拡張(MIME)タイプの出力を特定し得る。たとえば、URLが、イメージを記憶しているBLOB(バイナリラージオブジェクト)列を指し示し、イメージが「目標データ」ならば、コンテント型は、gifに設定され得る。したがって、URLを用いることに応答して、現在のユーザは、たとえば、大きな16進法ファイルではなくイメージを得る。
【0052】
別の例として、現在のユーザは、URLを増補して、URLが指し示す列のテキスト値を目標データとして要求し得る。たとえば、現在のユーザ、スコットが、従業員番号が2100である行の、EMP表の従業員名列にアクセスするために以下のURLを用いると仮定する。
【0053】
【数4】
【0054】
“text()”は、テキストノードを識別するためのXPath規格である。上のURL内でtext()を用いることによって、従業員番号が2100である行の、EMP表の従業員名列内でテキスト値のみを含む結果が生み出されるであろう。従業員番号が2100である行の、EMP表の従業員名列内のテキスト値は、「ジョン」である。したがって、text()を用いて上のURLにアクセスする結果は、「ジョン」である。対照的に、例の従業員名列にアクセスするためにtext()がURL内で用いられない場合、「ジョン」は、以下のようにビジュアライズされたXMLドキュメントのフラグメント内にインラインされる。
【0055】
<ENAME>John</ENAME>
この発明の別の実施例では、URLとともに、またはユーザ書込機能を通して記憶され得る他の補助情報に基づいて、MIME情報がデータベースによって自動的に引出され得る。
【0056】
関係データベースのバーチャルXMLビジュアライゼーションを定義するためのマッピングルール
データベースのデフォルトバーチャルビジュアライゼーションを標準的なXMLドキュメントとして定義するための技術が提供される。1つの実施例に従うと、デフォルトバーチャルビジュアライゼーションを定義するためのルールは、以下のとおりである。
【0057】
1) 目標データを含む関係データベースを識別する擬似トップレベル囲みタグが存在する。目標データを含む関係データベースを識別する囲みタグのペアの例は、<oradb>...</oradb>であり、“oradb”は、以下で示されるように、目標データを含む関係データベースの名前である(ビジュアライゼーション内のすべてのエレメントが示されているわけではない)。
【0058】
【数5】
【0059】
2) 現在のユーザがアクセス特権を許可された関係データベース内の各スキーマは、ビジュアライズされたXMLドキュメント内の1つのエレメントに対応する。エレメントの名前は、エレメントが対応するスキーマの名前と同じである。ここで示される例では、関係データベース“oradb”内のスキーマSCOTTは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。同様に、スキーマJONESは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。以下のビジュアライズされたXMLドキュメントは、スキーマエレメントレベルでの関係データベースのビジュアライゼーションである。例示の目的のために、スキーマSCOTTおよびJONESに対応するエレメントのみが示される。
【0060】
【数6】
【0061】
3) 現在のユーザがアクセス特権を許可された関係データベース内の各表またはビューは、ビジュアライズされたXMLドキュメント内の1つの要素に対応する。エレメントの名前は、エレメントが対応する表またはビューの名前と同じである。ここで示される例では、関係データベース“oradb”内の表EMPは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。同様に、表DEPTは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。以下のビジュアライズされたXMLドキュメントは、表エレメントレベルでの関係データベースのビジュアライゼーションである。例示のために、表EMPおよびDEPTに対応するエレメントのみが示される。
【0062】
【数7】
【0063】
4) 現在のユーザがアクセス特権を許可された関係データベース内の各表またはビューの各行は、ビジュアライズされたXMLドキュメント内の1つのエレメントに対応する。以下のビジュアライズされたXMLドキュメントは、行エレメントレベルでの関係データベースのビジュアライゼーションである。例示のために、表EMPおよびDEPTの行に対応するエレメントのみが示される。
【0064】
【数8】
【0065】
5) 現在のユーザがアクセス特権を許可された関係データベース内の各表またはビューの各列は、ビジュアライズされたXMLドキュメント内の1つのエレメントに対応する。エレメントの名前は、エレメントが対応する列の名前と同じである。ここで示される例では、表EMP内の列EMPNOは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。同様に、列ENAMEは、ビジュアライズされたXMLドキュメント内の同じ名前を有するエレメントによって表わされる。以下のビジュアライズされたXMLドキュメントは、列エレメントレベルでの関係データベースのビジュアライゼーションである。例示のために、表EMP内の列EMPNOおよびENAMEに対応するエレメントのみが示される。
【0066】
【数9】
【0067】
XPath表記を関係データベースクエリーに変換するためのルール
この発明の1つの実施例に従うと、XMLビジュアライゼーション上でのXpathクエリーは、関係データベースクエリーおよびXML内でフォーマットされる結果へと変換され得る。XPath表記を関係データベースクエリーに変換するための技術が提供される。説明のために、クエリーに変換されるべきXPath表記が関係データベース“oradb”のコンテキスト内にあると仮定する。したがって、典型的なXPath表記のフォーマットは“oradb”のコンテキストであり、以下のように生成され得る。
【0068】
/Schema/Table/Row/Column/Attribute...(! further attributes)
上のXPath表記の各エレメントは、任意で述語を有し得る。述語は、形[(element)(operator)(value)]をとる。
【0069】
たとえば、エレメント、Rowは、以下のような述語を有し得る。
/Schema/Table/Row[Column1=2100]/Column2
XPath表記を関係データベースクエリーに変換するためのルールは、XPath表記のための上の一般的なフォーマットを指し、以下のとおりである。
【0070】
1) 形/Schema/TableのXPath表記は、以下のSQLステートメント等の対応する関係データベースクエリーに変換される。
【0071】
Select*
From Schema.Table
上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいかなる構文にも限定されない。
【0072】
SQLステートメントの結果は、次に、ビジュアライズされたXMLドキュメントの対応するフラグメントに変換され得る。
【0073】
2) 形/Schema/Table/Row/ColumnのXPath表記は、以下のSQLステートメント等の対応する関係データベースクエリーに変換される。
【0074】
Select Column
From Schema.Table
上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいかなる構文にも限定されない。
【0075】
SQLステートメントの結果は、次に、ビジュアライズされたXMLドキュメントの対応するフラグメントに変換され得る。
【0076】
3) 形/Schema/Table/Row[Empno=2100]/ColumnのXPath表記は、以下のSQLステートメント等の対応する関係データベースクエリーに変換される。
【0077】
Select Column2
From Schema.Table
Where Column1=2100
上のステートメントで用いられる構文は、単なる例示にすぎない。クエリー言語ステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。
【0078】
クエリー言語ステートメントの結果は、次に、ビジュアライズされたXMLドキュメントの対応するフラグメントに変換され得る。
【0079】
URI型
特定の実施例に従うと、特別なデータ型が関係データベース内で提供されて関係データベース内でURIおよびURLが記憶される。このようなデータ型は、ここで“Uritype”と呼ばれる。URIおよびURLは、URIおよびURLをUritypeデータとして定義することによって、関係データベース表内の列に記憶され得る。
【0080】
図2Aは、Uritypeの階層を例示するブロック図である。図2Aは、サブタイプを含む一般的なUritype210を示す。特定の実施例に従うと、サブタイプは、DB−Uritype212、HTTP−Uritype214、およびFTP−Uritype216である。
【0081】
HTTP−Uritypeは、HTTP(ハイパーテキスト転送プロトコル)URLを記憶し、HTTPプロトコルを用いてURLによって指し示されるデータをフェッチする。FTP−Uritypeは、FTP(ファイル転送プロトコル)URLを記憶し、FTPを用いてデータをフェッチする。DB−Uritypeは、ここで説明されるXpathメカニズムを用いてイントラデータベース参照を記憶する。
【0082】
DB−Uritypeは、前に定義されたXpath変換メカニズムを用いて、または他のメカニズムを通して、URLに関連したデータをフェッチし得る。
【0083】
ユーザは、Uritypeのサブタイプまたは他のサブタイプのいずれかを定義し得、そのURLによって指し示されるデータを得るための実現例を提供し得る。
【0084】
URIおよびURLを記憶できることとは別に、Uritypeデータ型に関連した一般的な機能は、URIおよびURLの取出と、関係データベース内でLOBとして、たとえば、CLOBおよびBLOBとして記憶されるXMLドキュメントの取出とを含む。
【0085】
現在のユーザが、URLによって指し示される目標データを関係データベースから取り出したい場合、現在のユーザのXPath表記は、適切なクエリー言語ステートメントに自動的に変換される。このようなステートメントの実際の構文は、関係データベース内で用いられるクエリー言語に依存し、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。Uritypeデータ型の関係データベース機能は、以下のステートメントによって要約され得る。
【0086】
getURL();
getBLOB();
getCLOB().
getXML();
上のステートメントは、単に機能を例示するにすぎない。このようなステートメントは、必ずしもクエリー言語ステートメントではない。この発明は、ある特定のセットのクエリー言語ステートメントに限定されない。
【0087】
図2Bは、Uritypeデータを記憶する関係データベース表を例示するブロック図である。関係データベース表200は、パーチェスオーダ表である。表200は、2つの列、パーチェスオーダ番号列250とパーチェスオーダリンク列260とを有する。両列250および260は、3つのデータ行、つまり、行271、行272、および行273を含む。パーチェスオーダリンク列は、型UriTypeのデータを記憶し得る。
【0088】
行271の列260は、型HTTP−Uritypeのデータを記憶する。行272の列260は、型FTP−Uritypeのデータを記憶する。最後に、行273の列260は、型DB−Uritypeのデータを記憶する。DB−Uritype、HTTP−Uritype等は、UriType型のサブタイプとして定義されたため、これらの型のインスタンスをパーチェスオーダリンク列に記憶できることが注目される。
【0089】
現在のユーザは、表200内で記憶されるUritypeデータによって指し示されるデータのいずれかを引出し得る。データベースは、適切なメカニズムを用いてデータを自動的にフェッチする。
【0090】
たとえば、以下で示されるクエリーは、パーチェスオーダリンク列によって指し示されるパーチェスオーダデータを取出す。
【0091】
【数10】
【0092】
データベースは、第1の行に対してはHTTPを通してパーチェスオーダをフェッチし、第2の行に対してはFTPを用い、最後の行に対してはDB−Uritype処理メカニズムを用いる。
【0093】
上のステートメントで用いられる構文は、単なる例示にすぎない。実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。適切なクエリーへの変換は、現在のユーザには見えない。したがって、現在のユーザが目標データの型を認識する必要はない。
【0094】
URITYPE機能を用いての関係データの修正
特定の実施例に従うと、ここで説明されるような標準的なURIおよびURLを用いて関係データベースに記憶されるXMLデータを修正、追加、または削除するためのメカニズムが提供される。
【0095】
たとえば、現在のユーザ、スコットは、(全ビジュアライゼーションではないが)以下のような関係データベースのデフォルトバーチャルビジュアライゼーションを見ることができると仮定する。
【0096】
【数11】
【0097】
現在のユーザ、スコットが、従業員番号が2100である行の、EMP表の従業員名列のデータを更新したがっているとさらに仮定する。更新は、名前「ジョン」を「メアリ」に変更することを含む。
【0098】
特定の実施例に従うと、現在のユーザ、スコットが関係データベースへの直接のアクセスを有するならば、スコットは、以下を行ない得る。すなわち、1)XMLデータの更新のための更新動作を選択し、2)以下のXPath表記を用いる。
【0099】
【数12】
【0100】
XPath表記/SCOTT/EMP/ROW[EMPNO=2100]/ENAMEは、更新されるべき目標データの行および列を示す。
【0101】
XPath表記<ENAME>Mary</ENAME>は、更新されるべき目標データの新しい値を示す。
【0102】
上のXPath表記は、以下のようなクエリー言語ステートメントに変換される。
UPDATE“SCOTT”.”EMP”
SET“ENAME”=’Mary’
Where“EMPNO”=2100;
現在のユーザ、スコットがウェブブラウザを用いて関係データベース内の目標データにアクセスする場合、特定の実施例に従うと、汎用サーブレットが提供されて現在のユーザが、標準的なURIおよびURLを用いて関係データベース内に記憶されるXMLデータを修正、追加、または削除することが可能となり得る。名前「ジョン」を「メアリ」に更新する上の例を用いると、スコットが以下を行なうことを可能にする汎用サーブレットが提供される。すなわち、1)XMLデータを更新するために更新動作を選択し、2)以下のXPath表記の形で「更新」情報をサーブレットにポストする。
【0103】
/SCOTT/EMP/ROW[EMPNO=2100]/ENAME
<ENAME>Mary</ENAME>
他の特定の実施例に従うと、特別なサーブレットが各データベース動作のために提供され得る。言い換えると、INSERT動作のために「挿入−サーブレット」が存在し得、DELETE動作のために「削除−サーブレット」が存在し得、UPDATE動作のために「更新−サーブレット」が存在し得る。
【0104】
名前「ジョン」を「メアリー」に更新する上の例を用いて、スコットが以下を行なうことを可能にする“Insert_servlet”が提供される。すなわち、1)XMLデータを更新するために更新動作を選択し、2)以下のXPath表記の形で「更新」情報をサーブレットに対してポストする。
【0105】
【数13】
【0106】
同じメカニズムを用いてメタデータを修正、追加、または削除する。たとえば、現在のユーザ、スコットがスキーマSCOTTを削除したい場合、スコットは、以下を行ない得る。すなわち、1)関係データベース内のXMLデータを削除するために削除動作を選択し、2)ビジュアライズされたXMLドキュメント内のどのレベルが削除されるべきかを示す以下のXPath表記を用いる。
【0107】
【数14】
【0108】
図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」を含む。
【0109】
例として、ユーザが関係データベースクエリーをサブミットして列のうちの2つからの値、つまり、表EMPからのEMPNOおよびENAMEを取出すことを仮定する。関係データベースクエリーの一例は、以下のSQLステートメント、SELECT empno, ename FROM empである。
【0110】
上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。
【0111】
図3Bは、ename FROM emp、SELECT empno、およびSQLステートメントのSQL結果セットを含むビューを例示したブロック図である。SQL結果セットは、表EMPの2つの列のみを含む。したがって、図3Bは、列EMPNOおよびENAMEのみを示す。たとえSQL結果セットが列EMPNOおよびENAME内のすべての値の行を含むとしても、簡素化のために、(それぞれ行302および304からの値を含む)行310および312のみが図3Bで示される。
【0112】
図3BのSQL結果セットは、この発明の特定の実施例に従うと、以下のルールに基づいて対応するXML結果セットに変換され得る。
【0113】
1) XML結果セットは、ROWSETタグで始まるXMLドキュメントの形にある。ROWSETタグは、XMLドキュメントが行エレメントのセットを含むことを示す。
【0114】
2) SQL結果セットの各行は、XMLドキュメント内の対応のROWエレメントに変換され、ROWエレメントはROWタグのペアによって示される。
【0115】
3) SQL結果セットのある所与の行内の各列は、SQL結果セットの所与の行に対応する取囲む(encompassing)ROWエレメント内に埋込まれる対応するCOLUMNエレメントに変換される。COLUMNタグの名前は、SQL結果セット内の対応する列の名前である。
【0116】
ROWSET、およびROWタグは、この発明の異なる実現例で異なった名前を有し得る。この発明は、このようなタグに関して特定のいかなる名前にも限定されない。COLUMNタグに関しては、1つの実施例に従うと、COLUMNタグの名前を変更するために、エイリアスメカニズムが提供される。
【0117】
例示のために、上の例のXML結果セットは、以下のように現われ得る。
【0118】
【数15】
【0119】
オブジェクト関係データのマッピング
XMLの形へのオブジェクト関係データの標準的なマッピングの例は、以下のとおりである。
【0120】
a) XMLエレメントへのオブジェクト関係列のマッピング
たとえば、図3Aを参照して、単一の行302におけるEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットは、以下のように現われ得る。
【0121】
【数16】
【0122】
オブジェクト関係列EMPNOおよびENAMEは、XML結果セット内の対応するCOLUMNエレメントにマッピングされる。EMPNOおよびENAMEは、取囲むROWエレメント内に埋込まれる。
【0123】
b) オブジェクト型の属性を含むネストにされたサブエレメントを有するXMLエレメントへのオブジェクト関係オブジェクト型のマッピング
説明のために、“Address_t”と呼ばれる、ユーザによって定義される型は、あらかじめ関係データベース内で生成されると仮定する。“Address_t”は、3つのスカラ属性、つまり、CITY、STATE、およびZIPを含む複雑なオブジェクト型である。関係データベース内にはEmployee_tableと呼ばれる表が存在すると仮定する。Employee_tableは、2つの列ENAMEおよびADDRESSを有する。ENAMEは、「ストリング」の型であり、ADDRESSは、ユーザによって定義される型“Address_t”である。列ENAMEおよびADDRESSは、各々、値の単一の行のみを、つまり、従業員名「ジョン」およびジョンのアドレスをそれぞれ含むことをさらに仮定する。
【0124】
“SELECT*FROM Employee_table”等のSQLクエリーは、この発明の特定の実施例に従うと、以下のXML結果セットにマッピングするSQL結果セットを生成し得る。
【0125】
【数17】
【0126】
オブジェクト関係列ADDRESSは、XML結果セット内の同じタグ名を有するエレメントにマッピングする。“address_t”型であるエレメントADDRESSは、属性CITY、STATE、およびZIPを有し、これらはエレメントADDRESSのサブエレメントにマッピングされる。各サブエレメントは、XML結果セット内のその対応するタグ名としての属性の名前を有する。
【0127】
c) XMLリストへのオブジェクト関係集合型のマッピング
説明のために、“Lineitems_t”と呼ばれる、ユーザによって定義される型が、あらかじめ関係データベース内で生成されることを仮定する。“Lineitems_t”は、複数の集合項目を含む集合オブジェクト型である。各集合項目は、集合内の項目の位置上の値を定義するID属性を有する。たとえば、関係データベース内にはPurchaseOrder_tableと呼ばれる表が存在することを仮定する。PurchaseOrder_tableは、2つの列、パーチェスオーダ番号のためのPONOと、ライン項目リストのためのLINEITEMSとを有する。PONOは、「番号」の型であり、LINEITEMSは、“Lineitems_t”の型である。列PONOおよびLINEITEMSは、各々、値の単一の行、つまり、パーチェスオーダ番号「101」と、パーチェスオーダ番号「101」に関連したライン項目の集合とを含むとさらに仮定する。ライン項目の集合内には、1項目、つまり、「ブック」が存在すると仮定する。
【0128】
“SELECT * FROM PurchaseOrder_table”等のSQLクエリーは、以下のXML結果セットにマッピングするSQL結果セットを生成する。
【0129】
【数18】
【0130】
オブジェクト関係列LINEITEMSは、XML結果セット内の同じタグ名を有するエレメントにマッピングする。LINEITEMS内の各集合項目は、LINEITEMSエレメント内に埋込まれるサブエレメントにマッピングされる。各集合項目は、タグ名としての集合型名、つまり、“LINEITEM_T”を有する。各集合項目は、エレメントLINEITEM_T内に埋込まれるサブエレメントにマッピングされる属性LINEITEMNAMEおよびCOSTを有する。各サブエレメントは、その対応するタグ名としての属性名、たとえば、<LINEITEMNAME>、および<COST>を有する。
【0131】
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とを有すると仮定する。
【0132】
“SELECT EMPNO, DEPTREF FROM Employee−table”等のSQLクエリーは、以下のXML結果セットにマッピングするSQL結果セットを生成する。
【0133】
【数19】
【0134】
この発明の特定の実施例に従うと、オブジェクト関係REF値を、16進法(“HEX”)でエンコードされるバイナリ値に変換することによって、DEPTREF列内のREF値は、XML結果セットのためのXMLの形に変換される。したがって、上のXML結果セットでは、「0344855FF4ABBCC3333」が、エンコードされたHEXである。
【0135】
この発明の他の特定の実施例に従うと、REF値をデータベースユニフォームリソースインディケータ(“DBURI”)参照へと変換することによって、DEPTREF列内のREF値は、XMLの形に変換される。DBURI参照は、発明者としてムラリダール クリシュナプラサド、ビスワナサン クリシュナマーシー、ラビ マーシーを挙げる「データベースデータおよびメタデータに対する関係データベースおよびユニバーサルリソース識別子のXMLビジュアライゼーションのための方法および装置」と題された米国特許出願第 号、代理人事件整理番号50277‐1564で詳細に説明される。
【0136】
上の同じ例を用いると、DBURI参照は、SCOTT/DEPARTMENT_TABLE/ROW[DEPTNO=“1001”]として現われ得、Deptnoは、主要なキー情報である。したがって、XML結果セットは、以下として現われ得る。
【0137】
【数20】
【0138】
この発明のさらなる他の実施例に従うと、REF列に記憶されるオブジェクトを独自に識別するオブジェクト識別子は、DBURI参照を生成するときに用いられ得る。上の同じ例を用いて、DBURI参照は、以下として現われ得る。
【0139】
【数21】
【0140】
したがって、XML結果セットは、以下のように現われ得る。
【0141】
【数22】
【0142】
この発明の実施例に従うと、LOB値もDBUri参照に変換され得る。たとえば、DEPT_PHOTOと呼ばれる部門表内に列が存在し、これがBLOB列ならば、DBUri参照が用いられて、XMLドキュメント内でBLOBデータをインラインする代わりに、BLOBデータが参照され得る。
【0143】
XML結果は、DEPT_PHOTO列に対して以下のように現われ得る。
【0144】
【数23】
【0145】
この発明は、LOBおよびREFへのDBUri参照を生成することに限定されない。DBUri参照は、ビジュアライズされたドキュメント内でインラインされなくてもよいデータベースデータのいずれかの部分を参照するために生成され得る。たとえば、ネストにされた表、LONG、および他のデータ型は、ビジュアライズされたドキュメント内で全データをインラインする代わりに、DBUri参照に変換され得る。DBUri参照は、Xpath表記の述語内で行のROWIDまたは主要なキー情報を用いることによって、生成され得る。
【0146】
関係データベーススキーマのマッピング
関係データベーススキーマは、関係データベーススキーマをそれらの対応するXMLスキーマにマッピングすることによって、XMLの形にマッピングされる。たとえば、図3Aを参照して、単一の行302でEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットを生成するために、XMLスキーマが生成される。XMLスキーマは、XML結果セットの構造を定義し、これは、XMLドキュメントの形である。したがって、単一の行302でEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットに対応するXMLスキーマは、この発明の特定の実施例に従うと、以下のとおりである。
【0147】
【数24】
【0148】
上の例からわかるように、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”は、結果として得られるドキュメント内でのこのエレメントの発生の最小の回数を示す。
【0149】
代替的には、XMLスキーマは、その対応するXML結果セット(XMLドキュメント)内で「インライン」され得る。たとえば、図3Aを参照して、単一の行302でEMPNOおよびENAMEを選択するためのSQLクエリーのXML結果セットは、この発明の特定の実施例に従うと、以下のようにXML結果セット内でその対応のXMLスキーマをインラインし得た。
【0150】
【数25】
【0151】
XMLネーム空間
ある所与の関係データベーススキーマに関連したオブジェクト関係データ型定義は、対応のXMLネーム空間に結合(bound)され得る。XMLネーム空間は、XMLドキュメント内でエレメント型および属性名として用いられる名前の集合である。XMLネーム空間は、URLによって定義され得る。たとえば、ここで説明されるように、関係データベースはユーザによって定義される型“Address_t”を有し、これは、3つのスカラ属性、つまり、CITY、STATE、およびZIPを含む複雑なオブジェクト型であると仮定する。説明のために、複雑なオブジェクト型“Address_t”は関係データベーススキーマSCOTT内で定義されると仮定する。したがって、“Address_t”は、たとえば、URL, http://ora.com/SCOTTによって定義されるXMLネーム空間に結合され得る。
【0152】
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の型である。
【0153】
以下のSQLステートメントは、関係データベース内のEMP2、NameType、AddressType、データベーススキーマPEE、およびデータベーススキーマFOOの生成を例示する。
【0154】
【数26】
【0155】
上のステートメントで用いられる構文は、単なる例示にすぎない。SQLステートメントの実際の構文は、実現例ごとに異なり得る。この発明は、特定のいずれかの構文に限定されない。
【0156】
表EMP2では、列ENAMEは、関係データベーススキーマPEEのために定義されるNameTypeを用い、列EADDRは、関係データベーススキーマFOOのために定義されるアドレス型を用いる。
【0157】
したがって、SELECT*FROM EMP2等のSQLクエリーのXML結果セットに対応するXMLスキーマは、FOOおよびPEEのためのXMLネーム空間を定義する別個のURLを含む。FOOのためのXMLネーム空間は、AddressTypeのための定義を含む。PEEのためのXMLネーム空間は、NameTypeのための定義を含む。
【0158】
SELECT*FROM EMP2等のSQLクエリーのXML結果セットに対応するXMLスキーマは、この発明の特定の実施例に従うと、以下のとおりである。
【0159】
【数27】
【0160】
代替的には、XMLスキーマは、目標データ、つまり、EMP2内の従業員のアドレスおよび名前を含むその対応するXML結果セット内で「インライン」され得る。この発明の特定の実施例に従うと、XML結果セットは、「インライン」されるその対応するXMLスキーマを示す。
【0161】
【数28】
【0162】
XMLデータおよびSQLデータの一様な処理
典型的には、関係データベース内には、予め定義された関係データ型が存在する。典型的な予め定義された関係データ型の例は、数、日付、およびストリング等である。オブジェクト関係データベースはまた、ユーザによって定義されるオブジェクト型を含み得る。しかし、XMLデータおよびSQLデータの一様な処理を提供するために、XMLTypeと呼ばれるデータ型が、関係データベースシステム内でもともと定義される。XMLTypeデータ型は、構造化XMLデータであっても、非構造化XMLデータであっても、いずれの型のXMLデータも記憶するために用いられ得る。
【0163】
図4は、XMLType記憶アーキテクチャを例示したブロック図である。ブロック402は、ブロック406で示されるXMLTypeを用いて記憶されるべきXMLデータである。XMLTypeは、XMLデータのための基礎をなす記憶メカニズムを含む。記憶メカニズムのうちのいくつかが、記憶層414で示される。記憶層414では、LOB記憶メカニズム408、オブジェクト関係記憶メカニズム410、および「他の」記憶メカニズム412が示される。「他の」記憶メカニズム412は、XMLデータのためのいずれかの適切な記憶メカニズムであり得る。したがって、記憶層414内の記憶メカニズムは、XMLデータのための記憶メカニズムの、余すところのないセットを含むわけではない。XMLTypeは、基礎をなす記憶メカニズムを含むため、XMLデータのユーザは、XMLTypeを見るのみであり、XMLデータの基礎をなす記憶メカニズムの実際の詳細は、ユーザから隠れている。典型的には、関係データベースシステムの管理者は、記憶されるべきXMLデータのための基礎をなす記憶メカニズムを選択する。管理者は、記憶メカニズムの性能詳細事項に基づいて、基礎をなす記憶メカニズムのタイプを選択する。
【0164】
記憶を示すために、ある所与のXMLドキュメントのフィールドのうちのいくつかは、構造化データを含み得る。構造化データは、関係データベース内の関係列にマッピングされ得るデータである。別の例では、XMLドキュメントは、全ブックのテキストコンテントを含むと仮定する。XMLドキュメントのあらゆるエレメントまたはフィールドを関係列にマッピングすることによってこのようなXMLドキュメントを広げる(explode)のではなく、ユーザが照会しそうなデータを含むフィールドのみが、ストリング、番号等の予め定義された関係型にマッピングされ、残りのデータは、まとめられ、キャラクタラージオブジェクト(CLOB)のための1つの列にマッピングされる。ユーザは、ユーザ自身のテンプレートを生成してどのフィールドが関係列にマッピングされるべきか、およびどのフィールドがCLOBにマッピングされるべきかを特定し得る。
【0165】
図5は、XMLType列の構造を例示したブロック図である。列504は、構造化データを含むXMLドキュメントを含んだXMLType列である。構造化データのフィールドは、隠し列506にマッピングされる。たとえば、XMLドキュメントのPONOエレメントは、NUMBER列にマッピングされ、PNAMEはストリング列にマッピングされる。図5では、網掛けされたエリアは、列がユーザからは見えないように隠されていることを示す。ユーザは、単一のXMLType列を見るのみである。
【0166】
一様なクエリーインターフェイス
この発明の特定の実施例に従うと、関連データベース内に記憶されるXMLTypeデータ上の動作のコアセットを定義するために、一様なクエリーインターフェイスが提供される。このような動作は、基礎をなす記憶フォーマットからは独立している。この発明の特定の実施例に従うと、XMLTypeデータ上の動作は、以下のように機能的に要約される。
【0167】
1) ある所与のXMLドキュメントのフラグメントの抽出
2) XMLドキュメント内の特定の構造の存在のテスト
3) XMLドキュメント内の特定のデータ値の抽出
4) ある所与のXMLドキュメントの変換
上の動作リストは、XMLTypeデータのための余すところのない動作リストというわけではない。動作のいくつかを例示するために、“X”と呼ばれるXMLドキュメントがパーチェスオーダデータを含むと仮定する。パーチェスオーダデータは、値「21」を備えたパーチェスオーダ番号“PONO”、値“JOHN”を備えたパーチェスオーダネーム“PNAME”、およびライン項目の集合を含み、以下のように現われる。
【0168】
【数29】
【0169】
したがって、この発明の特定の実施例に従うと、XMLドキュメント“X”のフラグメントを抽出するための動作の例は、以下のとおりである。
【0170】
EXTRACT (X,‘PO/LINEITEM’)
上の動作は、ドキュメントXのフラグメントを抽出し、フラグメントは、LINEITEM下のすべてのブランチから構成されるサブツリーである。
【0171】
XMLドキュメント“X”内の特定のデータ値を抽出するための動作の例は、以下のとおりである。
【0172】
EXTRACTVALUE (X,‘PO/PNAME’)
上の動作は、PNAME内のスカラ値、つまり、“JOHN”を抽出する。
【0173】
XMLドキュメント“X”内での特定のエレメントの存在のテストのための動作例は、以下のとおりである。
【0174】
EXISTSNODE (X,‘PO/[PONO=21]’)
上の動作は、値が21であるPONOと呼ばれる子を有する、POと呼ばれるエレメントをXMLドキュメント“X”が有するかをテストする。
【0175】
XSLスタイルシートを用いてXMLドキュメントを変換するための動作例は、以下のとおりである。
【0176】
TRANSFORM (X,‘<xs1>......stylesheet.....</xs1>’)
上の動作は、XMLドキュメントの基礎をなす記憶フォーマットに関して、全く寛容である。
【0177】
クエリー再書込
この発明の特定の実施例に従うと、関係データベース内の基礎をなす記憶メカニズムのデータアクセスおよびデータ操作能力を活用する形へとユーザクエリーを再書込みするためのメカニズムが提供される。
【0178】
ある所与のXMLドキュメントの構造化データのフィールドは、フィールド内のデータがユーザによって頻繁に照会されるようであれば、別個の関係列にマッピングされ得る。たとえば、XMLドキュメントのフィールドのうちの1つが従業員名を含み、ユーザが従業員名の値をもとにしてXMLドキュメントを頻繁に照会することが予想されると仮定する。これらの条件下では、従業員名は、XMLドキュメントそれ自体を記憶する列とは別のENAMEと呼ばれる関係列に記憶され得る。XMLユーザが、ある特定の従業員の名前に基づいてクエリーをサブミットしてXMLドキュメントにアクセスすると、XMLユーザのクエリーは、自動的に再書込みされてENAME列のみにアクセスする。
【0179】
対照的に、クエリー再書込メカニズムが提供されず、従業員名が別個の列に記憶されないならば、XMLユーザがある特定の従業員の名前に基づいてクエリーをサブミットしてXMLドキュメントにアクセスする場合、XMLドキュメントをパーズすることによって、ドキュメントオブジェクトモデル(DOM)が各XMLドキュメントに対して生成される。次に、適切なXPATH表記を適用することによって、DOM上で従業員名に対して探索が行なわれる。DOMを生成し、次にDOM上で探索を行なうことは、明らかに、より効率性に欠ける。
【0180】
別の例では、関係データベースの既存のインデックス付け能力を用いてXMLユーザのクエリーを満足させる。データが頻繁に照会されることが予想されるならば、データは、別個の関係列に記憶され得、Bツリーインデックスが、その列上で構築され得る。次に、XMLユーザクエリーがサブミットされて、たとえば、PONO=21である行が選択されるならば、PONO列上のBツリーインデックスを用いて、PONO列内で値21を有するXMLドキュメントを含む行が識別され得る。同様に、XMLドキュメントがLOBとして記憶されるならば、テキストインデックスを用いてLOB列上での探索が最適化され得る。
【0181】
関係データベース内のXMLドキュメントの記憶に関連したマッピング情報およびユーザのXMLクエリーに基づいて、データベースクエリー、たとえば、SQLクエリーを生成するためのメカニズムがデータベース内で提供される。
【0182】
図5を参照して、図5の表はPO‐TABLEと呼ばれ、Bツリーインデックスは関係列PONO上で生成されると仮定する。XMLユーザが以下のクエリーをサブミットすると仮定する。
【0183】
SELECT * From PO−TABLE
Where EXISTNODE (PO−XML,‘/PO[PONO=21]’)
この発明の特定の実施例に従うと、上のXMLユーザのクエリーは、以下へと変換される。
【0184】
SELECT * From PO−TABLE
Where PO−XML .PONO=21
したがって、インデックス探索は、PONOの述語に対して行われ得る。
【0185】
ハードウェア
図6は、この発明の実施例が実現され得るコンピュータシステム600を例示したブロック図である。コンピュータシステム600は、情報の通信を行なうためのバス602または他の通信メカニズム、および、情報を処理するための、バス602に結合されるプロセッサ604を含む。コンピュータシステム600はまた、プロセッサ604によって実行されるべき情報および命令の記憶のための、バス602に結合されるランダムアクセスメモリ(RAM)または他の動的記憶装置等のメインメモリ606を含む。メインメモリ606はまた、プロセッサ604によって実行されるべき命令の実行中に一時変数または他の中間情報を記憶するために用いられ得る。コンピュータシステム600はさらに、プロセッサ604のための命令および静的情報を記憶するための、バス602に結合される読出専用メモリ(ROM)608または他の静的記憶装置を含む。磁気ディスクまたは光学ディスク等の記憶装置610が、設けられ、情報および命令を記憶するためにバス602に結合される。
【0186】
コンピュータシステム600は、コンピュータユーザに情報を表示するための、陰極線管(CRT)等のディスプレイ612にバス602を介して結合され得る。英数字および他のキーを含む入力装置614がバス602に結合されて、情報およびコマンド選択をプロセッサ604に伝達する。別の種類のユーザ入力装置は、方向情報およびコマンド選択をプロセッサ604に伝達し、さらにはディスプレイ612上でのカーソルの動きを制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御616である。この入力装置は、典型的には、2つの軸、第1の軸(たとえば、x)と第2の軸(たとえば、y)とにおいて2自由度を有し、これによって、装置が平面で位置を特定することが可能となる。
【0187】
この発明は、ここで説明される技術を実現するためのコンピュータシステム600の用途に関連する。この発明の1つの実施例に従うと、これらの技術は、メインメモリ606内に含まれる1つ以上の命令の1つ以上のシーケンスをプロセッサ604が実行することに応答して、コンピュータシステム600によって実現される。このような命令は、記憶装置610等の別のコンピュータ読出可能な媒体からメインメモリ606へと読出され得る。メインメモリ606内に含まれる命令シーケンスの実行によって、プロセッサ604がここで説明されるプロセスステップを実行させられる。多重処理構成における1つ以上のプロセッサを用いてメインメモリ606内に含まれる命令シーケンスを実行することもできる。代替的な実施例では、ソフトウェア命令の代わりに、またはソフトウェア命令と組合せてハードワイヤード回路を用いてこの発明を実現することもできる。したがって、この発明の実施例は、ハードウェア回路とソフトウェアとの特定のいずれかの組合せに限定されない。
【0188】
ここで用いられるような用語「コンピュータ読出可能な媒体」は、実行のために命令をプロセッサ604に提供するいずれかの媒体を指す。このような媒体は、不揮発性媒体、揮発性媒体、および送信媒体を含むがそれらに限定されない多くの形をとり得る。不揮発性媒体は、たとえば、記憶装置610等の光学ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ606等のダイナミックメモリを含む。送信媒体は、バス602を含むワイヤを含んだ、同軸ケーブル、銅ワイヤ、および光ファイバを含む。送信媒体はまた、電波および赤外線データ通信中に生成されるような音波または光波の形をとり得る。
【0189】
コンピュータ読出可能な媒体の一般的な形は、たとえば、フロッピー(R)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他のいずれかの磁気媒体、CD−ROM、他のいずれかの光学媒体、パンチカード、ペーパーテープ、ホールパターンを備えた他のいずれかの物理的な媒体、RAM、PROM、EPROM、フラッシュEPROM、他のいずれかのメモリチップまたはカートリッジ、以下で説明されるような搬送波、またはコンピュータが読出可能な他のいずれかの媒体を含む。
【0190】
種々の形のコンピュータ読出可能な媒体は、実行のために1つ以上の命令の1つ以上のシーケンスをプロセッサ604に搬送することに関与し得る。たとえば、命令は、最初リモートコンピュータの磁気ディスク上で搬送され得る。リモートコンピュータは、命令をそのダイナミックメモリにロードし、モデムを用いて電話線上で命令を送信し得る。コンピュータシステム600にとってローカルなモデムは、電話線上のデータを受信し、赤外線トランスミッタを用いてデータを赤外線信号に変換し得る。バス602に結合される赤外検出器が、赤外線信号で搬送されたデータを受信し、データをバス602上に置き得る。バス602は、データをメインメモリ606へと搬送し、ここから、プロセッサ604は命令を取出し、実行する。メインメモリ606が受取る命令は、任意で、プロセッサ604による実行の前に、またはその後に、記憶装置610上に記憶され得る。
【0191】
コンピュータシステム600はまた、バス602に結合される通信インターフェイス618を含む。通信インターフェイス618は、ローカルネットワーク622に接続されるネットワークリンク620に結合される双方向データ通信を提供する。たとえば、通信インターフェイス618は、統合サービスデジタル通信網(ISDN)カードまたはモデムであってデータ通信接続を対応する種類の電話線に提供し得る。別の例として、通信インターフェイス618は、ローカルエリアネットワーク(LAN)カードであってデータ通信接続を適合したLANに提供し得る。ワイヤレスリンクも実現され得る。このようないずれの実現例でも、通信インターフェイス618は、種々の種類の情報を表わすデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。
【0192】
ネットワークリンク620は、典型的には、1つ以上のネットワークを通して他のデータ装置にデータ通信を提供する。たとえば、ネットワークリンク620は、ローカルネットワーク622を通してホストコンピュータ624へと、またはインターネットサービスプロバイダ(ISP)626によって動作されるデータ装置へと、接続を提供し得る。ISP626は、次に、現在「インターネット」628と通例呼ばれるワールドワイドパケットデータ通信ネットワークを通してデータ通信サービスを提供する。ローカルネットワーク622およびインターネット628の両方は、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を用いる。コンピュータシステム600へと、およびコンピュータシステム600からデジタルデータを搬送する、ネットワークリンク620上にあり通信インターフェイス618を通る信号および種々のネットワークを通る信号は、情報を運ぶ搬送波の例示的な形である。
【0193】
コンピュータシステム600は、ネットワーク、ネットワークリンク620、および通信インターフェイス618を通して、プログラムコードを含むメッセージを送信し、プログラムコードを含むデータを受信し得る。インターネットの例では、サーバ630は、インターネット628、ISP626、ローカルネットワーク622、および通信インターフェイス618を通して、アプリケーションプログラムのための要求されたコードを送り得る。この発明に従うと、アプリケーションをダウンロードしたものが、ここで説明される技術を実現する。
【0194】
受信されたコードは、それが受信される時にプロセッサ604によって実行され得、および/または、後の実行のために記憶装置610に、または他の不揮発性記憶装置に記憶され得る。この様態で、コンピュータシステム600は、搬送波の形のアプリケーションコードを得ることができる。
【0195】
上の明細書では、この発明は、その具体的な実施例を参照しながら説明された。しかし、この発明のより広い思想および範囲から逸脱することなく、この発明に対して種々の変形および変更が可能であることは明らかであろう。したがって、明細書および図は、限定的な意味ではなく例示的な意味で理解されるべきである。
【図面の簡単な説明】
【図1A】関係データベース内のスキーマおよびスキーマオブジェクトを例示したブロック図である。
【図1B】関係データベースに記憶された表を例示したブロック図である。
【図2A】Uritypeの階層を例示したブロック図である。
【図2B】Uritypeデータを記憶する関係データベース表を例示したブロック図である。
【図3A】表を例示したブロック図である。
【図3B】SQL結果セットを含むビューを例示したブロック図である。
【図4】XMLType記憶アーキテクチャを例示したブロック図である。
【図5】XMLType列の構造を例示したブロック図である。
【図6】この発明の実施例が実現され得るコンピュータを示す図である。
Claims (100)
- 関係データベース内のデータにアクセスするための方法であって、
データベースサーバで、XML構文内の情報を含むリクエストを受信するステップを含み、情報は、関係データベースの1つ以上の部分に存在する目標データを特定し、前記方法はさらに、
情報に基づいて、目標データに対応する関係データベースの1つ以上の部分を決定するステップと、
関係データベースの1つ以上の部分から目標データを取出すステップとを含む、方法。 - リクエストを受信する前に、リクエストを発行しているユーザのアクセス特権に基づいて関係データベースの部分のXMLビジュアライゼーションを提供するステップをさらに含む、請求項1に記載の方法。
- リクエストに応答して関係データベースの部分のXMLビジュアライゼーションを提供するステップをさらに含む、請求項1に記載の方法。
- 目標データを取出した後に目標データ上で動作を行なうステップをさらに含み、目標データ上での動作は、Xpath表記を発行して関係データベースの1つ以上の部分のXMLビジュアライゼーションをトラバースすることによって行なわれる、請求項1に記載の方法。
- 目標データ上での動作は、更新、削除、読出、および挿入を含む、請求項4に記載の方法。
- XMLビジュアライゼーションを提供するステップは、1つ以上のXMLスキーマの生成時にユーザが有するアクセス特権に基づいて1つ以上のXMLスキーマを動的に生成するステップを含む、請求項2に記載の方法。
- リクエストはXpathクエリーである、請求項1に記載の方法。
- XpathクエリーはSQLクエリーにマッピングされる、請求項7に記載の方法。
- Xpathクエリーのトランスレータは、SQLクエリーにマッピングされることなく、実行時間構造を直接生成する、請求項7に記載の方法。
- 関係データベース内のユニフォームリソース識別子参照を用いることによって、関係データベースの1つ以上のオブジェクトへの参照を生成するステップをさらに含む、請求項1に記載の方法。
- 関係データベース内のデータにアクセスするための方法であって、
データ項目が関係データベースのスキーマ内のどこにあるかに基づいて、関係データベース内の前記データ項目とユニフォームリソースロケータ(URL)との間でマッピングを確立するステップと、
ユニフォームリソースロケータとマッピングとに基づいて関係データベース内でデータ項目の位置を特定するステップとを含む、方法。 - データ項目の位置を特定するステップは、
データベースサーバが、ある特定のデータ項目にマッピングされるURLを受信するステップと、
データベースサーバが、URLおよびマッピングに基づいてデータ項目がスキーマ内のどこにあるかを判断するステップとを含む、請求項11に記載の方法。 - データ項目の位置を特定するステップは、
データベースサーバの外にあるエンティティが、ある特定のデータ項目にマッピングされるURLを受信するステップと、
エンティティが、URLおよびマッピングに基づいてデータ項目がスキーマ内のどこにあるかを判断するステップと、
エンティティが、メッセージをデータベースサーバに送信してデータベースサーバにデータ項目にアクセスさせるステップとを含み、メッセージは、前記データ項目が前記スキーマ内のどこにあるかについての情報を含む、請求項11に記載の方法。 - データ項目を記憶する表の列にURLを記憶するステップをさらに含み、ある特定のデータ項目にマッピングするURLは、その特定のデータ項目に関連した行内の前記列に記憶される、請求項11に記載の方法。
- 1つ以上のURLは、URLに関連するデータ項目のデータ型を示す情報を含む、請求項14に記載の方法。
- 列に記憶される1つ以上のURLは、対応するデータ項目がどこにあるかについての特定の情報を示す部分を有さず、
方法はさらに、前記1つ以上のURLを前記データベースサーバの外のいずれかのエンティティに提供する前に、データベースサーバが部分を前記1つ以上のURLに追加するステップを含み、
データベースサーバは、対応するURLとともに記憶される補助情報にアクセスすることによって、1つ以上のURLに関連したデータ項目のデータ型情報を決定する、請求項14に記載の方法。 - データ項目の位置を特定するステップは、データベースサーバによって実行され、
方法はさらに、データベースサーバが、前記データ項目を含むXMLドキュメントの形の出力を生成するステップを含む、請求項11に記載の方法。 - 関係データベースに記憶されたデータ項目にアクセスするための方法であって、
データ項目が関係データベース内でどこに存在するかに基づいて、関係データベースを管理するデータベースサーバ内で、データ項目のためのユニフォームリソースロケータ(URL)を生成するステップと、
データベースサーバの外にあるエンティティにURLを提供するステップと、
データベースサーバでURLを受信するステップと、
URLを受信したことに応答して、データベースサーバ内でURLを分解してデータ項目の位置を特定するステップとを含む、方法。 - URLを生成するステップは、データ項目に関連するデータ型を示すURLデータに追加するステップを含む、請求項18に記載の方法。
- 関係データベース内のデータにアクセスするための命令を搬送するコンピュータ読出可能な媒体であって、コンピュータ読出可能な媒体は、以下のステップを行なうための命令を含み、前記ステップは、
XML構文内の情報を含むリクエストをデータベースサーバで受信するステップを含み、前記情報は、関係データベースの1つ以上の部分に存在する目標データを特定し、前記ステップはさらに、
情報に基づいて、目標データに対応する関係データベースの1つ以上の部分を決定するステップと、
関係データベースの1つ以上の部分から目標データを取出すステップとを含む、コンピュータ読出可能な媒体。 - リクエストを受信する前に、リクエストを発行しているユーザのアクセス特権に基づいて関係データベースの部分のXMLビジュアライゼーションを提供するステップを行なうための命令をさらに含む、請求項20に記載のコンピュータ読出可能な媒体。
- リクエストに応答して関係データベースの部分のXMLビジュアライゼーションを提供するための命令をさらに含む、請求項20に記載のコンピュータ読出可能な媒体。
- 目標データを取出した後、目標データ上で動作を行なうための命令をさらに含み、目標データ上での動作は、Xpath表記を発行して関係データベースの1つ以上の部分のXMLビジュアライゼーションをトラバースすることによって、行なわれる、請求項20に記載のコンピュータ読出可能な媒体。
- 目標データ上での動作は、更新、削除、読出、および挿入を含む、請求項23に記載のコンピュータ読出可能な媒体。
- XMLビジュアライゼーションを提供するステップは、1つ以上のXMLスキーマの生成時にユーザが有するアクセス特権に基づいて1つ以上のXMLスキーマを動的に生成するステップを含む、請求項21に記載のコンピュータ読出可能な媒体。
- リクエストはXpathクエリーである、請求項20に記載のコンピュータ読出可能な媒体。
- XpathクエリーはSQLクエリーにマッピングされる、請求項26に記載のコンピュータ読出可能な媒体。
- Xpathクエリーのトランスレータは、SQLクエリーにマッピングされることなく実行時間構造を直接生成する、請求項26に記載のコンピュータ読出可能な媒体。
- 関係データベース内のユニフォームリソース識別子参照を用いることによって関係データベースの1つ以上のオブジェクトへの参照を生成するステップを行なうための命令をさらに含む、請求項20に記載のコンピュータ読出可能な媒体。
- 関係データベース内のデータにアクセスするための命令を搬送するコンピュータ読出可能な媒体であって、コンピュータ読出可能な媒体は、以下のステップを行なうための命令を含み、前記ステップは、
前記データ項目が関係データベースのスキーマ内でどこに存在するかに基づいて、関係データベース内のデータ項目とユニフォームリソースロケータ(URL)との間でマッピングを確立するステップと、
ユニフォームリソースロケータおよびマッピングに基づいて、関係データベース内でデータ項目の位置を特定するステップとを含む、コンピュータ読出可能な媒体。 - データ項目の位置を特定するステップは、
データベースサーバが、ある特定のデータ項目にマッピングされるURLを受信するステップと、
データベースサーバが、URLおよびマッピングに基づいてデータ項目がスキーマ内のどこにあるかを判断するステップとを含む、請求項30に記載のコンピュータ読出可能な媒体。 - データ項目の位置を特定するステップは、
データベースサーバの外にあるエンティティが、ある特定のデータ項目にマッピングされるURLを受信するステップと、
エンティティが、URLおよびマッピングに基づいてデータ項目がスキーマ内のどこにあるかを判断するステップと、
エンティティが、メッセージをデータベースサーバに送信してデータベースサーバにデータ項目にアクセスさせるステップとを含み、メッセージは、前記データ項目が前記スキーマ内のどこにあるかについての情報を含む、請求項30に記載のコンピュータ読出可能な媒体。 - データ項目を記憶する表の列にURLを記憶するステップを行なうための命令をさらに含み、ある特定のデータ項目にマッピングするURLは、その特定のデータ項目に関連した行内の前記列に記憶される、請求項30に記載のコンピュータ読出可能な媒体。
- 1つ以上のURLは、URLに関連したデータ項目のデータ型を示す情報を含む、請求項33に記載のコンピュータ読出可能な媒体。
- 列に記憶される1つ以上のURLは、対応するデータ項目がどこに存在するかについての特定の情報を示す部分を有さず、
方法はさらに、前記1つ以上のURLを前記データベースサーバの外のいずれかのエンティティに提供する前に、データベースサーバが部分を前記1つ以上のURLに追加するステップを含み、
データベースサーバは、対応するURLとともに記憶される補助情報にアクセスすることによって、1つ以上のURLに関連したデータ項目のデータ型情報を決定する、請求項33に記載のコンピュータ読出可能な媒体。 - データ項目の位置を特定するステップはデータベースサーバによって行なわれ、
コンピュータ読出可能な媒体はさらに、データベースサーバが、前記データ項目を含むXMLドキュメントの形の出力を生成するステップを行なうための命令を含む、請求項30に記載のコンピュータ読出可能な媒体。 - 関係データベースに記憶されたデータ項目にアクセスするための命令を搬送するコンピュータ読出可能な媒体であって、コンピュータ読出可能な媒体は、以下のステップを行なうための命令を含み、前記ステップは、
データ項目が関係データベース内でどこに存在するかに基づいて、関係データベースを管理するデータベースサーバ内でデータ項目のためのユニフォームリソースロケータ(URL)を生成するステップと、
データベースサーバの外に存在するエンティティにURLを提供するステップと、
データベースサーバでURLを受信するステップと、
URLを受信したことに応答して、データベースサーバ内でURLを分解してデータ項目の位置を特定するステップとを含む、コンピュータ読出可能な媒体。 - URLを生成するステップは、データ項目に関連するデータ型を示すURLデータに追加するステップを含む、請求項37に記載のコンピュータ読出可能な媒体。
- データを提供するための方法であって、
データベースサーバで関係データベースクエリーを受信して関係データベース内に存在するデータを取出すステップと、
1つ以上のXMLドキュメントの形で関係データベースから関係データベースクエリーの結果を提供することによって、データベースサーバが関係データベースクエリーに応答するステップとを含む、方法。 - 関係データベースクエリーは、関係データベースクエリーに返答するどの値が1つ以上のXMLドキュメント内に含まれるべきか、さらには関係データベースクエリーに返答するどの他の値が参照リンクによって1つ以上のXMLドキュメント内で参照されるべきかを特定する、請求項39に記載の方法。
- 1つ以上のXMLドキュメントの形で関係データベースクエリーに結果を提供するステップは、関係データベースクエリーが選択するいくつかの値がXMLドキュメント内に含まれ、さらには関係データベースクエリーが選択する他の値がXMLドキュメント内で参照されるXMLドキュメントを提供するステップを含む、請求項39に記載の方法。
- 関係データベースクエリーの処理中に、1つ以上のXMLドキュメントの特徴を示す1つ以上のXMLスキーマを生成するステップをさらに含み、特徴は、1つ以上のXMLドキュメントの構造を含む、請求項39に記載の方法。
- 1つ以上のXMLドキュメントのうちの少なくとも1つの中に1つ以上のXMLスキーマのうちの少なくとも1つを記憶するステップをさらに含む、請求項42に記載の方法。
- 関係データベースクエリーの処理中に、1つ以上のXMLドキュメントの特徴を示す1つ以上のXMLスキーマを生成するステップをさらに含み、特徴は、1つ以上のXMLドキュメントの制約を含む、請求項39に記載の方法。
- 1つ以上のXMLスキーマは、関係データベースクエリーに応答して取出されるデータに関連したメタデータに対応する、請求項42に記載の方法。
- 1つ以上のXMLスキーマは、1つ以上のXMLネーム空間からの関係データベースオブジェクト型を含み、1つ以上の関係データベーススキーマは、1つ以上のXMLネーム空間の各々にマッピングされる、請求項42に記載の方法。
- 1つ以上のXMLドキュメントを生成するステップをさらに含み、1つ以上のXMLドキュメントを生成するステップは、関係データベースに記憶されるルールセットを用いて1つ以上のXMLドキュメント内に含まれるデータをどのように構成するかを決定するステップを含む、請求項39に記載の方法。
- 関係データベースクエリーは関係データベース内の複数の行を選択し、1つ以上のXMLドキュメントは複数の行からのデータを集めるXMLドキュメントを含む、請求項39に記載の方法。
- ルールセットは、関係データベースオブジェクトを対応するデータベースユニフォームリソースインディケータ参照にマッピングするためのルールを含む、請求項47に記載の方法。
- ルールセットは、クエリー言語参照を対応するデータベースユニフォームリソースインディケータ参照にマッピングするためのルールを含む、請求項47に記載の方法。
- ルールセットは、LOB列に関連する関係データを対応するデータベースユニフォームリソースインディケータ参照にマッピングするためのルールを含む、請求項47に記載の方法。
- 関係データベースクエリーは、複数の行によって満たされ、1つ以上のXMLドキュメントは前記複数の行のための単一のXMLドキュメントを含む、請求項39に記載の方法。
- データを提供する命令の1つ以上のシーケンスを搬送するコンピュータ読出可能な媒体であって、その命令は、1つ以上のプロセッサによって実行されるとき、1つ以上のプロセッサに以下のステップを行なわせ、前記ステップは、
データベースサーバで関係データベースクエリーを受信して関係データベース内に存在するデータを取出すステップと、
1つ以上のXMLドキュメントの形で関係データベースからの関係データベースクエリーの結果を提供することによって、データベースサーバが関係データベースクエリーに応答するステップとを含む、コンピュータ読出可能な媒体。 - 関係データベースクエリーは、関係データベースクエリーに返答するどの値が1つ以上のXMLドキュメント内に含まれるべきか、さらには関係データベースクエリーに返答するどの他の値が参照リンクによって1つ以上のXMLドキュメント内で参照されるべきかを特定する、請求項53に記載のコンピュータ読出可能な媒体。
- 1つ以上のXMLドキュメントの形で関係データベースクエリーに結果を提供するステップは、関係データベースクエリーが選択するいくつかの値がXMLドキュメント内に含まれ、さらには関係データベースクエリーが選択する他の値がXMLドキュメント内で参照されるXMLドキュメントを提供するステップを含む、請求項53に記載のコンピュータ読出可能な媒体。
- 関係データベースクエリーの処理中に、1つ以上のXMLドキュメントの特徴を示す1つ以上のXMLスキーマを生成するステップをさらに含み、特徴は1つ以上のXMLドキュメントの構造を含む、請求項53に記載のコンピュータ読出可能な媒体。
- 1つ以上のXMLドキュメントのうちの少なくとも1つの中に1つ以上のXMLスキーマのうちの少なくとも1つを記憶するステップをさらに含む、請求項56に記載のコンピュータ読出可能な媒体。
- 関係データベースクエリーの処理中に、1つ以上のXMLドキュメントの特徴を示す1つ以上のXMLスキーマを生成するステップをさらに含み、特徴は1つ以上のXMLドキュメントの制約を含む、請求項53に記載のコンピュータ読出可能な媒体。
- 1つ以上のXMLスキーマは、関係データベースクエリーに応答して取出されるデータに関連したメタデータに対応する、請求項56に記載のコンピュータ読出可能な媒体。
- 1つ以上のXMLスキーマは、1つ以上のXMLネーム空間からの関係データベースオブジェクト型を含み、1つ以上の関係データベーススキーマは1つ以上のXMLネーム空間の各々にマッピングされる、請求項56に記載のコンピュータ読出可能な媒体。
- 1つ以上のXMLドキュメントを生成するステップをさらに含み、1つ以上のXMLドキュメントを生成するステップは、関係データベースに記憶されるルールセットを用いて1つ以上のXMLドキュメント内に含まれるデータをどのように構成するかを決定するステップを含む、請求項53に記載のコンピュータ読出可能な媒体。
- 関係データベースクエリーは、関係データベース内の複数の行を選択し、1つ以上のXMLドキュメントは、複数の行からのデータを集めるXMLドキュメントを含む、請求項53に記載のコンピュータ読出可能な媒体。
- ルールセットは、関係データベースオブジェクトを対応するデータベースユニフォームリソースインディケータ参照にマッピングするためのルールを含む、請求項61に記載のコンピュータ読出可能な媒体。
- ルールセットは、クエリー言語参照を対応するデータベースユニフォームリソースインディケータ参照にマッピングするためのルールを含む、請求項61に記載のコンピュータ読出可能な媒体。
- ルールセットは、LOB列に関連する関係データを対応するデータベースユニフォームリソースインディケータ参照にマッピングするためのルールを含む、請求項61に記載のコンピュータ読出可能な媒体。
- 関係データベースクエリーは複数の行によって満たされ、1つ以上のXMLドキュメントは前記複数の行のための単一のXMLドキュメントを含む、請求項53に記載のコンピュータ読出可能な媒体。
- 関係データベース内のデータを管理するための方法であって、
関係データベースでの記憶のためにXMLドキュメントをデータベースサーバで受信するステップと、
関係データベース内の対応する列への、XMLドキュメント内の1つ以上のフィールドのマッピングを表すマッピング情報を関係データベースに記憶するステップと、
関係データベース内のXMLドキュメントからのデータを、マッピング情報に基づいて決定される場所に記憶するステップと、
データベースサーバがXMLドキュメントからのデータに対するリクエストを受信することに応答して、マッピング情報を調べてどのようにXMLドキュメントからのデータにアクセスすべきかを決定するステップとを含む、方法。 - 関係データベース内のどの対応する列を用いてXMLドキュメントのフィールドからのデータを記憶すべきかを決定するステップと、
関係データベース内の対応する列への、XMLドキュメント内の1つ以上のフィールドのマッピング情報を生成するステップとをさらに含む、請求項67に記載の方法。 - データを記憶するステップは、
XMLドキュメントの複数のフィールドのための値を関係表の第1の列に記憶するステップと、
XMLドキュメントの少なくとも1つのフィールドのための値を関係表の第2の列に記憶するステップとを含み、第2の列は前記第1の列とは異なる、請求項67に記載の方法。 - データに対するリクエストはXMLクエリーである、請求項67に記載の方法。
- XMLクエリーおよびマッピング情報に基づいてデータベースクエリーを生成するステップと、
データベースクエリーを実行してXMLドキュメントからのデータにアクセスするステップとをさらに含む、請求項70に記載の方法。 - データベースクエリーは、基礎をなす関係列に直接アクセスし、インデックスを用いる、請求項71に記載の方法。
- インデックスは関係インデックスである、請求項72に記載の方法。
- インデックスはテキストインデックスである、請求項72に記載の方法。
- XMLドキュメントの構造は、ユーザによって定義されて構造化データの1つ以上のフィールドを含み、構造化データは、関係データベース内の既存の関係データオブジェクト型に対応する型であるデータである、請求項67に記載の方法。
- XMLドキュメントの構造は、ユーザによって定義されて非構造化データの1つ以上のフィールドを含み、非構造化データは、関係データベースへの記憶のためにXMLドキュメントの処理中に関係データベース内のLOBデータ型にマッピングされるデータである、請求項67に記載の方法。
- マッピング情報はユーザによって定義される、請求項67に記載の方法。
- ユーザは、XMLドキュメントの1つよりも多くのフィールドを記憶のために関係データベースの各列にマッピングするオプションを有する、請求項77に記載の方法。
- XMLTypeデータ型は、関係データベースを管理してXMLドキュメントを記憶するデータベースサーバによって定義される、請求項67に記載の方法。
- 動作セットは、データベースサーバによってXMLTypeデータ型のために定義される、請求項79に記載の方法。
- 動作セットは、
XMLドキュメントのフラグメントの抽出と、
XMLドキュメント内での1つ以上のエレメントの存在のテストと、
XMLドキュメントからの1つ以上の値の抽出と、
XMLドキュメントの変換とを含む、請求項80に記載の方法。 - マッピング情報は、前記XMLドキュメントのフィールドを関係表の複数の列にマッピングし、
XMLドキュメントからのデータを記憶するステップは、前記XMLドキュメントの前記フィールドをパーズして複数の値を識別するステップと、複数の値の各々を関係表の前記複数の列のうちの異なる1つ1つに記憶するステップとを含む、請求項67に記載の方法。 - リクエストは、XMLドキュメントのフィールドのための基準を特定し、
方法は、以下のステップを行なうことによって基準が満たされているかを判断するステップを含み、前記以下のステップは、
前記マッピング情報に基づいて、フィールドが、ある特定の列にマッピングされる複数のフィールドのうちの1つであることを判断するステップと、
前記特定の列内のデータをパーズして前記XMLドキュメントのための前記フィールドの値の位置を特定するステップと、
前記値が基準を満たすかを判断するステップとを含む、請求項67に記載の方法。 - 関係データベース内のデータを管理するための命令の1つ以上のシーケンスを搬送するコンピュータ読出可能な媒体であって、その命令は、1つ以上のプロセッサによって実行されるとき、1つ以上のプロセッサに以下のステップを行なわせ、前記ステップは、
関係データベースでの記憶のためにXMLドキュメントをデータベースサーバで受信するステップと、
関係データベース内の対応する列への、XMLドキュメント内の1つ以上のフィールドのマッピングを表すマッピング情報を関係データベースに記憶するステップと、
関係データベース内のXMLドキュメントからのデータを、マッピング情報に基づいて決定される場所に記憶するステップと、
データベースサーバがXMLドキュメントからのデータに対するリクエストを受信することに応答して、マッピング情報を調べてどのようにXMLドキュメントからのデータにアクセスすべきかを決定するステップとを含む、コンピュータ読出可能な媒体。 - 関係データベース内のどの対応する列を用いてXMLドキュメントのフィールドからのデータを記憶すべきかを決定するステップと、
関係データベース内の対応する列への、XMLドキュメント内の1つ以上のフィールドのマッピング情報を生成するステップとをさらに含む、請求項84に記載のコンピュータ読出可能な媒体。 - データを記憶するステップは、
XMLドキュメントの複数のフィールドのための値を関係表の第1の列に記憶するステップと、
XMLドキュメントの少なくとも1つのフィールドのための値を関係表の第2の列に記憶するステップとを含み、第2の列は前記第1の列とは異なる、請求項84に記載のコンピュータ読出可能な媒体。 - データに対するリクエストはXMLクエリーである、請求項84に記載のコンピュータ読出可能な媒体。
- XMLクエリーおよびマッピング情報に基づいてデータベースクエリーを生成するステップと、
データベースクエリーを実行してXMLドキュメントからのデータにアクセスするステップとをさらに含む、請求項87に記載のコンピュータ読出可能な媒体。 - データベースクエリーは、基礎をなす関係列に直接アクセスし、インデックスを用いる、請求項88に記載のコンピュータ読出可能な媒体。
- インデックスは関係インデックスである、請求項89に記載のコンピュータ読出可能な媒体。
- インデックスはテキストインデックスである、請求項89に記載のコンピュータ読出可能な媒体。
- XMLドキュメントの構造は、ユーザによって定義されて構造化データの1つ以上のフィールドを含み、構造化データは、関係データベース内の既存の関係データオブジェクト型に対応する型であるデータである、請求項84に記載のコンピュータ読出可能な媒体。
- XMLドキュメントの構造は、ユーザによって定義されて非構造化データの1つ以上のフィールドを含み、非構造化データは、関係データベースへの記憶のためにXMLドキュメントの処理中に関係データベース内のLOBデータ型にマッピングされるデータである、請求項84に記載のコンピュータ読出可能な媒体。
- マッピング情報はユーザによって定義される、請求項84に記載のコンピュータ読出可能な媒体。
- ユーザは、XMLドキュメントの1つよりも多くのフィールドを記憶のために関係データベースの各列にマッピングするオプションを有する、請求項94に記載のコンピュータ読出可能な媒体。
- XMLTypeデータ型は、関係データベースを管理してXMLドキュメントを記憶するデータベースサーバによって定義される、請求項84に記載のコンピュータ読出可能な媒体。
- 動作セットは、データベースサーバによってXMLTypeデータ型のために定義される、請求項96に記載のコンピュータ読出可能な媒体。
- 動作セットは、
XMLドキュメントのフラグメントの抽出と、
XMLドキュメント内での1つ以上のエレメントの存在のテストと、
XMLドキュメントからの1つ以上の値の抽出と、
XMLドキュメントの変換とを含む、請求項97に記載のコンピュータ読出可能な媒体。 - マッピング情報は、前記XMLドキュメントのフィールドを関係表の複数の列にマッピングし、
XMLドキュメントからのデータを記憶するステップは、前記XMLドキュメントの前記フィールドをパーズして複数の値を識別するステップと、複数の値の各々を関係表の前記複数の列のうちの異なる1つ1つに記憶するステップとを含む、請求項84に記載のコンピュータ読出可能な媒体。 - リクエストは、XMLドキュメントのフィールドのための基準を特定し、
方法は、以下のステップを行なうことによって基準が満たされているかを判断するステップを含み、前記以下のステップは、
前記マッピング情報に基づいて、フィールドが、ある特定の列にマッピングされる複数のフィールドのうちの1つであることを判断するステップと、
前記特定の列内のデータをパーズして前記XMLドキュメントのための前記フィールドの値の位置を特定するステップと、
前記値が基準を満たすかを判断するステップとを含む、請求項84に記載のコンピュータ読出可能な媒体。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23087800P | 2000-09-07 | 2000-09-07 | |
US60/230,878 | 2000-09-07 | ||
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 |
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/949,020 | 2001-09-06 | ||
US09/948,998 | 2001-09-06 | ||
PCT/US2001/028180 WO2002021339A2 (en) | 2000-09-07 | 2001-09-07 | Method and apparatus for xml data storage, query rewrites, visualization, mapping and references |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011128317A Division JP5320438B2 (ja) | 2000-09-07 | 2011-06-08 | Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004519755A true JP2004519755A (ja) | 2004-07-02 |
JP2004519755A5 JP2004519755A5 (ja) | 2008-09-11 |
JP4890728B2 JP4890728B2 (ja) | 2012-03-07 |
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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011128317A Expired - Lifetime JP5320438B2 (ja) | 2000-09-07 | 2011-06-08 | Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1337937B1 (ja) |
JP (2) | JP4890728B2 (ja) |
AU (2) | AU9069301A (ja) |
CA (2) | CA2767315C (ja) |
HK (1) | HK1054092A1 (ja) |
WO (1) | WO2002021339A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006178952A (ja) * | 2004-12-20 | 2006-07-06 | Microsoft Corp | コンピュータによって生成されるドキュメントのデータの範囲を関連するxml要素にリンクする方法およびシステム |
JP2007509445A (ja) * | 2003-10-22 | 2007-04-12 | コンフォーマティブ システムズ, インコーポレイテッド | データセンターの中で使用するためのデータフォーマット変換システム |
KR20150041983A (ko) * | 2013-10-10 | 2015-04-20 | 쉬프트정보통신 주식회사 | 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템 |
Families Citing this family (14)
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 |
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 |
WO2005114493A1 (en) * | 2004-05-21 | 2005-12-01 | Computer Associates Think, Inc. | 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 |
US7770180B2 (en) | 2004-12-21 | 2010-08-03 | Microsoft Corporation | Exposing embedded data in a computer-generated document |
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 |
US7533111B2 (en) | 2005-12-30 | 2009-05-12 | Microsoft Corporation | Using soap messages for inverse query expressions |
KR101166763B1 (ko) | 2011-12-02 | 2012-07-25 | 김춘기 | 웹 상에서 xml 문서의 데이터를 데이터베이스에 통합하는 방법 |
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)
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 |
-
2001
- 2001-09-07 EP EP01970715.7A patent/EP1337937B1/en not_active Expired - Lifetime
- 2001-09-07 CA CA2767315A patent/CA2767315C/en not_active Expired - Lifetime
- 2001-09-07 AU AU9069301A patent/AU9069301A/xx active Pending
- 2001-09-07 WO PCT/US2001/028180 patent/WO2002021339A2/en active Application Filing
- 2001-09-07 CA CA2421214A patent/CA2421214C/en not_active Expired - Lifetime
- 2001-09-07 AU AU2001290693A patent/AU2001290693B2/en not_active Expired
- 2001-09-07 JP JP2002525479A patent/JP4890728B2/ja not_active Expired - Lifetime
-
2003
- 2003-08-29 HK HK03106200.0A patent/HK1054092A1/xx not_active IP Right Cessation
-
2011
- 2011-06-08 JP JP2011128317A patent/JP5320438B2/ja not_active Expired - Lifetime
Non-Patent Citations (3)
Title |
---|
吉川 正俊: "オブジェクト関係データベースを用いたXML文書の格納と検索", 情報処理学会論文誌 第40巻 NO.SIG6(TOD3), JPN6011012699, 15 August 1999 (1999-08-15), JP, pages 115 - 131, ISSN: 0001868102 * |
河端 善博: "マイクロソフトDNA 2000ファミリーのフラッグシップ SQL Server 2000がやってくる", DB MAGAZINE 第10巻 第6号, JPN6011012700, 1 September 2000 (2000-09-01), JP, pages 46 - 56, ISSN: 0001868103 * |
鬼塚 真: "XMLとデータベース", XML MAGAZINE 第10巻 第3号, JPN6011012701, 1 July 2000 (2000-07-01), JP, pages 168 - 179, ISSN: 0001868104 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007509445A (ja) * | 2003-10-22 | 2007-04-12 | コンフォーマティブ システムズ, インコーポレイテッド | データセンターの中で使用するためのデータフォーマット変換システム |
JP4707670B2 (ja) * | 2003-10-22 | 2011-06-22 | インテル コーポレイション | データセンターの中で使用するためのデータフォーマット変換システム |
JP2006178952A (ja) * | 2004-12-20 | 2006-07-06 | Microsoft Corp | コンピュータによって生成されるドキュメントのデータの範囲を関連するxml要素にリンクする方法およびシステム |
KR20150041983A (ko) * | 2013-10-10 | 2015-04-20 | 쉬프트정보통신 주식회사 | 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템 |
KR102189417B1 (ko) | 2013-10-10 | 2020-12-11 | 쉬프트정보통신 주식회사 | 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템 |
Also Published As
Publication number | Publication date |
---|---|
HK1054092A1 (en) | 2003-11-14 |
EP1337937B1 (en) | 2013-04-17 |
AU9069301A (en) | 2002-03-22 |
JP4890728B2 (ja) | 2012-03-07 |
CA2767315C (en) | 2015-02-10 |
WO2002021339A3 (en) | 2003-06-26 |
JP5320438B2 (ja) | 2013-10-23 |
EP1337937A2 (en) | 2003-08-27 |
AU2001290693B2 (en) | 2007-08-16 |
JP2011181106A (ja) | 2011-09-15 |
WO2002021339A2 (en) | 2002-03-14 |
CA2767315A1 (en) | 2002-03-14 |
CA2421214A1 (en) | 2002-03-14 |
CA2421214C (en) | 2012-04-03 |
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 | |
US7386567B2 (en) | Techniques for changing XML content in a relational database | |
JP4516566B2 (ja) | Xml文書とリレーショナルデータと間のマッピングにおける階層情報の保持 | |
US7668806B2 (en) | Processing queries against one or more markup language sources | |
US7120645B2 (en) | Techniques for rewriting XML queries directed to relational database constructs | |
US8229932B2 (en) | Storing XML documents efficiently in an RDBMS | |
US7260585B2 (en) | Apparatus and method for mapping relational data and metadata to XML | |
US8694510B2 (en) | Indexing XML documents efficiently | |
US20070016605A1 (en) | Mechanism for computing structural summaries of XML document collections in a database system | |
WO2001042881A2 (en) | System and method for the storage, indexing and retrieval of xml documents using relational databases | |
US20090187587A1 (en) | Managing feature data based on spatial collections | |
AU2001290693A1 (en) | Method and apparatus for XML data storage, query rewrites, visualization, mapping and references | |
JP2009544102A (ja) | Xml文書の、意味論を意識した処理 | |
US20060117049A1 (en) | Processing path-based database operations | |
JP4724177B2 (ja) | Xmlデータにアクセスするためのインデックス | |
Pal et al. | XML support in Microsoft SQL Server 2005 | |
AU2007229359B2 (en) | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system | |
JP2004348485A (ja) | 構造化文書処理方法及び装置及び構造化文書処理プログラム及び構造化文書処理プログラムを格納した記憶媒体 | |
Yang et al. | A flexible and effective XML storage and retrieval system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080728 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110608 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110712 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111114 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111122 |
|
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: 20111213 |
|
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: 20111215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4890728 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141222 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |