JPH09503326A - データの格納および取り出しの方法ならびにその装置 - Google Patents

データの格納および取り出しの方法ならびにその装置

Info

Publication number
JPH09503326A
JPH09503326A JP7510684A JP51068495A JPH09503326A JP H09503326 A JPH09503326 A JP H09503326A JP 7510684 A JP7510684 A JP 7510684A JP 51068495 A JP51068495 A JP 51068495A JP H09503326 A JPH09503326 A JP H09503326A
Authority
JP
Japan
Prior art keywords
record
data
records
entity
field
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
JP7510684A
Other languages
English (en)
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 JPH09503326A publication Critical patent/JPH09503326A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Abstract

(57)【要約】 少なくとも2つの識別子の数値的連結からなるキーフィールドを有するレコードの作成を含むデータの格納および取り出しのための方法とシステムである。望ましくは、キーフィールドは実体形式の識別子と属性の識別子を含む。さらに望ましくは、実体形式たとえば「会社」等が一般的であり実体たとえば「ABC有限会社」が特定されており、および属性たとえば「電話番号」は、実体の識別子を含む。数値は、リスト内のそれぞれのエントリに数値が予め割り当ててあるような単語および/または文章のリストから取得するのが望ましい。望ましくは、レコードの幾つかがデータを格納し、その他のレコードはデータ間の関連性の詳細を格納する。レコードの幾つかはデータを格納し、その他のレコードはデータ処理を制御することがよい。

Description

