JP2007534036A - データベースにおけるxmlスキーマの現場での発展 - Google Patents

データベースにおけるxmlスキーマの現場での発展 Download PDF

Info

Publication number
JP2007534036A
JP2007534036A JP2006524797A JP2006524797A JP2007534036A JP 2007534036 A JP2007534036 A JP 2007534036A JP 2006524797 A JP2006524797 A JP 2006524797A JP 2006524797 A JP2006524797 A JP 2006524797A JP 2007534036 A JP2007534036 A JP 2007534036A
Authority
JP
Japan
Prior art keywords
instructions
processors
executed
xml
schema
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.)
Pending
Application number
JP2006524797A
Other languages
English (en)
Other versions
JP2007534036A5 (ja
Inventor
イディキュラ,サム
チャンドラセカル,シバサンカラン
アガルワル,ニプン
マーシー,ラビ
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2007534036A publication Critical patent/JP2007534036A/ja
Publication of JP2007534036A5 publication Critical patent/JP2007534036A5/ja
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support

Landscapes

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

Abstract

XMLスキーマを現場で発展させるための方法およびシステムが開示される。既存のXMLスキーマを自動的に発展させるために、スキーマイボルバは既存のXMLスキーマおよびXML文書の両方を入力として受取る。XML文書は既存のXMLスキーマに行なわれるべき変更を示す。既存のXMLスキーマおよびXML文書に基づき、スキーマイボルバは既存のXMLスキーマを、XML文書に示される変更を組込んだ新しいXMLスキーマに発展させる。一つの態様では、スキーマイボルバは新しいXMLスキーマに基づき1つ以上のSQLステートメントを生成する。SQLステートメントは、データベースサーバによって実行されると、データベース構造が新しいXMLスキーマと一致するよう、データベースサーバに前の既存XMLスキーマに基づくデータベース構造を発展させる。これは、データをデータベース構造でコピーすることなく「現場」で達成される。

Description

関連出願
本願は以下の米国特許出願に関連し、その全部の内容はあらゆる目的のためにここに引用により援用される:
2002年9月27日に出願され、「リレーショナルシステムにおける階層データをアクセスするためのオペレータ」と題される、Nipun Agarwal, Ravi Murthy, Eric Sedlar,
Sivasankarn ChandrasekarおよびFei Geiの米国特許出願連続番号第10/260,138号;
2002年9月27日に出願され、「リレーショナルデータの一致した階層抽象化の提供」と題される、Nipun Agarwal, Eric Sedlar, Ravi MurthyおよびNamit Jainの米国特許出願連続番号第10/260,384号;
2002年9月27日に出願され、「オブジェクトリレーショナルデータベースシステムにXMLスキーマをマッピングするためのメカニズム」と題される、Ravi Murthy, Muralidhar Krishnaprasad, Sivasankarn Chandrasekar, Eric Sedlar, Vishu KrishnamurthyおよびNipun Agarwalの米国特許出願連続番号第第10/259,278号;
2002年9月27日に出願され、「データベースシステムにおいてバージョン管理されたデータを効率的に管理するための索引付け」と題される、Nipun Agarwal, Eric SedlarおよびRavi Murthyの米国特許出願連続番号第10/260,161号;
2002年9月27日に出願され、「階層的に編成されたリソースのコンテンツおよび特性を格納するためのメカニズム」と題される、Ravi Murthy, Eric Sedlar, Nipun AgarwalおよびNeema Jalaliの米国特許出願連続番号第10/256,524号;
2002年9月27日に出願され、「データベースシステムにおける均一アクセス制御のためのメカニズム」と題される、Ravi Murthy, Eric Sedlar, Nipun Agarwal, Sam IdiculaおよびNicolas Montoyaの米国特許出願連続番号第10/259,176号;
2002年9月27日に出願され、「XMLドキュメントのレイジーマニフェステーションのローダブルユニット」と題される、Syam Pannala, Eric Sedlar, Bhushan Khaladkar, Ravi Murthy, Sivasankarn ChandrasekarおよびNipun Agarwalの米国特許出願連続番号第10/256,777号;
2002年9月27日に出願され、「リレーショナルデータベースシステムにおいて階層アクセスを提供する構造化データを効率的に索引付けするためのメカニズム」と題される、Neema Jalali, Eric Sedlar, Nipun AgarwalおよびRavi Murthyの米国特許出願連続番号第10/260,381号;
2003年8月25日に出願され、「半構造データの直接ローディング」と題される、Namit Jain, Nipun AgarwalおよびRavi Murthyの米国特許出願連続番号第10/648,600号;
2003年8月25日に出願され、「不透過型の直接ローディング」と題される、Namit Jain, Ellen Batbouta, Ravi Murthy, Nipun Agarwal, Paul ReillyおよびJamesの米国特許出願連続番号第10/648,577号;および
2003年8月25日に出願され、「XMLスキーマの発展を可能にするためのメカニズム」と題される、Sam Idicula, Nipun Agarwal, Ravi Murthy, Eric SedlarおよびSivasankarn Chandrasekarの米国特許出願連続番号第10/648,497号。
発明の分野
本発明はデータ管理システムに関し、特にXMLスキーマを更新するための技法、並びに更新されたXMLスキーマに一致するようXMLスキーマに基づくインスタンス文書およびデータベース構造を更新するための技法に関する。
発明の背景
拡張可能なマークアップ言語(XML)を用いると、情報は特定の階層構造と一致するように表わすことができる。XMLスキーマはこのような構造を定義する。XMLスキーマはルートXML要素を含む。1つ以上の他のXML要素を、ルートXML要素のコンテンツとして、ルートXML要素内にネストすることができる。このようなネストされるXML要素は、ルートXML要素の子XML要素と呼ばれる。逆に、ルートXML要素は子XML要素の親XML要素と呼ばれる。子XML要素の各々は、親XML要素内にネストされる1つ以上のさらなる子XML要素の親XML要素となり得る。XMLスキーマ内のXML要素の親子の関係は階層構造を定義し、それに従い情報は階層的に構造化された態様で格納することができる。XMLスキーマにおける各XML要素に対して、XMLスキーマはそのXML要素のコンテンツ値のタイプを定義する。
XMLスキーマと一致して格納される情報は、XMLスキーマ内におけるXML要素のXMLタグを示す必要はない。具体的には、このような情報がどのXMLスキーマと一致するのかわかっている限り、XMLスキーマにおけるXML要素に対応するコンテンツ値は、コンテンツ値を囲むXMLタグを持たないで格納することができる。たとえば、コンテンツ値はカンマ記号のような区切り文字によって分けられているフォーマットに従って、格納することができる。コンテンツ値をXMLスキーマにおける対応するXML要素と位置合せさせるために、対応するXMLスキーマを参照することができる。
別の例として、データベーステーブルおよびデータベースビューのようなデータベース構造は、XMLスキーマに基づいて生成することができる。このようなデータベーステーブルの列に関連付けられる名称およびデータタイプは、XMLスキーマにおけるXML要素の属性によって示される名称およびデータタイプに対応し得る。XMLスキーマにおける特定のXML要素に対応するコンテンツ値は、特定のXML要素に対応するデータベーステーブルの列に格納することができる。
各々が同じXMLスキーマに基づく複数の異なる組のコンテンツ値は、互いに明確に区別して格納できる。各組は別個の「インスタンス文書」である。たとえば、XMLスキーマは“<element name='quantity' type='integer'>”のようなXML要素を定義することができる。あるインスタンス文書はXML要素に対応するコンテンツ値「1」を含むかも知れない。別のインスタンス文書は同じXML要素に対応するコンテンツ値「2」を含むかも知れない。コンテンツ値をデータベーステーブルに格納する場合、異なるインスタンス文書からのコンテンツ値はデータベーステーブルの異なる行に格納することができる。同じXML要素に対応するコンテンツ値は、データベーステーブルの同じ列に格納することができる。
たくさんのインスタンス文書が特定のXMLスキーマと一致するように生成された後でも、XMLスキーマを発展させることが望ましい場合が度々ある。たとえば、新しいXML要素をXMLスキーマの既存のXML要素間に挿入することにより、新たなXML要素をXMLスキーマに加えたい場合があるかも知れない。別の例としては、特定のXML要素が計数値タイプを表わす場合、特定のXML要素において子XML要素の各々は異なる計数値を表わすような組に新しいXML要素を挿入したい場合があるかも知れない。
XMLスキーマは、たとえばテキスト編集ツールを用いて、手作業で変更することができる。残念ながら、XMLスキーマを変更した結果、今までXMLスキーマと一致していた既存のインスタンス文書は、XMLスキーマと一致しないようになるかも知れない。変
更されたXMLスキーマに従って解釈されるインスタンス文書は間違って解釈されるかも知れず、それにより、インスタンス文書のコンテンツ値が変更されたXMLスキーマの間違ったXML要素と位置合せされるかも知れない。
さらに、データベーステーブルやデータベースビューのようなデータベース構造であって、その構造がXMLスキーマの変更前のXMLスキーマに基づいていたものは、XMLスキーマと一致しなくなるかも知れない。その結果、このようなデータベース構造において、変更されたXMLスキーマと一致して生成されたインスタンス文書にコンテンツ値を正しく格納することが不可能になるかも知れない。たとえば、データベーステーブルにはXMLスキーマに挿入された新しいXML要素に対応する列がないかも知れない。さらに、特定の列の特定のXML要素へのマッピングが変化したのなら、既存のインスタンス文書は不正確に解釈されるかも知れない。
XMLスキーマに基づくインスタンス文書およびデータベース構造が、XMLスキーマが変更された後でも、それらが基づいているXMLスキーマと一致し続けることを確実にするアプローチは確立されていない。XMLスキーマを発展させながら、XMLスキーマに基づくインスタンス文書およびデータベース構造が、XMLスキーマが発展させられた後でも、XMLスキーマと一致し続けることを確実にするための技法が求められる。
本箇所で説明するアプローチは追及することができるアプローチではあるが、必ずしも今までに考えられたまたは追及されたものには限らない。したがって、特に明記しない限り、ここに記載されるいずれのアプローチも本箇所に含まれているからといって、先行技術であると思われてはならない。
本発明は添付される図面で実施例により示されが、それは限定を意図したものではなく、類似した参照番号は類似した要素を示す。
発明の詳細な説明
(1)XMLスキーマ、(2)XMLスキーマに基づくデータベースオブジェクトタイプおよびテーブル、ならびに(3)データベースオブジェクトタイプに基づくデータベースオブジェクトインスタンスについて、現場での発展のための方法およびシステムが提供される。以下の記載では、説明する目的のために、さまざまな特定の詳細が本発明を十分に理解できるように示される。しかし、本発明はこのような特定の詳細がなくても実施できる。他の例では、本発明を不必要に曖昧にするのを避けるために、周知の構造および装置がブロック図の形で示される。
機能的総括
XMLスキーマに一致するインスタンス文書およびデータベース構造は、XMLスキーマが発展させられた後でもそのインスタンス文書およびデータベース構造がXMLスキーマと一致し続けるよう、XMLスキーマとともに発展させることが望ましい。本発明の実施例に従い、このような継続する一致は、コンピュータシステムで実行されるスキーマイボルバによって達成される。
スキーマイボルバは既存のXMLスキーマおよびXML文書の両方を入力として受取る。XML文書は既存のXMLスキーマに対して行なわれる1つ以上の変更を示す。既存のXMLスキーマおよびXML文書に基づき、スキーマイボルバはまずXML文書に示される変更を含む新しいXMLスキーマを生成する。
さらに、一実施例に従い、スキーマイボルバは新しいXMLスキーマに基づき、1つ以
上の構造化クエリー言語(SQL)ステートメントを生成する。SQLステートメントがデータベースサーバによって実行されることにより、データベース構造が新しいXMLスキーマと一致するよう、データベースサーバに元の既存のXMLスキーマに基づいているデータベース構造を発展させる。このようなデータベース構造はたとえばデータベースオブジェクトタイプおよびデータベースオブジェクトインスタンスを定義し得る。
データベースオブジェクトタイプ、データベースオブジェクトテーブル、およびデータベースオブジェクトインスタンス
データベースオブジェクトタイプは、データベースオブジェクトタイプに基づいているすべてのデータベースオブジェクトインスタンスの構造および属性を特定する。たとえば、“address”オブジェクトタイプは3つの基本“VARCHAR”オブジェクトタイプのシーケンスを特定するかも知れない:1つは人の名前(name)を記憶するため、1つは番地(street)識別子を記憶するため、および1つは都市(city)識別子を記憶するためのものである。データベースオブジェクトテーブルはデータベースオブジェクトタイプに基づくデータベーステーブルである。たとえば、“address”オブジェクトタイプに基づく“address”オブジェクトテーブルは、少なくとも3つの別個の列を含む。1つは人の名前用、1つは番地識別子用、1つは都市識別子用である。データベースオブジェクトタイプが変えられると、そのデータベースオブジェクトタイプに基づくデータベースオブジェクトテーブルも対応して変えられる。
“address”オブジェクトタイプに基づき、複数の異なる“address”オブジェクトインスタンスを生成することができる。“address”オブジェクトインスタンスの各々は、その“address”オブジェクトタイプによって特定される構造および属性に一致する。異なる“address”オブジェクトインスタンスの各々は、“address”オブジェクトによって指定される特定の属性のための異なる値を指定し得る。たとえば、1つの“address”オブジェクトインスタンスは名前の属性の値として“Joe Smith”を指定するかも知れないし、別の“address”オブジェクトインスタンスは名前の属性の値として“John Taylor”を指定するかも知れない。
XMLスキーマを発展させる場合、XML要素はXMLスキーマに対して追加または削除できる。新しいXML要素を追加することにより、スキーマイボルバに、SQLステートメントであって、データベースサーバによって実行されると、データベースサーバが対応する属性をデータベースオブジェクトタイプに追加させるようなSQLステートメントを生成させ得る。SQLステートメントがデータベースサーバによって実行されることにより、データベースサーバに、対応する列をデータベースオブジェクトタイプに基づくデータベースオブジェクトインスタンスを記憶するデータベーステーブルに追加させ得る。
同様に、XML要素を削除することにより、スキーマイボルバに、SQLステートメントであって、データベースサーバによって実行されると、データベースサーバに対応する属性をデータベースオブジェクトタイプから取除かせるようなSQLステートメントを生成させ得る。SQLステートメントがデータベースサーバによって実行されることにより、データベースサーバに、データベースオブジェクトタイプに基づくデータベースオブジェクトインスタンスを記憶するデータベーステーブルから対応する列を落とさせ得る。
こうして、スキーマイボルバによって生成されたSQLステートメントは、発展させるべきデータベースオブジェクトタイプおよびデータベースオブジェクトインスタンスの両方を新しいXMLスキーマと一致させ得る。このようなSQLステートメントにより、データベースオブジェクトタイプおよびデータベースオブジェクトインスタンスが生成、削除、および/または変更され得る。
現場での発展
ここに記載する技法は、XMLスキーマ並びにこのようなXMLスキーマに基づくデータベースオブジェクトタイプおよびデータベースオブジェクトインスタンスの「現場」での発展を可能にする。「現場」での発展により、このような構造で表わされる情報のさらなるコピーを作る必要はない。反対に、このような構造によって表わされる情報は、情報のさらなるコピーを作ることなく更新することができる。既存のXMLスキーマへの変更は、XML文書によって示される変更に従い、XMLスキーマを変更することによって自動的に行なわれる。データベースサーバは自動的に生成されたSQLステートメントを実行し、それによりデータベースサーバに変更されたXMLスキーマと一致するよう既存のデータベースオブジェクトタイプおよびデータベースオブジェクトインスタンスを変更させる。
「現場」での発展は「データコピー」の発展と異なる。「データコピー」の発展は、発展させるべき構造によって表わされる情報のコピーを作り、その構造を削除し、次に新しい構造を作成し、コピーからの情報を新しい構造の対応するコンポーネントに戻すことに関わる。「現場」での発展は「データコピー」の発展より優れたパフォーマンスを示し、データコピー発展が必要とするディスクスペースを必要としない。
現場でのXMLスキーマ発展に関わる構造間の相互作用
図1は本発明の実施例に従う、現場のXMLスキーマ発展に関わる構造間の相互作用を示すブロック図である。スキーマイボルバ102はデータベースサーバ104のコンポーネントである。データベースサーバ104はコンピュータシステムで実行を行なう。スキーマイボルバ102は、入力として、既存のXMLスキーマ106およびXML文書108を受取る。既存のXMLスキーマ106は、データベース110に現在登録されているXMLスキーマである。XML文書108は、XMLにおいて、既存のXMLスキーマ106に行なわれるべき変更を示す。
スキーマイボルバ102は既存のXMLスキーマ106を自動的に変更して、XML文書108に示される変更が既存のXMLスキーマ106に組込まれるようにする。その結果、既存のXMLスキーマ106は発展XMLスキーマ112に発展させられる。発展させられたXMLスキーマ112はXML文書108によって示される変更すべてを組込んでいる。
一実施例に従い、スキーマイボルバ102は入力として、発展させられたXMLスキーマ112、既存のデータベースオブジェクトタイプ114、および既存のデータベースオブジェクトインスタンス116を受取る。既存のデータベースオブジェクトタイプ114は既存のXMLスキーマ106によって示される構造と一致する。既存のデータベースオブジェクトインスタンス116は、データベースオブジェクトタイプ114によって示されるタイプ定義に一致する。
スキーマイボルバ102は既存のデータベースオブジェクトタイプ114のどの態様が発展させられたXMLスキーマ112と一致しないかを定める。この不一致の態様に基づき、スキーマイボルバ102は自動的にSQLステートメント118を生成し、このステートメントはデータベースサーバ104によって実行されると、データベースサーバ104が既存のデータベースオブジェクトタイプ114を発展させられたXMLスキーマ112と一致するよう変更させる。さらに、データベースサーバ104によって実行されると、SQLステートメント118はデータベースサーバに、既存のデータベースオブジェクトインスタンス116を、SQLステートメントを実行するデータベースサーバ104からもたらされる既存のタイプ定義114への変更と一致させる。
データベースサーバ104はSQLステートメント118を実行する。その結果、データベースサーバ104は既存のデータベースオブジェクトタイプ114を発展データベースオブジェクトタイプ102に発展させる。別の結果として、データベースサーバ104は既存データベースオブジェクトインスタンス116を発展データベースオブジェクトインスタンス112に発展させる。発展させられたデータベースオブジェクトタイプ120は発展XMLスキーマ112によって示される構造と一致する。発展させられたデータベースオブジェクトインスタンス122は発展データベースオブジェクトタイプ120によって示される構造と一致する。
ロールバックステートメント
SQLステートメント118は「発展」ステートメントと呼ぶことができる。なぜなら、実行されると、SQLステートメントによりデータベースサーバ104が既存のデータベースオブジェクトタイプ114および既存のデータベースオブジェクトインスタンス116を発展させるからである。その発展をアトミックなトランザクションにするためには、スキーマイボルバ102はSQLステートメント124を生成し、これがデータベースサーバ104によって実行されると、エラーが起こった場合には、実行されたSQLステートメント118のすべての影響をデータベースサーバに取消させる、または「ロールバック」させる。したがって、SQLステートメント124は「ロールバックステートメント」と呼ぶことができる。
SQLステートメント118の実行の途中でエラーが起こると、データベースサーバ104はデータベースサーバが実行したSQLステートメント118の影響を無効にするSQLステートメント124を実行する。したがって、全部の発展がうまく完了しない限り、発展のどの部分も恒久的なものにはならない。
XMLスキーマ106への変更は、XMLスキーマの発展の途中でエラーが起きたときも無効にされる。たとえば、スキーマイボルバ102はXMLスキーマ106に行なわれた変更を追跡し、全体の発展トランザクションが完了する前にエラーが起こった場合にこれらの変更を取消す。
XMLスキーマおよびXMLスキーマに基づくデータベース構造を現場で発展させるための技法例
図2は、XMLスキーマおよびXMLスキーマに基づくデータベース構造を現場で発展させるための、本発明の実施例に従う技法200を示すフロー図である。ブロック202において、スキーマイボルバはXML文書を受取る。XML文書は既存のXMLスキーマに行なわれるべき1つ以上の変更を示す。
ブロック204において、スキーマイボルバは、既存のXMLスキーマおよびXML文書に基づき、発展XMLスキーマを生成する。発展XMLスキーマは、XML文書によって示される変更すべてを組込んでいる。スキーマイボルバは発展XMLスキーマを作成するために既存のXMLスキーマになされた変更を追跡することができる。
ブロック206において、スキーマイボルバは、発展XMLスキーマに基づき、“evolve”(発展)SQLステートメントを生成する。“evolve”SQLステートメントは、データベースサーバによって実行されると、データベースサーバに以下の動作を1つ以上実行させる:新しいデータベース構造を作成する、既存のデータベース構造を削除する、および/または既存のデータベース構造を変更する。作成、削除、および/または変更され得るデータベース構造は、データベースオブジェクトタイプを定義する構造およびデータベースオブジェクトインスタンスを定義する構造を含み得る。
“evolve”ステートメントがデータベースサーバによって実行されることにより、データベースサーバに展開前のXMLスキーマに基づくデータベースオブジェクトタイプを、発展XMLスキーマによって示される構造に一致させる。こうして、データベースオブジェクトタイプは発展させられる。さらに、データベースサーバが“evolve”SQLステートメントを実行すると、それによりデータベースサーバに展開前のデータベースオブジェクトタイプに基づくデータベースオブジェクトインスタンスを発展データベースオブジェクトタイプに一致させる。こうして、データベースオブジェクトインスタンスが発展させられる。
たとえば、スキーマイボルバは、新たなXML要素を組込んだ発展XMLスキーマに基づき、データベースに新たな列をデータベーステーブルに追加させるSQLステートメントを発生し得る。新しい列は新しいXML要素の属性によって示されるのと同じ名称を有することができ、新しいXML要素の属性によって示されるタイプに基づくデフォルト値によって占められ得る。スキーマイボルバが生成し得るSQLステートメントは、“CREATE”、“ALTER”、“ADD”、“MODIFY”および“DROP”のような動作を含み得る。このようなSQLステートメントはSQLステートメントのターゲットが“TYPE”や“TABLE”などであるかどうかを示し得る。
ブロック208において、スキーマイボルバは1つ以上の“rollback”(ロールバック)SQLステートメントを生成する。スキーマイボルバは、“evolve”SQLステートメントが生成されるときに、“rollback”SQLステートメントを生成し得る。“rollback”SQLステートメントがデータベースサーバによって実行されると、データベースサーバに“evolve”SQLステートメントのターゲットに対する“evolve”SQLステートメントの影響を無効にさせる。
ブロック210において、データベースサーバは“evolve”SQLステートメントを実行する。その結果、データベースオブジェクトタイプおよびデータベースオブジェクトインスタンスは作成、削除、または変更され得る。エラーが起こらなければ、結果のデータベースオブジェクトタイプおよびデータベースオブジェクトインスタンスは発展XMLスキーマと一致する。
データベースサーバが“evolve”SQLステートメントを実行している間、ブロック212において“evolve”SQLステートメントの実行についてエラーが起こったかどうかが判断される。“evolve”SQLステートメントがエラーなしで完全に実行されると、制御はブロック214に渡される。さもなければ、制御はエラーが起こると直ちにブロック216に渡される。
エラーが起こらなければ、ブロック214において発展が終了する。しかし、“evolve”SQLステートメントの実行の途中でエラーが起こると、ブロック216において、データベースサーバは必要な数だけの「ロールバック」SQLステートメントを実行して、“evolve”SQLステートメントのターゲットに対して既に実行された“evolve”SQLステートメントの影響を無効にする。スキーマイボルバはXMLスキーマを発展させている際にスキーマイボルバが追跡した変更に基づき、XMLスキーマに対して行なわれた変更を取消すことができる。その結果、XMLスキーマおよびXMLスキーマに基づくデータベース構造は、その発展前の状態にロールバックされる。こうして、発展はアトミック動作となることが保証される。
XDIFFスキーマ
上述のように、スキーマイボルバは、既存のXMLスキーマになされるべき変更を示す
XML文書に基づき、既存のXMLスキーマを発展XMLスキーマに発展させる。XML文書は変更を、“xdiff”XMLスキーマによって定義されXML要素の用語で表わすことができ、そこではXML文書がインスタンス文書である。
xdiffスキーマは、XMLで、ユーザが発展コマンドを表わすことができる基本要素を定義する。このようなコマンドは“node”(ノード)に相関する動作を表わし得る。ここで使用される“node”は、XML要素のようなXML構造のなんらかの態様である。たとえば、xdiffスキーマの1要素は、指定ノードを指定されたノードリストの最後に付けるためのコマンドの構造を定義し得る。xdiffスキーマの別の要素は、指定ノードを別の指定ノードのすぐ前に挿入するためのコマンドの構造を定義し得る。xdiffスキーマのさらに別の要素は、指定ノードおよびその指定ノードの子のノードを削除するためのコマンドの構造を定義し得る。
xdiffスキーマの例を以下に示す:
Figure 2007534036
Figure 2007534036
上記のxdiffスキーマにおいて、3つの要素“append-node”、“insert-node-before”および“delete-node”が定義される。“append-node”要素は、スキーマイボルバが、“parent-xpath”属性によって指定されるノードの最後の子のノードとして、“content”要素によって指定されるノードを加えるべきであることを示すシンタックスを表わす。“content”要素によって指定されるノードは、“node-type”要素によって指定されるノードタイプであることが示される。
たとえば、スキーマイボルバに与えられるXML文書はつぎのような要素を含み得る:
Figure 2007534036
これに基づき、スキーマイボルバは“<enumeration value='FL'/>”を加え、以下の追加後のXMLスキーマに示されるようになる:
Figure 2007534036
“insert-node-before”要素は、スキーマイボルバが“xpath”属性によって指定されるノードのすぐ前に、“content”要素によって指定されるノードを挿入するべきであることを示すシンタックスを表わす。ここでも、“content”要素によって指定されるノードは、“node-type”要素によって指定されるノードタイプであることが示される。
たとえば、スキーマイボルバに与えられるXML文書はつぎのような要素を含み得る:
Figure 2007534036
これに基づき、スキーマイボルバは“<!--A type representing US States-->”を挿入し、以下の挿入後のXMLスキーマに示されるようになる:
Figure 2007534036
“delete-node”要素は、スキーマイボルバが“xpath”属性によって指定されるノードおよびそのノードのすべての子のノードとともに削除するべきであることを示すシンタックスを表わす。“append-node”または“insert-node-before”要素との組合せにより、“delete-node”要素はXMLスキーマの既存のノードへの変更を表わすのに用いられ得る。
XPATHにおけるノードの指定
異なるレベルの階層の異なるノードは、XMLスキーマの異なる場所において同一のテキストによって表わすことができるので、単にXMLスキーマにおいて1つの特定のテキストストリングを探し、そのテキストストリングを別の指定されたテキストストリングと置き換えるだけでは正しい変換をもたらさないかもしれない。したがって、XML文書においてXMLPath言語(XPath)表現が用いられて、XMLスキーマにおいてノードを正確に特定する。XPath表現は階層におけるその場所に相関するノードを識別する。たとえば、XML階層は以下のノードを示し得る:
Figure 2007534036
XPath表現“/fool/nmspl:fool”は、コンテンツ値「2」を含む要素を正確に特定する。
ハードウェアの総括
図3は本発明の実施例が実現できるコンピュータシステム300を示すブロック図である。コンピュータシステム300はバス302または情報を送るための他の通信メカニズム、および情報を処理するための、バス302に結合されるプロセッサ304を含む。コンピュータシステム300はさらに、ランダムアクセスメモリ(RAM)または他の動的記憶装置であるメインメモリ306を含み、これはプロセッサ304によって実行される情報および命令を記憶するために、バス302に結合される。メインメモリ306は、プロセッサ304によって実行されるべき命令の実行の際の、一時的変数または他の中間情報を記憶するために用いられてもよい。コンピュータシステム300はさらにプロセッサ304向けの静的情報および命令を記憶するために、バス302に結合されるリードオンリメモリ(ROM)308または他の静的記憶装置を含む。情報および命令を記憶するために、磁気ディスクまたは光学ディスクのような記憶装置310が設けられてバス302に結合される。
コンピュータシステム300はバス302を介して陰極線管(CRT)のような表示装置312に結合されてコンピュータユーザに情報を表示する。英数文字キーや他のキーを含む入力装置314はバス302に結合されて、情報およびコマンドの選択をプロセッサ304に送る。ユーザ入力装置の別のタイプとしては、マウス、トラックボール、またはカーソル方向キーのようなカーソル制御装置316があり、方向情報およびコマンド選択をプロセッサ304に送る、または表示装置312上のカーソルの動きを制御する。この入力装置は一般に2つの軸において2つの自由度を有する。すなわち第1の軸(たとえば、x)および第2の軸(たとえばy)を有し、これにより装置は平面における位置を特定することができる。
本発明はここに記載される技法を実現するためのコンピュータシステム300の使用に関する。本発明の一実施例に従い、これらの技法は、メインメモリ306に含まれる1つ以上の命令の1つ以上のシーケンスを実行するプロセッサ304に応答して、コンピュータシステム300によって実施される。このような命令は記憶装置310のような他のコンピュータ読取可能な媒体からメインメモリ306に読込むことができる。メインメモリ306に含まれる命令のシーケンスの実行により、プロセッサ304はここに記載されるプロセスステップを行なう。代替の実施例において、本発明を実現するために、ハードワイヤード回路をソフトウェア命令の代わりに、または組合せて、用いることができる。こうして、本発明の実施例はハードウェア回路およびソフトウェアの特定の組合せに限定されない。
ここに用いられる「コンピュータ読取可能な媒体」の用語は、実行のためにプロセッサ304に命令を与えることに関係するすべての媒体を指す。このような媒体は不揮発性媒体、揮発性媒体、および伝送媒体などのように多くの形を取り得るが、これらに限定され
ない。たとえば、不揮発性媒体は記憶装置310のような光ディスクまたは磁気ディスクを含む。揮発性媒体はメインメモリ306のような動的メモリを含む。伝送媒体はバス302をなすワイヤを含めて、同軸ケーブル、導線、および光ファイバ含む。伝送媒体はさらに、無線および赤外線データ通信の際に生成されるような、音波または光波の形を取り得る。
コンピュータ読取可能な媒体の一般的な形は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは他の磁気媒体、CD−ROM、他の光学媒体、パンチカード、紙テープ、孔のパターンを有する他の物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、他のメモリチップもしくはカートリッジ、後で記載される搬送波、またはコンピュータが読取可能な他の媒体を含む。
さまざまな形のコンピュータ読取可能な媒体が、実行のために1つ以上の命令の1つ以上のシーケンスをプロセッサ304に送ることにかかわる。たとえば、命令は初めは遠隔コンピュータの磁気ディスクにあってもよい。遠隔コンピュータはその命令を自分の動的メモリにロードし、その命令をモデムを使った電話回線により送ることができる。コンピュータシステム300に対してローカルであるモデムは、電話回線のデータを受取り、赤外線トランスミッタを用いてデータを赤外線信号に変換することができる。赤外線ディテクタは赤外線信号で運ばれるデータを受取り、適切な回路でもってデータをバス302に置くことができる。バス302はデータをメインメモリ306に渡し、そこからプロセッサ304は命令を抽出および実行する。メインメモリ306によって受取られる命令は、プロセッサ304での実行の前または後で、記憶装置310に任意に格納することができる。
コンピュータシステム300はバス302に結合される通信インターフェイス318をさらに含む。通信インターフェイス318は、ローカルネットワーク322に接続されるネットワークリンク320に結合される、双方向性データ通信を与える。たとえば、通信インターフェイス318は、統合デジタル通信サービス網(ISDN)カード、または対応する種類の電話回線にデータ通信接続を確立するためのモデムであってもよい。別の例として、通信インターフェイス318は互換性のあるLANへのデータ通信接続を確立するためのローカルエリアネットワーク(LAN)カードであってもよい。無線リンクも実現できる。このような実現において、通信インターフェイス318はさまざまな種類の情報を表わすデジタルデータストリームを運ぶ、電気信号、電磁信号、または光学信号を送るまたは受取る。
ネットワークリンク320は典型的には1つ以上のネットワークを介してデータ通信を他のデータ装置に与える。たとえば、ネットワークリンク320はローカルネットワーク322を介してホストコンピュータ324に、またはインターネットサービスプロバイダ(ISP)326によって動作されるデータ装置に、接続を与え得る。ISP326は現在は一般に「インターネット」328と呼ばれる、ワールドワイドパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク322およびインターネット328はどちらも、デジタルデータストリームを運ぶ電気信号、電磁信号、または光学信号を用いる。さまざまなネットワークを介した信号、およびコンピュータシステム300の入出力デジタルデータを運ぶ、ネットワークリンク320上の信号や通信インターフェイス318を介する信号は、情報を運ぶ搬送波の一例を示す。
コンピュータシステム300は、ネットワーク、ネットワークリンク320および通信インターフェイス318を介してメッセージを送り、かつプログラムコードを含むデータを受取ることができる。インターネットの例では、サーバ330はインターネット328
、ISP326、ローカルネットワーク322および通信インターフェイス318を介して、アプリケーションプログラム用のリクエストされたコードを送信し得る。
受取られたコードはそのままプロセッサ304によって、および/または記憶媒体310に記憶されて、または後で実行するための他の不揮発性記憶装置に格納されて、プロセッサ304によって実行され得る。このような態様で、コンピュータシステム300は搬送波の形でアプリケーションコードを得ることができる。
上記の説明では、本発明の実施の態様は実施例ごとに変わり得る、多数の特定の詳細を参照して説明された。こうして、本発明が何であるかという唯一の指標および出願人が意図している本発明は、本願による一連のクレームにあり、後の補正を含めて、これらのクレームが示される特定の形にある。これらのクレームに含まれる用語に対してここに明示的に示される定義は、クレームで用いられるこれらの用語の意味を支配する。したがって、請求項において明示的に示されていない限定、要素、特性、特徴、利点または属性は請求の範囲をどのようにも限定するものではない。したがって、明細書および図面は限定の意味ではなく、例示的なものである。
本発明の実施例に従い、現場のXMLスキーマ発展にかかわる構造間の相互作用を示すブロック図である。 本発明の一実施例に従い、XMLスキーマおよびXMLスキーマに基づくデータベース構造を現場で発展させるための技法を示すフロー図である。 本発明の実施例が実現できる、コンピュータシステムを示すブロック図である。

Claims (34)

  1. 拡張可能なマークアップ言語(XML)スキーマを発展させる方法であって、
    コンピュータシステムで実行されるスキーマイボルバにおいて、第1のXMLスキーマに対してなされるべき1つ以上の変更を示す文書を受取るステップと、
    前記第1のXMLスキーマおよび前記文書に基づき、前記スキーマイボルバは第2のXMLスキーマを生成するステップと、
    前記第2のXMLスキーマに基づき、1つ以上の第1の構造化クエリー言語(SQL)ステートメントを生成するステップとを含む、方法。
  2. 前記第1のSQLステートメントは、実行されると、1つ以上のデータベースオブジェクトタイプを生成させる、請求項1に記載の方法。
  3. 前記第1のSQLステートメントは、実行されると、1つ以上のデータベースオブジェクトテーブルを生成させる、請求項1に記載の方法。
  4. 前記第1のSQLステートメントは、実行されると、1つ以上のデータベースオブジェクトタイプを削除させる、請求項1に記載の方法。
  5. 前記第1のSQLステートメントは、実行されると、1つ以上のデータベースオブジェクトテーブルを削除させる、請求項1に記載の方法。
  6. 前記第1のSQLステートメントは、実行されると、1つ以上のデータベースオブジェクトタイプを変更させる、請求項1に記載の方法。
  7. 前記第1のSQLステートメントは、実行されると、1つ以上のデータベースオブジェクトテーブルを変更させる、請求項1に記載の方法。
  8. 前記第1のSQLステートメントは、実行されると、1つ以上のデータベースオブジェクトインスタンスを変更させる、請求項1に記載の方法。
  9. 前記1つ以上の変更は、第3のXMLスキーマによって指定される1つ以上のXMLタイプの1つ以上のインスタンスとして表現される、請求項1に記載の方法。
  10. 実行されると、前記1つ以上の第1のSQLステートメントの影響を無効にする、1つ以上の第2のSQLステートメントを生成するステップをさらに含む、請求項1に記載の方法。
  11. 前記1つ以上の第1のSQLステートメントを実行しながら、エラーが起こったかどうかを判断するステップと、
    エラーが起こったという判断に応答して、前記1つ以上の第2のSQLステートメントを1つ以上実行するステップとをさらに含み、前記1つ以上の第2のSQLステートメントは実行されると、実行された前記1つ以上の第1のSQLステートメントの影響を無効にする、請求項10に記載の方法。
  12. 1つ以上のデータベースオブジェクトタイプの組を定義する定義データを有するデータシステムにおいて、データベースタイプを変更するための構造化クエリー言語(SQL)ステートメントを生成する方法であって、
    第1の拡張可能なマークアップ言語(XML)スキーマを受取るステップと、
    前記第1のXMLスキーマに基づき、実行されると、データベースサーバに前記1つ以
    上のデータベースオブジェクトタイプの組を変更させる、1つ以上のSQLステートメントを生成するステップとを含む、方法。
  13. 前記1つ以上のデータベースオブジェクトタイプは、前記第1のXMLスキーマと異なる第2のXMLスキーマに基づき生成される、請求項12に記載の方法。
  14. 前記第1のXMLスキーマは前記第2のXMLスキーマに基づき生成される、請求項13に記載の方法。
  15. 前記1つ以上のSQLステートメントは、実行されると、前記データベースサーバに前記1つ以上のデータベースオブジェクトタイプを1つ以上生成させる、請求項12に記載の方法。
  16. 前記1つ以上のSQLステートメントは、実行されると、前記データベースサーバに前記1つ以上のデータベースオブジェクトタイプを1つ以上削除させる、請求項12に記載の方法。
  17. データベースオブジェクトインスタンスを変更するための構造化クエリー言語(SQL)ステートメントを生成する方法であって、
    第1の拡張可能なマークアップ言語(XML)スキーマを受取るステップと、
    前記第1のXMLスキーマに基づき、実行されるとデータベースサーバに1つ以上のデータベースオブジェクトインスタンスの組を変更させる、1つ以上のSQLステートメントを生成させるステップとを含む、方法。
  18. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項1に記載の方法を行なわせる、コンピュータ読取可能媒体。
  19. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項2に記載の方法を行なわせる、コンピュータ読取可能媒体。
  20. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項3に記載の方法を行なわせる、コンピュータ読取可能媒体。
  21. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項4に記載の方法を行なわせる、コンピュータ読取可能媒体。
  22. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項5に記載の方法を行なわせる、コンピュータ読取可能媒体。
  23. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項6に記載の方法を行なわせる、コンピュータ読取可能媒体。
  24. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項7に記載の方法を
    行なわせる、コンピュータ読取可能媒体。
  25. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項8に記載の方法を行なわせる、コンピュータ読取可能媒体。
  26. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項9に記載の方法を行なわせる、コンピュータ読取可能媒体。
  27. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項10に記載の方法を行なわせる、コンピュータ読取可能媒体。
  28. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項11に記載の方法を行なわせる、コンピュータ読取可能媒体。
  29. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項12に記載の方法を行なわせる、コンピュータ読取可能媒体。
  30. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項13に記載の方法を行なわせる、コンピュータ読取可能媒体。
  31. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項14に記載の方法を行なわせる、コンピュータ読取可能媒体。
  32. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項15に記載の方法を行なわせる、コンピュータ読取可能媒体。
  33. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項16に記載の方法を行なわせる、コンピュータ読取可能媒体。
  34. 1つ以上のシーケンスの命令を持つコンピュータ読取可能媒体であって、命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項17に記載の方法を行なわせる、コンピュータ読取可能媒体。
JP2006524797A 2003-08-25 2004-08-23 データベースにおけるxmlスキーマの現場での発展 Pending JP2007534036A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/648,749 2003-08-25
US10/648,749 US8219569B2 (en) 2003-08-25 2003-08-25 In-place evolution of XML schemes
PCT/US2004/027464 WO2005022415A1 (en) 2003-08-25 2004-08-23 In-place evolution of xml schemas in databases

Publications (2)

Publication Number Publication Date
JP2007534036A true JP2007534036A (ja) 2007-11-22
JP2007534036A5 JP2007534036A5 (ja) 2008-01-10

Family

ID=34216795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006524797A Pending JP2007534036A (ja) 2003-08-25 2004-08-23 データベースにおけるxmlスキーマの現場での発展

Country Status (7)

Country Link
US (1) US8219569B2 (ja)
EP (1) EP1661046A1 (ja)
JP (1) JP2007534036A (ja)
CN (1) CN100527128C (ja)
AU (1) AU2004268324B2 (ja)
CA (1) CA2534573C (ja)
WO (1) WO2005022415A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747580B2 (en) 2003-08-25 2010-06-29 Oracle International Corporation Direct loading of opaque types
US7814047B2 (en) 2003-08-25 2010-10-12 Oracle International Corporation Direct loading of semistructured data
US8219569B2 (en) 2003-08-25 2012-07-10 Oracle International Corporation In-place evolution of XML schemes
US7395271B2 (en) * 2003-08-25 2008-07-01 Oracle International Corporation Mechanism to enable evolving XML schema
US7490093B2 (en) * 2003-08-25 2009-02-10 Oracle International Corporation Generating a schema-specific load structure to load data into a relational database based on determining whether the schema-specific load structure already exists
US7809763B2 (en) * 2004-10-15 2010-10-05 Oracle International Corporation Method(s) for updating database object metadata
US7882149B2 (en) * 2004-11-30 2011-02-01 Canon Kabushiki Kaisha System and method for future-proofing devices using metaschema
US20070005622A1 (en) * 2005-06-29 2007-01-04 International Business Machines Corporation Method and apparatus for lazy construction of XML documents
US20070083549A1 (en) * 2005-10-10 2007-04-12 Oracle International Corporation Method and mechanism for providing a caching mechanism for contexts
US8078588B2 (en) * 2005-10-10 2011-12-13 Oracle International Corporation Recoverable execution
US20070106683A1 (en) * 2005-11-08 2007-05-10 3Com Corporation Distributed database
WO2008029393A2 (en) * 2006-09-04 2008-03-13 Extreme Technologies Ltd. Method for managing simultaneous modification of database objects during development
US7870163B2 (en) * 2006-09-28 2011-01-11 Oracle International Corporation Implementation of backward compatible XML schema evolution in a relational database system
US9449047B2 (en) * 2007-06-19 2016-09-20 Sybase, Inc. Dynamic modification of schemas in streaming databases
US8745012B2 (en) 2007-08-10 2014-06-03 Sybase, Inc. Log-structured store for streaming data
US9081901B2 (en) * 2007-10-31 2015-07-14 Raytheon Company Means of control for reconfigurable computers
US8676863B1 (en) * 2008-09-15 2014-03-18 Liberty Mutual Insurance Company Maintaining a relational database and its schema in response to a stream of XML messages based on one or more arbitrary and evolving XML schemas
US20100131565A1 (en) * 2008-11-21 2010-05-27 Sap Ag Method for creating a self-configuring database system using a reusable custom-defined nestable compound data type
US9135225B2 (en) * 2009-10-02 2015-09-15 Adobe Systems Incorporated Data description injection
CN104077340B (zh) * 2013-07-18 2016-06-01 腾讯科技(深圳)有限公司 一种数据库的建立方法及服务器
DE102014224669A1 (de) * 2014-12-02 2016-06-02 BSH Hausgeräte GmbH Kältegerät mit einem Wärmekreislauf

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003030031A2 (en) * 2001-09-28 2003-04-10 Oracle International Corporation Mechanism for mapping xml schemas to object-relational database systems

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60218142A (ja) 1984-04-13 1985-10-31 Hitachi Ltd デ−タの動的型変換方式
JPH02165353A (ja) 1988-12-20 1990-06-26 Fujitsu Ltd 対話型データ処理方式
US5295261A (en) 1990-07-27 1994-03-15 Pacific Bell Corporation Hybrid database structure linking navigational fields having a hierarchial database structure to informational fields having a relational database structure
US5649200A (en) * 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5467471A (en) 1993-03-10 1995-11-14 Bader; David A. Maintaining databases by means of hierarchical genealogical table
JP3426385B2 (ja) 1995-03-09 2003-07-14 富士通株式会社 ディスク制御装置
US5724577A (en) 1995-06-07 1998-03-03 Lockheed Martin Corporation Method for operating a computer which searches a relational database organizer using a hierarchical database outline
US5734887A (en) 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
US5937406A (en) 1997-01-31 1999-08-10 Informix Software, Inc. File system interface to a database
US5974407A (en) 1997-09-29 1999-10-26 Sacks; Jerome E. Method and apparatus for implementing a hierarchical database management system (HDBMS) using a relational database management system (RDBMS) as the implementing apparatus
US6016497A (en) * 1997-12-24 2000-01-18 Microsoft Corporation Methods and system for storing and accessing embedded information in object-relational databases
US6915307B1 (en) * 1998-04-15 2005-07-05 Inktomi Corporation High performance object cache
US6718322B1 (en) 1998-10-02 2004-04-06 Ncr Corporation SQL-based analytic algorithm for rule induction
US6772180B1 (en) * 1999-01-22 2004-08-03 International Business Machines Corporation Data representation schema translation through shared examples
US6427123B1 (en) 1999-02-18 2002-07-30 Oracle Corporation Hierarchical indexing for accessing hierarchically organized information in a relational system
US6754661B1 (en) 1999-07-13 2004-06-22 Microsoft Corporation Hierarchical storage systems for holding evidentiary objects and methods of creating and operating upon hierarchical storage systems
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US6604100B1 (en) * 2000-02-09 2003-08-05 At&T Corp. Method for converting relational data into a structured document
US7072896B2 (en) * 2000-02-16 2006-07-04 Verizon Laboratories Inc. System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor
US7031956B1 (en) * 2000-02-16 2006-04-18 Verizon Laboratories Inc. System and method for synchronizing and/or updating an existing relational database with supplemental XML data
US6769074B2 (en) * 2000-05-25 2004-07-27 Lumigent Technologies, Inc. System and method for transaction-selective rollback reconstruction of database objects
US6675230B1 (en) 2000-08-22 2004-01-06 International Business Machines Corporation Method, system, and program for embedding a user interface object in another user interface object
US6941511B1 (en) * 2000-08-31 2005-09-06 International Business Machines Corporation High-performance extensible document transformation
US20020184401A1 (en) * 2000-10-20 2002-12-05 Kadel Richard William Extensible information system
US7036072B1 (en) * 2001-12-18 2006-04-25 Jgr Acquisition, Inc. Method and apparatus for declarative updating of self-describing, structured documents
US6968334B2 (en) 2001-05-15 2005-11-22 Nokia Corporation Method and business process to maintain privacy in distributed recommendation systems
US7146399B2 (en) * 2001-05-25 2006-12-05 2006 Trident Company Run-time architecture for enterprise integration with transformation generation
US6826568B2 (en) 2001-12-20 2004-11-30 Microsoft Corporation Methods and system for model matching
US9374451B2 (en) 2002-02-04 2016-06-21 Nokia Technologies Oy System and method for multimodal short-cuts to digital services
US7570943B2 (en) 2002-08-29 2009-08-04 Nokia Corporation System and method for providing context sensitive recommendations to digital services
US7120645B2 (en) * 2002-09-27 2006-10-10 Oracle International Corporation Techniques for rewriting XML queries directed to relational database constructs
US7634480B2 (en) 2003-05-08 2009-12-15 Microsoft Corporation Declarative rules for metadirectory
US7366729B2 (en) * 2003-06-11 2008-04-29 Wtviii, Inc. Schema framework and a method and apparatus for normalizing schema
US8219569B2 (en) 2003-08-25 2012-07-10 Oracle International Corporation In-place evolution of XML schemes
US7747580B2 (en) 2003-08-25 2010-06-29 Oracle International Corporation Direct loading of opaque types
US7814047B2 (en) 2003-08-25 2010-10-12 Oracle International Corporation Direct loading of semistructured data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003030031A2 (en) * 2001-09-28 2003-04-10 Oracle International Corporation Mechanism for mapping xml schemas to object-relational database systems

Also Published As

Publication number Publication date
EP1661046A1 (en) 2006-05-31
WO2005022415A1 (en) 2005-03-10
US20050050105A1 (en) 2005-03-03
CA2534573A1 (en) 2005-03-10
US8219569B2 (en) 2012-07-10
CN100527128C (zh) 2009-08-12
CA2534573C (en) 2014-03-25
AU2004268324A1 (en) 2005-03-10
CN1839388A (zh) 2006-09-27
AU2004268324B2 (en) 2010-10-14

Similar Documents

Publication Publication Date Title
JP2007534036A (ja) データベースにおけるxmlスキーマの現場での発展
US7617234B2 (en) XML schema for binding data
US7120869B2 (en) Enhanced mechanism for automatically generating a transformation document
US9183321B2 (en) Managing compound XML documents in a repository
JP4406609B2 (ja) 単一のインターフェイスからのデータの多重階層を管理するための手法
US7870163B2 (en) Implementation of backward compatible XML schema evolution in a relational database system
US6836778B2 (en) Techniques for changing XML content in a relational database
US7185317B2 (en) Logical data modeling and integrated application framework
US6931590B2 (en) Method and system for managing documents
US7945590B2 (en) Programmability for binding data
US6781609B1 (en) Technique for flexible inclusion of information items and various media types in a user interface
KR100833538B1 (ko) Xml 문서의 검증 및 스키마 위반을 보고하기 위한시스템 및 방법
US7506324B2 (en) Enhanced compiled representation of transformation formats
US7730394B2 (en) Data binding in a word-processing application
US20080140705A1 (en) Method of Updating a Data Source from Transformed Data
US7395271B2 (en) Mechanism to enable evolving XML schema
US7720885B2 (en) Generating a word-processing document from database content
US7937398B2 (en) Managing compound XML documents in a repository
US20070016605A1 (en) Mechanism for computing structural summaries of XML document collections in a database system
JP2006525608A (ja) ダイナミックコンテンツアセンブリを管理するためのシステムおよび方法
US8694957B2 (en) Method and apparatus for an XML reporter
JP2009187528A (ja) 改善された階層型xmlデータベースの方法
WO2001093078A2 (en) Method and system for mapping between a source document and a transformation document

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100521

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100615

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110218

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110228