KR20000037515A - Method for composing b+ tree to manage history - Google Patents

Method for composing b+ tree to manage history Download PDF

Info

Publication number
KR20000037515A
KR20000037515A KR1019980033553A KR19980033553A KR20000037515A KR 20000037515 A KR20000037515 A KR 20000037515A KR 1019980033553 A KR1019980033553 A KR 1019980033553A KR 19980033553 A KR19980033553 A KR 19980033553A KR 20000037515 A KR20000037515 A KR 20000037515A
Authority
KR
South Korea
Prior art keywords
record
information
history
tree
existing
Prior art date
Application number
KR1019980033553A
Other languages
Korean (ko)
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 to KR1019980033553A priority Critical patent/KR20000037515A/en
Publication of KR20000037515A publication Critical patent/KR20000037515A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees

Landscapes

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

Abstract

PURPOSE: A method for composing B+ tree to manage history is provided to construct a database easily by supporting a storage of item information structurally in a modified B+ tree. CONSTITUTION: Conventional record information is revised(S1). A current record is searched as a primary key using a recording searching progress of a conventional B+ tree. A revising record is searched according a record search. A current record is inserted into an item data structure using an item key. New information is added to the current record. Conventional record item information is searched(S2). An item database is searched through a pointer for indicating item information of a record. Necessary information is searched using the item key according to a kind of a corresponding item database. Conventional records are deleted(S3).

Description

히스토리 관리용 비플러스 트리 구성 방법How to configure a non-plus tree for history management

본 발명은 히스토리 관리용 B+ 트리 구성 방법에 관한 것으로서, 특히 현재 많은 데이터 베이스 시스템이 자료의 보관 및 검색구조로 널리 쓰이고 있는 B+ 트리라는 자료구조를 이용하여 데이터 베이스를 구축하는데 있어서, 이 데이터 베이스의 종류 중 그 데이터 베이스가 가지는 각각의 레코드에 관한 일반적인 정보와, 수시로 변하는 정보에 대하여도 내역을 저장하고 검색할 필요가 있는 데이터 베이스의 경우에 적용하기 용이하도록 B+ 트리를 변형하여 논리적인 자료구조를 제시하는 방법에 관한 것이다.The present invention relates to a method of constructing a B + tree for history management. In particular, the present invention relates to a method of constructing a database using a data structure called a B + tree, which is widely used as a data storage and retrieval structure. The logical data structure is modified by modifying the B + tree so that it is easy to apply to the general information about each record of the type of the database and the database that needs to store and retrieve the details about the information that changes frequently. It is about how to present.

