[go: up one dir, main page]

JP3730556B2 - データベース管理システム - Google Patents

データベース管理システム Download PDF

Info

Publication number
JP3730556B2
JP3730556B2 JP2001320213A JP2001320213A JP3730556B2 JP 3730556 B2 JP3730556 B2 JP 3730556B2 JP 2001320213 A JP2001320213 A JP 2001320213A JP 2001320213 A JP2001320213 A JP 2001320213A JP 3730556 B2 JP3730556 B2 JP 3730556B2
Authority
JP
Japan
Prior art keywords
database
state
record
data items
management system
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.)
Expired - Fee Related
Application number
JP2001320213A
Other languages
English (en)
Other versions
JP2002229821A (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 JP2002229821A publication Critical patent/JP2002229821A/ja
Application granted granted Critical
Publication of JP3730556B2 publication Critical patent/JP3730556B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はデータベース管理システムに関連するものである。特に、データベースの状態の修正処理の前後両方におけるデータベースの状態を示すデータの塊を維持管理するためのデータベース管理システムに関連するものである。
【0002】
【従来の技術】
一般に、コンピュータデータベースを維持管理するために従来のデータベース管理システム(以下、DBMSという)で使われる方法は、データレコードの追加、修正、削除である。データレコードは修正、削除されるので、完成したデータベースの前の状態を直接明示することはできない。
【0003】
既知のシステムのなかには、あるチェックポイントにおけるデータベースファイルのコピーとともに付随のログファイルに全ての処理指示を記録することにより、リレーショナルデータベースの以前のバージョンへアクセスできるものある。しかしながら、以前のチェックポイントにおけるコピーに対しログファイルを再実行しなければならないことや、それぞれのチェックポイントのコピーとログファイルには論理的に冗長なデータが大量に含まれるので多くのスペースが必要となることから、この方法は満足なものとはいえない。
【0004】
【発明が解決しようとする課題】
本発明の目的は、多数の、データベースの以前の状態を極めて簡潔に直接明示させるさせることができるデータベースの維持管理を可能にする構造をDBMSに提供することである。
【0005】
【課題を解決するための手段】
本発明に基づき、データベースの状態の修正処理の前後両方におけるデータベースの状態を示すデータの塊を維持管理するためのデータベース管理システム(DBMS)が提供される。このデータベース管理システムは、データベース修正処理前およびデータベース修正処理後におけるデータベースの状態のレコードを永久的に保持するメモリ手段と、データベースの各状態のレコード内にある1つ以上の親データ項目と、データベースの同一の状態のレコード内にある1つ以上の従属データ項目を関連付ける関連定義手段と、データベースの各状態のレコード内にある、他のデータ項目と関連付けられているルートデータ項目の位置を定義するルート定義手段と、データベースの状態に該当するルートデータ項目と、そのデータベースの状態のレコード内にある1つ以上のデータ項目、および以前の状態の位置により定義された修正処理前のデータベースの状態のレコード内にある1つ以上のデータ項目を関連付けることにより、データベース修正処理後のデータベースの状態を定義する状態定義手段を備えている。
【0006】
このDBMSにより、大量の冗長なデータの格納を要することなく、データベースの前の状態の全てへ直接アクセスできる方法で、コンピュータデータベースの維持管理を行うことができる。
【0007】
又、このDBMSの構造は、様々な種類の樹木が、毎年新しい年輪ができることで生育していく過程にたとえることができる。この構造では、木の外輪を剥ぎ取っていくことにより、木の前の状態を全て直接明示することができる。類推すれば、本発明は、既存データ項目の修正あるいは削除を要することなく、データ項目をデータベースに追加することのみにより、コンピュータデータベースを柔軟に維持管理することができるDBMSに関連している。
【0008】
各データベース修正処理中に、新規データ項目の塊がデータベースファイルの末尾に追加される。ファイル内の前の塊の中にある前のデータ項目は、修正される必要はない。このように、一定数のはじめの塊のみを考慮し、残りの追加された塊は無視することで、DBMSによりある時点以前のデータベースの状態の全てを直接明示することができる。例えば、データベースファイルが、7つの処理に該当する7つの塊から成る場合、DBMSは第1から第3までの塊をチェックし、第4から第7までの塊を一時的に無視することにより、第3処理後のデータベースの状態を明示できる。
【0009】
塊の中にあるレコードは、以下の原理に基づいて構造化される。
・データ項目の塊は、処理が行われる際、データベースファイルに追加される。
・データベースファイルに追加された塊は、絶対に編集されない。
・概して、塊は、前のデータベースファイルの全体のサイズより小さい。
・前の塊の中にあるデータ項目が処理により論理的に削除あるいは修正されなかった場合、塊は、前の塊の中にあるデータ項目を参照する。
・前の塊の中にあるデータ項目が処理により論理的に削除あるいは修正された場合、塊は、前の塊の中にあるデータ項目をマスクし参照しない。
・塊は、後に生成された塊の中にあるデータ項目は参照しない。
【0010】
これらの原理は、以下の方法で利用される。
・各データ項目は、ファイル内の塊の中に位置する。
・データ項目は、親データ項目になる場合もある。
・各親データ項目には、その従属データ項目の位置を示すデータが含まれる。
・各処理の塊には、ルートデータ項目の位置が含まれる。
・DBMSは、ルートデータ項目から従属データ項目を追跡したのち、さらに追跡済みデータ項目から従属データ項目を追跡することにより、データ項目のネットワークを辿ることができる。
・DBMSは、このデータ項目ネットワークを横断しながら、各追跡済み従属データ項目の位置を記録するための手段をうまく含めることができる。
【0011】
・従って、データベースファイル内の塊の中にある従属データ項目には、それらの親データ項目の位置は格納されない。
・追跡開始に使われるルートデータ項目によっては、DBMSにより異なるネットワークのデータ項目が表示される場合もある。
【0012】
一般に、コンピュータサイエンスでは、データベースは「物理的な」状態と「論理的な」状態を持っていると言える。物理状態とは、例えば磁気ディスクやCD-ROMといった相応のコンピュータデータ記憶装置に格納されているデータの配列のことをいう。 論理状態とは、これらのデータによって具体化された情報の概念的な構成(ビュー)のことをいう。一般に、DBMSとは、他のコンピュータプログラムに対し異なる論理状態を提示しながら、物理状態を操作することができるコンピュータプログラムのことをいう。
【0013】
本発明に基づくDBMSは、データ項目が追加、編集、削除された場合に、物理状態の既存データ項目を編集あるいは削除することなく、データ項目をデータベースの物理状態に追加することにより、修正後のデータベースの論理状態を提示することができる。
【0014】
データベース修正処理中、DBMSは、データベースファイルに追加されるデータ項目の塊を以下の方法で作成する。
・新規の従属データ項目は、新規の塊に挿入することができる。
・前の塊の中にある論理的に編集されたデータ項目は、コピーされなければならない。
・論理的に編集あるいは削除されたデータ項目の親データ項目の全てはコピーされなければならない。
【0015】
・編集された親データ項目の従属データ項目のうち、既存で未編集のものはコピーされなくてもよい。新規の親データ項目コピーは、前の塊の中にある未編集
の従属データ項目の位置データを使用することができる。
・塊には、新規ルートデータ項目の位置を示すデータが含まれる。
・塊には、前の塊の位置を示すデータが含まれる。
【0016】
従って、各データベース処理はデータの塊の中で実施され、また、DBMSは、該当処理のデータの塊の中に示されているルートデータ項目から始まっているデータ項目ネットワークを辿ることにより、対象となる処理の直後の、データベース全体の状態を直接明示することができる。このように、DBMSは、データベース履歴内の処理間のどの時点においても、データベースのその時点の状態を直接明示することができる。
【0017】
本発明の実装例において、データベースの論理状態において頻繁に発生するか、あるいは頻繁に発生する可能性のあるデータ値は、多数の他データ項目の従属データ項目として再度使用することができるように、データ項目ネットワークの一部のデータ項目に格納してもよい。例えば、「London」というテキスト値は、英国の住所データベースに頻繁に出現する可能性がある。
【0018】
さらに、本発明の実装例において、データ項目ネットワークは従来のネットワークデータベースの形式であってもよい。一般に、ネットワークデータベースでは、アプリケーションプログラムに適した方法で、データレコードどうしをリンクすることができる。従来のネットワークデータベースでは、通常、以前のバージョンのデータベースを直接明示することはできないが、本実装例のDBMSでは、以前のバージョンのネットワークデータベースの全てを直接明示することができる。
【0019】
例えば、データ項目のネットワークが、テーブル、ビュー、行、列、フィールドなどが組み込まれている従来のリレーショナルデータベースを構成する場合がある。DBMSには、ユーザーによるデータベースの機能関連ビューへのアクセス、修正を可能にするSQL用の解釈プログラムを含めることもできる。さらに、ユーザーは、データベース履歴内の処理間のどの時点におけるデータベースの関連ビューに直接アクセスすることができる。
【0020】
また、データ項目のネットワークがオブジェクトデータベースを構成する場合もある。一般に、オブジェクトデータベースには、カプセル収納データとプログラムの動作から成るオブジェクトが含まれる。この場合、ネットワークには、オブジェクトクラスとオブジェクトインスタンスに該当するデータ項目が含まれる。オブジェクト間の論理参照は、参照先オブジェクトに該当するデータ項目の位置データを含んだ参照元オブジェクトに該当するデータ項目によりモデル化される。
【0021】
本発明の別の実装例において、データ項目ネットワークがバーチャルディスクドライブ(VDD)を構成する場合がある。そのVDDには、過去のVDDの論理状態にいつでも直接アクセルすることができるという追加的機能が備わっている。一般に、バーチャルディスクドライバは、他のコンピュータプログラムが、そのインターフェースのソフトウェアをあたかもコンピュータディスクのように扱うことができるコンピュータソフトウェアインターフェースである。そのようなインターフェースは、通常、一定の有効な位置範囲内でのランダムな位置において、例えばデータの読み込み、書き出し、修正などの機能をサポートする。データ項目ネットワーク内のデータ項目のなかには、バーチャルディスク(例えば、ディスクセクターなど)内の位置範囲に該当するものもある。これらのデータ項目には、該当するバーチャルディスク範囲内に論理的に格納されたデータが含まれる。コンピュータアプリケーションがVDD内のある範囲の内容を修正しようとする場合、DBMSはその論理的なディスクの修正に該当する処理の塊を新規に作成する。DMBSは、データ項目あるいはVDD内のその範囲に該当する複数のデータ項目を用意することにより、それらのデータ項目の新バージョンを作成する。場合によっては、DBMSは、該当する論理データを表わす際の物理データの効率を上げるために、物理レコードに該当する論理範囲を分割あるいは併合する。従って、異なるレコード内で具体的に使用されるバーチャルディスクの容量には差がある。データ項目ネットワーク内のデータ項目の親/従属階層は、バーチャルディスク上の該当範囲およびサブ範囲の場所と関連する。
【0022】
本発明の更なる実装例においては、DBMSにバージョンコントロールシステム(VCS)が組み込まれる。当該VCSにより、データベースがどのように構築されたかを示すために、データベースのバージョンを整理することができる。また、VCSは、データベースの論理状態の代替バージョンを並行して構築できる分岐点を含めることもできる。
【0023】
各新規データの塊には、前のデータの塊の位置データが含まれる。前のデータの塊は、必ずしもファイル内にある新規の塊の直前の塊であるとは限らない。前の塊は、さらにその前の塊である場合もある。このように、VCSは、複数の塊を複数バージョンから成る論理階層に配列することができる。また、各新規の塊には、作成日時、変更を行ったユーザーの名前、変更理由、変更に関連するプロジェクト、ジョブ、業務などのメタデータが含まれる。
【0024】
バージョンデータ項目と呼ばれるデータ項目のネットワークのなかには、それらの従属データ項目とともに、論理データベースのあるバージョンを具体化するものもある。バージョンデータ項目は、それ自体がバージョンコントロールデータ項目の従属データ項目である場合もある。VCSは、バージョンコントロールデータ項目を介して、ルートデータ項目からバージョンデータ項目、論理データベースのデータ項目までのデータ項目のネットワークを案内することができる。
【0025】
一般に、マルチユーザーの処理データベースでは、複数ユーザー(複数の人間あるいはコンピュータプログラム)が同時にデータベースにアクセスすることができる。単一ユーザーがデータベースを修正する場合、処理を開始し、必要な修正を行ったのち、その処理を実行に移す。複数ユーザーがデータベースを同時に修正する場合、1人あるいは複数のユーザーは、(処理の開始段階あるいは実行段階で)DMBSにより修正要求が拒否される場合がある。
【0026】
本発明の開発においては、前述のVCS機能を開始+実行処理論理に組み込むことにより、複数ユーザーの同時修正要求が原因で生じる修正拒否を避けるマルチユーザー対応のDBMSが提供される。ユーザーが処理を開始すると、DBMSは、そのユーザーのデータベースの論理ビューに関連する塊と、開始処理を関連付ける。その後、ユーザーが処理を実行すると、DBMSは、VCSを介して表示した際、処理に関連する塊から論理的に派生して作成される新規の塊を追加する。複数ユーザーが同時に処理を開始し、その後処理を実行した場合、DBMSは、異なる分岐に新規バージョンを格納しておく必要がある。これらの分岐は、おそらくアプリケーション固有のアルゴリズムを使って、後でまとめることができる。
【0027】
一般に、アプリケーションプログラムには、元に戻す/繰り返すコマンドが提供されていることが多く、そのためユーザーは、行った変更を取り消し、気が変わった場合は再実行できるという確信を持ってデータベース(例えば、文書処理ファイルなど)に変更を行うことができる。これにより、ユーザーは、操作ミスによる不本意な結果から解放される。
【0028】
本発明の更なる開発において、元に戻す/繰り返す機構をユーザーに提供するアプリケーションのデータ管理をサポートするために、VCS機能がDBMSに組み込まれる。ユーザーが変更を行うと、DBMSは処理の塊をデータベースに追加する。ユーザーが元に戻すコマンドを使用すると、DBMS 内にあるVCSが前のバージョンのデータベースに戻すので、行った修正は取り消され、元の状態に戻る。その後ユーザーが別の変更を行うと、DMBSは別の処理の塊を追加し、VCSはその変更用の分岐を新規に作成する。このように、ユーザーが引き起こすデータベースの状態の全て、およびそれらの順序が記録される。従って、DBMSは、ユーザーの操作や作業効率、操作のミスを分析するために必要な生データを自動的に収集する。この生データは、ユーザーの作業処理能力を監視し、ユーザーの訓練を助け、アプリケーションソフトウェアのユーザーインターフェースを改善することができる。
【0029】
本発明のアプリケーションにおいて、DBMSは、追加のみ可能で修正不可能な媒体を使ってデータベースを物理的に格納し、さらに、修正可能なデータベースの論理ビューを提供する。例えば、コンパクトディスクのなかには、データを追加することはできるが、既に書き込まれているデータを修正することはできないタイプもある。こういった追加専用の媒体は、追記形(WORM:Write-Once-Read-Many)装置とも呼ばれる。
【0030】
【発明の実施の形態】
本発明をより十分に理解してもらうために、一例として、添付図面とともに説明する。
図1は、本発明に基づくDBMSのデータベースファイル内における塊の物理構造を表わしたものである。図2は、処理中における当該データベースの論理状態と物理状態を表わしたものである。図3は、本発明に基づくDBMSがどのようにしてレコードを論理的に構造化しているかを、一般的なリレーショナルデータベースの形式で表わしたものである。図4は、本発明に基づくVCSが、どのようにしてDBMSのデータベースファイル内の塊を配列するかを表わしたものである。図5は、VCSが、本発明に基づくDBMS のバージョンコントロールを使ってどのようにしてレコードを論理的に構造化しているかを、一般的なリレーショナルデータベースの形式で表わしたものである。
【0031】
これらの図は、当該システムの基本原理の例証として、本発明に基づくDBMS のうち、シンプルで代表的なものの構造を表わそうとしたものであり、また、本発明に基づき作成されると思われる実際のシステムには、技術面で熟練したユーザーに十分理解されるような追加機能を含め、更に高度なレベルの構造的な複雑さが組み込まれることを表わそうとしたものである。
【0032】
図1は、毎日の新たな処理により新規の塊がファイルに追加される場合に、当該DBMSの基本構造が、どのようにしてデータベースファイルを一連の塊としてフォーマットしているかを表わしたものである。day1、day2、day3と記されたボックスは、毎日ファイルに追加される塊を表わす。
【0033】
図2は、当該データベースがシンプルなネットワークデータベースである場合、データベース修正処理中に、データベースの論理状態と物理状態がどのように関連し合っているかを代表的な例で表わしたものである。図の上部は論理状態を表わし、図の下部は該当する物理状態を表わす。図の左側は処理前のday1のデータベース状態、図の右側は処理後のday2のデータベース状態を表わす。各処理の塊には、ルートレコードの位置が含まれる。各物理状態図の中の各塊のルートレコードは、黒の半円で示される。
【0034】
データベース修正処理前、データベースには、世界6ヶ国(America、Spain、Africa、Canada、 France)の国名が入った6つのデータ項目が含まれている。論理状態では、データ項目は2分木で表わされる。この例では、2分木は分類されているので、どの親データ項目も左側の従属データ項目よりもアルファベット順で後に置かれ、右側の従属データ項目よりもアルファベット順で前に置かれる。物理状態では、データ項目は単一の塊の中に格納される。物理状態では、親データ項目(England、America、Spain)には、従属データ項目(America、Span、Africa、Canada、France)の位置データも含まれる。
【0035】
この例では、ユーザーは新規の「Turkey」のデータ項目をデータベースに追加しようとしている。従って、新規の「Turkey」のデータ項目は新規の塊に挿入される。この例では、DBMSは2分木をソートされたままで処理するので、新規の「Turkey」のデータ項目は、「Spain」のデータ項目の右側の従属データ項目として論理状態に挿入される。つまり、古い「Spain」のデータ項目は必ずコピーされ、コピーされたデータ項目は図ではS*というラベルが付けられている。同様に、古い「England」のデータ項目はE*としてコピーされる。従って、新規の塊には物理的に3つのデータ項目(E*、S*、Turkey)が含まれる。新規の「E*」データ項目は、「America」と「S*」という従属データ項目を持つ。新規の「S*」データ項目は、「France」と「Turkey」という従属データ項目を持つ。図は、ネットワークデータベースの2つの異なる論理状態(すなわち、処理前と処理後)が、2つの塊のうち1つのルートデータ項目からネットワークを辿ることにより、どのようにして直接表示されるかを表わしている。
【0036】
図3は、本発明に基づくDBMSとともに使用するためのデータ項目ネットワークを、汎用リレーショナルデータベースの形式で表わしたものである。この例では、例えば、ストリング、テーブル、列、フィールド、カラム定義、データ値など、従来からあるリレーショナルデータベースの要素に該当する様々なタイプのレコードがある。リレーショナルデータベースの各テーブルは、該当するテーブルレコードを持つ。テーブルレコードは、分類された2分木に配列される。この代表的な図では、各テーブルレコードは、2つまでの従属テーブルレコードを持つ。各テーブルレコードには、リレーショナルデータベース内のテーブルの名称を示すデータも含まれる。従来のリレーショナルデータベースの理論には、このテーブルレコードの2分木構造に類似した構造がない。従来のリレーショナルデータベースの理論では、テーブルは、必要な限り結合演算を使って推論され、テーブルどうしの連関を持つ、より独立したものとして考えられている。DBMSがテーブル名からテーブルを見つけ出すことができるように、ここでは2分木構造を使っている。
【0037】
各テーブルレコードは、列レコードのサブネットワークのローカルルートを形成する従属レコードも持つ。各列レコードには、当該テーブルレコードに該当するリレーショナルデータベーステーブルの列に表示されるデータが含まれる。図は、単にテーブルレコードの1つに対する列サブネットワークを表わしたものであるが、各テーブルレコードには、それ自体の列サブネットワークが含まれる。同様に、図は、各テーブルレコードにそれ自体のカラム定義サブネットワークがどのように含まれているか、各列レコードにそれ自体のフィールドサブネットワークがどのように含まれているか、各フィールドレコードにフィールド値を示すデータがどのように含まれているかも表わしている。
【0038】
図3の例では、ストリング用の独立したサブネットワークがある。このサブネットワークには、一般にテキスト値を発生させるための標準レコードが含まれる。従って、多数のリレーショナルデータベースフィールドが「London」という値を持っている場合、該当するフィールドレコードの全てに、「London」を表示する単一で標準のストリングレコードの位置を格納することができる。
【0039】
従来の方法では、リレーショナルデータベースは、テーブルの集合体として表わされる。このテーブル構造は、ネットワーク構造に変換することができる。この変換を行うにはいくつかの方法あるが、そのうちの1つを図3に表わしている。どの変換方法を使用したとしても、リレーショナルデータベース、ネットワークデータベース、オブジェクトデータベース、バーチャルディスクドライブ、あるいはその他の適用可能なデータベースがいったんネットワーク構造に変換されると、本発明の基本原理により、従来型の追跡機能やバージョンコントロール機能を追加することができる。
【0040】
図4は、データベースがシンプルなネットワークデータベースである場合、本発明に基づくDBMS内での同時データベース修正処理中に、データベースの論理状態と物理状態がどのように関連し合っているかの例を表わしたものである。図の上部は論理状態を表わし、図の下部は該当する物理状態を表わす。図の左側は同時修正処理前のday1のデータベースの状態、図の右側は同時修正処理後のday2の予想されるデータベースの状態を表わす。さらに、各処理の塊には、ルートレコードの位置が含まれる。各物理状態を表す図の中の各塊のルートレコードは、半円で示される。
【0041】
この例では、データベースには、世界2ヶ国(England、America)の国名が入ったday 1の2つのレコードが含まれている。さらに、A、Bという異なる2人のユーザーがデータベースに同時に追加を行おうとしている。ユーザーAは、レコード「France」を追加しようとしており、ユーザーBはレコード「Germany」を追加しようとしている。この例では、追加しようとしている「France」と「Germany」は、論理状態内部では互いに排他的なオプションと想定される。
【0042】
図4の右上は、これらを追加した結果day 2になる2つの論理データベースを表わしたものである。図4の右下は、データベース内で両者の追加が物理的にどのように記録されるかを表わしたものである。これは、2つの異なる処理に該当するもう2つの塊を追加することにより行われる。各処理は、第1の塊を基準にする。本発明の基本原理に基づき、各塊には、前の塊の位置データが含まれる。図に表わされているように、両方の新規の塊には、前の塊が第1の塊であることを示すデータが含まれる。
【0043】
図5は、本発明に基づくDBMSとともに使用するために、図3のリレーショナルデータベースのスキーマを詳しく表わしたものである。この例では、ネットワークスキーマは、バージョンコントロールレコードとバージョンレコードの新規レコードタイプを持つ。これらの新規レコードタイプがあることにより、VCSが、線状の発展過程において前後に行き来できるだけでなく、異なる発展分岐上においてリレーショナルデータベースのバージョン履歴を追跡することもできる。
【0044】
【発明の効果】
データベース修正処理の前後両方におけるデータベースの状態のレコードを永久的に保持し、データベース修正処理の前後の両方におけるデータベースを簡単に得ることができる。
【図面の簡単な説明】
【図1】本発明に基づくDBMS(データベース管理システム)のデータベースファイル内における塊の物理構造を表わしたものである。
【図2】処理中における当該データベースの論理状態と物理状態を表わしたものである。
【図3】本発明に基づくDBMSがどのようにしてレコードを論理的に構造化しているかを、一般的なリレーショナルデータベースの形式で表わしたものである。
【図4】本発明に基づくVCS(バージョンコントロールシステム)が、どのようにしてDBMSのデータベースファイル内の塊を配列するかを表わしたものである。
【図5】 VCSが、本発明に基づくDBMS のバージョンコントロールを使ってどのようにしてレコードを論理的に構造化しているかを、一般的なリレーショナルデータベースの形式で表わしたものである。

Claims (16)

  1. データベースの状態に対する修正処理の前後両方における、データベースの状態を示すデータの塊を維持管理するためのデータベース管理システムであって、
    データベース修正処理前およびデータベース修正処理後におけるデータベースの状態のレコードを永久的に保持するためのメモリ手段と、
    データベースの各状態のレコード内にある1つ以上の親データ項目と、データベースの同一の状態のレコード内にある1つ以上の従属データ項目を関連付ける関連定義手段と、
    データベースの各状態のレコード内にある、他のデータ項目と関連付けられているルートデータ項目の位置を定義するルート定義手段と、
    そのデータベースの状態に該当するルートデータ項目と、そのデータベース状態のレコード内にある1つ以上のデータ項目、および以前の状態の位置により定義された修正処理前のデータベースの状態のレコード内にある1つ以上のデータ項目を関連付けることにより、データベース修正処理後のデータベースの状態を定義する状態定義手段と、
    を有することを特徴とするデータベース管理システム。
  2. 前記状態定義手段は、1つ以上の親データ項目を介し、その親データ項目に関連する関連定義手段を使って、ルートデータ項目と1つ以上の従属データ項目を関連付ける請求項1記載のデータベース管理システム。
  3. 状態定義手段は、データ項目の追跡中、各従属データ項目に対する親データ項目の位置を記録する請求項2記載のデータベース管理システム。
  4. データベース修正処理後のデータベースの状態を示す追加データの塊をコンパイルし、処理により修正されなかった前のレコードからはそれらのデータ項目をコピーせず、処理により修正された前のレコードからそれらのデータ項目をコピーする新規レコードコンパイル手段を備える請求項1,請求項2又は請求項3記載のデータベース管理システム。
  5. 前記新規レコードコンパイル手段は、前記関連定義手段によりそれらの従属データ項目と関連付けられている親データ項目をコピーするだけでなく、処理により修正された前のレコードから従属データ項目をコピーする請求項3記載のデータベース管理システム。
  6. なる論理構造内の各レコードデータ項目を表示する表示手段を有する請求項1乃至5の内いずれか1項に記載のデータベース管理システム。
  7. 前記表示手段は、データ項目をリレーショナルデータベースの形式で表示する請求項6記載のデータベース管理システム。
  8. 前記表示手段は、データ項目をオブジェクトデータベースの形式で表示する請求項6記載のデータベース管理システム。
  9. 前記表示手段は、データ項目をバーチャルディスクドライブの形式で表示する請求項6記載のデータベース管理システム。
  10. データベース修正処理後のデータベースの状態のレコードと、データベース処理前のデータベースの状態のレコードの位置を関連付ける前状態位置手段を有する請求項1乃至9の内いずれか1項記載のデータベース管理システム。
  11. データベースの論理状態の内部に異なるバージョンどうしが同時に発展することができる分岐点を定義するバージョンコントロールシステム(VCS)が組み込まれている請求項1乃至10の内いずれか1項記載のデータベース管理システム。
  12. 複数のユーザーが同時にデータベースを修正することができ、修正後にデータベースの状態において異なるバージョンを生成し、前記メモリ手段は、修正前のデータベースのユーザーの論理ビューの表示とともに、各ユーザーにより生成された修正後のデータベースの状態のレコードを永久的に保持するマルチユーザーシステムを備える請求項11に記載のデータベース管理システム。
  13. 元に戻す/繰り返すの機構を有し、前記メモリ手段は、第1と第2のデータベース修正処理により生成された修正後のデータベースのレコードを永久的に保持し、ユーザーによる第1のデータベース修正処理後、当該データベース修正処理前のデータベースの状態はユーザーからの元に戻すコマンドに応じて定義され、続いて、第1のデータベース修正処理とは異なる第2のデータベース修正処理後のデータベースの状態は、第1のデータベース修理処理後のデータベースの状態の定義に代わるものとして、ユーザーによる繰り返すコマンドによって定義される請求項11に記載のデータベース管理システム。
  14. ーザーにより行われたデータベース修正処理を分析する分析手段を備える請求項13に記載のデータベース管理システム。
  15. ータベース修正処理の際のユーザーによる間違いを識別する誤り識別手段を備える請求項13又は請求項14に記載のデータベース管理システム。
  16. 各レコードにはレコード作成に関連した情報を提供するメタデータが含まれる請求項1乃至15のうちいずれか1項に記載のデータベース管理システム。
JP2001320213A 2000-11-21 2001-10-18 データベース管理システム Expired - Fee Related JP3730556B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0028311A GB2369208B (en) 2000-11-21 2000-11-21 Database management systems
GB0028311.9 2000-11-21

Publications (2)

Publication Number Publication Date
JP2002229821A JP2002229821A (ja) 2002-08-16
JP3730556B2 true JP3730556B2 (ja) 2006-01-05

Family

ID=9903538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001320213A Expired - Fee Related JP3730556B2 (ja) 2000-11-21 2001-10-18 データベース管理システム

Country Status (3)

Country Link
US (1) US20020062305A1 (ja)
JP (1) JP3730556B2 (ja)
GB (1) GB2369208B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040006567A1 (en) * 2002-07-02 2004-01-08 International Business Machines Corporation Decision support system using narratives for detecting patterns
JP4647653B2 (ja) 2004-03-29 2011-03-09 マイクロソフト コーポレーション バージョニングをベースとするトリガのためのシステムおよび方法
US7716182B2 (en) * 2005-05-25 2010-05-11 Dassault Systemes Enovia Corp. Version-controlled cached data store
US20070174318A1 (en) * 2006-01-26 2007-07-26 International Business Machines Corporation Methods and apparatus for constructing declarative componentized applications

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893117A (en) * 1990-08-17 1999-04-06 Texas Instruments Incorporated Time-stamped database transaction and version management system
US5357631A (en) * 1991-12-09 1994-10-18 International Business Machines Corporation Method and system for creating and maintaining multiple document versions in a data processing system library
US5561795A (en) * 1994-05-13 1996-10-01 Unisys Corporation Method and apparatus for audit trail logging and data base recovery
US5956489A (en) * 1995-06-07 1999-09-21 Microsoft Corporation Transaction replication system and method for supporting replicated transaction-based services
US5897636A (en) * 1996-07-11 1999-04-27 Tandem Corporation Incorporated Distributed object computer system with hierarchical name space versioning
US5970496A (en) * 1996-09-12 1999-10-19 Microsoft Corporation Method and system for storing information in a computer system memory using hierarchical data node relationships
JP4363676B2 (ja) * 1997-10-31 2009-11-11 株式会社東芝 コンピュータシステム
US6460052B1 (en) * 1999-08-20 2002-10-01 Oracle Corporation Method and system for performing fine grain versioning
US6571244B1 (en) * 1999-10-28 2003-05-27 Microsoft Corporation Run formation in large scale sorting using batched replacement selection
US6631386B1 (en) * 2000-04-22 2003-10-07 Oracle Corp. Database version control subsystem and method for use with database management system

Also Published As

Publication number Publication date
GB2369208B (en) 2004-10-20
GB2369208A (en) 2002-05-22
GB0028311D0 (en) 2001-01-03
US20020062305A1 (en) 2002-05-23
JP2002229821A (ja) 2002-08-16

Similar Documents

Publication Publication Date Title
Harrington Relational database design clearly explained
EP1347394B1 (en) Schema-oriented content management system
JP3563692B2 (ja) データベースのスキーマをオブジェクト指向リポジトリ内のその表現と同期化する方法
KR100556594B1 (ko) 데이터베이스에 관한 방법
US20120221523A1 (en) Database Backup and Restore with Integrated Index Reorganization
JP4806168B2 (ja) テーブルに対して行われる変更を識別する識別方法及びそのシステム
US20090055418A1 (en) Automatic cascading copy operations in a database with referential integrity
US6901418B2 (en) Data archive recovery
US11567995B2 (en) Branch threading in graph databases
US7765247B2 (en) System and method for removing rows from directory tables
EP2089814A2 (en) Database system
Batra SQL primer
JP3730556B2 (ja) データベース管理システム
US20070083543A1 (en) XML schema template builder
Reese Java Database Best Practices: Persistence Models and Techniques for Java Database Programming
Chopra Database Management System (DBMS) A Practical Approach
CN103180848B (zh) 一种用于复制数据的系统和方法
US6411970B1 (en) Methods and apparatus for an automatic file indexer
JP3790614B2 (ja) 部品構成情報の変更履歴管理装置、方法及び方法を記録した記録媒体
US12248486B2 (en) System for creating a dataset network
Schönig Mastering PostgreSQL 11: Expert techniques to build scalable, reliable, and fault-tolerant database applications
Schonig Mastering PostgreSQL 9.6
Languedoc Build iOS database apps with Swift and SQLite
KR101094519B1 (ko) 이기종 공간 데이터베이스에서의 공간 레이어 복제 방법 및 시스템
Noneman et al. Simple data storage and manipulation for scientists

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050302

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051006

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081014

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111014

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111014

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111014

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111014

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121014

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131014

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees