JPS59502038A - Dynamic database representation - Google Patents

Dynamic database representation

Info

Publication number
JPS59502038A
JPS59502038A JP50363683A JP50363683A JPS59502038A JP S59502038 A JPS59502038 A JP S59502038A JP 50363683 A JP50363683 A JP 50363683A JP 50363683 A JP50363683 A JP 50363683A JP S59502038 A JPS59502038 A JP S59502038A
Authority
JP
Japan
Prior art keywords
database
record
data
format
data 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
JP50363683A
Other languages
Japanese (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 ウエスタ−ン エレクトリツク カムパニ−,インコ−ポレ−テツド
Priority claimed from PCT/US1983/001696 external-priority patent/WO1984002022A1/en
Publication of JPS59502038A publication Critical patent/JPS59502038A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 1 動的データベース表現 技術分野 本発明は計算機によるデータベース、特に計算機による情報検索システムで使用 するためのデータベース情報の動的に変化できる表現法に関する。[Detailed description of the invention] 1 Dynamic database representation Technical field The present invention is used in computer-based databases, especially computer-based information retrieval systems. This paper relates to dynamically changing representations of database information.

発明の背景 大量の情報を計算機でアクセスできるデータベースのレコードとして表現するこ とはよく行なわれている。このようなデータベースは典型的には磁気ディスクシ ステムのような大容量記憶装置に記憶されている。従来技術においては、特定の 計算機のバーどうエアとこのような情報にアクセスし、これを取扱がうために利 用できる特定の計算機ソフトウェアを活用するために、このような記憶媒体中の 各レコードのフォーマットが作られ、構成されていた。Background of the invention Representing large amounts of information as records in a database that can be accessed by a computer It is often done. Such databases are typically magnetic disk systems. stored in a mass storage device such as a stem. In the prior art, certain Use the calculator bar to access and work with such information. in such storage media to take advantage of the specific computer software available. Each record was formatted and structured.

新らしい環境を利用したり、それに対応したりするためにデータベースのアクセ スプログラムを変更しなければならないときには、新らしいデータの形式を反映 するようにデータベースを再構成することが頻々必要である。例えばデータ項目 の追加や削除のためにこの変更を反映してデータベース全体を再構成しなければ ならないこともある。もしデータベースが非常に大きければ、データベースの大 きさそのものがデータベースシステムの改善の制限要素になることもある。すな わち、データベースの大きさがある規模に達すると、外部の環境に応じてデータ ベース中のデータのフォーマットを変更することは不経済になる。この時点にお いて、データベースの革新は止まり、時間的に変化しない外部環境における静的 な表現になる。従ってデータベースの有用性はこの時点から先は時間の経過に従 って低下することになる。Database access is required to take advantage of and adapt to new environments. When the program must be changed to reflect the new data format. It is often necessary to reconfigure the database to For example, a data item The entire database must be reconfigured to reflect this change due to the addition or deletion of Sometimes it doesn't. If your database is very large, The size itself may be a limiting factor in improving database systems. sand In other words, once the database size reaches a certain scale, the data will be processed according to the external environment. Changing the format of data in the base becomes uneconomical. At this point database innovation has stopped, and database innovation has stopped, with static data in an external environment that does not change over time. It becomes an expression. Therefore, from this point on, the usefulness of the database will depend on the passage of time. This will result in a decline.

金里皇!旌 本発明の一実施例に従えば、処理コンピュータの外部で使用されるデータ表現手 法と処理コンピュータの内部で使用されるデータ表現を分離することによって、 これらの欠点が解決される。これらの二つのデータ表現を分離することによって 、情報検索システムの開発におけるデータベースの規模の制約要因を除くことが できる。King Jinri!旌 According to one embodiment of the invention, a data representation method used external to the processing computer By separating the data representation used inside the processing computer from the These drawbacks are resolved. By separating these two data representations , it is possible to eliminate the limiting factor of database size in the development of information retrieval systems. can.

詳しく述べれば、基本的なレコード定着がはじめに工夫される。To be more specific, the basic fixation of records is first devised.

この−膜化されたレコード定義から、二つの異る別個のしかし論理的には等価な データ表現が誘導される。外部レコードと呼ばれる第1のデータ表現はデータベ ースそのものの中に存在するが、これはデータベースを利用するコンピュータの プログラムの外部にある。第2のデータ表現は内部レコードと呼ばれ、これはデ ータベースを取扱かう計算機プログラムの中に存在し従ってコンピュータのプロ グラムそのもののプログラム言語にネイティブなデータ構造とフォーマットを共 用する。情報の内部データ表現と外ラム手法で必要となる任意の所望のフォーマ ・ノドの間の構造の差を調整するのに使用される。従って、内部および外部のレ コードフォーマットは相互に独立となり、その環境において特定の要求を利用で きるようになる。From this - membranous record definition, two distinct but logically equivalent Data representation is induced. The first data representation, called the external record, is database itself, but this is the computer that uses the database. External to the program. The second data representation is called an internal record, which is exists in computer programs that handle databases and therefore Sharing data structures and formats native to the program's own programming language use Internal data representation of information and any desired format required by the external RAM method -Used to adjust structural differences between nodes. Therefore, internal and external Code formats are independent of each other and can be used to meet specific requirements in the environment. You will be able to do it.

例えば、外部レコードフォーマットはどのような処理プログラムからも独立で、 それ自身で意味を持つようにすることもできる。For example, external record formats are independent of any processing program; It can also be made to have meaning on its own.

従って、外部データは英数字の文字列の華純な階層構造として人rat−十−1 読A、ア礒解で六を形のデータ項目とデータ値の対としてフォーマット化するこ とができる。すなわち、レコードの各行は情報実体の名前とその実体め値から成 る。行はデータ項目の間の階層的な関係を適切に反映するように意図されている 。これに対して内部データフォーマットは処理プログラムを形成するのに使用さ れる元のプログラム言語のすべての表現力を利用するような方法で形成される。Therefore, external data is defined as a pure hierarchical structure of alphanumeric character strings. In reading A and reading A, it is possible to format 6 as a pair of shaped data items and data values. I can do it. That is, each row of a record consists of the name of an information entity and its entity value. Ru. Rows are intended to properly reflect hierarchical relationships between data items . Internal data formats, on the other hand, are used to form processing programs. is formed in such a way that it takes advantage of all the expressive power of the programming language from which it is written.

この構成では外部データベースの表現は生成された華純な英数字のテキストとし て生成され標準的なワードプロセツサの手法を使って保守される。さらに、デー タ項目の削除と修正はこれらのワード処理の手法によって行なわれる。このよう なデータベースにおいて情報を処理するのに要する内部データ表現は処理プログ ラムによって外部データ表現から動的に生成される。外部レコードをアクセスす るコンピュータのプログラムがこれを要求しているプログラムで処理するのに最 も適した形に変換する。元のプログラム言語の独特の能力と使用されるハードウ ェアシステムの独特の物理的特性を利用するたりに、同一のデータに対して、異 る要求プログラムが異る元のプログラム言語(NPL)で書かれていたとき、別 の異る内部表現を提供することができる。従って、完全に新らしいハードウェア システムへの変化か、データベースを全く変更することなく可能になる。In this configuration, the representation in the external database is as pure alphanumeric text that is generated. is generated and maintained using standard word processor techniques. In addition, data Deletion and modification of data items are performed using these word processing techniques. like this The internal data representation required to process information in a database is a processing program. dynamically generated from an external data representation by the RAM. Accessing external records The program on the computer that is requesting this also converted into a suitable form. Unique capabilities of the original programming language and the hardware used By taking advantage of the unique physical characteristics of the software system, you can When the request program is written in a different original programming language (NPL), can provide different internal representations of Therefore, completely new hardware This can be done without any changes to the system or database.

図面の簡単な説明 第1図は本発明に従う二重データ表現を用いたデータヘースW積検索システムの 一般的フロ、り図; 第2図は第1図のシステムを実現するのムこ使用されるオフラインの準備のより 詳しいブロック図; 第3図は第1図のシステムを実現するのに用いられるランタイセスのより詳しい フロック図; 第4図は第3図で用いられるGETRECルーチンのフローチャート; 第5図は第3図で用いられるP[JTRECルーチンのフローチャートを詳しく 参照すれば、第1図にはコンピュータの内部と外部異るデータ表現を利用するよ うなデータベースシステムの一般的ブロック図を示している。このシステムは便 宜上一段レコードインタフェース手法(GRIT)と呼ぶ。特にデータベース1 0は多数のレコードを持ち、その各々は標準のワード処理システム11で直接ア クセスし、エディツトすることができる英数字で表現されている。すなわち、す べてのアルファベント、数字、ラインおよびスペース制御の文字はASCIIの ようなワード処理端末11に処理することなく直接表示または印刷できる標準の コードで表わされている。従って、データベース10に新らしいレコードを追加 したり、データベース10中に存在するレコードを変更したり、あるいはデータ ベース10からレコードを削除したりするためにワード処理端末を使用すること ができる。Brief description of the drawing Figure 1 shows a data hese W product search system using dual data representation according to the present invention. General flow chart; Figure 2 shows more of the offline preparations used to realize the system in Figure 1. Detailed block diagram; Figure 3 shows a more detailed explanation of the Rantaises used to implement the system in Figure 1. Flock diagram; Figure 4 is a flowchart of the GETREC routine used in Figure 3; Figure 5 shows a detailed flowchart of the P[JTREC routine used in Figure 3. For reference, Figure 1 shows how different data representations are used inside and outside the computer. 1 shows a general block diagram of a database system. This system is convenient For convenience, this is called the single-tier record interface technique (GRIT). Especially database 1 0 has a number of records, each of which can be accessed directly by a standard word processing system 11. It is represented by alphanumeric characters that can be accessed and edited. In other words, All alpha vents, numbers, line and space control characters are ASCII A standard file that can be directly displayed or printed without processing on a word processing terminal 11 such as expressed in code. Therefore, a new record is added to database 10. or modify existing records in the database 10, or Using a word processing terminal to delete records from base 10 Can be done.

データベース10中のレコードの各々のフォーマント(例えば、書き込みの順序 )はレコード定義12に標準形で記述されている。The format of each record in database 10 (e.g., order of writing) ) is described in the record definition 12 in standard form.

一般にこれらのフォーマットは完全に任意で良いが、データとデータの間の関係 が初心者にも一見してわかるように配置されていることが望ましい。例えば、レ コード定義12においては、各データフィールドのラベルがそのフィールドに入 るデータの文字数で表わした最大長と共に供給される。これらのレコード定i1 2は機蛾読み取り可能な形でレコードコンパイラ13に供給すれる。In general these formats can be completely arbitrary, but the relationships between the data It is desirable that the information be arranged so that even beginners can understand it at a glance. For example, In code definition 12, each data field's label is entered into that field. is supplied along with the maximum length in characters of data to be used. These record specifications i1 2 is supplied to the record compiler 13 in a machine-readable form.

コンパイラ13はレコード定912を取り、レコードの各々を元のプログラム言 語(NPL)の構造定義とレコード記述子と呼ばれる初期化されたNFLデータ 構造15に変換する(一般レコードインタフェースプロセッサ、GRIPと呼ば れる)コンピュータプログラムである。The compiler 13 takes the record definitions 912 and converts each of the records into the original program language. Structure definition of word (NPL) and initialized NFL data called record descriptor Structure 15 (called General Record Interface Processor, GRIP) It is a computer program.

GRITのレコード定義はGRITコンパイラ13によって処理される。各レコ ードについて、二つのファイル14および1.5が作られる。一方(ファイル1 4>はデータ構造の定義を含み、他方(ファイル15)はレコード記述子を含む 。GRIT record definitions are processed by the GRIT compiler 13. Each record Two files 14 and 1.5 are created for the code. On the other hand (file 1 4> contains the definition of the data structure and the other (file 15) contains the record descriptor. .

データ構造定義14は元のプログラム言語すなわちNFL(例えばC言語)でG RITレコード表現を表わす。この定義は応用に必要なデータ構造の種々の形を 生成するために応用プログラマによって使用される。The data structure definition 14 is written in the original programming language, that is, NFL (for example, C language). Represents a RIT record representation. This definition covers the various forms of data structures needed for the application. used by application programmers to generate

レコード記述子15はASCII文字列の形の名前を特定のオフセントと関連さ せ、与えられたデータ構造の中に入れるために充分な情綴を持ったシンボル表で ある。この記述子は基本オンラインI10関数getrec ()とputre c ()で用いられ、これは後述するように内部プログラムと外部ファイルのG RIT形式の間のマツピングを行なうのに用いられる。レコード記述子はNFL で初期化され、その各々がそれ自身の初期化されたインタスンスを持つすべての レコード記述子に使用される共通のデータ構造の形を持っている。Record descriptor 15 associates a name in the form of an ASCII string with a particular offset. A symbol table with sufficient information to fit into a given data structure. be. This descriptor uses the basic online I10 functions getrec() and putre c (), and this is used in G of internal programs and external files as described later. Used to perform mapping between RIT formats. Record descriptor is NFL , each of which has its own initialized instance. Has a common data structure shape used for record descriptors.

GRITのレコード定義はレコード記述言語で書かれる。これは意図する概要の 形の華純な記述による。例えば、inf。GRIT record definitions are written in a record description language. This is the intended summary Based on the simple description of the shape. For example, inf.

name C40〕 addr log (2,) rm(6) は二つのフィールド″name”と“addr” (addressの省略)を 含む“1nfo ”と呼ばれるGRITレコードを定義する。nameは40文 字以下である。addrは三つのフィールド“log ”、“rm”および“e xt ”を持ちその各々の最大の長さは文字数で2.6および4である。name C40〕 addr log (2,) rm(6) has two fields “name” and “addr” (address omitted). Define a GRIT record called “1nfo” that includes: name is 40 sentences characters or less. addr has three fields “log”, “rm” and “e xt” and the maximum length of each is 2.6 and 4 characters.

GRITのレコード定義の長さあるいは深さくインデンテーション)には本質的 な制約はない。The length or depth of the GRIT record definition (or deep indentation) is essentially There are no restrictions.

レコード定義言語の形式的記述はハソヵスナウア形式(BNF)文法で次のよう に与えられる。The formal description of the record definition language is the Hasokasnaur Format (BNF) grammar as follows: given to.

レコード定義: フィールド定義 フィールド定義: ユーザ名オブジェクト定義オブジェクト定@:〔整数〕 オブジェクト定義: →定義リスト← 定義リスト: 定義リスト: 定義リストフィールド定義定義リスト: 定義リスト配列定義 配列定義: ユーザ名〔整数〕オブジェクト定義ユーザ名はユーザによって与え られNFLの名前のシンタクスに整合しなければならない。矢印−と−は1個の タブによるインデンテーションの増減を表わす。従って一定義リストーという句 は定義のインデントされたリストを表わす。整数とは整数の数字であり、フィー ルド定義においてはフィールド中の最大の文字数を表わし、配列定義においては アレイ中のオブジェクトの数を表わす。Record definition: field definition Field definition: User name object definition object definition @: [integer] Object definition: →Definition list← Definition list: Definition list: Definition list field definition Definition list: Definition list array definition Array definition: Username [integer] Object definition username is given by the user. must be consistent with NFL name syntax. Arrows - and - are one Indicates the increase/decrease in indentation due to tabs. Therefore, the phrase ``one definition list'' represents an indented list of definitions. An integer is an integer number, a feature In field definitions, it represents the maximum number of characters in the field; in array definitions, it represents the maximum number of characters in the field. Represents the number of objects in the array.

文法は次のように解釈される。レコード定義はフィールド定義である。フィール ド定義はオブジェクト定義が後に続くユーザ名である。オブジェクト定義は括弧 の中の整数であるか、あるいは意図した定義リストである。定義リストは0ある いはそれ以上のフィールド定義もしくは配列定義である。配列定義はユーザ名の あとに括弧中の整数があり、それにオブジェクト定義が付いたものである。The grammar is interpreted as follows. Record definitions are field definitions. feel A code definition is a username followed by an object definition. Object definition is in parentheses is an integer in , or the intended definition list. There are 0 definition list or more field or array definitions. Array definition is username It is followed by an integer in parentheses, followed by an object definition.

文法はりカーシブ(再帰的)であることに注目して゛いただきたい。例えば、フ ィールド定義はオブジェクト定義を含んでおり、これは定義リストを含み、これ がフィールド定義を含むが、これが出発点である。この定義法によってGRIT レコード定義の一般的な樹状の性質が現れるが、ここで各フィールドは次に他の フィールドから構成されることになる。Please note that the grammar is cursive. For example, A field definition contains an object definition, which contains a definition list, which contains field definitions, but this is the starting point. With this definition method, GRIT The general tree-like nature of record definitions emerges, where each field in turn It will consist of fields.

GRITコンパイラ13は上述したBNF文法を実装しGRITレコード定義の 樹状の内部表現を形成する。この樹は次に二つのサブルーチンによって使用され る。ひとつはNFL構造定義を含むファイル14を生成し、他方はレコード記述 子と初期化されたNPL構造を含むファイル15を発止する。NFLコンパイラ 16は従って、レコード記述子15をコンピュータのメモリー12に直接格納す るのに通したオブジェクトコードの形式17にコンパイルする。The GRIT compiler 13 implements the BNF grammar described above and writes the GRIT record definition. Forms a dendritic internal representation. This tree is then used by two subroutines. Ru. One generates file 14 containing the NFL structure definition and the other contains the record description. Launch a file 15 containing children and an initialized NPL structure. NFL compiler 16 therefore stores the record descriptor 15 directly in the computer's memory 12. Compile to the object code format 17 that is passed through the code.

応用プログラム18は同一のソースコードで書かれているが、NFL構造定義1 4と共にN F Lコンパイラ19でコンパイルされる。コンパイラ16と19 は二つのコンパイル操作(レコード記述子15と応用プログラム18)のために 異る時点で使用される同一のコンパイラであってもよい。一度オフソエクトコー ドにコンパイルされると、コンパイラ19からのレコード記述子17とオフシェ クト応用プロクラムはロータプログラム20に渡され、これがこれらのモジュー ルを汎用ディジタルコンピュータの内部メモリ21に格納する。メモリ21は4 つのセクション22.23.24および25に分割されたメモリマツプとして第 1図に図示されている。オブジェクトコードの形を持つユーザ応用プログラムは セクション22に格納される。レコード記述子はメモリ21のセクション23に 格納される。二つの他のプログラムはメモリ21に常駐し、セクション24には “GRTREC”のプログラムが、セクション25には”PUTREC”のプロ グラムが入っている。GRTRECプログラム24はデータベース10から外部 フォーマントを持つデータベースレコードを内部フォーマットを持つプログラム メモリ21に格納するための入力変換関数である。PtJTR,ECプログラム 25はプログラムメモリ21中の内部フォーマット化されたレコードを外部フォ ーマットでデータベースlOにコピーする出力変換関数である。GRTRECと PUTRECは内部/外部フォーマット変換を指示するために指定されたレコー ド記述子23中の情報を使用する一般的なプログラムである。もちろん、各々の 個別のレコード定義12については一義的なレコード記述子23が存在する。デ ータベースIOはもちろんレコードアドレスをレコードに実際にアクセスするの に必要な物理的な運動と電気的信号に変換するのに必要な回路とメカニズムを含 んでいる。例えば、磁気ディスク記憶システムにおいては、アドレスをディスク 番号、セクタ番号、トラック番号に変換して読み出しヘッドがディスクパックの 指定されたディスクの適切なセクタの正しいトランクに移動できるようにしなけ ればならない。Application program 18 is written using the same source code, but NFL structure definition 1 4 and is compiled by the NFL compiler 19. Compilers 16 and 19 for two compilation operations (record descriptor 15 and application program 18) It may be the same compiler used at different times. once off soextco When compiled into a program, record descriptor 17 from compiler 19 and off-shelf The application program for these modules is passed to the rotor program 20, which The file is stored in the internal memory 21 of the general-purpose digital computer. Memory 21 is 4 Section 22.23.24 and 25 as a memory map. This is illustrated in Figure 1. A user application program in the form of object code is It is stored in section 22. Record descriptors are stored in section 23 of memory 21. Stored. Two other programs reside in memory 21 and in section 24. The “GRTREC” program is in section 25, and the “PUTREC” program is in section 25. Contains grams. The GRTREC program 24 is external from the database 10. A program that has an internal format for database records that have a formant This is an input conversion function to be stored in the memory 21. PtJTR, EC program 25 transfers the internally formatted records in the program memory 21 to an external format. This is an output conversion function that copies the data to the database IO in the mat. GRTREC and PUTREC is the record specified to direct internal/external format conversion. This is a general program that uses the information in the code descriptor 23. Of course, each For each individual record definition 12, a unique record descriptor 23 exists. De Not only database IO but also record address and actually accessing the record. includes the physical motion required for I'm reading. For example, in a magnetic disk storage system, addresses are number, sector number, and track number so that the read head can read the disk pack. must be able to move to the correct trunk on the appropriate sector of the specified disk. Must be.

GRTRECもPUTRECもデータベース10にアクセスするたびに三つの情 報(パラメータ)を必要とする。これはレコードが記憶されている(P[JTR EC)あるいはそこにレコードが記憶されるべき(GRTREC)メモリー21 のアドレスを必要とする。プログラム24および25の各々はまた内部フォーマ ントと外部フォーマントの間の変換を指示するためのレコード1己述子23のア ドレスを必要とする。最後にプログラム24と25はそれとの間でレコードが出 し入れされるデータベースlO中のアドレスを必要とする。Both GRTREC and PUTREC collect three pieces of information each time they access database 10. information (parameters) is required. This is where the record is stored (P[JTR EC) or the memory 21 in which the record is to be stored (GRTREC) address is required. Each of programs 24 and 25 also includes an internal former record 1 self-descriptor 23 to indicate conversion between the formant and the external formant. Need a dress. Finally, programs 24 and 25 have records output between them. requires an address in the database IO to be populated.

破線27より上に図示されたすべての構成要素と手続きはオフラインで11!備 される、すなわち、コンピュータがデータベースIOからのデータの処理を実際 に行なっていないときに準備され、実際に全く異るコンピュータで実行できるこ とに注意していただきたい。さらに、破線27より上の手続きは応用プログラム の各各の新らしい集合について1回だけ実行すればよい。これらのプログラムが オブジェクトの形式でメモリー21に格納されたあとには、これらのプログラム はオブジェクトコードを再びコンパイルすることなく単純なユーザ要求に従って 無数の回数実行される。All components and procedures illustrated above dashed line 27 are offline 11! Preparation i.e. the computer actually processes the data from the database IO. What is prepared when you have not done it before and can actually be done on a completely different computer? Please be careful. Furthermore, procedures above dashed line 27 are application programs. need only be run once for each new set of . These programs After being stored in the memory 21 in the form of objects, these programs according to a simple user request without compiling the object code again Executed an infinite number of times.

従って、破線27より下の手続きはオンラインであり、そのために応用プログラ ム18が書かれた応用の特定の要求に応動して、刻々に動的に呼び出され使用さ れる。Therefore, the procedure below dashed line 27 is online, and therefore the application program System 18 is dynamically called and used from moment to moment in response to the specific needs of the application for which it is written. It will be done.

プログラム18と同様の他の応用プログラムおよび定義12に類似した他のレコ ード定義を異る時点でデータコンパイルし、異る人によって同一のコンピュータ で実行し、同一のデータベース10を使用することができることに注意されたい 。実際、これらのプログラムは全く異るデータ構造を使用し、全く異るプログラ ム言語で書くことができる。この場合には、コンパイラ168よび19は使用さ れる言語のためのコンパイラであり、レコードコンパイラ13がレコード定義1 2を使用される言語の適切なレコード記述子にコンパイルすることになる。後述 するようにGETRECプログラム24とPtJTRECプログラム25は異る レコード定義を収容するために打切りと連絡によってデータフィールドを拡張あ るいは短縮する機能を持っている。Other application programs similar to program 18 and other records similar to definition 12 data compiled at different times and by different people on the same computer. Note that the same database 10 can be used . In fact, these programs use completely different data structures and are completely different programs. can be written in any other language. In this case, compilers 168 and 19 are not used. The record compiler 13 is a compiler for the language that is written in the record definition 1. 2 into the appropriate record descriptor for the language used. Described later The GETREC program 24 and the PtJTREC program 25 are different as follows. Extend data fields with aborts and contacts to accommodate record definitions. Rui has a shortening function.

本発明のひとつの特徴に従えば、データベース10中のデータレコードの形式は コンピュータのメモリ21中のレコードの表現から分離され、完全に独立したも 、のとなっている。レコードインタフェースプログラム24および25はデータ ベース10の外部レコード表現とメモリ21甲の内部レコード表現の間の翻訳メ カニズムとして用いられる。レコードは必要に応じて移動中に変換される。レコ ード記述子23はこのような翻訳を行なうのに必要なすべての、情報を含んでい る。According to one feature of the invention, the format of the data records in database 10 is separate and completely independent from the representation of records in the computer's memory 21 , has become. Record interface programs 24 and 25 are data A translation method between the external record representation of Base 10 and the internal record representation of Memory 21A. Used as a canism. Records are converted on-the-go as necessary. record The code descriptor 23 contains all the information necessary to perform such a translation. Ru.

従ってデータベース10中のレコードは多くの場合単純な標準的ワードプロセッ サ11によって追加、削除、変更が容易にできるようなフォーマットを持ってい る。レコードには新らしいフィールドを追加でき、新らしいレコードは通常のテ キストとして追加される。必要なことは、新らしいあるいは修正されたレコード に対応する新らしいレコード定義12が書かれ、新らしいレコード記述子15と 構造定義14がコンパイルされてメモリ21に格納されていることである。デー タベース10中では構造変化は必要ない。従って、データベース10全体を再構 成することなく、新らしいデータ項目を必要とするデータベースの新らしい応用 をプログラムすることができる。従ってデータベースの応用はフィールドあるい はレコードの変更が生ずるたびに、全データベースを書き替えるという種々の制 約なしにスムーズに成長することができる。Records in database 10 are therefore often processed using a simple standard word processor. It has a format that allows for easy additions, deletions, and changes using the Ru. New fields can be added to records, and new records can be added to regular fields. added as a text. All you need is a new or modified record A new record definition 12 corresponding to is written, and a new record descriptor 15 is written. The structure definition 14 has been compiled and stored in the memory 21. day No structural changes are required in the database 10. Therefore, the entire database 10 is restructured. New applications of databases that require new data items without having to can be programmed. Therefore, the application of database is has various constraints that rewrite the entire database every time a record changes. It can grow smoothly without any restrictions.

第2図は第1図の上部に示したオフラインのプログラムの一例のより詳細な図で ある。ここでは単純ではあるが具体的なデータ構造を定義してあり、単純ではあ るが具体的なユーザの操作を指定しである。第2図の例で使用している高レベル のプログラム言語は”c”言語であり、これはPrentice −Hall  L、 978年刊のB 、 W、Kernighanとり、M、Ritchie の”The CP rogramming L anguage ”に詳細に述 べられている。Figure 2 is a more detailed diagram of the example offline program shown at the top of Figure 1. be. A simple but specific data structure is defined here; However, it specifies specific user operations. High level used in the example in Figure 2 The programming language of is "c" language, which is Prentice-Hall L, published in 978, B, W, Kernighan, M, Ritchie. It is described in detail in “The CP programming language”. It's being ignored.

詳しく述べれば、レコード定義■2は第2図で単純な6行のリストとして示され ている。左のマージンからはじまる第1行は第2図では“1nfo”と名付けた レコード識別子を示している。第2行はマージンからルヘルインデントされてお り、レコードの第1のフィールドの名前すなわちラヘルであり、角括弧の中には そのフィールドで許される文字の最大数を示している。第2図においては、第1 のフィールドはラヘル“name”を与え、その長さは最大40キヤラクタであ る。Specifically, record definition ■2 is shown as a simple six-line list in Figure 2. ing. The first line starting from the left margin is named “1nfo” in Figure 2. Indicates a record identifier. The second line is indented from the margin. is the name of the first field of the record, i.e. Rahel, and in square brackets is Indicates the maximum number of characters allowed in the field. In Figure 2, the first The field gives Rahel “name” and its length can be up to 40 characters. Ru.

レコード定義12の第3行はラヘル“addr”を持ち、これはaddress を表わす。これはフィールド長を持つのではなく、フィールド名“addr”は 実際には第2図にマージンから2重にインデントされた複数のサブフィールドを 示している。従って、フィールド“addr”はそれぞれ最大2文字、6文字、 4文字を持つ“loc ”、“、“ext ”と名付けたサブフィールドから成 っている。ラヘル″loc ″は1ocationを表わし、これは地域の2文 字の表示(例えはMHはニューシャーシー州マレーヒルを表わす)である。ラヘ ル″rm +″はroom number (室番号)を表わし、“name” で示される個人の場所における室番号を含む。ラヘル“ext ”はもちろんそ こで示された個人の電話の内線番号である。The third line of record definition 12 has Rahel “addr”, which is address represents. This does not have a field length, the field name "addr" is In reality, Figure 2 shows multiple subfields double indented from the margin. It shows. Therefore, the field "addr" has a maximum of 2 characters, 6 characters, It consists of subfields named “loc”, “,” and “ext” with four characters. ing. Rahel “loc” represents 1 location, which is the 2-sentence of region. (For example, MH stands for Murray Hill, New Jersey). Rahe "rm+" represents the room number, and "name" Contains the room number at the individual's location indicated by . Rahel “ext” is of course This is the telephone extension number of the individual indicated here.

レコード定義12は多数のデータベースレコードに関連する情報を含む(例えば 、特定の会社の全従業員)。さらGこ第2図のしコード定義12の定義フォーマ ットはレコードのすべてのフィールドが名前すなわちラヘルで識別できるように し、レコードの各フィールドで必要となる最大の記憶スペースを示す。最後に、 レコード定義12はインデンテーションのラヘルによって、データフィールドの 間の階層的関係を表わせるようにする。フィールドの数とインデンテーションの レヘルは無限であり、従って、第2図の定義フォーマットはほどんどすべてのデ ータベースレコードに適合できるものである。Record definition 12 includes information related to a number of database records (e.g. , all employees of a particular company). Sara Gko Figure 2 Noshi code definition 12 definition format The set allows all fields of a record to be identified by name, i.e. Rahel. and indicates the maximum storage space required by each field in the record. lastly, Record definition 12 uses Rahel indentation to define the data field. To be able to express hierarchical relationships between Number of fields and indentation The level is infinite, so the definition format in Figure 2 can be used for almost all devices. database records.

このレコード定義を使用して、GRIPプログラム13はレコード記述子14と C言語のデータ構造定義15を発生する。レコード記述子14はCコンパイラ1 9によってコンパイルするのに適した形式でレコード定義12中の情報を華に繰 返すだけである。Using this record definition, the GRIP program 13 creates a record descriptor 14 and A C language data structure definition 15 is generated. Record descriptor 14 is C compiler 1 9 repeats the information in the record definition 12 in a format suitable for compilation by Just give it back.

レコード記述子14はリテラルとしてのフィールド名と最小と最大のフィールド 制限値を含んでいる。レコード記述子14は名前と階層位置でフィールドを識別 し、またフィールドサイズの制限を示すためにランタイムに使用される。Record descriptor 14 contains literal field names and minimum and maximum fields. Contains limit values. Record descriptor 14 identifies fields by name and hierarchical position and is also used at runtime to indicate field size limits.

データ構造15は応用プログラマによって使用されるべき、特定のプログラム言 語で記述された一般的データ構造の定義である。Data structure 15 specifies the specific program language to be used by the application programmer. is a definition of a general data structure written in words.

図示の例においては、これはC言語であり、データ構造の従う書き方の習慣はC 言語の習慣である。もちろん他のプログラム言語も選択することはでき、この場 合には、データ構造15はその言語(例えば、FORTRAN、C0BCL、B AS I−Cその他)の習慣に従うことになる。In the illustrated example, this is the C language, and the writing conventions that data structures follow are C It is a language habit. Of course, you can also select other programming languages; If the data structure 15 is AS I-C etc.) customs will be followed.

ブロック18はこれもまたC言語で書かれたユーザ応用プログラムの特定の例を 示している。ユーザプログラムI8の機能は華にボックス12で定義されたデー タレコードで表わされた個人の名前と内線番号を印判するものである。データレ コードの削除、追加あるいは変更を含む他のもっと複雑な手続きも考えらn、る 。Block 18 represents a specific example of a user application program, also written in C. It shows. The functionality of the user program I8 is based on the data defined in box 12. It stamps the name and extension number of the individual represented in the record. data record Other more complex procedures involving deleting, adding, or changing code may also be considered. .

ボックス18の第1行は実行しないコメントであって、“/※・・・・※/″は C言語のコメントの印である。このコメントはこの手続きがデータベース中にレ コードを持つすべての個人の名前と内線番号の印刷の手続き、すなわち電話帳リ スティングを作る手続きであることを示す。The first line of box 18 is a comment that is not executed, and "/*...*/" is This is a comment mark in C language. This comment indicates that this procedure will not be recorded in the database. Procedures for printing names and extensions of all individuals with codes, i.e. telephone directory Indicates that this is a procedure for creating a sting.

ボックス18の第2行はこのプログラムがデータベース構造定義15 (1nf o、h ” )にリンクされなければならないことを示す。The second line of box 18 indicates that this program has database structure definition 15 (1nf o, h”)).

データ構造定義15はデータベースから回復されたデータレコードを正しく解釈 し、記憶し、元に戻すためにプログラム18によって利用できるようになってい なければならない。3行目は“buf ”と呼ぶ記憶領域を確保するもので、こ の中に処理の間” 1nfo″レコードが一時的に記憶されるようになっている 。Data structure definition 15 correctly interprets data records recovered from the database is made available by program 18 to save, remember, and restore. There must be. The third line secures a storage area called “buf”. ``1nfo'' record is temporarily stored during processing. .

プログラム18の4行目はプログラム本体のはじまりであり、行の残りと共に完 全なプログラムを形成する。5行目はループを形成し、この巾でデータベースフ ァイルの各レコードについて手続き“getrec”が呼び出される。“get rec”の括弧の中の三つのパラメータは1)レコード(buf)のための一時 記憶のアドレス、2)レコードタイプ” 1nfo″のためのレコード記述子の アドレス、3)そこからレコードが返送されるべきファイルの名前(stdin )である。次の行のプリントのコマンドは各行を印刷するためのフォーマット情 報を含み、最後の2行は印刷されるべきデータを記憶するバッファの位置を指定 する。The fourth line of program 18 is the beginning of the program body and is complete with the rest of the lines. form a complete program. The fifth line forms a loop and uses this width to create a database file. The procedure "getrec" is called for each record in the file. “get The three parameters in the parentheses of “rec” are 1) temporary for the record (buf); address of memory, 2) record descriptor for record type “1nfo” address, 3) the name of the file from which records are to be returned (stdin ). The print next line command provides formatting information for printing each line. The last two lines specify the location of the buffer where the data to be printed is stored. do.

利用者のソースコード18とレコード記述子14はコンパイラプログラム19に よってコンパイルされ、オブジェクトコードの実行可能なプログラムとして“a 、out ”と呼ばれる記憶ファイルに記憶される。プログラムが実行されると きには、a、outのユーザプログラム20は汎用ディジタル計算機の内部メモ リーに格納され、計算機の制御は位置“a、out ”に移される。The user's source code 18 and record descriptor 14 are passed to the compiler program 19. Therefore, it is compiled as an executable object code program. , out”. When the program is executed, In some cases, the user program 20 of a and out is an internal memory of a general-purpose digital computer. control of the computer is transferred to position "a, out".

第2図に関連して記述されたすべての手続きは“オフライン”で実行できること に任意しておく。すなわちこれらの手続きは実際の電話帳のりスティングが必要 になるよりもずっと前に実行できる。オブジェクトコード22は後に電話帳が必 要になったときに実行される。実際に、データベース中の情報は移動、内線の追 加、引退および昇進によって連続的に変化するから、オブジェクトコード22は 何回も、多分周期的に実行される。All procedures described in connection with Figure 2 can be performed “offline”. Leave it optional. In other words, these procedures require actual telephone directory listing. It can be done long before it becomes. Object code 22 requires a phone book later. Executed when needed. In fact, information in the database can be moved, extensions added, etc. Since it changes continuously due to additions, retirements, and promotions, the object code 22 It is executed many times, perhaps periodically.