도 1 은 종래 기술에 의한 내역 관리를 위한 변경 자료구조 제시 방법 블럭도이다. 도시된 바와 같이, 현존하는 B+ 트리 자료구조는 트리 구조의 논리적인 데이터 저장형태이다. 트리 구조는 하나의 단위 자료, 즉 하나의 레코드가 잎이 되고, 그 레코드에는 여러 개의 자식(Child leaf)을 거느려서, 하나 혹은 여러 개의 키 값에 따라 각각의 레코드를 트리 구조에 저장, 검색, 삽입, 삭제하는 기능을 비교적 용이하고 빠르게 할 수 있는 구조이다. B+ 트리 자료구조는 현존하는 트리 구조를 좀더 발전시킨 구조이다. 그래서, 하나의 잎(100)이 여러 개의 레코드(110)(120)를 포함하고, 하나의 잎(100)에는 자신이 포함한 레코드(110)(120)수보다 ‘1’많은 포인터를 갖고 있게 된다. 따라서, 그 포인터는 자신이 거느리는 자식을 지시하는 발전된 트리 구조이다. 이러한 변형은 트리의 깊이, 즉 세대의 단계를 훨씬 줄여서 검색을 훨씬 빠르게 하는 장점을 지닌다. 이런 장점은 데이터 베이스가 지닌 레코드(110)(120)(210)(220)(310)(320)(410)(420)의 수가 방대할수록 훨씬 두드러진다. 고로, 오늘날 여러 가지 데이터 베이스 시스템의 자료구조로 널리 쓰이고 있다. 하지만, 일반적으로 이 구조는 데이터 베이스내의 레코드(110) (120)(210)(220)(310)(320)(410)(420)사이즈가 동적(Dynamic)일 때보다는 정적(Static)일 때 적합한 구조다. 많은 데이터 베이스에서 B+ 트리의 각각의 레코드(110)(120)(210)(220)(310)(320)(410)(420)는 고정된 사이즈로 사용된다. 그 이유는 자식을 검색하는 데 있어서 포인터를 쓰기도 하지만, 이 고정된 레코드(110)(120)(210)(220)(310)(320)(410)(420)사이즈가 계산을 통해 검색 할 때도 있기 때문이다. 이렇게 하면 포인터에 쓰이는 메모리 공간을 줄이기도 한다. 하지만, 이러한 정적인 성질은 특정한 종류의 데이터 베이스에는 적합하지 않을 수도 있다.1 is a block diagram of a method for presenting a change data structure for managing history according to the prior art. As shown, the existing B + tree data structure is a logical data storage form of the tree structure. The tree structure consists of one unit of data, one record, which contains several child leaves, and each record is stored in a tree structure according to one or several key values. It is a structure that can insert and delete functions relatively easily and quickly. The B + tree data structure is a further development of the existing tree structure. Thus, one leaf 100 includes several records 110 and 120, and one leaf 100 has more '1' pointers than the number of records 110 and 120 that it contains. . Thus, the pointer is an advanced tree structure that points to its children. This variant has the advantage of making the search much faster by significantly reducing the depth of the tree, that is, the stage of generation. This advantage is even more pronounced as the number of records 110, 120, 210, 220, 310, 320, 410 and 420 of the database is huge. Therefore, it is widely used as the data structure of various database systems today. In general, however, this structure is generally used when the size of the records 110, 120, 210, 220, 310, 320, 410, and 420 in the database is static rather than dynamic. It is a suitable structure. In many databases, each record 110, 120, 210, 220, 310, 320, 410, 420 of the B + tree is used in a fixed size. The reason for this is that a pointer may be used to retrieve the child, but this fixed record 110, 120, 210, 220, 310, 320, 410, 420 can be retrieved by calculation. Because sometimes. This also reduces the memory space used for pointers. However, this static nature may not be appropriate for certain kinds of databases.