【発明の詳細な説明】 データの格納および取り出しの方法ならびにその装置 本発明は既知の概念とは基本的に異なり、従来の計算機に関連する多くの欠点 を緩和するような計算機へのアプローチの改良の実現のための基盤を提供する。 従来の計算機システムへのアプローチは、何が必要とされ、それをどのように 実装するかについての詳細な仕様の準備から始まるのが普通である。この初期段 階はしばしば困難が伴う。計算機システムで実際に要求されていることがシステ ムの少なくとも一部を運用するまで理解されないことも多い。さらに、多くのシ ステムは非常に大きく複雑なため、内部的には完全に首尾一貫したシステムの仕 様の作成さえも極めて困難になる。 従来の計算機システムを構築する第2段階はシステム仕様を専門のプログラマ に渡すことで、この段階でもしばしば困難に遭遇する。仕様書に記載された要求 の解釈または単なる実現にかかる潜在的な問題を別にすれば、従来の計算環境で 直面する最大の問題のひとつは、システムが何を行ない、どのように行なうかを 説明した解説書の生成と、その後の計算機プログラムの保守である。既存のシス テムの保守で頻繁にみられる問題は、既存のレコード構造に追加フィールドを加 えることが所望の場合に発生する。この場合、問題のレコードを含むファイルに アクセスする計算機システム内部の全てのプログラムが修正の対象となることが 多い。 これまでに行なわれた多くの研究では、現在のプログラミングに係る全ての労 力の80%近くが既存のシステムの保守に費されており、残りのプログラミング 労力のわずか20%だけが新規アプリケーションの開発に費すことが可能である ことが示されている。 もっとも基本的なレベルですら困難がある。たとえば、データを磁気媒体に記 録する場合、従来は固定長または可変長レコードのどちらかに記録している。特 に記録したデータの並べ替えが必要とされるおよび/または高速アクセスが所望 の場合、記録データにインデックスをつけた固定長レコードが好適である。イン デックスは本来のデータの一部として記録したり、またはこれとは別に記録する ことができる。インデックスは固定長である。固定長レコードは選択したレコー ド長に適合するようにデータを合わせなければならないと言う明白な欠点を有し ている。 計算機データベース・システムの工夫に相当以上の人的資源が投資されてきた 。この投資と該システムの一般化は現代社会における該システムの必要性を裏付 けるものである。システム要求はますます高度になり、これの1つの態様は多対 多の関連性の記録処理の要求となっている。幾つかの既知のシステムではこのよ うな要求に適合していると主張しているが、周知の限り、これらはどれも幾つか の制約および/または非常に複雑な処理条件を有すると思われる。 本発明は従来の計算機システムを支える概念とは別個の概念的アプローチを用 いて前述の欠点の全てを緩和しようとするものである。 本発明の1つの態様によれば、2つの数値を含むキーフィールドを有し、一つ は実体(entity)の種類を識別し、一つは識別した種類の実体の属性を識別するレ コードの構成を含むデータの構成と取り出しの方法が提供される。 本発明の別の態様によれば、3つの数値を含むキーフィールドを有し、一つが 実体の種類を識別し一つが識別した種類の実体を識別し、もう一つが実体の属性 を識別するレコードの構成を含むデータの格納と取り出しの方法が提供される。 本発明の別の態様によれば、数値が単語に割り当てられたルックアップ・テー ブルまたはファイルから取り出した数値を含むキーフィールドを有するレコード の構成を含むデータの格納および取り出しのための方法が提供される。 本発明の別の態様によれば、データレコードおよびレコードの構成を含み、該 レコードが共通ファイル内で該レコードのデータ処理および記録の流れを制御す るデータの格納および取り出しのための方法が提供される。 本発明の別の態様によれば、情報を含むキーフィールドを有するレコードとし てデータ間の関連性の詳細な格納を含み、この情報で関連性の詳細が格納される データを含むレコードのキーフィールドが識別できるようなデータの格納および 取り出しのための方法が提供される。 本発明の別の態様によれば上記5つのパラグラフのいずれかに記載した方法を 実施する装置が提供される。 本発明の実施例とその変化について、添付の図面を単なる例として参照しつつ 説明を行なう。図面において、 図1は本発明の実施例により作成した典型的なレコードである。 図2は本発明の実施例により作成した典型的なレコードのキーフィールドであ る。 図3はデジタル形式で圧縮英数字情報を格納するためのキーフィールドの一部 の使用法である。 図4aと図4bは本発明の説明した実施例により形成した実際のレコードの例 である。 図5aと図5bは一方において実体形式(entity type)と属性の関連性、また 他方において実体形式とアプリケーションの間の関連性を示す意味的ネットワー クである。 図6はアプリケーションとオペレータの間の関連性を示す意味的ネットワーク である。 図7は実体形式とシソーラス(類義語)項の間の関連性を示す意味的ネットワ ークである。 第1に、キーフィールドの構成のために選択した情報を説明する必要がある。 これはそれ自体が本発明の概念の重要な態様をなすためである。以下の説明にお いて幾つかの術語が参照を容易にするために用いられている。この術語の基盤は 次の通りである。 最初に情報の項目を考えたとき、問題の項目の種類を考える。これはすなわち 「実体形式」を考えることである。 次に、特定の項目それ自体を考える。すなわち「実体」を考える。 さらに、実体について何が既知かまたは何が既知であることを所望するかを考 える。すなわち実体の「属性」を考える。 ABC有限会社と言う架空の会社に基づいた簡単な例を示す。 実体の形式は「会社」である。 実体は「ABC有限会社」である。 ABC有限会社の属性はこれの実際の「所在地」である。 ABC有限会社の別の属性はこれの実際の「電話番号」である。 多くの異なる実体形式をシステム内に記録し、多くの実体が実体形式に存在し 、多くの属性がいずれかひとつの実体について存在することがあるのは明らかで ある。実体形式は実体形式を実体として考える場合それ自体が属性を有すること がある。たとえば、「所在地」と言う特徴は実体形式「会社」の属性と考えられ る、すなわち全ての会社は所在地を有する。 いずれかひとつの実体が幾つかの異なる実体形式に所属し、いずれか1つの属 性が1つ以上の実体形式の属性であることも真実である。たとえば、顧客であり 供給者でもある会社を考える。実体形式顧客と供給者の実体の値はどちらも同じ 、すなわち会社の実際の名称である。同様に、顧客住所と供給者住所の属性値も 同一である。しかし、供給者と顧客の呼出名称の属性値はどちらも別であると思 われる。 1つの実体が幾つかの異なった実体形式に属するような複雑な相互関係を維持 しようとした場合従来のシステムでは困難がみられる。つまり、それぞれの関連 性を個別に格納するのを避けようとし始めた場合である。必要とされるデータの 格納の大きさを別にしても、データを更新するのが必要となった時に発生する問 題のためそれぞれの関連性を個別に格納するのを回避することが強く所望されて いる。共通データは1回だけ格納されるのが望ましい。こうすると同じデータに ついて違うエントリ同士で矛盾が発生する危険はない。1つだけのエントリを更 新すればよくデータ・エントリが減少する。しかし、従来のシステムでこのよう な利点を実現するのは困難である。 別の簡単な例を考えてみる。 ABC有限会社には10名の従業員がいる。「会社」が実体形式、「ABC有 限会社」が実体、「従業員名」が属性の説明、およびたとえば「ケビン・スミス 」が属性値であるとする。しかし、「従業員名」の値はそれ自体で実体であると 考えられる(これは実体「ABC有限会社」の部分実体と考えられる)。つま り、実体(または部分実体)「従業員名」は、これの属性記述に「会社の電話番 号」を有することがある。それぞれの関連性が別々に記録された場合、それぞれ の従業員ごとに1回づつ、同じ電話番号が10回記録される。さらに、電話番号 が変更された場合、10か所の電話番号全てが同様に更新されない危険が大きい 。当然、電話番号は1回だけ格納する方が優れているであろう。しかし、属性の 説明「会社の電話番号」の属性値は実際には会社と従業員の間の関係の属性であ る。関係が壊れた場合、すなわちケビン・スミスがABC有限会社の従業員であ ることをやめると、属性値(すなわち現在の電話番号)は明らかに有効でなくな る。実体「ケビン・スミス」は属性の記述「会社の電話番号」に新しい値を取る かも知れないが、ABC有限会社との関係は壊れ、その結果として、明らかに、 その関係の属性(会社の電話番号)は有効でなくなる。関係を取り除くと属性も 除去される。これらの概念によるデータの記録は、従来のシステムにより実現さ れないものである。対照的に、本発明はこのような概念によるデータの格納を基 にしている。 「従業員名」の値に関連して前述したように、実体は部分実体を有することが ある。これは、関係(すなわちABC有限会社による雇用)を排除した結果とし て属性が除去されたため、それまでの属性値(すなわち現在の電話番号)が除去 されても、「会社の電話番号」を「ケビン・スミス」が保持していることを記述 している認識から明らかである。「ケビン・スミス」が記述「会社の電話番号」 を有する属性を保持していることは、「ケビン・スミス」が実際に独立した実体 であると考えられることを表わしている。この特定の実体は、もともと、実体「 ABC有限会社」の部分実体だった。部分実体「ケビン・スミス」は「自宅住所 」の記述のある属性を有することになるが、「自宅住所」はそれ自体が属性を有 することがある。一例としては「課税値」の記述を有する属性がある。「自宅住 所」の記述を有する属性の値は、それ自体が実体であると考えられる。ここで「 ケビン・スミス」は「ABC有限会社」の部分実体であり、「自宅住所」は「ケ ビン・スミス」の部分実体である。これは実体の2つ下降するレベルと見なすこ とができる。本発明で説明する実施例においては、10の9乗までの値が独立し た実体値を識別するために利用できる。1つレベルを下降すると、すなわち 部分実体の第1のレベルを考えると、さらに10の9乗の値が利用できるように なる。実体値の最高レベルはそれぞれが関連した独立の部分実体レベルを有して おり、実体のそれぞれ1つ下のレベルで10の9乗×10の9乗の値というよう に格納できることが分る。 従来、磁気媒体上のレコードの物理的な位置を考える必要も多かった。これは ハッシュ・ルーチンを用い、レコードへのポインタがレコードの記録されている 磁気媒体上の物理的位置のアドレスに直接関係することから選択されたと思われ る。したがって、従来のシステムではレコードへのアクセスが磁気媒体上の物理 的位置の間の大幅な移動に関係することが多い。これは本発明を用いれば回避で き、結果的にアクセスおよび処理時間が改善される。 実際に格納されようとしている情報さらに、その情報に関係するまたはそこか らもたらされる知識の一般的な考察に戻ると、データベース内のレコードを単に 調べても、データの意味を示すものは何もない。つまり、レコードはデータのコ ンテキストを格納していない。本発明のシステムを使用と、レコードに記録され たデータはキーフィールドを用いてレコードを効率的に検索するような答を問す ることで取り出すことができる。つまり、何らかのレコードを取り出すとき、そ のレコードへの質問または航行(naviagtion)はデータを考察しているコンテキス トを定義したことになる。コンテキストがこのように定義されるので、レコード 自体には格納しなくとも良い。これは厳密に従来のデータ格納システムと対照的 である。さらに、最重要な点が得られる。すなわち、システムの残りに対して潜 在的な影響を考慮することなく、データベースのいずれか1つの独立した部分を 変更できる。つまり、システム全体の一貫性が担保されるために、個々の関係が 正しく格納されることを担保する必要しかない。これは従来のシステムに対して 非常に明らかなコントラストである。 従来のシステムでは、システムのいずれか1つの部分を変更する場合、システ ムの残り全体に対する潜在的な影響を考慮する必要がある。システムの一部分に 対する変更から発生する影響の全てを理解して充分に統御することは、人間の現 実的な能力を実際に越えていることが多い。最小限でも、従来のシステムでのこ のような変更は、単純にシステムを維持する上で巨大なオーバヘッドを招く。当 然、システムの維持に係る時間と労力をもっと生産性の高いところに費すことが できない。すなわちシステムの拡張または新規システムの構築に費せない。 この特徴の重要な態様は、独立したプログラム内ではなく、データベース内で 認証を行なうことである。 そのため、本発明によって実現されるものが従来コンピュータ・プログラム内 にコード化されていた規則や手順の効率的な格納であり、実際には格納データの 一部であることは明らかになろう。同時に、データのコンテキストはデータの一 部として格納されず、データ取り出しの処理それ自体から得られる。 すなわち、データ取り出し作業には内存する知識がある。しかしこのような知 識の存在、または非常にわずかでもこれの使用は、これまでに認識されていなか った。また、この知識を用いることにより、システム全体としての一貫性を維持 するために非常な努力を払う必要がないシステムの構築を行なうことの可能性は 、これまで認識されなかった。 レコードに到達するための径路は、格納データ間の航行と見なすことができる 。航行が行なわれるメカニズムは後述する。 本発明のシステムにおいては、レコードに到達するための径路のレコードを保 持するだけで、データベース内を「後ろ向き」に航行できるようになる。このよ うな機能は望ましいことが多い。これは従来システムでは一般に存在せず、存在 しても非常に複雑な規則と手順を適用することになる。 従来の計算環境においては、プロトタイプを構築して、提案されたアプリケー ションのデモおよび/または証明を行う。さらに、プロトタイプをコード化して 完全に作動するシステムに先行させる必要がある。一般に、コード化の段階はも っとも時間がかかりもっともエラーが発生し易い。本発明によれば、プロトタイ プ作成は「運用中の」システムで行なえ(システムの他の部分の統合性に対する 潜在的な影響がないため)、プロトタイプはすぐ所望のアプリケーションの最終 製品版になる。 これらの点とレコード位置に関して前述した利点(ABC有限会社従業員の電 話番号の例)は、従来の計算技術に比較して大幅な高率の改善となる。データ取 り出しにかかるアクセス時間が改善される。アプリケーション開発時間は相当に 改善され、従来システムの保守のオーバヘッドと、本発明のシステムのほとんど 完全に保守が不要なことの間には、比較すべき点がほとんどない。 本発明によるさらなる利点も存在する。このような利点の1つは、システム全 体が非常に小さい「コア」システムによって制御されることである。コア・プロ グラムは従来の計算機ハードウェアの処理メモリー内に全体を格納できる(多数 ユーザがいる仮想またはページング・ハードウェア・システムであっても)。説 明する実施例はIBM製AS400計算機に実装した。 本発明による別の利点はコア・プログラムの更新に関するものである。何時で もコア・プログラムを更新することが望ましいと考えられる場合、おそらくはあ るレコード形式に格納したデータとの関連で何らかの新しい処理形式を取ること ができるようにする場合、更新したコア・プログラムを容易に実装できる。一般 には、コア・プログラムへの更新が必要になることはまれなことである。しかし このような何らかの更新が必要であれば、アプリケーションの規則や手順を妨害 することなく処理できる。これは従来「アプリケーション・プログラム」と見な されるべきものが「プログラム」として扱われないためである。これらは、コア ・プログラムの一部を構成するものでも、または何らかの方法でコア・プログラ ムを変更するものでもない。従来のアプリケーション・プログラムの等価物は、 前述したように、データそれ自体の一部として本発明により効率的に格納され、 および/または、データ取り出しに関係するコンテキストまたは航行に内在する 一部として部分的に格納されている。 文書化の問題も大部分が回避されるが、これは従来の意味でのプログラムが事 実上存在しないためである。つまり、従来のシステムと比べ実際の文書は極くわ ずかである。 本発明のシステムにより逆転関係の定義の実装が可能である。これは本発明の 特に有利な特徴である。 ここで説明する本発明の実施例は、基本的に、各種のレコード形式が格納され ている単一のデータベース・ファイルの使用に関係する。レコードは固定長で、 固定長の比較的短いキーフィールドを有する。データは、典型的には、データの 間に存在する関係に関して格納される。データ処理は、データベース内に格納さ れたレコードを使用して行ない、従来の概念的観点およびプログラムの使用とは 明らかに対照的である。従来の構成に固有の重大な欠点は緩和され、さらなる利 点を得ることができる。 データベース内に格納されたレコードは、本発明によれば、キーフィールドに 後続の固定長レコードの残りに対して、多くの独立したデータ構造を有する。1 つの特定レコード形式内部に別の構造が存在しても良い。つまり、レコードの機 能にしたがってこれらを考慮するのが便利である。以下は、機能的に独立したレ コード形式である: 関連性(relationship)レコード、単純データ・レコード、オプション・レコ ード、メニュー・レコード、代理(surrogate)レコード、およびトランザクショ ン・レコード。 機能的には独立しているものの、これらのレコード形式はすべて同一の固定長 であり、全て同じキーフィールド構造を有するので、全て共通データベース内に 格納できる。 前述したように、データは関連性において格納されるのが典型的で、これに対 応するレコードをここでは関連性レコードと称する。場合によっては独立したデ ータを格納することがあり、単純データ・レコードをこの目的で使用する。オプ ション・レコードは、データ処理の制御に使用されるレコードに付与した名称で ある。実行すべき別の操作の選択はいわゆるメニュー・レコードを用いて行なう 。いわゆる代理レコードは相互参照する情報の記録に使用する。トランザクショ ン・レコードは独立の監査記録(audit trail)追跡を実装するために使用する。 監査はシステムに格納されるユーザ・データの本質的な部分ではない。これらの レコード形式は、全て同一データベース内に格納され、全て同一の基本構造を有 する。異なるレコード形式の形成と使用については後述するが、最初に、共通レ コード・フォーマットについて、特にキーフィールドについて説明を行なう。 簡単に言うと、本発明の本実施例で使用しているレコード長は長さが128バ イトである。このうち28バイトを使ってキーフィールドを形成する。キーフィ ールドは、それぞれが長さ4バイトである7つのフィールドで構成され、そ れぞれ4バイトのフィールドが4バイト整数として記録される9桁の数字から構 成されている考えられる。前述のように、キーフィールドは数字から構成される 。すなわち純粋に数値である。しかし、キーフィールドは、現実の計算使用の多 くでは、英字または英数字データの識別に必要となる。本発明の実施例において 、別々のルックアップ・テーブルを英字または英数字と数値の間の変換の少なく とも大部分に使用する。本発明の利点の多くは、キーフィールドの各種部分の特 定の構造と意義によるものである。 前述したルックアップ・テーブルは、単語ディレクトリと見なすことができる ので以下そのように称する。キーフィールド各部の構造と意味は、データが関連 性においてシステムに格納されることに関係がある。 本発明の実施は単語ディレクトリの作成から始めることにより達成される。単 語ディレクトリは、従来のコンピュータ・データベースに一般に使用される相当 多数の単語および固有名詞を、英語およびその他アラビア文字を用いる言語で入 力して作成した。それぞれの単語には数字を割り当て、数値は従来のデータベー ス内に単語に関連して格納した。数字の記録に8桁を使用するものと定めて、単 語の最大数を10の8乗個に設定した。最初の入力単語に数字を割り当てる上で 、単語はアルファベット順に並べ、0から10の8乗の範囲にわたってほぼ均等 に数字の広がりが選択された。 システムのこの後の開発と運用において、システムに入力されるそれぞれの単 語は、単語ディレクトリ内にまだ存在していない場合には、単語ディレクトリに 追加する。 それぞれの単語に関係した数値は、記録しようとするデータ項目のキーフィー ルドまたはインデックスの形成の際に使用する。 本発明の明確な特徴の1つは、ユーザには可変長であるように見える固定長キ ーフィールドの使用にある。それぞれが128バイト長の固定長レコードを有す るように本発明の実装を作成することに決定した。第1の28バイトはレコード のキーフィールド(またはインデックス)を形成する。しかし、本発明は可変長 レコードを用いて実装することもできる。 固定長キーフィールドは本発明の本実施例において、 −数値の態様でキーフィールド内にデータを格納する −単語ディレクトリを使用する −情報へのデータ還元を適用してキーフィールドを形成する −使用するデータを判定してキーフィールドを形成する ことにより実現される。 これらの段階を取ることで、本発明の概念はさらに独自の特徴を実現すること ができる。 このような格納がどのように行なわれるかの具体的な詳細に戻って、添付の図 面のうち図1から図3を参照する。それぞれのレコードは長さが128バイトで 、レコードのキーフィールドは、第1の28バイトを使用することが想起されよ う。キーフィールドは、実体形式、実体、属性を識別するデータを含む。実体形 式、実体、属性のそれぞれの実際の値は、独立した128バイトのレコードとし て記録される。レコードの28バイトのキーフィールドは、記録しようとするデ ータの実体形式、実体、および属性の数値の連結を用いて形成する。それぞれの 数値は長さが4バイトで9桁からなる。各4バイトは2×10の9乗の異なる値 を取ることができる(+と−の値が許容される)。したがって実体形式を識別す るためそれぞれ9桁の4バイトの選択で(実体についてと属性についても同数) システムのあらゆる実現可能な使用については充分であろうことが分る。実体形 式、実体、属性のそれぞれの数値は単語ディレクトリを用いて取得する(単語デ ィレクトリは実際の関連レコードのキーフィールドを作成するために使用する) 。 キーフィールドでは、記録しようとする項目の英数字(自然言語)の記述の格 納に22桁を割り当てる。記述は数値の態様で格納されるので、可変長データ項 目として見えるような固定長格納フィールドを実現している。図2および図3は この目的で使用する22桁を示している。実施例においては、第1の5つの「単 語」であらゆる項目の英数字記述を記録するのに充分であろうと決定した。この 選択を行ない、22桁をこれの格納のために割り当てたので、これら2つは次の ような方法でもたらされる: 記述の第1の5つの単語の重要度は順次減少する。単語ディレクトリ内で独自 に単語を定義するために8桁を使用していることを想起すれば、5つの単語のそ れぞれについて格納される桁数は次のようになる。 第1の単語 8桁(すなわち完全に記録) 第2の単語 5桁 第3の単語 4桁 第4の単語 3桁 第5の単語 2桁 合計 22桁 すなわち、データ圧縮により、格納値は第1の単語だけをユニークに識別し、 単語ディレクトリ内で1つ以上の単語と第2から第5の単語の伸張した値と適合 する可能性は、順次増加する。しかし、データベース内に格納されたレコードの アルファベット順並べ替え等キーフィールドに基づいた機能では、システムの制 約として許容するに充分な正しい結果が得られることが多い。 システムは2×10の6乗の実体形式と、それぞれの実体形式について2×1 0の9乗の実体と、それぞれの実体について2×10の9乗の属性を格納できる 。 それぞれのレコードのキーフィールドまたはインデックスは連結した数値から 形成したユニークな数に基づく。すなわち、 実体形式+実体 +属性 +説明 4バイト+4バイト+4バイト+22桁 本発明の特に顕著な態様の拡張は、実体形式と属性の記述の数値連結だけを考 えれば、ユニークな数が得られることの新規な認識による。 すなわち、実体形式の番号 +属性の説明の番号 4バイト +4バイト の結果からユニークな番号が得られる。このユニークな番号が代理番号の目的と 内容を定義するが、代理番号自体は定義しない。代理番号については後述する。 添付の図面の図1から図4は、本発明の説明した実施例により形成したレコー ドの例を示している。図面において、長さがそれぞれ4バイトの各種レコード・ フィールドを示す。このようなフィールドが最大12個図示してあり(図4aお よび図4b)、参照を容易にするため、フィールドにはAからLまでのラベルを 記してある。フィールドAからGはキーフィールド、すなわちレコードの第1の 28バイトを構成する。フィールドHからLは関連性レコードでレコードの最後 の20バイトである。他のレコード形式はキーフィールドの後のレコードの残り の部分で異なったデータ構造を有するのが普通である。それぞれのフィールド内 部で個々の数字の桁は順番に1から9とする。つまり、レコードの第1桁目はA 1で、レコードの最後の桁はL9と称する。この命名法は、参照を容易にするこ とのためだけのもので、本発明の実施例に何らかの意味を付与するものではない 。 図1は、本発明の実施例による関連性レコードの128バイト・レコードが、 28バイトのキーフィールドと、15バイトの共用データと、85バイトのユー ザ・データとでどのように構成されるかを示す。 図2は、それぞれ長さ4バイトの7つのフィールドから、28バイトのキーフ ィールドがどのように形成されるかを示す。第1のフィールドは実体形式番号を 含む。第2のフィールドはバージョン番号を含む。第3と第4のフィールドは実 体番号と属性番号をそれぞれ含む。フィールドE、F、Gは数値の形態で異なる データ形式を含む。それぞれが4バイトのフィールドは9桁で構成されている。 フィールドAは単なる実体形式番号以上のことを含んでいる。特に桁A1、A 8、A9は特別な意味を有する。 桁A1は値「0」、「3」、「5」または「8」を取る。値「0」はそのレコ ードがデータを含むことを表わす。値「3」は、そのレコードがメニューを定義 することを表わす。しかし、メニューはデータの特殊な形態である。本発明の実 施例で用いている別のレコード形式はオプション・レコードである。オプション レコードはプロセス制御に使用する。オプション・レコードは、他のレコード、 たとえば、単純データ、メニュー・レコード、またはその他のオプション・レコ ードを制御できる。オプション・レコードの桁A1の値を得るには、「5」をデ ータまたはメニューを表わす値に加算する。つまり、桁A1の値「8」はメ ニュー処理を制御するためのオプション・レコードを表わす。 フィールドAがデータの他に実体形式番号を含むことはすでに述べた。詳しく は、実体形式番号は桁A2からA7までの6桁だけを含む。桁A8は、値「0」 または「9」を取ることができる。値「0」は実体識別子を表わし、値「9」は 実体形式内の属性の記述および/または属性値、すなわち部分実体を表わす。 桁A9は、フィールドE、Fの識別子の形式、およびGの第1の部分を表わす ために使用する。桁A9は、値として、「0」、「1」、「2」、「3」、「4 」、「5」、「6」、「7」および「8」のいずれかを取ることができる。それ ぞれの値の意味は次の通りである: 0−名前 5−パラグラフ・ヘッドを 1−数 持たないテキスト 2−日付 6−使用せず 3−同義語 7−非圧縮の8チャネル識別 4−パラグラフ・ヘッドを 8−非圧縮の10チャネル識別 持つテキスト 9−使用せず 値「0」は実体形式識別子、すなわち初期メニューおよび実体レコードを表わ す。この値は第2レベルのメニューまたは実体レコードには使用しない。 フィールドBに格納されたバージョン番号は、特に、データが公開または非公 開のどちらかの指示を含む。ここの設定にしたがって、別のオペレータは、たと えば1つのレコードの「同じフィールド」から別の値を取り出すことができる。 これはまた、多国語のアプリケーションにも使用される、すなわち同じデータが 別の言語で格納される。 前述のように、フィールドBはレコードのバージョン番号を記録する。フィー ルドBに格納されている値(9桁全部が集合的に通常の10進数を表わすものと 考えて)が000010000以下の場合、レコード全体の内容は公開アクセス に開かれている。フィールドBの値が000010000より大きいかまたは等 しい場合、レコード全体の内容はフィールドBに格納された値で識別されるユー ザ・グループのメンバに制限される。つまり、あるレコードの99,999バー ジョンは、異なるユーザ・グループによるアクセスのために格納できる。 非公開データの概念は各種の方法で使用できる。これは格納されたユーザ・デ ータが複数の(ただし可変数の)固定長レコードから構成されており、ユーザ・ レコードが可変長に見えるユーザの視点で考えた場合に、特に利点となる。フィ ールドBの内容は、非公開クレジット制御情報をそのレコードが含むことを表わ すように設定できる。適当なユーザ・グループのメンバーである(および適切な セキュリティ・レベル権限を有する)人だけが、そのレコードに含まれたデータ にアクセスできる。公開と非公開データの間の区別は、規則と手順の格納、すな わち従来のプログラムの等価物に関連して使用することもできる。これは、その レコード内のデータの一部が公開であり、データの一部は非公開アクセスだけで ある場合に重要である。フィールドBの使用の例として、商業的に用意され該シ ステムで使用するための「アプリケーション・プログラム」に対して、公開デー タを表わすようにフィールドBの内容を設定することがある。アプリケーション ・プログラムを補強するためにユーザが用意した何らかの拡張は、非公開データ として格納される。このようにして、アプリケーション・プログラムの後のリリ ースは、アプリケーション・プログラムの公開データであるとフラグを立てた部 分だけを上書きするようにして、安全に実装することができる。ユーザが定めた 拡張は、従来システムの通常の結果と同様に、更新プロセスで上書きされない。 非公開と公開のデータの間を区別するフィールドBの可能な使用法のさらに別の 例は、レコード内に格納された「非公開」ヘルプ・テキストを識別するように区 別を使用することである。つまり、特定ユーザまたはユーザ・グループ向けのヘ ルプ・システムを非常に容易に実装できる。 フィールドCとDは、前述のように、それぞれ実体番号と属性記述番号を含む 。代理はレコード番号の1形式である。代理レコードでは、フィールドCの値は 常に0で、図4Bに図示したレコードの場合がこれに相当する。実体形式番号と 属性番号の連結がユニークな番号を提供するとの認識からこの実施が行われてい る。このユニークな番号は、後述するようなデータベース内を航行するための代 理番号とともに使用する。 全てのレコードが単一のファイル内に格納されるが、キーフィールドは、ファ イル内のデータの異なるテーブルと共に、ユニークなレコードも当然識別すると 考えることができる。この意味で、フィールドA、B、C、Dは特定のテーブル を識別すると見なすことができ、またフィールドE、F、Gはテーブル内のレコ ードを識別すると考えられる。実際に、フィールドE、FおよびGで構成されて いるレコード識別子は、実はレコード識別子の一部分である桁A9でプレフィッ クスされている。 図3は、フィールドE、Fと、フィールドGの最初の4桁を合わせて、ある種 の英数字情報のデータ圧縮により形成された22桁をどのように格納して用いる かを示している。桁G5は、重複を区別できるようにするための接尾辞として用 いる。桁G6、G7、G8は第2の接尾辞として用いる。このレコード接尾辞に より、同じ関連性形式の同じレコードの間の複数の関連性の簡単な格納ができる ようになる。桁G9は、値「9」に設定される初期設定値に設定するのが普通で ある。桁A9が値「0」を有する場合、フィールドE、F、G(最初の4桁)は 、圧縮名称または重複が許容される18桁の非圧縮番号、または重複が許容され ない22桁の番号を含むことができる。これらの異なる可能性はオプション・レ コードで記述される。桁A9が値「1」を有する場合、フィールドE、F、G( 最初の4桁)はEに9桁の番号、または前述のように18桁または22桁の番号 を格納することができる。つまり、(ユーザの観点から)レコードが番号で識別 される場合、A9が「0」に設定されているレコードは、フィールドE、F、G に圧縮名称が含まれている。A9が「1」に設定されているレコードは番号(1 8、19、または22桁)を含む。レコードが9桁の番号と18桁の番号の両方 で識別される場合、桁A9は「0」に設定され、フィールドE、F、G(最初の 部分)は18桁を含む。 フィールドE、Fと、Gの最初の4桁だけは、レコードのIDが「名称」すな わち桁A9が値「0」の場合、前述した圧縮英数字データ22桁を含む。 オプション・レコードのフィールドEは常にゼロである。 フィールドEと同様に、フィールドFの内容は桁A9で制御されるレコード形 式に依存する。桁A9が「0」の場合、フィールドE、Fは圧縮名称の22桁の うちの第1の18桁を含む。桁A9が値「1」の場合、そのレコードの作成日が フィールドEに記録されており、そのレコードの作成時間がフィールドFに記録 される。桁A9の値が「7」の場合、非圧縮8文字IDのうち、フィールドEは 最初の4文字、またフィールドFは2番目の4文字を記録する。 特定のレコードが番号(桁A9=1)で識別される場合、フィールドEと、G の最初の部分とに18桁の名称が含まれていて、重複が許容されるか、または2 2桁の名称が含まれない限り、フィールドGの最初の4桁は「0」である。レコ ードが名称で識別される場合、フィールドGの最初の4桁は22桁の圧縮名称の 最後の4桁である。桁A9が値「7」の場合、フィールドGの最初の4桁はゼロ になる。桁Aが値「8」の場合、フィールドGの4バイトのうち最初の2バイト は非圧縮名称の最後の2バイトである。 8文字の非圧縮名称と10文字の非圧縮名称の間の相違は、8文字の使用では 重複の存在を許容しているが、10文字の使用では重複の存在を禁止している点 である。しかし、重複関係は桁G6から桁G8を使って作成できる。本発明の説 明している実施例を実装するのに使用した特定の計算機(IBM製AS400) では、多数のオブジェクトが10文字名称を用いて識別されている。 桁G5の値は通常は値「1」だが、非圧縮8文字IDを使用した場合、すなわ ち桁A9が値「7」を有するなら、接尾辞として使用して重複の存在を許容する ことができる。しかし、10文字の非圧縮IDを使用している場合、桁G5はフ ィールドの最初の2バイトの一部として使用され、非圧縮名称の最後の2バイト を格納する。 桁G6〜G8は、さらなる接尾辞として用いて、同じ2つのレコードの間で同 一形式の複数の関連性の格納ができるようにする。しかし、必要なら、桁G9を 第3の接尾辞として使用し、レコード内に余分なデータを格納できる。説明して いる実施例において、第3の接尾辞は使用されておらず、桁G9は初期設定値の 「9」に設定されている。 それぞれのレコードは、1つの属性の1回の反復、すなわち1つの属性値を含 み、これが幾つかのフィールドにまたがり、これが関連性でない場合には最大で 85バイトが利用できる。これが関連性の場合には65バイトが利用でき、これ に相互参照フィールドが加わる。桁G9は、1つの属性の1回の反復において記 録することのできるデータ量を拡張するために効率的に使用できる。桁G9に値 「9」を割り当てたレコード内に相互参照が記録されるので、対応するレコード 内で桁Gを値「8」に設定する必要はない。桁G5〜G8を使用して、85バイ トの4倍プラス65バイトを1つのレコードの1回の反復に使用できる。 本発明の説明している実施例のさらなる拡張では、レコードの「タグ」または 「オーバライド」として、G9に値「0」から「4」までを使用できる。これら の設定の詳細な潜在的用途については、本明細書で詳細に説明しない。 本発明の実施した実施例において、コア・プログラムは所定のキーフィールド について全てのレコードを読み取る、すなわち0から9までの範囲で桁G9の全 ての値の検索を含む。そのため、普通に1つだけしか存在しないとしても(G9 =「9」)、全てのレコードが一度に位置決めされる。これは処理時間を改善す る。 以下は基本的実体データのエントリの例である。電話番号の格納を考える。桁 A9は値「0」に設定し、フィールドE、Fと、Gの第1の部分に記録される2 2桁は「電話番号」を含み、接尾辞の部分と合わせて必要になれば重複が許容で きる。これは下位レベルではなく実体それ自体のエントリである。実体番号と属 性番号はどちらも0である。すなわち、フィールドCおよびDはどちらも0であ る。 関連性レコードでは、それぞれのレコードのユーザ・データ部分は、相互参照 として、全ての関連するレコードの、すなわち関連性が存在するデータを含むレ コードのキーフィールドの一部を格納する。関連レコードのキーの残りの部分は 、問題の相互参照を有するレコードがアクセスされるコンテキストから判定でき る。図4aと図4bを参照する。相互参照データはフィールドI、J、Kおよび Lに記録される。フィールドIは関連レコードのフィールドAのコピーを含む。 フィールドA〜Gは常にキーフィールドで、フィールドH〜Lは相互参照を格 納するために使用するが、代理レコードの場合は別で、この場合、フィールドH は関連レコードの代理番号を含む。1つだけのレコードが記録される場合、たと えば関連性の格納の代わりに「身長」の実際の値が格納される場合、フィールド H〜Lはユーザ・データの格納に使用する。それ以外の場合、フィールドHは問 題のレコードに直接関係する何らかのレコードの代理を含む。つまり、図4に図 示してある2つのレコードでは、フィールドHの内容は同一である。実際に、両 方のレコードのフィールドHに含まれる値は、実は2つのレコードの第1のもの の実体番号(すなわちフィールドCの内容)である。 フィールドIからLの内容は、関連性の詳細を記録するかしないかに依存する 。格納しようとするデータが関連性を含まないが1つ以上のレコードを同時に格 納する場合、フィールドIの内容は同時に書き込む他のレコードのフィールドA の内容と同一である。この状況では、フィールドJ、KおよびLの内容は他のレ コードのフィールドJ、KおよびLの内容とそれぞれ同一である。 フィールドI、J、KおよびLは、レコードが代理レコードではなく、またそ のときに1つのレコードだけが記録されるのでなければ、相互参照を含む。後者 の場合、フィールドI〜Lはユーザ・データの一部を含む。代理レコードの場合 、関連性において、両方のレコードの代理番号が格納される。代理レコードのフ ィールドJ〜Lは、第4のレコードが記録される場合の第4の書き込まれるレコ ードのキーフィールド(すなわちEからG)の一部を含む。関連性レコード ABC有限会社の電話番号の格納を考える。この情報を格納するためには、デ ィスクに3つのレコードが書き込まれる。これらのレコードとは、(1)代理レ コード,(2)電話番号のユーザ、(3)ユーザの電話番号、である。レコード 2とレコード3は実際は互いの逆である。 第1に代理レコードを書き込む。桁A8の値は「9」に設定し、これでそのレ コードが代理レコードであることを識別する。実体番号はフィールドCに書き込 まれ、属性番号はフィールドDに書き込まれる。このように、キーフィールドが 構成できる。 フィールドAの値は既知である。システム・レベルでは、ビジネスまたは電話 番号のどちらかを優先に(すなわちこれのもとに代理レコードが書き込まれる) 選択し、この選択はオプション・レコードで制御する。この場合、フィールドA の値は実体形式顧客を識別する。 フィールドBはバージョン番号で、データが公開または非公開アクセスに利用 できるかどうか、また1つの言語または別の言語によるものかを単に記録してい る。 フィールドCはゼロである。 フィールドDは属性記述の圧縮形態を格納する、すなわち、音声用電話番号等 のメニュー選択にしたがう属性記述の代理を格納する。これは、フィールドDの 内容が具体的には属性の代理番号である。 フィールドEの内容は作成している関連性の代理番号である。 代理番号は次のように決定する。まず第1に、概念記録キーフィールドを用意 し、桁E1〜E9全てに値「9」を割り当てる。次に、データベース内にポイン タを位置付けするように試みる。後ろ向きに1つレコードを読み込んで、この実 体形式と属性の組み合せについての最後の代理レコードを特定する。フィールド Eの値に1を加え、直前の代理レコードがない場合には値は「1」となる。これ によってフィールドEに新しい値ができる。これが、現在準備しているレコード を書き込む際に使用すべき代理番号となる。 フィールドFの値は常にゼロである。 フィールドGの内容は通常の実体レコードの場合と同一である。本発明の説明 している実施例の場合、代理レコードのフィールドGの値は、重複代理を除くの で000010019である。 フィールドA、B、Dの連結により提供される番号はユニークである。つまり 、フィールドA、B、DおよびEの連結により提供される番号はユニークである 。特に重要なことは、代理番号はこれを適用するコンテキストにだけ関係するこ とである。フィールドA、BおよびDの内容がそのコンテキストを定義する。つ まり、キーはフィールドA、B、Dおよび代理番号(フィールドE)から構成 される。つまり、本発明の実施例は9桁の代理番号により限定されない。 フィールドHからLは、代理により2つの関連レコードのいずれかまたは両方 のレコードが識別される場合、これらレコードの代理番号を含む。一般に、フィ ールドHからLは、3つではなく4つのレコードを同時に書き込もうとしない限 り、この目的で使用しない。大抵は3つのレコードだけが書き込まれる。しかし 、4つのレコードはさまざまな場合、たとえばメニューの準備のために書き込ま れる。この場合の4つのレコードは、代理レコード、属性値レコード、属性内の シーケンス番号、属性が現れるメニューの名称である。第2のレコードの書き込み(関連性の記録) 第2と第3のレコードとしてここで説明することは、何らかの重大な影響なし に事実上相互に入れ換えが可能である。 フィールドAは実体形式番号(電話番号)を含む。 フィールドBはバージョン番号を含む。 フィールドCは実際の電話番号の代理である実体番号を含む。レコードの書き 込みに際して、代理が決定されて識別子として使用される。 フィールドDは属性番号を含む。つまり、これは「音声用の電話番号」で属性 記述の代理である。 先の文章にしたがえば、記録処理はここで説明しているよりも複雑であること に注意すべきである。新規の実体または名称で識別される独立したデータについ ては、ワード・ディレクトリとの相互チェックおよびおそらくワード・ディレク トリへの新規レコードの書き込みが伴う。 フィールドE、FおよびGの最初の半分は圧縮名称(すなわちABC(有)) を格納するために使用する。フィールドGの第2の半分は前述したように接尾辞 情報に使用する。 フィールドHは代理番号で、代理レコードのフィールドEの内容と同一である 。つまり、フィールドHの値は全ての関連レコードで同一である(代理レコード だけは別で、そのレコード内に番号を2回記録する必要がない)。 フィールドIは関連(すなわち第3の)レコードのフィールドAと同じ値を有 する。すなわち、接頭辞と接尾辞のある実体番号である。 フィールドEは桁E6からE9までが関連(すなわち第3)レコードの桁G6 からG9と等しく設定する。これは接尾辞である。つまり、何らかの重複が存在 するかを識別できる。この目的は重複が存在するときにキーを知ることである。 桁E2からE5は、ゼロ以外のとき、関連レコードのバージョン番号を含む。 これによって、関連レコードのフィールドBの値が決定できる。これはグループ のユーザの番号である(実際に、ユーザ・グループの番号は通常フィールドBの 実際の値である)。 桁E2からE5は全て値「0」を有することがあり、この場合、フィールドB の値はユーザ・グループ番号で、桁E2からE5のいずれかが0以外の値を有す る場合には、桁E2からE5は関連レコードのフィールドBの値を含んでいる。 つまり、関連レコードの桁B6からB9はそれぞれ桁E2からE5に等しく、桁 B1からB5の値はゼロである。関連性の第3のレコード 第3のレコードは第2のレコードと同様に、ただし逆に書き込まれる。 第2と第3のレコードから分るように、代理レコードを識別できるが、相互参 照において、関連レコードの部分的なキーだけしか有していない。しかし、状況 によって、第2の(関連)レコードの完全なキーフィールドを決定することが可 能である。 これを実現するためには、第2のレコードのフィールドE、Fおよびフィール ドGの最初の半分は、相互参照(第3レコードのフィールドIからL)に記録さ れていないため、代理を使用することができない。 しかし、関連レコードの実体レコードを経由して失われた情報を含む第3レコ ード(またはもっと高いレベルの属性値代理)に到達またはこれを識別した。コ ア・プログラムのアレイは、実体レコードのフィールドE、FとフィールドGの 第1の半分の内容を記録している。コア・プログラムは99レベルまでの完全な 履歴を保持している(これのデータ格納を使用する)。これによってシステム 内のバックトラキングが有効になる。99レベル以上は1次格納ファイルを使用 することによって追跡できる。 フィールドAからGは28バイト使用する。ユーザ・データには(関連性の格 納録について考えているように)さらに65バイトを使用する。通常、共通デー タに15バイトを割り当てる(これにはトランザクション番号を含む。AS40 0の相対レコード番号機能は使用しない)。フィールドHの4バイトは代理番号 を含む。残りの16バイトは相互参照情報を含み、フィールドIからLに記録さ れる。 説明した構成の利点は、ABC有限会社が社名を変更した場合、第3レコード のキーは電話番号を変更しないことである。第2レコードは当然変更を行なう。 つまり、本発明のシステムは下位レベルを全て消去して関連データを全て再入 力する必要があるようなシステムとは対照的に、多レベルのデータ記録を提供す る。本発明において、すでに有効でない下位レベルを簡単に「移動」することが 可能であり、これ以後の全てのレベルも、代理番号が変化しないので、「自動的 に」移動する。属性値は1つの実体形式および属性記述から別のものへ移動する 。対照的に、すでに有効ではない下位レベルを「移動」するのではなく書き直す べきであれば、代理番号は変化する。 先行のパラグラフで説明した構成は、実体形式番号、属性番号、およびバージ ョン番号の連結から形成した値全体を変更する場合、このユニークな番号によっ て使用される代理番号がすでに発行されていることがあるので、機能しない。 本発明により実現された性能上の利点は、何時でも一度にシステムが極めてわ ずかなレコードを読むだけで良いことである。ユーザの生産性に対してこれは非 常に有益である。全体として、システムは簡単で少ない段階しか使用しない−− 実行すべき処理段回数が、ユーザに注意力を失わせるに足るほど長い時間かかる ことのある、従来のほとんどのシステムとは対照的である。仮想システム・コン ピュータ・ハードウェアにおいて、本発明は非常にわずかなページングしか使用 しない。オプション・レコード 本発明においてはデータとともに格納されている、従来はコンピュタ・プログ ラム内にコード化されていた、規則および手順を参照する。これは、キーフィー ルド内の4バイトの実体形式番号を空白のままにしたレコードを用いて都合よく 実現した。参照を容易にするため、このようなレコードをオプション・レコード と称する。オプション・レコードは、データ取り出し径路を定常化するために使 用できる。つまり、オプション・レコードの内容を用いて、特定の入力に応じて どのレコードがアクセスされるかを決定できる。これはシステム内の「相対的」 セキュリティの実装に使用できる。ターム「相対的」は、セキュリティの何らか の妥協の可能性を意味するものではなく、むしろ逆である。相対的セキュリティ は、従来のシステムではしばしば所望されているが滅多に実現されない。これは 、システムの単一のユーザに異なるレベルのセキュリティを、特に動的に割り当 てる能力である。セキュリティ・レベルは使用するアプリケーションによって変 化することがある。当然オプション・レコード内の1桁を割り当てることで何ら かの特定の機能に対して10レベルのセキュリティを割り当てることができる。 多数の異なる機能に対してセキュリティを制御するために多数のセキュリティ・ コードが格納される。 オプション・レコードは、特定のテーブルで使用する有効なレコード識別子を 定義するために使用する。オプション・レコードは、データが表示される方法の 決定に使用される。オプションレコードは代理番号の割り当て制御に使用される 。オプション・レコードは後続のレコード間に適用されるインターバル番号の制 御に使用される。つまり、代理レコードのインターバルは「1」に設定され、パ ラグラフのヘッダのまたはテキストの短い名前のインターバルは「10000」 に設定される。 テキストは、代理により識別されてからパラグラフのヘッダ・シーケンス番号 または文書内のパラグラフ番号で識別され、さらに、第1の5単語で識別される 。テキストは関数ではなくレコード形式(構造)である。テキストは初期入力に おいて割り当てられた代理番号により識別されるシーケンス内に格納される。そ の結果、シーケンス番号または単語のどちらかを変更しつつテキストの独自の 識別を保持することができる。 テキストはデータベース内に統合され別個に処理されないことは注意すべきで ある。 参照番号はバッチ処理の優先順位を設定するために使用できる。 これらの機能の形式は全てオプション・レコードで制御される。オプション・レコードのキーフィールド 実体形式、実体、属性には初期設定値(default)を設定できる。この目的は必 要なオプションレコードの個数を減少することである。しかし、アドレスのため のオプション・レコードは、実体形式に初期設定値を設定するが属性は特異的で ある。 メニュー・レコードを用いて、どの初期値およびどのオプション・レコードを 使用すべきか指定する。 桁A1の値に「5」を加えて、オプション・レコードがデータに関するものか メニューに関するものかを識別する。 桁A2からA7は実体形式番号を格納するが、初期設定はゼロである。 桁A8は、本発明の説明している実施例では使用せず、「0」または「9」の どちらかに設定する。これは使用するデータ・レコード内と常に同一である。 桁A9は値「1」に設定するが、これはレコードがオプション番号で識別され るためである。 フィールドBはバージョン番号を含む。これはゼロのことがあり、オプション ・レコードで決定される。一般的機能だが、別のユーザには別の規則をコード化 することができる(たとえばスプレッドシートの単一「セル」内で)ため、非公 開と公開データの間の識別はオプション・レコードで特に有用である。この機能 はオプション・レコードのユーザ・バージョンの識別にも使用でき、見つけた場 合にはユーザ・バージョンでこれの公開バージョンをオーバライドできる。 フィールドCは実体番号を含み、オプション・レコードでは通常ゼロである。 フィールドDは属性番号を含む。オプション・レコードでは、フィールドDの 値はテーブルに特殊な特性が要求されない限りゼロで、そのような場合には特定 の属性と関連するのが普通である。たとえば、アドレスのオプション・レコード 内で郵便番号により識別されるアドレスがこれに相当する。 フィールドE、Fは値がどちらもゼロである。 フィールドGはオプション・レコードの番号を含み、桁G1からG5を使用す る。本発明の説明している実施例において、オプション・レコードの重複は許容 されないので、桁G6からG8はそれぞれが値「001」を割り当てられる。桁 G9には値「9」を割り当てる。 オプション・レコードは相互参照フィールドを含まない。つまり、ユーザ・デ ータの格納に85ビットが利用できる。これは、第2のレコードを書き込み、桁 G9を「9」ではなく「8」に設定することで、170バイトに拡張できる。つ まり、データベース全体を再構築する必要なしに大幅な変更を行なうことができ るような1つの例である。 オプション・レコードは特定のアプリケーションと関連することができる。こ のような使用では、アプリケーション番号はキーフィールドの一部として、便宜 的にフィールドCに格納される。 オプション・レコードはオプション・レコードを適用するテーブルへのアクセ スを制御するフィルタと見なすことができる。オプション・レコードの使用 オプション・レコードはアクセスを閲覧だけ、すなわち、編集を除外するよう に制限するために使用できる。安全なアクセスのために、アドレスの変更を実装 する必要がある場合、別のオプション・レコードを提供してこの機能を有効にす る。 オプション・レコードは終了プログラムの識別に使用できる。さらに、オプシ ョン・レコードを使用して、本発明のシステムを使用して、記録されていないデ ータ・ファイルの本発明のシステムによる読み込みを、終了プログラムを使用し て制御することができる。 オプション・レコードは、ユーザのセキュリティ・レベルに動的変化を実施す るために使用することがある。 それぞれのレコードの共通データ領域内に、レコード識別子として3文字を割 り当てる。これら3文字のそれぞれには、AからNまでの文字または「0」から 「9」までまたは何らかの特殊文字を割り当てることができる。つまり、許容可 能な識別子の総数は40の3乗である。しかし、識別子はレコードの特定の構造 たとえば名称に関連するので、これは識別子の総数を64,000種類に制限す るものではない。これらはレコード形式、すなわち属性値の形式である。先頭の 実体における識別子の総数は64,000である。同様に、先頭の属性以下で可 能なエントリの総数は64,000で、そのそれぞれが10億まで繰り返し可能 である。 オプション・レコードは、新規レコードを追加した時に3文字のレコード形式 コードを定義する。 一般に、エントリ・テーブルを取り出す。すなわち、オプション・レコードで 定義されているように、同じレコード形式を有するものだけではなく、(セキュ リティの対象となる)全てのレコードを受信する。 データベース内の単一のテーブルについて、多数のオプション・レコードが存 在できる。すなわち、別のレコード形式が単一テーブル内に許容できる。 オプション・レコード内では、1バイトが存在し、この1バイトは、そのオプ ション・レコードを使用してデータベースに追加されるレコード内に記録された 名称の長さを制御する。従来は、24文字の長さの名称ではなく25文字の長さ の名称を変更する、または許容する上で、非常に大きなオーバヘッドがあったが 、本発明ではデータをディスクへ書き込むときに別のオプション・レコードを使 用するだけである。名称の長さは書き込まれるレコードの共用データ領域の一部 である。 オプション・レコードは実行制御の実施にも使用できる。この点で、オプショ ン・レコードはトランザクションの境界を設定するために使用できる。より特定 すれば、1つのオプション・レコードは実行制御の開始シーケンスを記録し、別 のオプション・レコードが実行制御プロセスの完了を制御できる。従来の構成で は、挿入点のどちらかの側で手順段階の結果に注意を払わなければ、実行制御手 順に余分な段階を挿入することは不可能である。このような結果への配慮は本発 明の構成を用いると回避できる。 オプション・レコードは、同時に取り出そうとするレコード数の制御に使用す る。オプション・レコード内の1文字をこの目的で使用し、結果的に表示される レコード数は0から9までの範囲で、0を低い方ではなく高い方にして、制御で きる。 オプション・レコードは、パラグラフの見出しとパラグラフのテキストの制御 に使用できる。つまり、長い名称または短い名称(あらゆる長さまたは256文 字)の表示に使用できる。 オプション・レコードは、長い名称が存在するかどうかを定義するために使用 可能である。 一般的に言うと、表示画面上の1行は1レコードに等しい。この構成では、長 い名称はレコード当たり1行で、名称は長さ10,000行になり得る。 オプション・レコードは、処理の制御、たとえば要求された情報へのアクセス が拒否された場合に、ユーザへメッセージを表示するために使用できる。同様に 、オプション・レコードは、処理の流れの制御、たとえばユーザをメニューまた は主関連実体レコードに復帰させるために使用できる。 オプション・レコードで実現し得る処理制御は極めて柔軟である。たとえば、 電話番号の入力時にその電話番号の所有者を識別して処理をメニューに切り替え 、その所有者の他の属性を検査のために選択できるようなオプション・レコード の実現も非常に簡単である。 オプション・レコードは、別のテーブルをアクセスするために使用する次のオ プション・レコードの個数を含むことができる。 メニュー・レコードもオプション・レコード数を含む。この数を使用するオプ ション・レコードの数に加えると、処理に使用する実際の数が得られる。 トランザクション処理はブール代数論理の実装に使用できる。たとえば、5つ のエントリを含むテーブルを考える。表示制御文字が値「1」に設定された場合 、処理は1つのレコードを検索する。トランザクション処理を制御するオプショ ン・レコードは、レコードが見つかった場合または見つからなかった場合に取る べき動作を規定する。つまり、オプション・レコードはデータベース内のデ シジョン・メーカとして設定できる。 一例として、注文システム内の価格の更新を考える。時刻によって変化する価 格を実現したいとする。これは日付と時刻がスタンプしてあるキーフィールドを 用いて、すなわちフィールドEを日付にまたフィールドFを時刻に設定すること で実現できる。日付の9桁目は、日付が正しく格納されたかのチェックのために 使用する。フィールドFの最初の桁は、時刻の記録の正確さのチェックのために 使用する。オプション・レコードは、現在の日付および時刻と比較して有効なキ ーフィールドを有するレコードが特定できるまで、テーブルを後ろ向きに読み込 むように設定される。このシステムを使用すると、新しい価格を入力した時、価 格の有効期限を簡単に実現できる。つまり、事実上時間的に後ろ向きに読み込ん で、トランザクションの日付以前のもっとも新しい日付と時刻に記録された価格 を検索する。これは1つの日付から別の日付までの価格に有効な日付範囲を設定 するのが通常である従来のシステムとは対照的である。このようなシステムでの 問題点は、トランザクションの日付がデータベース内に記録された価格の日付範 囲外にある場合に、どのような処理を適用するかである。しかし、本発明による 実施例において、新しい価格が入力されるとすぐに価格は冗長かつ無効になるの で、有効期限の日付をコード化することが必要である。これら後の全てのトラン ザクションはすぐに新しい価格で行なわれる。同様に、割引、市場セクタ等を「 コード化」することができる。 この「処理」の全てがデータベース自身内にコード化され、データベース自身 で行なわれることは重要である。従来の意味では、「プログラム」に処理が格納 されたり、「プログラム」により制御されない。新しい割引をたとえば何に適用 するかを指定するように、データベース内に剰余レコードを書き込めば良い。こ れは重複データベースを設定する(新しい価格をコード化する)ことが通常必要 とされ、価格の変更を適用するために複製を原本に置き換える時間まで、2つの コピーの間でデータベース相互の一貫性を維持するのが困難な従来システムの大 きな欠点の1つを回避する。 オプション・レコードは、エラー・トラッピングと同様の方法で、処理を制御 するために使用する。つまり、ユーザの問い合せに対して1つもレコードがみつ からないまたは1つ以上のレコードがみつかった場合、システムの応答がオプシ ョン・レコードで制御される。さらなる処理もオプション・レコードにより制御 できる。たとえば、問い合せに応答して、選択されたデータ項目が取り出されな い場合、オプション・レコードにより、そのデータをデータベースに実際に追加 する選択肢をユーザに対して提示することができる。同様に、オプション・レコ ードにより、要求されたデータ項目が取り出されたときに、次の処理段階へ自動 的に進むまたは進まない様に設定できる。たとえば、アドレスを入力した場合、 システム内で実際にそのアドレスが位置付けられていることをユーザに通知する ことの利益はほとんどない。次の処理段階に進み、関連する名前を取り出し、チ ェックのためにユーザにその名前を提示する方がさらに有益であろう。実際に、 オプション・レコードをメニューとともに使用する概念は手順の作成の概念につ ながる。手順は多数の順次処理段階を実行し、それぞれの段階の個別に満たされ る条件に依存する。これは、それぞれの間で自動進行を有する「1エントリ」メ ニューの形態と考えられる。 共通データ領域フォーマットは他のレコードと同様である。 前述したように、オプションレコード内で1桁の数が表示またはアクセスしよ うとするレコード数を制御する。この桁が値「1」を有する場合、オプション・ レコードは自動進行を指定し、オプション・レコードが手順となったことになる 。 手順はデータ入力を促すために使用できる。たとえば、一度の1つのレコード にアクセスするメニューを使用している場合、オプション・レコードを使用して 特定のレコードの存在をチェックし、これが見出せない場合には値を入力するよ うに促す。 初期設定のオプション・レコードは、実体形式、実体、属性に関連するフィー ルドのそれぞれの値がゼロに設定してある。しかし、別の初期設定レベルを実現 することが可能で、この場合、これらのフィールド内の値は全てゼロではなくな ることがある。たとえば、属性を空白のままにしない場合、属性番号はゼロでは なくなる。 フィールドLはオプション・レコード番号を含む。メニュー 本発明によりデータベース内のレコードにアクセスするには、実体形式番号と 属性番号を指定する必要がある。実際に行なわれる処理はオプション・レコード の使用が多く関係し、メニュー・レコードによりアクセスされるオプションレコ ード番号の使用が含まれる。メニュー・レコードも、実体または属性レベルで初 期設定値として選択肢を取るべきかを示すためにコード化してもよい。オプショ ン・レコードの桁A1は値「5」以上を有する。つまり、オプション・レコード を形成するにはオプション・レコードでアクセスまたは制御するレコードの形式 の桁A1の値に「5」を加える。レコード形式コード、上記で参照した3文字の レコード形式コードは文字「F」から始まる。この3文字のレコード形式コード は、データベース内のそれぞれのレコード内の共通データの一部である。文字「 F」はコードの最初の文字としてどのデータ構造を使用すべきかを表わす。 フィールドCの値は、アプリケーション関連メニュー・レコードのアプリケー ション番号となる。フィールドCの値は、アプリケーションと無関係のメニュー でゼロとなる。対応するオプション・レコードはメニュー・レコードがどの形式 であるべきかを決定する。 メニュー・レコードは値「2」または「3」を有する桁A1で識別する。値「 2」はそのメニュー・レコードが現在位置への径路を制御するためのものである ことを表わし、値「3」はレコードの選択または発見の後の径路を制御するため のものであることを表わす。 メニュー・レコードのキーフィールドは、他のレコード形式で一般に前述した のと同じように構成するが、桁A1の値は別である。たとえば、メニューの名前 を実体形式としてコード化する。 メニュー・レコードの共通データ領域は通常のレコード形式と同じフォーマッ トを有する。 レコードの共通データ領域に配置された3文字のレコード形式コードは、第1 の文字が終了プログラム名の一部であるようなフォーマットを有する。たとえば 、終了プログラムに関連して、3文字のレコード形式コードの第1の文字はプ ログラム名の第4の文字と同一である。この命名法を用いると、全ての終了プロ グラムは、第1の文字がE(Erros−−本発明のシステムにつけた名称−− を表わす)で、2文字のバージョン番号が続く名前を有する。つまり、別のレコ ード・データ構造を追加したい場合、コア・プログラムの本体を変更する必要は なく、終了プログラムを単に追加するか既存のプログラムを組み込むだけである 。トランザクションのサマリー トランザクション・レコードはそれぞれのトランザクションに対して書き込ま れる。トランザクション・レコードは実体形式番号がゼロに設定される。桁A1 は値「0」となるが、これはデータ・レコードであるためである。桁A8は「0 」である。桁A9は、これが番号であるので値「1」となる。 トランザクション番号は、フィールドDの全ての桁を値「9」に設定してから 、最後のトランザクション番号がみつかるまで後ろ向きに読み込むことで生成す る。値「1」を最後のトランザクション番号に追加して新しいトランザクション 番号を形成する。この処理は代理番号の生成に関して前述したのと同様である。 典型的には、トランザクション・レコードは詳細を格納する。たとえば:ユー ザ番号、会社、部門、日付と時刻、アプリケーション番号等。トランザクション ・サマリーの使用により「やり直し(undo)」機能の実装が簡単にできる。航行(Navigation)および閲覧(Browse)機能 実体形式、実体、属性の間を移動してデータベース内を閲覧または航行するこ とができる。キーフィールドを使用し、特に属性のフィールドIからLにより、 実体形式と識別子を識別できる。フィールドIに格納された値は実体形式を識別 する。すなわち、関連レコードで桁A8が「8」に設定してある場合を除いて、 属性の相互参照フィールドに値「9」を有することと比較して、関連レコードの フィールドAの値を識別する。関連レコードのバージョン番号は桁I2からI5 の検査で決定できる。これらの桁が全て値「0」の場合には、関連レコードの フィールドBはユーザ番号を有する。しかし、桁E2からE5が全てゼロではな い場合には、関連レコードの桁B1からB5はゼロで、桁B6からB9はそれぞ れ桁E2からE5の値を有する。 このように、関連レコードのフィールドAとBの値が求められる。 関連レコードの実体番号と属性番号、すなわちフィールドCとDの値はゼロで ある。これはデータ・ツリーの開始点(または頂点)を考えているためである。 一般に、フィールドEとFの値は、属性レコードと関連レコードの間で不偏で ある。しかし、フィールドJの最後の4桁が関連レコードのフィールドGの最後 の4桁の値を示す。これも通常は変更なしを表わす。 このように、関連レコードのキーフィールド全体はコンテキストから構成され ている。さらに、関連レコードのキーフィールドを構成するこの処理は前向きま たは後ろ向きどちらかの方向に使用できる。 属性を用いるだけで非常に簡単に実現できる。たとえば、全てのメッセージを 単にリストするだけの「メッセージ」と、注目している特定のユーザへ送ったメ ッセージだけをリストする「受信したメッセージ」の間の差を考える。コンテキスト 特定のコンテキスト、つまり特定の問い合せの結果としてだけ、データにアク セスできる。このように、特定レコードの内容をみる場合、そのレコードに格納 された情報のコンテキストは既知である。さらに、情報はコンテキストから外へ は出ない。アプリケーション構造 アプリケーションはデータベース全体に対するフィルタと見なすことができる 。たとえば、データベースのサブセットを送り状処理に割り当てたいとする。ア プリケーションは送り状処理に関連するレコード、手順等へのアクセスができる 。 アプリケーションは実体形式である。添付の図面の図5aと図5bの意味ネッ トワークに図示してある。 メニューは、アプリケーション内のそれぞれの実体形式に関して利用できる属 性をフィルタする。このように、属性は1回記録するだけで良い。 全ての属性にアクセスしたい場合、アプリケーション非依存メニュー(すなわ ちフィルタなし)を使用する。これはアプリケーション・プログラム内に必要な 属性を「コーディング」する従来の方法とは対照的である。全体の概念は「コー ド化プログラム」とは異なる処理を行い、処理は実際のデータの格納の一部にな る。 アプリケーションの例を添付の図面の図6に示した意味ネットワークで図示し た。アプリケーションは、実体形式「アプリケーション」が利用できる「セキュ リティ」(security)である。実体形式の属性は「に許可される」(authorised t o)である。これもそれぞれのアプリケーション内にセキュリティがコード化さ れる従来の構成とは対照的である。 オペレータはアクセスできるアプリケーションだけを使用できるが、これはオ ペレータがユーザとして適当な属性を有するため、すなわちデータと規則が基本 的に同一と見なされることによる。つまり、ユーザはデータ間を航行するのと同 じ方法で規則間を航行する。 システム内ではスタートアップ・アプリケーションも利用できる。このアプリ ケーションは、コア・プログラムを変更せずにスタートマップ手順を変更するこ とができるものである。「許可アプリケーション」(application authorized)属 性が実行可能なアプリケーションをリストする。アプリケーションをリストした 後、データベースの航行を開始する。 この技術を用いると、入れ子構造にしたアプリケーションを簡単に実装でき、 セキュリティ・チェックをそれぞれのレベルに含めることができる。 同様に、新しい文書作成アプリケーションをコード化することが可能である。 このようなアプリケーションは著者名等のデータを要求する手順を含むことがで きる。ファイル 1つだけのファイル(またはデータベース)が必要である。それぞれのレコー ドのキーフィールドはユニークであるから、1つ以上のファイルを作成する必要 がない。しかし、運用上の理由から、データベースを幾つかの別のファイルに分 割することが望ましいこともある。たとえば、ユーザ・データを公開データから 分離するためにこのような分割を行ないたいことがある。同様に、アプリケーシ ョン定義データをアプリケーションが適用されるデータから分離するために、こ のような分離を行ないたいことがある。このように、分散のために、アプリケー ションが適用されるユーザ・データを上書きすることなく、アプリケーションを 変更することができる。したがって、第三者の「ソフトウェア」は従来のシステ ムと直接類似した方法で本発明のシステムを用いて実装可能である。 1つ以上のファイルを作成することが望ましいような状況の別の組み合せはデ ータの破棄またはアーカイブを行ないたい場合である。これはデータがメッセー ジまたは文書を含む場合に特に適用し得る。 1つ以上のファイルを作成することが望ましいような他の例は、ユーザ・デー タが特定の分野または形式に関する、たとえば美術品に関するデータベースの場 合である。 1つ以上のファイルを作成することが望ましいようなさらに別の例は、設定デ ータを格納しようとする場合で、たとえばコンピュータ端末のリストと、これら の端末からコンピュータにアクセスできるオペレータのリストについて等である 。 本明細書で説明した本発明の実施例において、全体で7つの別のファイルを使 用した。これらのファイルは: (1)単語ディレクトリ (2)ユーザ・データ (3)非公開データ (4)公開アプリケーション・データ(例えば国名のリスト等) (5)公開アプリケーション・データ;汎用ではなく特定(技術史) (6)アプリケーション定義(類義語辞典(シソーラス)を含む) (7)構成(コンフィギュレーション)ファイル (8)メッセージ・テキスト・ファイル (9)トランザクション・サマリー システムの他の唯一の部分はコア・プログラムで、これは1MB以下の命令を 含む。類義語辞典 (シソーラス:thesaurus) 類義語辞典の重要な特徴は、単語ディレクトリ・ファイルから区別されている ことである。類義語辞典は主データベースの一部をなし、「類義語辞典」が実体 形式である。類義語辞典は(何らかの言語の)文章を含むが、単語ディレクトリ は、これと対照的に、独立した単語だけを含む。データベースのアプリケーショ ン構造を定義するために、使用される全ての術語を類義語辞典に最初に入力して おく必要がある。この処理の一部として、代理番号が割り当てられる。 システム全体で識別子として使用される全ての単語は、単語ディレクトリに含 める必要がある。しかし、単語ディレクトリ全体を類義語辞典が必ずしも含まな くても良い。 類義語辞典は用語の集中リポジトリである。データベース構造を定義するのに 必要な全ての用語が類義語辞典に含まれる必要がある。つまり、新しい実体形式 を追加するには、その実体形式の名前を類義語辞典に入れることが最初に必要で ある。これが添付の図面の図7に図示した意味ネットワークで図示してある。 次に、特定の名前が実体形式かを調べるために類義語辞典にアクセスできる。 類義語辞典は標準的な単語と分節の使用を強制する。すなわち、桁G5は重複 を許容するが、それぞれが別の代理番号を有することになる。 単語ディレクトリと類義語辞典の間の対比の一例としては、単語ディレクトリ は単語「赤」を1回だけ記録する。類義語辞典は単語「赤」を数回記録すること がある。たとえば第1の項目は色として、第2の例は政治に関連して等である。 したがって、類義語辞典を調べて、単語「赤」の考えられる意味のリストを取り 出すことができる。 類義語辞典により、単語「赤」に関して、システム内に存在する他の知識を見 つけ出すことができる。 類義語辞典は全てのトランザクション処理では使用されない。たとえば、属性 記述「である」(in a)を考えてみる。フレーズ「である」は類義語辞典から取り 出せるが、データベース内の航行は、すぐである。それは、処理がその最初の類 義語辞典参照から実体形式を介して実体へとなるからである。表現「類義語辞典 」は実体形式で、「実体形式」は類義語辞典に含まれている。マルチ・ユーザ・グループ 1つのシステム上で、マルチ・ユーザ・グループに対応することが可能である 。個人ユーザ・データのために別のファイルを作成して、新規ユーザ・グループ を簡単に追加できる。レコードの検索では、コア・プログラムは常にユーザ・グ ループ番号を参照する。 1つのユーザ・グループのメンバーは、別のユーザ・グループのメンバーにメ ッセージを送信できる。 キーフィールドの一部としてユーザ・グループ番号を使用すると、固有のセキ ュリティが実現される。別のユーザ・グループに属するデータ間の交差アクセス は実現されない。つまり、他のグループのデータへのアクセスを防止するのもそ の逆も非常に簡単である。これは関連レコードのキーフィールドの一部であるた めである。コア・プログラムの構造 (1)「要求処理」プログラム。動作インタフェース本体。 (2)データベースにアクセスするメイン・プログラム。全体の制御プログラ ム。これは他のプログラムを全て呼び出せる。 (3)「データベース更新」プログラム。オペレータにテキスト処理インタフ ェースも提供する。 (4)終了プログラム:ERROSまたはユーザ定義のたとえば、maths/prin ting/の別画面表示。終了プログラム 終了プログラムは、一部はすでに触れたように、以下の命名法を便宜的に採用 している。終了プログラムの第1の文字は常に文字E(ERROS−−本発明の システムに関して使用する名称−−を表わす)である。第2の文字はプログラム のリリース番号を表わす。第3の文字はプログラムの修正を表わす。第4の文字 は、この終了プログラムにより処理するレコード形式の3文字レコード識別子の 第1の文字である。終了プログラムの第5の文字はプログラムのバージョン番号 を指定する。この文字は、AからZまでの何らかの文字または0から9までの範 囲の何らかの数字または特殊文字を割り当てられる。終了プログラム名の第6か ら第10までの文字はユーザ・グループ番号を表わす。これをゼロとして、あら ゆるユーザ・グループで利用可能なことを表わすことができる。 ユーザ独自のオプション・レコードは、どのバージョンのプログラムを使用す べきか、および特定のユーザ・グループについてそのオプション・レコードから 呼び出されるそのプログラムが自身のユーザー・グループか、または共有利用可 能なバージョンかを指定する。 この命名法によれば、同一プログラムの別のバージョンの混同を回避するのが 簡単にでき、全てのノードがそれぞれのユーザ・グループについて、プログラム のどのバージョンを使用するかを定義できる。これは、異なる画面描画等の簡単 な選択またはもっと難解な要求を組み込むことができる。 終了プログラムはプログラム・ライブラリに含めることができる。プログラム ・ライブラリにつける名前は、望ましくは以下の命名法を用いるべきである。ラ イブラリ名の第1の文字は文字Eである。第2の文字はリリース番号を表わす。 第3の文字は変更を表わす。第4の文字は変更レベルを表わす。この命名法はあ る種のコンピュータのハードウェア形式で特に有用である。たとえば、IBM社 製AS400装置は、それぞれのジョブが関連したライブラリ・リストを有する ようなライブラリ・リストを使用する。 本発明によるシステムの大きな利点は、必要とされるメモリー常駐コード(コ ア・プログラム)の量が小さいことである。実際に、この利点は、コア・プログ ラムが充分に小さいことによるもので、たとえばIBM社製AS400等の装置 のメモリー内に常駐できる。したがって、プログラムのページングの必要性が大 幅に回避される。ヘルプ・システム 実体形式としてヘルプ・ファイルを指定することにより、オンライン・ヘルプ 機能が容易に実装できる。つまり、実体形式「ヘルプ」、実体「業務」属性「電 話番号」により「業務」と「電話番号」の間の代理レコードを形成し、このレコ ードがその組み合せの説明を含む。実体形式は別のコンテキストで考えた場合に 実体になるので、ヘルプ・システムを実装するためにコア・プログラムで必要と される処理は極くわずかである。ヘルプ・テキストはそれぞれの個別の実体に対 してではなく特定の実体形式で記録する。 ヘルプ・メニューはアプリケーション固有である必要がない。 ヘルプ・システムの使用は、データベース内に記録された他の種類のデータへ のアクセスと同じである。前述したのと同じ方法で関連レコード間を航行する。 上記のオンライン・ヘルプ・システムは、完全に独立したオンライン・ヘルプ ・データベースとこれに関連するプログラムの組を作成するような、従来の方法 を完全に回避するものである。 上述の本発明の説明は、1993年10月4日付英国特許出願第932040 4.8号に記載されたものである。該日付以降、各種の変更が実装され、試験さ れた。これらの変更のうちで特に、前述したオプション・レコードが前述のメニ ュー・レコードと統合された実施例があった。原理は変わらないが、単一のレコ ード形式を前述の2つのかわりに使用する。別の変更はさらに、データを記録す るための代理レコードの使用であった。前述のように、代理レコードは代理番号 を記録するために存在しており、これはシステムの主要な内部識別子と考えるこ とができる。しかし、代理レコード内にさらにデータを記録することができる。 このような追加データは、代理レコードが関連するレコードの内容に関連すべき で、望ましくは関連レコードの内容で表示すべきである。 1993年10月以降本発明の初期の実施が独立して試験された。このような 試験は、従来のプログラミング技術と比較して、新規アプリケーション(すなわ ち「プログラム」の一種)の開発効率を500%またはそれ以上に改善すること を意図したものであった。テストによれば、完成したアプリケーションの動作速 度においても同程度の改善が報告された。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ),AM, AT,AU,BB,BG,BR,BY,CA,CH,C N,CZ,DE,DK,ES,FI,GB,GE,HU ,JP,KE,KG,KP,KR,KZ,LK,LT, LU,LV,MD,MG,MN,MW,NL,NO,N Z,PL,PT,RO,RU,SD,SE,SI,SK ,TJ,TT,UA,US,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.少なくとも2つの識別子の数値連結から成るキーフィールドを有するレコー ドの作成を含むデータの格納と取り出しの方法。 2.前記キーフィールドは、実体形式の識別子と属性の識別子を含む請求項1に 記載の方法。 3.前記キーフィールドは、請求項2に記載したものおよび実体の識別子を含む 少なくとも3つの識別子の数値連結である請求項2に記載の方法。 4.前記キーフィールドの一部は、前記レコードの非キーフィールド部分の構造 を表わす先行の請求項のいずれかに記載の方法。 5.リスト内のそれぞれのエントリに数値が予め割り当ててある単語および/ま たはフレーズのリストから、数値が得られる先行の請求項のいずれかに記載の方 法。 6.前記レコードの幾つかはデータを格納し、前記レコードの他のものはデータ 間の関連性の詳細を格納する先行の請求項のいずれかに記載の方法。 7.前記レコードの幾つかはデータを格納し、前記レコードの他のものはデータ 処理を制御する先行の請求項のいずれかに記載の方法。 8.情報項目の記録は3つのレコードの作成と記録に関連し、そのそれぞれが他 の2つのレコードを識別することのできる識別子を含む先行の請求項のいずれか に記載の方法。 9.前記キーフィールドは英数字の記述から得られる番号を含み、前記番号は単 語のリストから得られ、前記リストにおいて、リストのそれぞれのエントリに対 して数値が、前記第1の後の英数字の記述における単語に割り当てられている重 要性が減少するように、予め割り当ててある先行の請求項のいずれかに記載の方 法。 10.少なくとも2つの識別子の数値連結から成るキーフィールドを有するレコ ードを形成する手段を含むデータ格納および取り出しシステム。
JP7510684A 1993-10-04 1994-10-04 データの格納および取り出しの方法ならびにその装置 Pending JPH09503326A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9320404.8 1993-10-04
GB939320404A GB9320404D0 (en) 1993-10-04 1993-10-04 Method & apparatus for data storage & retrieval
PCT/GB1994/002148 WO1995010091A1 (en) 1993-10-04 1994-10-04 Method and apparatus for data storage and retrieval