第3図には、第2図のオブジェクトコード22が実行されるたびに生ずるプロセ スの性質を示している。レコード記述子は第2図のレコード記述子に正確に対応 しているが、今度はソースコードではなくオブジェクトコードの形式になってい る。すなわち、記述子14の情報内容は計算機による直接検索に適した内部2進 形式で表わされる。FIG. 3 shows the process that occurs each time the object code 22 in FIG. 2 is executed. It shows the nature of the The record descriptor corresponds exactly to the record descriptor in Figure 2. However, this time it is in the form of object code instead of source code. Ru. In other words, the information content of descriptor 14 is an internal binary format suitable for direct search by a computer. expressed in the form

“getrec”と呼ばれる計算機プログラムもまたオブジェクト形式で計算機 に入っている。データベース10は少くともひとつのレコードタイプ“1nfo ”を含んでおり、磁気テープのような外部記憶媒体に存在する。記憶空間31は データベース10からのレコードの一時記憶位置としてとら孔た計算機の内部メ モリーの一部である。記憶空間31はラヘル“buf ”によって識別される。A computer program called “getrec” is also a computer program in object form. It's in. The database 10 has at least one record type “1nfo”. ” and exists in an external storage medium such as a magnetic tape.The storage space 31 is The internal memory of the computer is used as a temporary storage location for records from the database 10. Part of Molly. Storage space 31 is identified by Rahel "buf".

