JPH0772898B2 - Indexing system - Google Patents

Indexing system


Publication number
JPH0772898B2 JP56100142A JP10014281A JPH0772898B2 JP H0772898 B2 JPH0772898 B2 JP H0772898B2 JP 56100142 A JP56100142 A JP 56100142A JP 10014281 A JP10014281 A JP 10014281A JP H0772898 B2 JPH0772898 B2 JP H0772898B2
Prior art keywords
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
Other languages
Japanese (ja)
Other versions
JPS582938A (en
孝司 小幡
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 to JP56100142A priority Critical patent/JPH0772898B2/en
Publication of JPS582938A publication Critical patent/JPS582938A/en
Publication of JPH0772898B2 publication Critical patent/JPH0772898B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Lifetime legal-status Critical



    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up


【発明の詳細な説明】 本発明は、インデックスのキーを所定の記号化方式によって創成することによって、データ項目長の変更の際にもインデックスを再作成せずに実行できるインデックスの作成方式に関するものである。 DETAILED DESCRIPTION OF THE INVENTION The present invention is by creating the key a predetermined symbol scheme index, related indexing method that can be performed without re-indexing even when the data item length changes it is. 本発明によれば、データベースの論理構造上のデータ構造の変更が発生しても、インデックスをそのままの状態で運用を継続することができる。 According to the present invention, any changes of the data structure of the logical structure of the database is generated, it is possible to continue the operation of the index as it is.

複数の利用者からデータを同時に共用するデータベース処理装置において、データベース管理システムが高度化する傾向の中で、拡張性,柔軟性に富むデータベース運用形態を実現する技術が必要とされている。 In the database processing apparatus for sharing data simultaneously from a plurality of users, in the tendency database management system is sophisticated, there is a need technologies for implementing a database operation form rich extensibility and flexibility.

例えば、データベース導入時に行われるデータベース設計では上流設計として位置づけられている実在データの情報分析・整理・統合によって、完全なデータの論理関係を明らかにする必要がある。 For example, the database design is performed during database introduced by the information analysis and consolidation of the actual data is positioned as upstream design, it is necessary to clarify the logical relationship of the complete data. しかしながら、実際のデータ分析は膨大かつ常に変化する環境の中でデータを扱わなければならないため、分析が終了する時点にはな何らかの影響により、データ設計の手直しをすることが常である。 However, since the actual data analysis that must deal with data in the vast and ever-changing environment, by some influence, such is the time the analysis is completed, it is normal for the rework of data design. このような問題はデータベース導入期間や運用時にも、データベースの手直しは必要となる。 Even at the time of such a problem is database-in period and operation, rework of the database is required. したがって、柔軟で拡張性に飛んだデータベース管理システムが求められている。 Thus, it flew flexible and extensible database management system is required. 特に、リレーショナル・データベースの商用化に伴い、利用者が扱う応用プログラムとデータベースの独立性が強く求められるようになり、利用者の立場からのデータベース(論理データベース)とデータベース管理システム側のデータベースの独立性が重要な課題となってきている。 In particular, with the commercialization of relational databases, the user is the application program and the like database independence is strongly required to handle, independently of the database in the database (logical database) and database management system side from the perspective of the user sex has become an important issue.

このような要請の中で、データベース物理構造である論理構造上のデータに対する格納構造以外にも、高速にデータを検索する手段としてのインデックス構造についても柔軟なインデックス構造が求められている。 Among such requirements, other than storage structure to the data on the logical structure is a database physical structure, a flexible index structure is also required for the index structure of the means for retrieving data at high speed.

データを同時に共用するデータベースでは大きく論理構造と物理構造に分類できる。 Large in the database for shared data simultaneously can be classified into the logical structure and physical structure. これは、下記の文献1の3, This is, Document 1 of 3 below,
4章からも明らかである。 It is also clear from Chapter 4.

文献1 「Computer Data−Base Organization」2ed,JAMES MART Document 1 "Computer Data-Base Organization" 2ed, JAMES MART
IN,PRENTICE−HALL,INC,1977 データベース管理システムは、利用者の応用プログラムから見える論理的なファイルやテーブル(これを論理データベースと呼ぶことにする)と物理データベースのデータ・アクセスの変換処理を実現している。 IN, PRENTICE-HALL, INC, 1977 database management system, a logical file or table (which will be called a logical database) and realizing the conversion of the data access physical database visible to the user of the application program doing. ここでは、 here,
本発明に関連しない論理データベースの説明は行わない。 Description of the logical database that is not related to the present invention is not performed. 物理データベースでは、文献1の20章にあるような周知のインデックス順構造(Indexed Sequential Organ The physical database, known index order structures as in Chapter 20 of the document 1 (Indexed Sequential Organ
ization),ハッシュ(Hashing),22章や23章にあるようなポインタ構成(Pointers)やチェーン・リング構造(Chains AND Ring Structures)がある。 ization), hash (Hashing), there is a pointer configuration such as those in Chapter 22 and Chapter 23 (Pointers) and chain ring structure (Chains AND Ring Structures). これらのデータ構造は、主に論理データベースのデータをマッピングするために利用する。 These data structures are mainly utilized to map the data of the logical database. ここでマッピングとは、論理データベース上のレコード(ロー)が論理データベースの複数の構造に分割して配置したり、複数の論理データベースのレコードを一つの物理データベースの構造に配置、 Here, the mapping, or place the record in the logical database (low) is divided into a plurality of structure of the logical database, place the records of a plurality of logical database structure of one physical database,
またはそれらの組合せを言う。 Or say a combination thereof.

それぞれの物理データベース格納構造へのアクセスには、挿入・削除・検索・更新といった周知の構成が含まれている。 Access to each of the physical database storage structure includes a known structure such as insertion, deletion, search and update. 例えば、文献1の20章の順処理,乱処理には検索系の構成や挿入・削除といった構成が示されている。 For example, Chapter 20 sequentially processes the document 1, configured such configurations and insertion and deletion of the search system is illustrated in turbulent process. 更新の構成は挿入・削除で代行可能であるが、一般的に更新の構成を独立させることが多い。 Configuration update can be intercepted by insertion and deletion, but often be independent generally update configuration.

論理データベースでは、一つのキーによってレコードを検索することは稀で、別の項目をキーとして検索することが通常行われている。 The logical database, it is rare to find a record by one of the keys, it is usually carried out to search another item as the key. 物理データベース構造では、通常は2次インデックス構造で実現されている。 The physical database structure, which is usually implemented in the secondary index structure. 2次インデックス構造に関しても文献1の26章,29章に記載のように周知であるため、詳細な仕組みは省略する。 Chapter 26 of the document 1 with regard secondary index structure, since it is well known, as described in Chapter 29, detailed mechanism is omitted.

通常は論理データベースか,マッピングされる物理データベースの格納構造(ベースデータ構造と呼ぶことにする)をアクセスする前にインデックスをアクセスする。 Normally either logical database, accesses the index before accessing the storage structure of the physical database to be mapped (referred to as a base data structure).
インデックスは、目的のベースデータ構造内のデータを高速に検索する手段を提供するものである。 Index is to provide a means for retrieving data in the base data structure for objects at high speed. 一方、データを同時に共用するようなデータベースでは、ベースデータ構造のデータ更新が入ることが一般的なため、インデックス・キーのアップグレード(更新)が必要になる。 On the other hand, in the database, such as shared data at the same time, since the data updating based data structure from entering the common upgrade the index key (updated) is required. 現在では、文献1の30章や,下記の文献2にあるようにバランス木構造のインデックスが主流になってきている。 At present, 30 chapters and of the literature 1, the index of the balance tree structure as shown in the literature 2 below has become the mainstream.

文献2 「The Ubiquitous B−Tree」,D.Comer,ACM Computing S Document 2 "The Ubiquitous B-Tree", D.Comer, ACM Computing S
urveys,VoI11,No2,PP 121−138,ACM,1979 インデックス構造のアクセスは、キーによる検索,順処理検索,キー挿入,キー削除から構成されていることは周知である。 urveys, VoI11, No2, PP 121-138, ACM, access 1979 index structure, search by key, order processing search, key insertion, it is well known that is composed of key deletion. 本発明では、その内でキーの検索方式と挿入方式を例にして、インデックス部の構成を説明している。 In the present invention, with the search method and insertion method of the key within the example describes the construction of the index portion.

また、下記の文献3には、文字項目に対する複数キーの記号化に対する構成が記述されている。 Moreover, the literature 3 below, configuration for symbol of multiple keys is described for a character item. これによって、 by this,
文字項目の空白部分の圧縮が可能となる構成を利用して、文字項目の長さ変更に対してインデックスの再編成を回避することが可能となる。 By utilizing the structure compressed blank portion of the character entry is possible, it is possible to avoid the reorganization of the index relative to the length change of the character field. 文献3には、数値項目に関する構成は記述されていない。 The literature 3, configuration for numeric fields are not described. 文字項目の記号化・展開技法の構成は、周知の文字項目によるマルチ・キー・ The configuration of the symbol of and deployment techniques of character items, multi-key due to the well-known character item
フィールドの連結技法として本明細書中に後述されている。 It is described herein as a linking technique field.

文献3 「An Encoding Method For Multifield Sorting and In Document 3 "An Encoding Method For Multifield Sorting and In
dexing」,Michal W Blasgen,Richard G.Gasey,and Kapa dexing ", Michal W Blasgen, Richard G.Gasey, and Kapa
li P Eswaran,Communications of the ACM,Vo120,No11, li P Eswaran, Communications of the ACM, Vo120, No11,
ACM,1977 従来技術の問題点は、データベースの導入時または導入後に数値項目のデータの変更を行った場合には、必ず物理データベースの再編成が必要であることである。 ACM, 1977 the problems of the prior art, when subjected to changes in the data of numeric fields during or after the introduction the introduction of the database is that it is necessary always reorganized physical database.

ところが、インデックスが関連するデータベースの属性変更やデータ長の変更は、従来技術では禁止項目であることが多い。 However, change of attribute changes and the data length of the database index is related to each other, it is often in the prior art is a prohibited item. この場合、いったんインデックスの削除し、インデックスを再創成する必要があった。 In this case, once to remove the index, there is a need to re-creating the index. 再作成のためにベースデータ構造の全データを検索しなければならないため、システム・サービスを一時的に停止する必要がある。 Since for recreating must retrieve all the data of the base data structures, it is necessary to temporarily stop the system services.

したがって、データベースの導入後に、データの変更を行う際には必ずデータベースをサービスを停止する必要があった。 Therefore, after the introduction of the database, it is necessary to stop the service always database when data is to be changed.

本発明は、応用プログラムのトランザクション処理やジョブの切れ目と言った短時間にスキーマや物理構造定義体の変更のためにサービスは中断するが、インデックス構造には影響せずに、データベース・サービスを続行できるようにするものである。 The present invention, services for schema changes and physical structure definition in a short time of said break of transaction processing and job application program interrupt is without effect on the index structure, continues the database service it is intended to be so.

これらは、特に大規模なトランザクション処理用データベース,部門データベース,個人向けのパーソナルなデータベースには必要なサービスである。 These are, in particular, large-scale transaction processing database, departmental databases, services required in a personal database of individuals. 大規模なトラクザクション処理用データベースでは、予めデータベース設計を行って、導入テストを行いサービスに入る。 In a large tiger Kuza action processing database, perform the pre-database design, entering the service performs the introduction test. データベース設計の上流工程では実在するデータの情報分析を完全に行ってから導入,サービスに入ることになるが、外部環境は常に変化しているため、実際にはデータベースの導入やサービス時期に変更が発生する。 Introduced after performing the full information analysis of data actually exists in the database design of the upstream step, will enter the service, since the external environment is constantly changing, it actually changes the introduction and service time of the database Occur. 部門データベースや個人データベースでは、大規模システムと比較してデータベース設計に掛ける時間が少ない。 In the department database and personal database, less time to be applied to the database design in comparison with the large-scale system. このようなデータベースで頻繁にデータベースの変更が発生する。 Frequent changes of the database occurs in such a database.

本発明は、上記の考察に基づくものであって、リレーショナル・データベース・システムにおいて、データ項目の長さや属性などの変更に行ってもインデックスの再創成を必要としないようにしたインデックスの作成方式を提供することを目的としている。 The present invention has been made based on the above considerations, the relational database system, the indexing scheme to be performed changes, such as length and attributes of the data items do not require re-creation of the index It is an object of the present invention to provide. そしてそのため、本発明のインデックスの作成方式は、 圧縮キーを持つ複数のインデックスからなるインデックス部(1)と、 インデックス部(1)から取り出された圧縮キーの展開およびインデックス部(1)に書き込むべきキーの圧縮を行う圧縮・展開手段(2)と、 記号化手段(3)と を具備するリレーショナル・データベース・システムにおけるインデックスの作成方式であって、 記号化手段(3)は、入力項目データの中に数値項目データが存在する場合には、数値項目データを所定バイト長の2進データに変換し、 変換の結果得られる2進データを、正のときには正であること及び削除された'00“(16進)を除いた有効バイト数を示す制御バイト並びに'00'(16進)が除かれたデータ部から成る記号化2進データに変換し、負 And therefore, creation scheme index of the invention, the index section comprising a plurality of index with compression key (1), to be written to the expansion and the index portion of the compression key, which is derived from the index portion (1) (1) the compression and expansion means for compressing the key (2), an indexing scheme in a relational database system comprising a sign means (3), the symbol means (3), the input item data If the numeric field data is present in, converts the numeric field data into binary data of a predetermined byte length, the binary data obtained as a result of conversion, a positive was that is positive and deleted when '00 "(hexadecimal) and the control byte indicating the number of valid bytes than '00' (hexadecimal) is converted into a symbol of binary data consisting of the excluded data unit, negative ときには負であること及び'FF'(16進)の削減バイト数を示す制御バイト並びに'FF'(16進)が削除されたデータ部からなる記号化2進データに変換し、 入力項目データの中に他のデータ項目がある場合には、 Sometimes by converting it is negative and 'FF' (16 decimal) Control bytes as well as the reduction of the number of bytes of 'FF' (16 decimal) to the symbol of binary data consisting of deleted data portion of the input item data If there are other data items in,
変換の結果得られた記号化2進データと他のデータ項目とを連結し、連結したものをキーとして出力するように構成されている。 Connecting the conversion results obtained symbolized binary data and other data items, and is configured to output the concatenation as a key.

ことを特徴とするものである。 It is characterized in.

要約すると、本発明は内部10進項目や外部10進項目を2 In summary, the present invention provides an internal decimal items and external decimal item 2
進項目に変更し、2進項目を文字項目と同様な特性を有する記号化2進項目に変換し、記号化2進項目を含む複数のデータ項目を従来から知られているマルチ・キー・ Change in advance item, converts the binary item text items and symbols of binary items with similar characteristics, multi-key a plurality of data items including symbolized binary item is conventionally known,
フィールドの連結技法を利用して連結したものである。 Is the concatenation using the consolidated techniques of the field.

いま Key={A,B} A char (10) B char (10) であるとする。 Now that that the Key = {A, B} A char (10) B char (10). 上式は、キーはデータ項目A,Bから構成されていること、Aは文字形式で10バイトであること、 It above formula, the key that is composed of data items A, B, A is 10 bytes in character form,
及びBも文字形式で10バイトであることを示している。 And it indicates that B is also 10 bytes in character format.
任意の項目データa 1 ,b 1に第1図(イ)のような文字が入っていると仮定する。 Assume characters such as FIG. 1 (b) any item data a 1, b 1 is on. 項目データを或は値nで分割する。 Splitting the item data or a value n. 文字項目は先頭からの比較バイト数で大小が決定される性質をもっている。 Character item has a property that size is determined by the number of comparison of bytes from the beginning. 従って、分割部分に制御バイトの重みを付けることによって、ブランクを省略することが出来る。 Accordingly, by attaching the weights of the control byte in the divided portion can be omitted blank. 例えば、継続結合部分は'FF'X、その他は有効文字数とする。 For example, continuing the binding moiety 'FF'X, others are effective number of characters. 上記の技法を用いて、第1図(イ)の項目データa 1とb 1と連結すると、第1図(ロ)のようになる。 Using the above technique, when coupled with the item data a 1 and b 1 in FIG. 1 (b), so that the first view (b). また、第2図(イ)の項目データa 2とb 2とを連結すると、マルチキーは第2図(ロ)のようになる。 Further, when connecting the item data a 2 and b 2 of FIG. 2 (b), the multi-key is as FIG. 2 (b). なお、‖は結合を表している。 Incidentally, ‖ represents a bond. 第1図(ロ)のキーをk 1とし、第2図(ロ)のキーをk 2とすると、k 1 <k 2となる。 The key of FIG. 1 (b) and k 1, when the key of FIG. 2 (b) and k 2, the k 1 <k 2.
nの値を例えば4バイトに固定すれば、文字項目の長さの変更に対応することが出来る。 Be fixed values ​​of n, for example, in four bytes, it is possible to respond to changes in the character field length. なお、第2図(ロ)の'03'Xは、直前の4バイトの文字領域における有効文字数が3文字であることを示している。 Incidentally, '03'X of FIG. 2 (b) shows that the number of significant characters in the 4-byte character space before it is three characters.

次に2進項目の記号化について説明する。 It will be described next symbol of the binary item. 先ず入力された2進項目を8バイト長に展開する。 The first binary item entered deployed to 8 bytes long. 第3図に示すように、制御バイトを付加し、その1ビット目を空き、2ビット目を符号ビットとし正の時は“1"、負の時は“0"とする。 As shown in FIG. 3, by adding a control byte, free the first bit, when positive, the second bit and the sign bit "1", when negative and "0". そして、制御バイトの5ないし8ビット目で以て、負数のとき'FF'Xの削除バイト数、正数のとき'0 Then, Te more than 5 to 8 bit of the control byte, when the negative 'FF'X number of deleted bytes of, in the case of a positive number' 0
0'Xを除いた有効バイト数を表す。 It represents the number of valid bytes excluding 0'X. 'FF'と'00'のバイト数を省略することは、絶対数の小さい数ほど省略されやすいことを示している。 'FF' and '00' omitting the number of bytes indicates that likely to be omitted as the number of small absolute number.

こうしてできた記号化キーの大小比較は文字と同等の比較が可能である。 It compares the thus can be the symbol of the key is can be equivalent to that of the character comparison. すなわち、制御バイトの符号ビットでデータの正負の文字比較が可能となる。 That is, the positive and negative character comparison of data can be the sign bit of the control byte. 制御バイト中の5ないし8ビットは負数については'FF'Xの省略値数が、正数については'00'Xを除いた有効バイト数が設定してあるため、データの桁数による文字比較が可能となる。 Character comparisons 5-8 bits in the control byte for the negative 'default value number of FF'X is, for positive' by order number of valid bytes excluding 00'X has been set, the number of digits of the data it is possible. 同一桁については負数は補数表現であり、正数はそのものを設定してあるため、文字比較が可能である。 The same digit negative is complement representation, a positive number because you have set themselves, are possible character comparison.

第4図は2進項目の記号化の具体例を示している。 Figure 4 shows a specific example of a symbol of the binary item. 第4 4th
図(イ)は入力データ、第4図(ロ)は計算機内部の表現データ、第4図(ハ)はサプレス後の記号化2進データを示している。 Figure (a) is input data, FIG. 4 (b) is a computer internal representation data, 4 (c) shows a symbol of binary data after suppression.

例えば、入力データが−8888(16進)の場合、計算機内部の表現データはFFFFFFFFFFFF7778(16進)となる。 For example, if the input data is -8888 (16 hex), representing data from the internal computer becomes FFFFFFFFFFFF7778 (hexadecimal). 上述のように、制御バイトの1ビット目は0(空きを示す)であり、負数のときは制御バイトの2ビット目が0 As described above, the first bit of control byte is 0 (indicating the free), when the negative is the second bit of the control byte 0
であり、制御バイトの5ないし8ビット目で以てFF(16 , And the 5 to the control byte Te than 8 bit FF (16
進)の削除バイト数を表すので、計算機内部の表現データ=FFFFFFFFFFFF7778(16進)に対する制御バイトは00 Since they represent the number of deletion of bytes of the advance), the control byte for the computer internal representation data = FFFFFFFFFFFF7778 (16 hex) 00
000110(2進)となる。 000110 the (binary). これを16進で表すと06となる。 The 06 expressed this in hexadecimal.

例えば、入力データが+8888(16進)の場合、計算機内部の表現データは0000000000008888(16進)となる。 For example, if the input data is Tasu8888 of (hex), representing data from the internal computer becomes 0000000000008888 (hex). 上述のように、制御バイトの1ビット目は0(空きを示す)であり、正数のときは制御バイトの2ビット目が1 As described above, the first bit of control byte is 0 (indicating the free), when the positive is the second bit of the control byte 1
であり、制御バイトの5ないし8ビット目で以て00(16 Is a, Te 5 to more than an 8-bit of the control byte 00 (16
進)を除いた有効バイト数を表すので、計算機内部の表現データ=0000000000008888(16進)に対する制御バイトは01000010(2進)となる。 Since they represent the number of valid bytes excluding advances), the control byte for the computer internal representation data = 0000000000008888 (hex) is 01000010 (binary). これを16進で表すと42となる。 Expressing this in hexadecimal becomes 42.

2進数を倍語長で表現し、もう一度記号化する。 Representing a binary number in multiples word length, once again symbolized. これによれば、記号化前の2進数は1ないし8バイトまでのデータ定義のデータ長に依存しないため、データ属性が変更されても、記号化手段によりキーの大小関係を保障できる。 According to this, the binary pre symbolized does not depend on the data length of the data definitions from 1 to 8 bytes, be modified data attributes, can guarantee the magnitude relation of the key by the symbol means. また、もう一度記号化(圧縮)することにより、 Further, by again symbolized (compression)
倍語長表現のデータ域を制御バイトのみの増加に押さえこむことが可能となる。 It becomes possible Komu hold the data area of ​​the fold word length representation to the increase in only the control byte. 属性変更についても、内部10進や外部10進を2進倍語長に変換し、2進記号化手段を使用すれば属性から独立できる。 The attribute change also convert the decimal or external decimal inside 2 Susumubai word length, can be independent of the attribute Using binary symbols means.

第5図はデータベースの検索シーケンスを説明するものである。 Fig. 5 illustrates the search sequence databases. インデックス部1のインデックスは、数値データを記号化し、この結果得られた記号化2進データと他のデータをマルチ・キー・フィールド連結技法により連結し、連結して得らたキーを前方圧縮/後方圧縮した圧縮キーを含んでいるものである。 Index of the index portion 1, symbolizes the numerical data, the resulting symbols of binary data and other data connected by multi-key field coupling technique, the key was obtained al coupled forward compression / are those containing a compression key was behind compression. 前方/後方圧縮・展開ルーチン2は、キーを前方/後方圧縮する機能と、圧縮されたキーを元の形に展開する機能を有しているものである。 Anterior / posterior compression and decompression routine 2 is assumed to have a function of forward / backward compressing the key, a function to expand the compressed key to its original shape. 記号化ルーチンは、入力データ項目i 1 ,i 2 ,i 3を記号化し、これらをマルチ・キー・フィールド連結技法で連結するものである。 Symbolized routine symbolizes the input data item i 1, i 2, i 3 , is for connecting them in a multi-key field coupling technique. 次に検索シーケンスについて説明する。 It will now be described search sequence.

イ 入力データ項目i 1 ,i 2 ,i 3をそれぞれ記号化する。 Lee input data item i 1, i 2, i 3 and symbolized respectively.

ロ 連結キーkを出力する(ただし、比較のため最大値とする)。 And it outputs the B concatenated key k (however, the maximum value for comparison).

ハ インデックス部1内のインデックスのキーを展開する。 To expand the key index in Ha index part 1.

ニ ハのキーを入力連結キーkと比較し、ハ、ニを繰り返す。 The key of the two leaves were compared with the input coupling key k, c, repeat the two.

ホ キーが一致したら、一致を示したインデックスでポイントされているデータ項目を出力する。 When the host key match, and outputs the data items that are pointed to by the index, which showed the match.

インデックス部1のインデックスの挿入は、下記のようなシーケンスで行われる。 Insert index index portion 1 is carried out in sequence as follows.

(イ) 入力データ項目i 1 ,i 2 ,i 3を記号化する。 (B) symbolized input data item i 1, i 2, i 3 .

(ロ) 連結キーを出力する。 (B) to the consolidated key.

(ハ) インデックス部1のインデックスのキーを展開する。 (C) to expand the key index of the index part 1.

(ニ) (ハ)のキーを入力連結キーkと比較する。 Compared with the input coupling key k the key of (d) (c).

(ハ)、(ニ)を繰り返す。 (C), repeating (d).

(ホ) インデックスの挿入位置が決まったら、入力連結キーを前方/後方圧縮ルーチンで圧縮し、圧縮キーとポインタによりなるインデックスをその位置に挿入する。 Once you have determined the insertion position of (e) index, it compresses the input connection keys in front / rear compression routine, inserting an index composed by the compression key and pointer to that location.

上記インデックスについて、インデッスク・キー長が変更になった場合、第5図に記号化ルーチンの動きを具体的に説明する。 For the index, if Indessuku key length is changed it will be specifically described the movement of the symbol routine in FIG. 5. インデックス・キーが単一の2進項目である場合に、インデックス定義がsmall integer(2バイトの2進項目と定義する)からlong integer(8バイトの2進項目と定義する)に定義変更したい場合を第4 If the index key is a single binary item, the index definition (defined as a binary item of 8 bytes) long integer from small integer (defined as a binary item of 2 bytes) If you want to change definition the fourth
図を例にして説明する。 Figure will be described as an example. small integerの時に+8888,− + 8888, at the time of the small integer -
8888(16進)を入力すると、記号化ルーチン3によって If you enter 8888 a (hex), by the symbol routine 3
428888と067778と言うキーを作成され、インデックス・ It created a key say 428,888 and 067,778, index
キーとしてインデックス1に登録する。 It is registered in the index 1 as a key. インデックス・ index·
キーはそのまま比較可能であり、キー展開もsmall inte The key is directly comparable, key deployment also small inte
gerに変換可能である。 It can be converted to ger. 次にlong integerに変更する。 Next, change to long integer.
+888888888888,−888888888888(16進)を入力すると、記号化ルーチン3によって46888888888888と027777 + 888888888888, entering -888,888,888,888 (hexadecimal), by the symbol routine 3 46888888888888 and 027,777
77777778と言うキーが作成されてインデックス1に登録する。 Key to say that 77,777,778 will be created to register the index 1. この時は第4図(ハ)に示すような順になり、sm This time becomes sequentially as shown in FIG. 4 (c), sm
all integerの時に作成したキーに影響を与えない。 It does not affect the key that was created at the time of all integer. 更に、+0が入力されても40と言うキーになり、インデックスへは067778と428888の間に挿入される。 In addition, the + 0 becomes the key to say that 40 be entered, is to the index is inserted between 067,778 and 428,888. これらのキーはlong integer定義に従って、それぞれ展開すること可能である。 These keys according long integer defined, it is possible to deploy each.

第6図は在庫テーブルの例を示す図である。 FIG. 6 is a diagram showing an example of a stock table. このテーブルは四個の項目を有している。 This table has four of the item. PRODUCTは製品名、PNOは製品番号、QOHは数量、WHNOは倉庫番号をそれぞれ示している。 PRODUCT is the product name, PNO is the product number, QOH Quantity, WHNO shows the warehouse number, respectively. 例えば在庫テーブルから在庫数が50以下の製品名を知りたい場合、SELECT PRODUCT FROM STOCK WHERE For example, if you want to know the name of the product of the number of stock is 50 or less from the inventory table, SELECT PRODUCT FROM STOCK WHERE
QOH≦50と言う文をリレーショナル・データベースに入力する。 To enter a sentence to say that QOH ≦ 50 in a relational database.

第7図は格納構造の例を示す図である。 FIG. 7 is a diagram showing an example of a storage structure. 図示の例ではデンス(セカンダリ)・インデッスクをPRODUCTとPNOのマルチ・キーで作成している。 In the example shown in the figure are creating a dense (secondary) - Indessuku in a multi-key of PRODUCT and PNO.

第8図は記号化ルーチン変換および前方/後方圧縮の例を示す図である。 FIG. 8 is a diagram showing an example of a symbol routine transformation and anterior / posterior compression. 例えば3000と言う数字は、記号化2進データで表現すると、'42'X‖'0BB8'Xとなる。 For example numbers say 3000, is expressed by the symbol of binary data, and '42'X‖'0BB8'X. この記号化2進データとステレオと言う文字データとをマルチ・キーフィールド連結技法で連結すると、'ステレオ' When you connect the character data to say that this symbol of binary data and the stereo in a multi-key field coupling technique, 'stereo'
‖'04'X‖'42'X‖'0BB8'Xとなる。 The ‖'04'X‖'42'X‖'0BB8'X. 実際のインデックス上では、第9図に示すように、前方/後方圧縮・展開ルーチンから出力される圧縮キーを結合して並べて、インデックスのブロック内へ格納する。 The actual index on, as shown in FIG. 9, arranged to combine the compressed key output from the front / rear compression and decompression routine, it stores the block index.

以上の説明から明らかなように、本発明によれば、キーとなる数値データを所定バイト長の2進データにし、所定バイト長の2進データを記号化し、記号化2進データと他のデータを連結し、連結されたものを圧縮技法により圧縮し、このようにして作成された圧縮キーをインデックスのキーとしているので、数値データ項目の長さや属性などの変更を行っても、インデックス部の再編成を必要としないと言う効果が得られる。 As apparent from the above description, according to the present invention, the numerical data as a key to the binary data of a predetermined byte length, symbolizes the binary data of a predetermined byte length, it symbolized binary data and other data It was ligated, compressed by compression techniques to those linked, since in this way the compression key created in the index key, the numerical data items be subjected to changes such as the length and attributes of the index portion effect to say that does not require a reorganization can be obtained.


第1図および第2図は従来のマルチ・キー・フィールド連結技法を説明する図、第3図は本発明による記号化2 FIG FIGS. 1 and 2 is for explaining a conventional multi-key field coupling technique, symbolized by Figure 3 the present invention 2
進データ項目の構成を示す図、第4図は記号化2進データ項目の具体例を示す図、第5図はデータベース検索シーケンスを説明する図、第6図は在庫テーブルの例を示す図、第7図は格納構造の例を示す図、第8図は記号化ルーチン変換および前方/後方圧縮の例を示す図、第9 Diagram showing a configuration of the advance data item, Fig. 4 shows a specific example of a symbol of binary data items, FIG. FIG. 5 is for explaining a database search sequence, Fig. 6 is a diagram showing an example of a stock table, Figure 7 Figure showing an example of a storage structure, Figure 8 shows an example of a symbol routine transformation and anterior / posterior compression FIG, 9
図は実際のインデックス上での圧縮キーの配置を示す図である。 Figure shows the arrangement of a compression key on the actual index. 2……インデックス部、2……前方/後方圧縮・展開ルーチン、3……記号化ルーチン。 2 ...... index part, 2 ...... anterior / posterior compression and decompression routine, 3 ...... symbolized routine.

Claims (1)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】圧縮キーを持つ複数のインデックスからなるインデックス部(1)と、 インデッスク部(1)から取り出された圧縮キーの展開およびインデックス部(1)に書き込むべきキーの圧縮を行う圧縮・展開手段(2)と、 記号化手段(3)と、 を具備するリレーショナル・データベース・システムにおけるインデックスの作成方式であって、 記号化手段(3)は、入力項目データの中に数値項目データが存在する場合には、数値項目データを所定バイト長の2進データに変換し、 変換の結果得られる2進データを、正のときには正であること及び削除された'00'(16進)を除いた有効バイト数を示す制御バイト並び'00'(16進)が除かれたデータ部から成る記号化2進データに変換し、負のときには負であること及び'FF'(16進)の削 And 1. A index portion comprising a plurality of index with compression key (1), compressed and to compress the key to be written to the expansion and the index portion of the compression key, which is derived from Indessuku unit (1) (1) and expanding means (2), and the symbol means (3), a creation method of an index in the relational database system comprising a symbol means (3), numeric item data in the input item data is if present, convert the numeric fields data into binary data of a predetermined byte length, the binary data obtained as a result of conversion, a positive was that is positive and deleted when '00' (16 decimal) control byte order indicates the number of valid bytes excluding '00' (hexadecimal) is converted into a symbol of binary data consisting of the excluded data unit, and it is when a negative is negative 'FF' of (hexadecimal) cutting バイト数を示す制御バイト並びに'FF'(16進)が削除されたデータ部からなる記号化2進データに変換し、 入力項目データの中に他のデータ項目がある場合には、 Control byte and indicates the number of bytes 'FF' (16 decimal) is converted into a symbol of binary data consisting of deleted data unit, if there is other data items in the input item data is
    変換の結果得られた記号化2進データと他のデータ項目とを連結し、連結したものをキーとして出力するように構成されている ことを特徴とするインデックスの作成方式。 Indexing method which is characterized by being configured to output couple the conversion results obtained symbolized binary data and other data items, the concatenation as a key.
JP56100142A 1981-06-27 1981-06-27 Indexing system Expired - Lifetime JPH0772898B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56100142A JPH0772898B2 (en) 1981-06-27 1981-06-27 Indexing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56100142A JPH0772898B2 (en) 1981-06-27 1981-06-27 Indexing system

Publications (2)

Publication Number Publication Date
JPS582938A JPS582938A (en) 1983-01-08
JPH0772898B2 true JPH0772898B2 (en) 1995-08-02



Family Applications (1)

Application Number Title Priority Date Filing Date
JP56100142A Expired - Lifetime JPH0772898B2 (en) 1981-06-27 1981-06-27 Indexing system

Country Status (1)

Country Link
JP (1) JPH0772898B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2406680B (en) * 2000-11-30 2005-05-18 Coppereye Ltd Database

Also Published As

Publication number Publication date
JPS582938A (en) 1983-01-08

Similar Documents

Publication Publication Date Title
Lovins Development of a stemming algorithm
Gay Electronic mail distribution of linear programming test problems
US5548751A (en) Dynamic data storage system allowing variable size records and fields by using linked record segments
US6633883B2 (en) Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
US5485373A (en) Language-sensitive text searching system with modified Boyer-Moore process
US6571231B2 (en) Maintenance of hierarchical index in relational system
US6141656A (en) Query processing using compressed bitmaps
US7844617B2 (en) Systems and methods of directory entry encodings
US7788287B2 (en) System and method for storing and accessing data in an interlocking trees datastore
US4843389A (en) Text compression and expansion method and apparatus
Macleod Storage and retrieval of structured documents
US7260583B2 (en) Web page connectivity server construction
US5745904A (en) Buffered table user index
Aoe et al. An efficient implementation of trie structures
JP2708331B2 (en) File system, and a data file access method
US5440482A (en) Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order
Aoe An efficient digital search algorithm by using a double-array structure
US6564212B2 (en) Method of processing queries in a database system, and database system and software product for implementing such method
JP2670383B2 (en) Prefix search tree with a partial key branch function
US6711563B1 (en) Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
EP0433964B1 (en) Search method to determine most closely match in a database directory
US20030135495A1 (en) Database indexing method and apparatus
US6278992B1 (en) Search engine using indexing method for storing and retrieving data
US5684990A (en) Synchronization of disparate databases
US5551049A (en) Thesaurus with compactly stored word groups