Publications (1)

Publication Number Publication Date
JPH09503326A true JPH09503326A (ja) 1997-03-31

Family

ID=10742956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7510684A Pending JPH09503326A (ja) 1993-10-04 1994-10-04 データの格納および取り出しの方法ならびにその装置

Country Status (15)

Country Link
US (1) US5799308A (ja)
EP (1) EP0722591B1 (ja)
JP (1) JPH09503326A (ja)
KR (1) KR960705280A (ja)
CN (1) CN1132564A (ja)
AT (1) ATE181433T1 (ja)
AU (1) AU695765B2 (ja)
BR (1) BR9407754A (ja)
CA (1) CA2173439A1 (ja)
DE (1) DE69419166D1 (ja)
FI (1) FI961501A (ja)
GB (1) GB9320404D0 (ja)
NO (1) NO961388L (ja)
NZ (1) NZ273983A (ja)
WO (1) WO1995010091A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1917906A1 (en) 2006-11-06 2008-05-07 Sharp Kabushiki Kaisha Measurement data communication device, information acquiring device, and system

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794207A (en) * 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
JP3363292B2 (ja) * 1995-10-12 2003-01-08 株式会社日立製作所 データベース管理システム
JP3637660B2 (ja) * 1995-12-15 2005-04-13 ソニー株式会社 データ配信方法及びその装置
DE69726764T2 (de) * 1996-02-06 2004-10-07 Fisher Rosemount Systems Inc System zur Verwaltung von Feldgeräten
US5778157A (en) * 1996-06-17 1998-07-07 Yy Software Corporation System and method for expert system analysis using quiescent and parallel reasoning and set structured knowledge representation
US5787435A (en) * 1996-08-09 1998-07-28 Digital Equipment Corporation Method for mapping an index of a database into an array of files
US6114970A (en) * 1997-01-09 2000-09-05 Motorola, Inc. Method of assigning a device identification
US6076051A (en) * 1997-03-07 2000-06-13 Microsoft Corporation Information retrieval utilizing semantic representation of text
US8914410B2 (en) 1999-02-16 2014-12-16 Sonicwall, Inc. Query interface to policy server
US6408336B1 (en) 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US7821926B2 (en) 1997-03-10 2010-10-26 Sonicwall, Inc. Generalized policy server
US7272625B1 (en) * 1997-03-10 2007-09-18 Sonicwall, Inc. Generalized policy server
US6507822B1 (en) 1997-10-06 2003-01-14 Walker Digital, Llc Method and apparatus for managing the sale of aging products
US6898586B1 (en) 1998-10-23 2005-05-24 Access Innovations, Inc. System and method for database design and maintenance
US6466942B1 (en) * 1998-11-30 2002-10-15 Fmr Corp. Using indexes to retrieve stored information
US20020029217A1 (en) * 1999-08-09 2002-03-07 Raycam System Technology Telephone number inquiry method and database for all residents
US6804676B1 (en) * 1999-08-31 2004-10-12 International Business Machines Corporation System and method in a data processing system for generating compressed affinity records from data records
AU7596500A (en) 1999-09-20 2001-04-24 Quintiles Transnational Corporation System and method for analyzing de-identified health care data
US6732113B1 (en) 1999-09-20 2004-05-04 Verispan, L.L.C. System and method for generating de-identified health care data
US6725240B1 (en) * 2000-08-08 2004-04-20 International Business Machines Corporation Apparatus and method for protecting against data tampering in an audit subsystem
US7178100B2 (en) * 2000-12-15 2007-02-13 Call Charles G Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers
US7734459B2 (en) * 2001-06-01 2010-06-08 Microsoft Corporation Automatic extraction of transfer mappings from bilingual corpora
US7050964B2 (en) * 2001-06-01 2006-05-23 Microsoft Corporation Scaleable machine translation system
US7137553B2 (en) * 2001-12-31 2006-11-21 Digital Data Research Company Security clearance card, system and method of reading a security clearance card
US6805407B2 (en) * 2002-02-12 2004-10-19 Intier Automotive Inc. Two way cushion floor latch
AU2003259197A1 (en) * 2002-07-24 2004-02-09 Congruence Llc. Code for object identification
WO2004023328A1 (en) * 2002-09-05 2004-03-18 Stex Technologies Private Limited Indexed data storage system, method and data structure
WO2005101791A1 (en) * 2004-04-16 2005-10-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for handling user's attributes sharing between service providers
US7664759B2 (en) * 2004-05-18 2010-02-16 Hewlett-Packard Development Company, L.P. Method and system for storing self-descriptive tabular data with alphanumeric and binary values
WO2006095365A2 (en) * 2005-03-11 2006-09-14 Suresh Sambandam A system and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface
US20070073651A1 (en) * 2005-09-23 2007-03-29 Tomasz Imielinski System and method for responding to a user query
US20070078842A1 (en) * 2005-09-30 2007-04-05 Zola Scot G System and method for responding to a user reference query
US20070118503A1 (en) * 2005-11-22 2007-05-24 Connelly Stephen P Methods and systems for providing data to a database
US7870138B2 (en) * 2006-02-21 2011-01-11 Richard Alton Van Voorhis File storage and retrieval method
US9355273B2 (en) * 2006-12-18 2016-05-31 Bank Of America, N.A., As Collateral Agent System and method for the protection and de-identification of health care data
US8065307B2 (en) * 2006-12-20 2011-11-22 Microsoft Corporation Parsing, analysis and scoring of document content
US8015581B2 (en) * 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
US7599997B1 (en) 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US7636759B1 (en) 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US7636761B1 (en) 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US8458285B2 (en) 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US8386585B2 (en) 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US7668927B2 (en) 2008-05-07 2010-02-23 Gene Fein Deletion in data file forwarding framework
US8452844B2 (en) 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US8370446B2 (en) 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US8478823B2 (en) 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US8352635B2 (en) 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
US20100114607A1 (en) * 2008-11-04 2010-05-06 Sdi Health Llc Method and system for providing reports and segmentation of physician activities
US9141758B2 (en) * 2009-02-20 2015-09-22 Ims Health Incorporated System and method for encrypting provider identifiers on medical service claim transactions
US9026562B2 (en) * 2012-10-05 2015-05-05 Hazeltree Fund Services, Inc. Methods and systems for agnostic data storage
CN103870492B (zh) * 2012-12-14 2017-08-04 腾讯科技(深圳)有限公司 一种基于键排序的数据存储方法和装置
US9304765B1 (en) * 2013-03-05 2016-04-05 Emc Corporation Method and system for tracking changes to application model definitions for application model migration
US20210232702A1 (en) * 2018-05-14 2021-07-29 Roy Moshe Gelbard Method and system for data privacy protection in relational databases
CN111259107B (zh) * 2020-01-10 2023-08-18 北京百度网讯科技有限公司 行列式文本的存储方法、装置以及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206949A (en) * 1986-09-19 1993-04-27 Nancy P. Cochran Database search and record retrieval system which continuously displays category names during scrolling and selection of individually displayed search terms
CA1322422C (en) * 1988-07-18 1993-09-21 James P. Emmond Single-keyed indexed file for tp queue repository
DE69032712T2 (de) * 1989-06-14 1999-07-01 Hitachi Ltd Hierarchischer vorsuch-typ dokument suchverfahren, vorrichtung dazu, sowie eine magnetische plattenanordnung für diese vorrichtung
JPH0370048A (ja) * 1989-08-09 1991-03-26 Hitachi Ltd ディクショナリ創成方法
DE69033121T2 (de) * 1989-09-01 1999-10-28 Amdahl Corp Betriebssystem und Datenbank mit einer Regelsprache zum bedingungsgesteuerten Rechnerbetrieb
GB2243467B (en) * 1990-04-26 1994-03-09 Int Union Of Crystallography Handling data
EP0523269A1 (de) * 1991-07-18 1993-01-20 International Business Machines Corporation Computersystem zur Datenverwaltung
US5548749A (en) * 1993-10-29 1996-08-20 Wall Data Incorporated Semantic orbject modeling system for creating relational database schemas
US5560005A (en) * 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1917906A1 (en) 2006-11-06 2008-05-07 Sharp Kabushiki Kaisha Measurement data communication device, information acquiring device, and system