名前と内線番号を印判する手続き18もまたオブジェクトコードとして計算機の メモリー中に存在する。必要に応して、手続き18は“getrec”プログラ ム24を呼び出す(これに制御を移す。)。Procedure 18 for stamping the name and extension number can also be written as object code on a computer. exists in memory. Optionally, procedure 18 uses the “getrec” program. 24 (control is transferred to this).

プログラム24はデータベース10から外部レコード“1nfo”を読み、レコ ード記述子30のフォーマット情報に従ってこれを“buf ”記憶空間31の 甲の内部レコードに変換する。記憶空間31で示されるように、ファイル“1n fo”からのデータフィールドの値(内容)は複数の文字コードとして、バッフ ァ記憶31に記憶される。バッファ31の未使用の予約された記憶空間は“フィ ールド終り”文字(10)で満たされており、また洛フィールドの終りにも“フ ィールド終り”文字が入る。フィールド終り文字はフィールドのどこに値として 生じないような任意の文字あるいは文字列であればどのようなものでも良い。The program 24 reads the external record “1nfo” from the database 10 and records the record. This is stored in the “buf” storage space 31 according to the format information of the code descriptor 30. Convert to Party A's internal record. As shown in the storage space 31, the file “1n The value (content) of the data field from "fo" is stored in the buffer as multiple character codes. It is stored in the memory 31. The unused reserved storage space of buffer 31 is The field is filled with "end of field" characters (10), and the end of the field is also filled with "fill" characters (10). "End of field" character is entered.The end of field character is placed anywhere in the field as a value. Any character or character string that does not occur can be used.