현존하는 B+ 트리 자료구조는 방대한 데이터 베이스내의 레코드(110)(120) (210)(220)(310)(320)(410)(420)라 할지라도, 다른 자료구조에 비해 비교적 빨리 검색할 수 있다. 그리고, 저장과 새로운 레코드(110)(120)(210)(220)(310)(320) (410)(420)의 삽입 및 현재 레코드(110)(120)(210)(220)(310)(320)(410)(420)의 삭제 등이 많이 복잡하지는 않기 때문에 많은 데이터 베이스에서 사용되고 있다. 하지만, 현존하는 B+ 트리 자료구조는 데이터 베이스 내에 각각의 레코드(110)(120) (210)(220)(310)(320)(410)(420)에 관한 정보가 수시로 변한다. 그런데, 이 변하는 정보를 현재 레코드(110)(120)(210)(220)(310)(320)(410)(420)에 덮어쓰기를 하지 않는다. 대신 이전의 정보도 내역하여 보관할 필요가 있으면, 그 레코드(110) (120)(210)(220)(310)(320)(410)(420)의 사이즈가 계속 자라게 된다. 그리고, 각각의 레코드(110)(120)(210)(220)(310)(320)(410)(420)가 모두 다른 사이즈를 지닌다. 고로, B+ 트리의 정적인 구조가 된다. 따라서, 이유로 인해 적합하지가 않다. 적합하지 않은 이유는 다음과 같다. 많은 B+ 트리의 레코드(110)(120) (210)(220)(310)(320)(410)(420)는 고정되어 있다. 그런데, 만일 동적으로 메모리를 할당하여 현재의 레코드(110)(120)(210)(220)(310)(320)(410)(420)를 늘려가는 방법을 사용한다고 할 때, 하나의 레코드(110)(120)(210)(220)(310)(320)(410) (420)가 너무 커질 수 가 있는 문제점이 있다.Existing B + tree data structures can be searched relatively quickly compared to other data structures, even if they are records 110, 120, 210, 220, 310, 320, 410 and 420 in large databases. have. And storing and inserting new records 110, 120, 210, 220, 310, 320, 410, 420 and current records 110, 120, 210, 220, 310 Deletion of (320) (410) 420 is not used in many databases because it is not very complicated. However, in the existing B + tree data structure, the information about each record 110, 120, 210, 220, 310, 320, 410, and 420 changes from time to time in the database. However, the changing information is not overwritten by the current records 110, 120, 210, 220, 310, 320, 410 and 420. If the previous information needs to be stored instead, the records 110, 120, 210, 220, 310, 320, 410 and 420 will continue to grow in size. Each record 110, 120, 210, 220, 310, 320, 410, 420 has a different size. This results in a static structure of the B + tree. Therefore, it is not suitable for a reason. Reasons for not being suitable are as follows. The records 110, 120, 210, 220, 310, 320, 410 and 420 of many B + trees are fixed. However, if one uses a method of dynamically allocating memory to increase the current records 110, 120, 210, 220, 310, 320, 410 and 420, one record ( There is a problem that the 110, 120, 210, 220, 310, 320, 410 and 420 may be too large.

본 발명은 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 것으로서, 내역을 관리하는 레코드를 저장하는 데이터 베이스의 자료 저장과 검색을 위한 논리적 자료구조를 제시하는, 히스토리 관리용 B+ 트리 구성 방법을 제공하는 것을 목적으로 한다.The present invention has been devised to solve the problems of the prior art operating as described above, and suggests a logical data structure for data storage and retrieval of a database storing a record managing history, and a B + tree for history management. It is an object to provide a configuration method.

본 발명의 다른 목적과 장점은 하기된 발명의 상세한 설명을 읽고 첨부된 도면을 참조하면 보다 명백해질 것이다.Other objects and advantages of the present invention will become more apparent from the following detailed description of the invention and the accompanying drawings.

도 1 은 종래 기술에 의한 내역 관리를 위한 변경 자료구조 제시 방법 블럭도.1 is a block diagram showing a method of presenting a change data structure for history management according to the prior art;

도 2 는 본 발명에 의한 내역 관리를 위한 변경 자료구조 제시 방법 블럭도.2 is a block diagram of a method of presenting a changed data structure for managing details according to the present invention;

도 3 은 본 발명에 따른 내역 관리를 위한 변경 자료구조 제시 방법에 대한 흐름도.3 is a flowchart illustrating a method of presenting a change data structure for managing history according to the present invention.

〈도면의 주요 부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

100, 200, 300, 400, 500, 600, 700, 800 : 잎Leaves: 100, 200, 300, 400, 500, 600, 700, 800

110, 120, 210, 220, 310, 320, 410, 420, 510, 520, 610, 620, 710, 720, 810, 820 : 레코드Records: 110, 120, 210, 220, 310, 320, 410, 420, 510, 520, 610, 620, 710, 720, 810, 820

515, 525, 615, 625, 715, 725, 815, 825 : 레코드 내역 정보515, 525, 615, 625, 715, 725, 815, 825: record history information

상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명에 따른 히스토리 관리용 B+ 트리 구성 방법은, 자료저장용 논리구조인 B+ Tree의 구조 개선방법에 있어서,The method for constructing a history management B + tree according to the present invention, which is designed to achieve the above object, in the method for improving the structure of a B + tree, which is a logical structure for data storage,

각 레코드의 히스토리 정보의 관리부분에 관한 추가 구조와 그에 따른 히스토리 정보를 검색하는 단계;Retrieving additional structures relating to the management portion of the history information of each record and corresponding history information;

현재 정보를 수정하는 단계;Modifying current information;

하나의 레코드에 관한 일반적인 정보를 검색, 삽입 또는 삭제하는 단계; 및Retrieving, inserting, or deleting general information about one record; And

하나의 현존하는 레코드에 관한 정보를 변경하는 경우 변경되는 새로운 정보 이외에 기존의 정보를 보관 및 검색하는 단계를 구비하여 이루어진다.In the case of changing the information about one existing record, a step of storing and retrieving the existing information is made in addition to the new information to be changed.

본 발명의 바람직한 실시예에서는, 상기 기존의 레코드 정보를 수정하는 단계는,In a preferred embodiment of the present invention, the step of modifying the existing record information,

기존의 B+ 트리의 레코드 검색절차를 이용하여 프라이머리 키로 현재의 레코드를 검색하는 단계와;Retrieving the current record with the primary key using a record retrieval procedure of an existing B + tree;

상기 레코드 검색에 의해, 수정할 레코드를 찾는 단계를 구비하여 이루어지고,Searching for the record to be modified by the record search,

상기 레코드 검색에 의해, 수정할 레코드를 찾는 단계는, 현재의 레코드를 내역 키를 이용하여 내역 자료구조에 새롭게 삽입하는 단계와;The retrieving of the record to be modified by the record retrieval includes: newly inserting a current record into a history data structure using a history key;

상기 레코드를 삽입한 후 현재의 레코드에 새로운 정보를 덮어쓰는 단계를 포함하며,Inserting the record and overwriting new information in the current record,

상기 기존의 레코드 내역 정보를 검색하는 단계는, 레코드의 내역 정보를 지시하는 포인터를 통해 내역 데이터 베이스를 검색하는 단계와;The step of retrieving the existing record history information includes: retrieving a history database through a pointer indicating the record information of the record;

상기 데이터 베이스를 검색한 후, 해당 내역 데이터 베이스의 종류에 따라, 필요한 정보를 내역 키를 이용하여 검색하는 단계를 구비하여 이루어지고,And after searching the database, searching for necessary information using a history key according to the type of the history database.

상기 기존의 레코드를 삭제하는 단계는, 상기 검색한 레코드만이 아닌, 레코드가 지시하는 내역 정보를 삭제한 후에 해당 레코드를 삭제하는 단계를 구비하여 이루어진다.The deleting of the existing record comprises deleting not only the searched record but the corresponding record after deleting the history information indicated by the record.

하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.

도 2 는 본 발명에 의한 내역 관리를 위한 변경 자료구조 제시 방법 블럭도이다. 도시된 바와 같이, 변형된 B+ 트리 자료구조에 있어서, 각 레코드(510)(520)(610)(620)(710)(720)(810)(820)의 내역 정보의 관리부분에 관한 추가 구조와 그에 따른 내역 정보의 검색절차, 그리고 현재 정보의 수정절차를 포함한다. 나머지 B+ 트리의 고유한 구조는 널리 알려진 구조이다. 그리고, 하나의 레코드(510)(520)(610)(620)(710)(720)(810)(820)에 관한 일반적인 정보를 검색하는 과정이나, 삽입 또는 삭제하는 과정도 이미 알려진 데로 동일하다. 다만, 하나의 현존하는 레코드에 관한 정보를 변경할 때, 변경되는 새로운 정보 이외에 기존의 정보를 보관하는 구조와 절차, 그리고 그러한 정보를 검색하는 절차가 발명을 구성하는 요소가 된다.2 is a block diagram of a method for presenting a change data structure for managing details according to the present invention. As shown, in the modified B + tree data structure, an additional structure relating to the management portion of the historical information of each record 510, 520, 610, 620, 710, 720, 810, 820 And the retrieval procedure of the historical information and the correction procedure of the current information. The unique structure of the rest of the B + tree is a well known structure. In addition, the process of searching for, inserting, or deleting general information about one record 510, 520, 610, 620, 710, 720, 810, 820 is identical. . However, when changing information on one existing record, the structure and procedure of storing the existing information in addition to the new information to be changed, and the procedure of retrieving such information become elements of the invention.

본 발명의 변형된 B+ 트리 자료구조는 앞의 포인터 외에 각각의 레코드(510)(520)(610)(620)(710)(720)(810)(820)도 하나씩의 포인터(이하 B 포인터)를 더 가지고 있다. 각각의 레코드(510)(520)(610)(620)(710)(720)(810)(820)는 기존의 B+ 트리 구조처럼 ‘키’라는 일정한 필드 값을 기준으로 차례차례 저장되어 있다. A 포인터(기존의 포인터)는 기존의 포인터와 같은 역할을 한다. 즉, 자식 잎을 지시하는 포인터이다. B 포인터는 그 특정 레코드의 과거 정보, 즉 내역 정보(515)(525)(615)(625)(715)(725)(815)(825)를 저장한 또 다른 자료구조를 지시하는 포인터이다. 이때 또 다른 자료구조는 자료를 용이하게 저장할 수 있는 두 번째 키를 기준으로 구성된다. 그리고, 내역 정보(515)(525)(615)(625)(715)(725)(815) (825)의 사이즈에 따라 연결된 리스트가 될 수 있다. 아니면, 또 다른 하나의 B+ 트리 구조가 될 수도 있다. 하지만, 정적인 구조가 아닌 그 정보의 수가 자랄 수 있는 동적인 자료구조여야 한다.In the modified B + tree data structure of the present invention, each record 510, 520, 610, 620, 710, 720, 810, and 820 also has one pointer (hereinafter referred to as B pointer). Have more Each record 510, 520, 610, 620, 710, 720, 810, 820 is sequentially stored based on a certain field value of 'key' like the existing B + tree structure. The A pointer (an existing pointer) acts like an existing pointer. That is, a pointer to a child leaf. The B pointer is a pointer to another data structure that stores historical information of the particular record, that is, history information 515, 525, 615, 625, 715, 725, 815, and 825. Another data structure is based on a second key that can easily store data. The list information may be a linked list according to the size of the details information 515, 525, 615, 625, 715, 725, 815, and 825. Or it could be another B + tree structure. However, it must be a dynamic data structure in which the number of information can grow, not a static structure.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the operating principle of the preferred embodiment of the present invention.

동작은, 레코드(510)(520)(610)(620)(710)(720)(810)(820)의 최신 정보를 검색한다. 그리고, 새로운 레코드(510)(520)(610)(620)(710)(720)(810)(820)의 삽입과 삭제는 기존의 B+ 트리와 같은 절차로 수행된다. 기존의 레코드 정보를 수정할 때와 기존의 레코드 내역(History) 정보(515)(525)(615)(625)(715)(725)(815)(825)를 검색할 때, 그리고 기존의 레코드(510)(520)(610)(620)(710)(720)(810)(820)를 삭제하는 단계로 구분하여 설명한다. 기존의 레코드 정보를 수정할 때는, 기존의 B+ 트리의 레코드(510)(520)(610)(620)(710)(720)(810)(820) 검색절차를 이용하여 프라이머리 키(Primary Key)로 현재의 레코드(510)(520)(610)(620)(710)(720)(810) (820)를 검색한다. 그리고, 수정할 레코드(510)(520)(610)(620)(710)(720)(810) (820)를 찾으면 현재의 레코드를 내역 키를 이용하여서, 내역 자료구조에 새롭게 레코드를 저장한다. 그런 후에 현재의 레코드에 새로운 정보를 덮어쓴다. 기존의 레코드의 내역 정보(515)(525)(615)(625)(715)(725)(815)(825)를 검색할 때는, 기존의 B+ 트리와 같은 절차로 레코드(510)(520)(610)(620)(710)(720)(810)(820)를 검색한다. 그리고, 레코드의 내역 정보(515)(525)(615)(625)(715)(725)(815)(825)를 지시하는 포인터를 통해 내역 데이터 베이스를 검색한다. 검색 한 후에 해당 내역 데이터 베이스의 종류에 따라서 내역 키로 필요한 정보(515)(525)(615) (625)(715)(725)(815)(825)를 검색해 낸다. 마지막으로 기존의 레코드(510)(520) (610)(620)(710)(720)(810)(820)를 삭제하는 경우는, 마찬가지로 기존의 B+ 트리와 같은 레코드(510)(520)(610)(620)(710)(720)(810)(820)를 검색한다. 그리고, 검색한 레코드(510)(520)(610)(620)(710)(720)(810)(820)뿐만 아니라 검색한 레코드(510)(520)(610)(620)(710)(720)(810)(820)가 지시하는 내역 정보(515)(525)(615) (625)(715)(725)(815)(825)를 삭제한다. 이 단계가 끝나면 해당 레코드를 삭제한다.The operation retrieves the latest information of the records 510, 520, 610, 620, 710, 720, 810, 820. In addition, insertion and deletion of new records 510, 520, 610, 620, 710, 720, 810 and 820 are performed by the same procedure as the existing B + tree. When modifying existing record information and when retrieving existing record history information 515, 525, 615, 625, 715, 725, 815, 825, and existing records ( 510, 520, 610, 620, 710, 720, 810, and 820 will be described by dividing them into steps of deleting. When modifying existing record information, the primary key can be retrieved using the records 510, 520, 610, 620, 710, 720, 810, and 820 retrieval procedures of the existing B + tree. It searches for the current record 510, 520, 610, 620, 710, 720, 810, 820. When the record 510, 520, 610, 620, 710, 720, 810, and 820 to be modified is found, the record is newly stored in the history data structure using the history key. Then overwrite the current record with the new information. When retrieving historical information of an existing record (515) (525) (615) (625) (715) (725) (815) (825), the records (510) (520) are processed in the same manner as the existing B + tree. Search for (610) 620, 710, 720, 810, and 820. Then, the history database is searched through a pointer indicating the history information 515 (525) 615 (625) 715 (725) 815 (825) 825 of the record. After retrieving, the information 515, 525, 615, 625, 715, 725, 815, and 825 are retrieved using the history key according to the type of the history database. Finally, when deleting existing records 510, 520, 610, 620, 710, 720, 810 and 820, records 510 and 520 like the existing B + tree are likewise deleted. Search for 610, 620, 710, 720, 810, and 820. Then, the searched records 510, 520, 610, 620, 710, 720, 810, 820, as well as the searched records 510, 520, 610, 620, 710 ( The history information 515, 525, 615, 625, 715, 725, 815, 825 indicated by 720, 810, and 820 is deleted. After this step, delete the record.

이런 절차로 현재의 레코드(510)(520)(610)(620)(710)(720)(810)(820)의 내역 정보(515)(525)(615)(625)(715)(725)(815)(825)를 저장할 때는, 일반적으로 지나간 정보인 내역 정보(515)(525)(615)(625)(715)(725)(815)(825)가 불변하다. 고로, 내역 데이터 베이스는 하드디스크가 아닌, 읽기 전용의 광 파일 시스템 등 좀더 저렴하고 접근 시간이 느린, 대용량 저장장치에 저장할 수도 있다. 이는 일단 해당 레코드(510)(520)(610)(620)(710)(720)(810)(820)를 찾는 것이 많은 시간적 비용이 소요되는 작업이며, 일반적으로 내역 정보(515)(525)(615)(625)(715) (725)(815)(825)가 데이터 베이스내의 레코드(510)(520)(610)(620)(710)(720)(810) (820)수에 비해 미미하여 검색하는데 있어, 비용이 적게든다는 가정을 한다. 도 3 은 본 발명에 따른 내역 관리를 위한 변경 자료구조 제시 방법에 대한 흐름도이다. 본 방법은 기존의 레코드 정보를 수정한다(S1). 그리고, 기존의 레코드 내역 정보를 검색한다(S2). 또한, 기존의 레코드를 삭제한다(S3).This procedure results in historical information 515, 525, 615, 625, 715, 725 of the current record 510, 520, 610, 620, 710, 720, 810, 820. 815, 825, the historical information 515, 525, 615, 625, 715, 725, 815, 825, which is generally passed by, is invariant. Thus, historical databases can be stored on less expensive, slower access mass storage devices, such as read-only optical file systems, rather than hard disks. This is a time consuming task of finding the corresponding records 510, 520, 610, 620, 710, 720, 810, and 820, and in general, historical information 515, 525. 615, 625, 715, 725, 815, 825 compared to the number of records 510, 520, 610, 620, 710, 720, 810, 820 in the database. It is assumed that the search cost is insignificant. 3 is a flowchart illustrating a method of presenting a change data structure for managing details according to the present invention. The method modifies existing record information (S1). The existing record detail information is retrieved (S2). In addition, the existing record is deleted (S3).

본 발명은 다양하게 변형될 수 있고 여러 가지 형태를 취할 수 있으며 상기 발명의 상세한 설명에서는 그에 따른 특별한 실시예에 대해서만 기술하였다. 하지만 본 발명은 상기 발명의 상세한 설명에서 언급된 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.The present invention can be variously modified and can take various forms and only the specific embodiments thereof are described in the detailed description of the invention. It is to be understood, however, that the present invention is not limited to the specific forms mentioned in the detailed description of the invention, but rather includes all modifications, equivalents, and substitutions within the spirit and scope of the invention as defined by the appended claims. It should be understood to do.

상기한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.In the present invention operating as described above, the effects obtained by the representative ones of the disclosed inventions will be briefly described as follows.

본 발명의 자료구조를 이용하면 레코드의 내역 정보를 함께 보존해야 하는 데이터 베이스일 경우, 기존의 B+ 트리를 사용할 수도 있지만, 이 발명이 제시하는 변형된 B+ 트리는 구조적으로 내역 정보의 저장을 지원하므로써 데이터 베이스를 훨씬 용이하게 구축할 수 있다.If the data structure of the present invention is used to store the record information together, the existing B + tree can be used. However, the modified B + tree proposed by the present invention can be used to structurally store the information. The base is much easier to build.

Claims (5)

자료저장용 논리구조인 B+ Tree의 구조 개선방법에 있어서,In the structure improvement method of B + Tree, which is a logical structure for data storage, 각 레코드의 히스토리 정보의 관리부분에 관한 추가 구조와 그에 따른 히스토리 정보를 검색하는 단계;Retrieving additional structures relating to the management portion of the history information of each record and corresponding history information; 현재 정보를 수정하는 단계;Modifying current information; 하나의 레코드에 관한 일반적인 정보를 검색, 삽입 또는 삭제하는 단계;Retrieving, inserting, or deleting general information about one record; 하나의 현존하는 레코드에 관한 정보를 변경하는 경우 변경되는 새로운 정보 이외에 기존의 정보를 보관 및 검색하는 단계를 구비하는, 히스토리 관리용 B+ 트리 구성 방법.And storing and retrieving existing information in addition to the new information that is changed when changing information about one existing record. 제 1 항에 있어서, 상기 기존의 레코드 정보를 수정하는 단계는,The method of claim 1, wherein the modifying the existing record information, 기존의 B+ 트리의 레코드 검색절차를 이용하여 프라이머리 키로 현재의 레코드를 검색하는 단계와;Retrieving the current record with the primary key using a record retrieval procedure of an existing B + tree; 상기 레코드 검색에 의해, 수정할 레코드를 찾는 단계를 구비하는, 히스토리 관리용 B+ 트리 구성 방법.And retrieving the record to be modified by said record retrieval. 제 2 항에 있어서, 상기 레코드 검색에 의해, 수정할 레코드를 찾는 단계는, 현재의 레코드를 내역 키를 이용하여 내역 자료구조에 새롭게 삽입하는 단계와;3. The method of claim 2, wherein searching for the record to be modified by the record search comprises: inserting a current record into a history data structure using a history key; 상기 레코드를 삽입한 후 현재의 레코드에 새로운 정보를 덮어쓰는 단계를 포함하는, 히스토리 관리용 B+ 트리 구성 방법.And overwriting new information in a current record after inserting the record. 제 1 항에 있어서, 상기 기존의 레코드 내역 정보를 검색하는 단계는, 레코드의 내역 정보를 지시하는 포인터를 통해 내역 데이터 베이스를 검색하는 단계와;2. The method of claim 1, wherein retrieving the existing record history information comprises: retrieving a history database through a pointer indicating the record information of the record; 상기 데이터 베이스를 검색한 후, 해당 내역 데이터 베이스의 종류에 따라, 필요한 정보를 내역 키를 이용하여 검색하는 단계를 구비하는, 히스토리 관리용 B+ 트리 구성 방법.Retrieving the necessary information using a history key according to the type of the corresponding history database after searching the database. 제 1 항에 있어서, 상기 기존의 레코드를 삭제하는 단계는, 상기 검색한 레코드만이 아닌, 레코드가 지시하는 내역 정보를 삭제한 후에 해당 레코드를 삭제하는 단계를 구비하는, 히스토리 관리용 B+ 트리 구성 방법.The method of claim 1, wherein the deleting of the existing record comprises deleting the record after deleting the history information indicated by the record, not just the searched record. Way.
KR1019980033553A 1998-08-19 1998-08-19 Method for composing b+ tree to manage history KR20000037515A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980033553A KR20000037515A (en) 1998-08-19 1998-08-19 Method for composing b+ tree to manage history

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980033553A KR20000037515A (en) 1998-08-19 1998-08-19 Method for composing b+ tree to manage history

Publications (1)

Publication Number Publication Date
KR20000037515A true KR20000037515A (en) 2000-07-05

Family

ID=19547602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980033553A KR20000037515A (en) 1998-08-19 1998-08-19 Method for composing b+ tree to manage history

Country Status (1)

Country Link
KR (1) KR20000037515A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009031833A1 (en) * 2007-09-05 2009-03-12 Korea Institute Of Science And Technology Information System and method for instances registering based on history
WO2014025097A1 (en) * 2012-08-10 2014-02-13 영남대학교 산학협력단 Method for databasing non-volatile ram-based b+ tree

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146339A (en) * 1983-02-09 1984-08-22 Hitachi Ltd Information retrieving system
JPH0283640A (en) * 1988-09-20 1990-03-23 Sony Corp Data base updating method
JPH0581101A (en) * 1991-09-18 1993-04-02 Hitachi Software Eng Co Ltd Method for assigning storage of key
KR19990050579A (en) * 1997-12-17 1999-07-05 이계철 How to add multiple key values to a non-plus tree

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146339A (en) * 1983-02-09 1984-08-22 Hitachi Ltd Information retrieving system
JPH0283640A (en) * 1988-09-20 1990-03-23 Sony Corp Data base updating method
JPH0581101A (en) * 1991-09-18 1993-04-02 Hitachi Software Eng Co Ltd Method for assigning storage of key
KR19990050579A (en) * 1997-12-17 1999-07-05 이계철 How to add multiple key values to a non-plus tree

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009031833A1 (en) * 2007-09-05 2009-03-12 Korea Institute Of Science And Technology Information System and method for instances registering based on history
KR100899038B1 (en) * 2007-09-05 2009-05-21 한국과학기술정보연구원 System and method for nistance registering based on history
WO2014025097A1 (en) * 2012-08-10 2014-02-13 영남대학교 산학협력단 Method for databasing non-volatile ram-based b+ tree
KR101438667B1 (en) * 2012-08-10 2014-09-12 영남대학교 산학협력단 Database method for b+ tree based on PRAM

Similar Documents

Publication Publication Date Title
US5590320A (en) Computer file directory system
US5579516A (en) Method for storing data files on a multiple volume media set
US5790848A (en) Method and apparatus for data access and update in a shared file environment
US6516320B1 (en) Tiered hashing for data access
US6061678A (en) Approach for managing access to large objects in database systems using large object indexes
US5999943A (en) Lob locators
US5628007A (en) Methods for storing a database in extended attributes of a file system
US5454101A (en) Data storage system with set lists which contain elements associated with parents for defining a logical hierarchy and general record pointers identifying specific data sets
US7730097B2 (en) Smart database
US6658437B1 (en) System and method for data space allocation using optimized bit representation
US7337199B2 (en) Space management of an IMS database
KR100398753B1 (en) Transaction processing system using efficient file update processing and recovery processing
US6714935B1 (en) Management of non-persistent data in a persistent database
CN101278289A (en) System and method for providing an ojbect to support data structures in WORM storage
KR20040043115A (en) File management method
US6829616B2 (en) Method, system, and program for implementing a database trigger
JP4101410B2 (en) Time version data storage device
US6453324B1 (en) Method for maintaining a version history of objects in a repository
US20030182292A1 (en) Method, system, data structures, and article of manufacture for implementing a persistent object
US7228309B1 (en) Facilitating maintenance of indexes during a reorganization of data in a database
KR20000037515A (en) Method for composing b+ tree to manage history
US8818953B2 (en) Method and apparatus for loading data into multi-table tablespace
US6760713B2 (en) Method, computer program product, and system for file and record selection utilizing a fuzzy data record pointer
US7444338B1 (en) Ensuring that a database and its description are synchronized
JPH096653A (en) Data base checking information processor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application