Also Published As

Publication number Publication date
NZ273983A (en) 1998-04-27
EP0722591B1 (en) 1999-06-16
KR960705280A (ko) 1996-10-09
EP0722591A1 (en) 1996-07-24
CA2173439A1 (en) 1995-04-13
WO1995010091A1 (en) 1995-04-13
ATE181433T1 (de) 1999-07-15
AU7787894A (en) 1995-05-01
CN1132564A (zh) 1996-10-02
GB9320404D0 (en) 1993-11-24
FI961501A0 (fi) 1996-04-03
AU695765B2 (en) 1998-08-20
NO961388L (no) 1996-06-03
NO961388D0 (no) 1996-04-03
FI961501A (fi) 1996-05-30
US5799308A (en) 1998-08-25
BR9407754A (pt) 1997-03-04
DE69419166D1 (de) 1999-07-22

Similar Documents

Publication Publication Date Title
JPH09503326A (ja) データの格納および取り出しの方法ならびにその装置
US5727202A (en) Method and apparatus for synchronizing information on two different computer systems
US5222234A (en) Combining search criteria to form a single search and saving search results for additional searches in a document interchange system
US8812554B1 (en) Method and system for storing shared data records in relational database
US6374252B1 (en) Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US20010016853A1 (en) Method and apparatus for synchronizing information on two different computer systems
JPH0667951A (ja) データベース管理システム
US7117197B1 (en) Selectively auditing accesses to rows within a relational database at a database server
JPWO2007083371A1 (ja) データ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体
AU2001236686A1 (en) Selectively auditing accesses to rows within a relational database at a database server
US11907251B2 (en) Method and system for implementing distributed lobs
JPH06290099A (ja) 記憶管理方法及びサブシステム
US5299122A (en) Table manipulations for enterprise specific search terms
US7127448B1 (en) Reforming queries to selectively audit accesses to rows within a relational database
US7856457B1 (en) Uniquely identifying an object before it is stored in a database
WO2010089403A1 (en) Two-valued logic database management system with support for missing information
JP2778025B2 (ja) 共起関係辞書の学習方法
EP0435805B1 (en) Method of forming a search criteria and saving a search result
US20040103392A1 (en) Saving and retrieving archive data
JPH09305449A (ja) データベース管理システム
WO1989003567A1 (en) A relational database using identifiers
JPH0444171A (ja) 情報ファイルシステム
JPH04131944A (ja) 文書タイトル情報一括変更機能を備えた文書フアイリング装置
JPH0736766A (ja) ファイル管理装置
Veldwijk Towards a catalog standard for the relational model version 2