印刷ルーチン18は所望の値を取り出すのにレコード記述子30を使用し、バッ ファ31から所望のフィールド値(nameとext)を取り、これを出カブリ ント媒体32に与える。媒体32は、例えば、それから電話番号簿の印刷された ページが取り出される標準のプリンタである。Print routine 18 uses record descriptor 30 to retrieve the desired value and Take the desired field values (name and ext) from the file 31 and output them. to the agent medium 32. The medium 32 may include, for example, a printed copy of a telephone directory. It is a standard printer from which pages are retrieved.

第2図および第3図のシステムはデータベースレコードの内部および外部のフォ ーマットを分離していることに注目されるであろう。データベース10の外部レ コードはあるフォーマットを持ち、標準のワード処理システムによって容易に生 成され編集できるような記憶方法を用いている。バッファメモリ31の内部レコ ードはこれに対して計算機で処理するのに最も良い形になっており、選択された プログラム言語によって予め定められた形式になっている。プログラム“gri p” 13 (第1図)、“getrec ” 24および“pu trec” 25(第1図)のプログラム言語によって利用できる技能、能力および資源に従 って内部レコード形式と外部レコード形式が独立して選択できるようになる。デ ータベースは処理ソフトウェアの大部分を書きかえることなく円滑に生長でき、 データベースのフォーマントを変更することなく処理ソフトウェアを大幅に変更 することができる。The systems in Figures 2 and 3 contain internal and external formats for database records. - Notice that the mats are separated. External record of database 10 Code has a format and is easily produced by standard word processing systems. Uses a storage method that allows the user to create and edit information. Internal record of buffer memory 31 The code, on the other hand, is in the form best suited for computer processing, and It has a format predetermined by the programming language. Program “gri” p" 13 (Figure 1), "getrec" 24 and "putrec" 25 (Figure 1) This allows the internal record format and external record format to be selected independently. De The database can grow smoothly without rewriting most of the processing software. Significant changes to processing software without changing database format can do.

第4図には手続き“getrec”のプログラムの流れ図を示している。get recのプログラムを実行する要求40に応動して、getrecのプログラム はまずボックス41でバッファ31 (第3図)をクリアする。ボックス42で はシンボル名″1nfo″のデータベースレコードが検索され、データベースl O中のそのレコードの物理アドレスに翻訳して入れられる。FIG. 4 shows a program flow diagram of the procedure "getrec". get In response to the request 40 to run the program of rec, the program of getrec is executed. First, in box 41, the buffer 31 (FIG. 3) is cleared. in box 42 The database record with the symbol name "1nfo" is searched, and the database record is searched. is translated into the physical address of that record in O.

ボックス43において、データベース10の外部レコードはボックス42で得ら れた物理アドレスを用いて検索される。この情報はバッファ31に最終的に記憶 される前に処理される。例えば、ボックス44の中では、外部レコード中のデー タのフィールドがレコード記述子30 (第3図)の中で対応する名前を持たな ければ、これを内部バッファ31に記憶するあるいは内部バッファから検索する のに利用されるメカニズムは存在しないことになる。In box 43, the external records of database 10 are obtained in box 42. is searched using the specified physical address. This information is finally stored in buffer 31. processed before being sent. For example, in box 44, the data in the external record is fields in the data have no corresponding names in the record descriptor 30 (Figure 3). If so, store it in the internal buffer 31 or retrieve it from the internal buffer. There would be no mechanism used for this.

これに対応して、ボックス45においては、もし記述子3oでレコードフィール ドが指定されていて、外部レコードには対応するフィールドが存在しないことに なると、バッファ31中のこのフィールドの値のために予約された空間はブラン クのフィールドとなる。この値を印刷しようとすると、空白が印刷されることに なる。Correspondingly, in box 45, if the record field in descriptor 3o field is specified and the corresponding field does not exist in the external record. then the space reserved for the value of this field in buffer 31 is blank. It becomes a field of research. When I try to print this value, I end up printing blank spaces. Become.

外部レコードのフィールド値が記述子30によって指定されたものより長いとき には、そのフィールドはボックス46で記述子30によって指定された長さに打 切られる。(先に述べたように、短いフィールド値はエンドオブフィールドのデ ミリタによって満たされる。)ボックス47で、もしレコード記述子30が単一 の値のフィールドを指定しており、外部レコードが多値のフィールド(複数のイ ンデントされたフィールド)を含んでいれば、複数のフィールド値は単一の値の フィールド記述子の許容できる長さに卑純につなぎ合わされる。これに対して、 もし記述子3oが多値のフィールドを持ち、外部レコードが箪−の値のフィール ドだけを持っていたときには、ボックス48は多数のサブフィールドの各々で、 同一のひとつのフィールド値を繰返す。最後に、ボックス49においては、結果 として得られた内部レコードがバッファレジスタ31に記憶される。このとき、 getrecの手続きの実行が完了し、ボックス50で制御はgetrecのプ ログラムがはじめに呼び出された元のプログラムに戻される。When the field value of the external record is longer than that specified by descriptor 30 , the field is typed to the length specified by descriptor 30 in box 46. Be cut. (As mentioned earlier, short field values are end-of-field data Filled by Milita. ) box 47, if record descriptor 30 is a single value field, and the external record is a multi-value field (multiple values). field), multiple field values are combined into a single value. Naively concatenated to the allowable length of the field descriptor. On the contrary, If descriptor 3o has a multivalued field and the external record has a field with many values, box 48, each of a number of subfields. Repeat one field value. Finally, in box 49, the result The internal record obtained is stored in the buffer register 31. At this time, Execution of the getrec procedure is complete and control is transferred to the getrec procedure at box 50. The program is returned to the program from which it was originally called.

第4図の流れ図のステップ44乃至48によりユーザプログラムの新版をデータ ベースの旧版について使用したり、また逆の使い方ができるようになる。従って 、追加のレコードフィールドを必要とする新らしいユーザプログラムを新らしい レコード記述子と共にコンパイルし直せばよいことになる。古いユーザプログラ ムを実行し続ければ、使用されない情報は華に捨てられることになる。これによ ってまたデータベースレコードが追加されるたびに既存のプログラムをコーディ ングし直すことなく、データベースシステムを円滑に生長させることができる。Data the new version of the user program by steps 44 to 48 of the flowchart in FIG. You will be able to use the old version of the base and vice versa. Therefore , create a new user program that requires additional record fields. All you have to do is recompile it with the record descriptor. old user program If the system continues to run, unused information will be discarded. This is it and then recode the existing program each time a database record is added. This allows database systems to grow smoothly without having to be re-engineered.

” getrec″の擬似コードによる実現を第1表に示す。Table 1 shows the pseudo code implementation of "getrec".

第 1 表 clear buffer call getfield() getfield() get name from fileand l1m1t’in buffe rif field is elementarycopy value fr om file 1nto bufferobserving 11m1t 1se fc)r eBc−h 5ubfieldcall getfield() eturn 第5図には処理の後データベースに対してデータレコードを返送する計算機のプ ログラム“pu tree”のための流れ図を示している。第3図では、データ には変化はなく、従ってデータベースにすでに記憶された版がそのまま残るから pu trecは用いられなかった。この意味ではデータベース10からのレコ ードの検索は非破壊的である。Table 1 clear buffer call getfield() getfield() get name from fileand l1m1t’in buffe rif field is elementarycopy value fr om file 1nto bufferobserving 11m1t 1se fc) r eBc-h 5ubfieldcall getfield() eturn Figure 5 shows a computer program that sends data records back to the database after processing. 3 shows a flowchart for the program "putree"; In Figure 3, the data There is no change, so the version already stored in the database remains unchanged. putrec was not used. In this sense, records from database 10 Searching for codes is non-destructive.

データベースにレコードを入れるための要求50はgetrecの手続きと同し 3つのパラメータを持つ。内部バッファ位置(buf”)、外部レコード名じ1 nfo”)′8よびレコードが記憶されたファイル中の名前じ5tdin ”) である。ボックス51ではバッファ31中にブランクのフィールドが存在すれば 、ブランクのフィールドを記憶する必要はないから、これは捨てられる。ボック ス52では、バッファ31中の値とレコード記述子3o中の情報を使用して、内 部レコードをデータベース1oに記憶するのに適した形にフォーマット変更し、 レコード記述子中のリテラルからフィールド記述子を追加する。ボックス53で は、データベースレコードのシンボルアドレスが物理アドレスに変換される。ボ ックス54ではボックス53で得られたデータベース1oの物理アドレスに外部 レコードが格納される。ボックス55では手続き“pu tree”が完成し、 制御は起呼プログラムに戻される。The request 50 to put a record into the database is the same as the getrec procedure. It has three parameters. Internal buffer position (buf”), same external record name 1 nfo")'8 and the same name in the file where the record is stored 5tdin") It is. In box 51, if there is a blank field in buffer 31, , there is no need to remember a blank field, so this is discarded. bock The step 52 uses the value in the buffer 31 and the information in the record descriptor 3o to change the format of the department record into a form suitable for storage in database 1o, Add field descriptors from literals in record descriptors. in box 53 converts the symbolic address of a database record to a physical address. Bo In box 54, the physical address of database 1o obtained in box 53 is Records are stored. In box 55, the procedure "pu tree" is completed, Control is returned to the calling program.

pu trecのプログラムの擬似コードによる実現を第2表に示す。Table 2 shows the pseudocode implementation of the putrec program.

第 2 表 if rec desc is a gro、up node1se if field is non null (in the buffer) write field name (s )to fileas neces sary copy value from program bufferto fil e eturn FIG、 / FIG、 2 FIG、 4 FIG、 5 UTREC 国際調査報告Table 2 if rec desc is a gro, up node1se if field is non null (in the buffer) write field name (s) to files neces sary copy value from program buffer to fil e eturn FIG, / FIG. 2 FIG. 4 FIG. 5 UTREC international search report

Claims (1)

【特許請求の範囲】 】、 データベースレコードをデータヘース記憶媒体中の第1の外部フォーマッ トで表現する手段と、 ディジタル計算機の内部記憶媒体に第2の異るフォーマ・2トで該データベース レコードの各々を表現する手段と、該レコードのひとつが処理されるときにだけ 該第1と第2のフォーマットの間で該データベースレコードを翻訳する手段とを 含むことを特徴とするデータベースシステム。 2、 請求の範囲第1項に記載のデータベースシステムにおいて、該第1のフォ ーマットはワード処理用の英数字、シンボルおよび制御キャラクタだけを含むこ とを特徴とするデータベースシステム。 3、 請求の範囲第1項に記載のデータベースシステムにおいて、該第2のフォ ーマットは該データベースシステムで使用されるべきプログラム言語のデータ構 造に対応することを特徴とするデータベースシステム。 4、 請求の範囲第1項に記載のデータベースシステムにおいて、該翻訳手段は さらに打切りあるいはブランクの充足によってデータフィールド長を短縮したり 伸長したりする手段を含むことを特徴とするデータベースシステム。 5、 請求の範囲第1項に記載のデータベースシステムにおいて、該翻訳手段は さらに該内部フォーマットと外部フォーマットで異る数のサブフィールドが指定 されていたときにデータフィールド値を繰返したり、つなぎ合わせたする手段を 含むことを特徴とするデータベースシステム。 6、 請求の範囲第1項に記載のデータベースシステムにおいて、さらに咳デー タへ−スレコードを利用する手段を含むことを特徴とするデータベースシステム 。 7、 ワード処理装置によって使用するのに適したフォーマットでデータヘース 記憶媒体中にデータベースレコードを記憶し、プログラム言語のデータ構造に対 応するフォーマットでディジタル計算機の内部メモリー中にデータベースレコー ドを記憶し、該ディジタル計算機による該ひとつのレコードの処理に関連したと きだけ該データヘース記憶媒体フォーマットと該内部記憶フォーマントの間でひ とつのレコードを翻訳する段階を含むことを特徴とするデータベースレコードの 利用法。 8、 請求の範囲第7項に記載の方法において、該翻訳の段階はさらに 該フォーマットの一方のデータフィールド長さを該フォーマ。 トの他方の対応するがより短いフィールド長に合わせるために、データフィール ド長を短縮し、 該フォーマットの一方のデータフィールド長を該フォーマットの他方の対応する がより長いデータフィールド長に合わせるために、データフィールド長を伸長す る 段階を含むことを特徴とするデータベースレコードの利用法。 9、請求の範囲第7項に記載の方法において、該翻訳の段階はさらに 該フォーマットのひとつに特異に生ずるデータフィールド値を該フォーマントの 他のものの多データフィールド値に整合するように繰返し、 該フォーマットのひとつに多データフィールド値をつなぎ合せて該他のフォーマ ットの華−のフィールド位置に整合するようにする 段階を含むことを特徴とするデータベースレコードの利用法。 10、請求の範囲第7項に記載の方法において、該データベースレコード中のデ ータフィールド値を追加し、削除しあるいは変更する段階を含むことを特徴とす るデータベースレコードの利用法。[Claims] ], convert the database records into a first external format in the data storage medium. and a means of expressing The database is stored in the internal storage medium of the digital computer in a second different format. A means to represent each of the records and only when one of the records is processed. means for translating the database record between the first and second formats; A database system comprising: 2. In the database system according to claim 1, the first The matte should contain only alphanumeric characters, symbols, and control characters for word processing. A database system characterized by. 3. In the database system according to claim 1, the second format -mat is the data structure of the programming language to be used in the database system. A database system that is characterized by being compatible with 4. In the database system according to claim 1, the translation means comprises: Furthermore, the length of the data field can be shortened by truncation or filling of blanks. A database system characterized by including means for decompressing. 5. In the database system according to claim 1, the translation means Furthermore, a different number of subfields is specified for the internal and external formats. A means of repeating or splicing data field values when A database system comprising: 6. In the database system according to claim 1, the database system further includes cough data. A database system characterized by including means for using database records. . 7. Data format in a format suitable for use by word processing equipment. Stores database records in storage media and supports data structures in programming languages. database records in the internal memory of a digital computer in a corresponding format. records associated with the processing of the one record by the digital computer. Only if there is a difference between the data storage medium format and the internal storage format. of a database record, comprising the step of translating a record. Usage. 8. In the method according to claim 7, the translation step further comprises: The data field length of one of the formats. data field to match the corresponding but shorter field length of the other side of the data field. shorten the length, Set the data field length of one of the formats to the corresponding data field length of the other format. stretches the data field length to fit the longer data field length. Ru A method of using a database record characterized by including stages. 9. In the method according to claim 7, the translation step further comprises: Data field values that occur uniquely in one of the formats are Repeat to match other multi-data field values, Concatenate multiple data field values in one of the formats to the other format. match the flower field position of the cut. A method of using a database record characterized by including stages. 10. The method according to claim 7, in which data in the database record is the step of adding, deleting or changing data field values. How to use database records.
JP50363683A 1982-11-15 1983-11-02 Dynamic database representation Pending JPS59502038A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US441733DEEDK 1982-11-15
PCT/US1983/001696 WO1984002022A1 (en) 1982-11-15 1983-11-02 Dynamic data base representation

Publications (1)

Publication Number Publication Date
JPS59502038A true JPS59502038A (en) 1984-12-06

Family

ID=22175527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50363683A Pending JPS59502038A (en) 1982-11-15 1983-11-02 Dynamic database representation

Country Status (1)

Country Link
JP (1) JPS59502038A (en)

Similar Documents

Publication Publication Date Title
Lorie Long term preservation of digital information
US8924837B2 (en) Text file interface support in an object oriented application
US6691309B1 (en) Long term archiving of digital information
KR20010085357A (en) System and method for accessing non-relational data by relational access method
Bock et al. PAW—Towards a physics analysis workstation
JPS59502038A (en) Dynamic database representation
CA1200015A (en) Dynamic data base representation
Blobel The BOS system
JP4165086B2 (en) Apparatus and method for storing XML data in RDB, apparatus and method for acquiring XML data from RDB, and program
AU2021107468A4 (en) A method and system for implementing xml and xquery to perform read and writre operations in minumum number of calls
JP3169596B2 (en) Database management device
JP4606862B2 (en) Data converter
Lindsay Literate programming.
CN114756554B (en) Data query processing method based on MyBatis framework
Ting et al. Systems Guide to Fig-FORTH
JPS6370372A (en) Document processor
JPH02116936A (en) Reorganizing system
JP2721377B2 (en) BASIC program compression method
Dominick Models for graphically-enhanced data base management system design.
JPH1139326A (en) High speed document registration/retrieval method and device therefor
Wilkes Associative tabular data structures
Finseth User-Oriented Commands: The Command Loop
JPH10240584A (en) File manager and file managing method, and data base file system and data base file managing method
JPS62251940A (en) Data base processing system
JPS61165146A (en) Dynamic changing and processing system of data item in record type data