JP2020086617A - Database and information processing system - Google Patents

Database and information processing system Download PDF

Info

Publication number
JP2020086617A
JP2020086617A JP2018216056A JP2018216056A JP2020086617A JP 2020086617 A JP2020086617 A JP 2020086617A JP 2018216056 A JP2018216056 A JP 2018216056A JP 2018216056 A JP2018216056 A JP 2018216056A JP 2020086617 A JP2020086617 A JP 2020086617A
Authority
JP
Japan
Prior art keywords
storage unit
data
database
character string
character
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.)
Granted
Application number
JP2018216056A
Other languages
Japanese (ja)
Other versions
JP6780181B2 (en
Inventor
大 益満
Dai Masumitsu
大 益満
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Masumitsu Dai
Original Assignee
Masumitsu Dai
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 Masumitsu Dai filed Critical Masumitsu Dai
Priority to JP2018216056A priority Critical patent/JP6780181B2/en
Publication of JP2020086617A publication Critical patent/JP2020086617A/en
Application granted granted Critical
Publication of JP6780181B2 publication Critical patent/JP6780181B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

To provide a technique which converts data so as to prevent a database of a server from malfunctioning when a client saves the data in the database.SOLUTION: If a character likely to cause an information processing system to malfunction is included in a field of a database, a character string consisting of only characters other than characters likely to cause the information processing system to malfunction is substituted for the character and is stored in the database. When the stored field is read, an information processing apparatus is caused to execute processing of converting the characters after the substitution to the character before the substitution.SELECTED DRAWING: Figure 2

Description

本発明は、データベースを処理するプログラムに関する。 The present invention relates to a program for processing a database.

従来、第1の情報処理装置および第2の情報処理装置に必要なソフトウェアをインストールし、第1の情報処理装置にインストールされたソフトウェアを操作し、第2の情報処理装置に記憶されているデータベースを処理するプログラムが知られている。(例えば、非特許文献1参照) Conventionally, software required for the first information processing apparatus and the second information processing apparatus is installed, the software installed in the first information processing apparatus is operated, and a database stored in the second information processing apparatus is operated. A program for processing is known. (For example, see Non-Patent Document 1)

ニコニコ動画「<社畜育成ドラマ> 業務システムが幻想入り 第12話「DBのすゝめ」」(URL:https://www.nicovideo.jp/watch/sm32753333)2018年10月30日閲覧 ただし<および>は墨付き括弧Nico Nico Douga "< Company livestock raising drama> Business system has an illusion Episode 12 "DB Susume"" (URL: https://www.nicovideo.jp/watch/sm32753333) Viewed October 30, 2018 However <and > Is black brackets

しかし、非特許文献1に開示された技術では、複数の情報処理装置にソフトウェアをインストールしなければならず、ソフトウェアの設定を間違えると正しく動作しない場合があるという問題がある。 However, the technique disclosed in Non-Patent Document 1 has a problem in that software must be installed in a plurality of information processing devices, and if the software settings are incorrect, the software may not operate correctly.

本発明は、かかる事情にかんがみてなされたものであって、その目的とするところは、第1の情報処理装置にインストールされたソフトウェアが、第2の情報処理装置に記憶されているデータベースを処理することができるプログラム及び情報処理システムを提供することにある。 The present invention has been made in view of the above circumstances, and an object thereof is to have software installed in a first information processing device process a database stored in a second information processing device. The object is to provide a program and an information processing system that can be performed.

本発明の一態様のプログラムは、データベースのフィールドに、情報処理システムが誤作動を起こす恐れがある文字を含む場合に、前記文字を、情報処理システムが誤作動を起こす恐れがある文字ではない文字のみからなる文字列に差し替えてデータベースに記憶する処理と、前記記憶されたフィールドを読み込む場合に、前記差し替えをした後の文字を、前記差し替えをする前の文字に変換する処理を情報処理装置に実行させる。 A program according to an aspect of the present invention is such that when a field of a database includes a character that may cause a malfunction of the information processing system, the character is not a character that may cause a malfunction of the information processing system. In the information processing device, a process of replacing a character string consisting of only one and storing it in the database, and a process of converting the character after the replacing to the character before the replacing when reading the stored field Let it run.

本発明の一態様のプログラムは、所定の場所(第1情報処理装置であっても、第1情報処理装置と通信手段を介して接続された第2情報処理装置であってもよい)に記憶されているデータベースを操作する処理を、第1情報処理装置に実行される。 The program according to one aspect of the present invention is stored in a predetermined location (may be the first information processing apparatus or the second information processing apparatus connected to the first information processing apparatus via a communication unit). The process for operating the stored database is executed by the first information processing device.

本発明の一側面によれば、データベースを処理することが可能となる。(第1情報処理装置と通信手段を介して接続された第2情報処理装置に記憶されているプログラムを処理する場合であっても、第2情報処理装置にソフトウェアをインストールする必要がない) According to one aspect of the present invention, a database can be processed. (Even when processing the program stored in the second information processing apparatus connected to the first information processing apparatus via the communication means, it is not necessary to install the software in the second information processing apparatus)

情報処理装置を示すブロック図。FIG. 3 is a block diagram showing an information processing device. 実施の形態1に係る情報処理装置が実施の形態1に説明した処理を実行する手順を示すフローチャート。6 is a flowchart showing a procedure for the information processing apparatus according to the first embodiment to execute the processing described in the first embodiment. 実施の形態1に係る情報処理装置が行う処理の例の説明図。3 is an explanatory diagram of an example of processing performed by the information processing apparatus according to the first embodiment. FIG. 実施の形態1に係る情報処理装置が行う処理の例の説明図。3 is an explanatory diagram of an example of processing performed by the information processing apparatus according to the first embodiment. FIG. 実施の形態2に係るデータベース処理部の構成を示す図。FIG. 6 is a diagram showing a configuration of a database processing unit according to the second embodiment. 欠番。Missing number. 欠番。Missing number. 実施の形態2に係る情報処理システムの構成を示すブロック図。3 is a block diagram showing the configuration of an information processing system according to Embodiment 2. FIG. 実施の形態3に係る情報処理装置が読み込み部501を実行する処理の手順を示したフローチャート。9 is a flowchart showing a procedure of processing in which the information processing apparatus according to the third embodiment executes a reading unit 501. 欠番。Missing number. 実施の形態6に係る情報処理装置が書き込み部521を実行する処理の手順を示したフローチャート。9 is a flowchart showing a procedure of a process in which the information processing apparatus according to the sixth embodiment executes a writing unit 521. 実施の形態6に係る情報処理装置が行う処理の例を説明するための図。FIG. 16 is a diagram for explaining an example of processing performed by the information processing device according to the sixth embodiment. 実施の形態8に係る変更記憶部513および変更記憶部513に格納されたデータの一例を示す図。FIG. 16 is a diagram showing an example of a change storage unit 513 and data stored in the change storage unit 513 according to the eighth embodiment. 実施の形態3に係る読み込み部501が実行する処理の手順を示したフローチャート。9 is a flowchart showing a procedure of processing executed by the reading unit 501 according to the third embodiment. 実施の形態4に係るストリーム記憶部511を示す図。The figure which shows the stream storage part 511 which concerns on Embodiment 4. 実施の形態5に係るテキスト記憶部512を示す図。The figure which shows the text memory|storage part 512 which concerns on Embodiment 5. 実施の形態7に係る情報処理装置が変更部502の一部である更新記憶部1310を実行する処理の手順を示したフローチャート。20 is a flowchart showing the procedure of a process in which the information processing apparatus according to the seventh embodiment executes an update storage unit 1310 that is a part of the changing unit 502. 実施の形態7に係る情報処理装置が変更部502の一部である削除記憶部1350を実行する処理の手順を示したフローチャート。10 is a flowchart showing a procedure of processing in which the information processing apparatus according to the seventh embodiment executes a deletion storage unit 1350 which is a part of the changing unit 502. 実施の形態11に係る変更部502の一例を示す図。The figure which shows an example of the change part 502 which concerns on Embodiment 11. 実施の形態11に係る情報処理装置が行う処理の手順を示すフローチャート。23 is a flowchart showing the procedure of processing performed by the information processing apparatus according to the eleventh embodiment. 実施の形態10に係る情報処理装置が、変更記憶部513、テキスト記憶部512の少なくともいずれかからデータを探索する手順を示すフローチャート。20 is a flowchart showing a procedure in which the information processing apparatus according to the tenth embodiment searches for data in at least one of the change storage unit 513 and the text storage unit 512.

<ハードウェア構成>
実施の形態1
上記の実施形態におけるハードウェアの構成を、図1を参照し説明する。図1は情報処理装置を示すブロック図。情報処理装置1は通信網N(例えば、インターネット、LAN(Local Area Network)又は携帯電話網)により他の情報処理装置と相互に接続されている。情報処理装置1は、例えばサーバ装置、パーソナルコンピュータ又はスマートフォン等。情報処理装置1は、CPU(Central Prosessing Unit)11、記憶部12、RAM(Random Access Memory)13、入力部14、表示部15、通信部16およびドライブ部17をそなえる。
<Hardware configuration>
Embodiment 1
The hardware configuration of the above embodiment will be described with reference to FIG. FIG. 1 is a block diagram showing an information processing device. The information processing device 1 is mutually connected to another information processing device by a communication network N (for example, the Internet, a LAN (Local Area Network) or a mobile phone network). The information processing device 1 is, for example, a server device, a personal computer, a smartphone, or the like. The information processing device 1 includes a CPU (Central Processing Unit) 11, a storage unit 12, a RAM (Random Access Memory) 13, an input unit 14, a display unit 15, a communication unit 16 and a drive unit 17.

CPU11はパスを介しハードウェア各部と接続されている。CPU11は例えば1以上のCPU又はマルチコアCPU等をそなえる。CPU11は、プログラム12P(例えば、記憶部12に記憶されている。他の部分(例えば記録媒体10)に記憶されていてもよい)に従いハードウェア各部を制御する。 The CPU 11 is connected to each part of the hardware via a path. The CPU 11 includes, for example, one or more CPUs or multi-core CPUs. The CPU 11 controls each part of the hardware according to the program 12P (for example, stored in the storage unit 12. It may be stored in another part (for example, the recording medium 10)).

記憶部12は例えばハードディスク又は大容量メモリ等。ドライブ部17は、記録媒体10(例えば、光ディスク)から情報を読み取る。記憶部12にはCPU11が処理を行う際に必要とする種々のデータ及びプログラム12Pを格納する。CPU11は、記録媒体10に記録されたプログラム12Pをドライブ部17に読み取らせ、読み取ったプログラム12Pを記憶部12に記憶させる。CPU11は、必要に応じてプログラム12Pを記憶部12からRAM13にロードし、ロードしたプログラム12Pに従って、各種の処理を実行する。なお、プログラム12Pは、情報処理装置1の外部からダウンロードされてもよく、あらかじめ記憶部12に記憶されていてもよい。この場合、情報処理装置1は、ドライブ部17をそなえていない形態であってもよい。 The storage unit 12 is, for example, a hard disk or a large capacity memory. The drive unit 17 reads information from the recording medium 10 (for example, an optical disc). The storage unit 12 stores various data and programs 12P required when the CPU 11 performs processing. The CPU 11 causes the drive unit 17 to read the program 12P recorded in the recording medium 10, and stores the read program 12P in the storage unit 12. The CPU 11 loads the program 12P from the storage unit 12 into the RAM 13 as necessary, and executes various processes according to the loaded program 12P. The program 12P may be downloaded from the outside of the information processing device 1 or may be stored in the storage unit 12 in advance. In this case, the information processing device 1 may not have the drive unit 17.

RAM13は、例えばSRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等。RAM13は、記憶部としても機能し、CPU11による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。 The RAM 13 is, for example, SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), or flash memory. The RAM 13 also functions as a storage unit, and temporarily stores various data generated when the CPU 11 executes various programs.

入力部14はマウスまたはキーボード等の入力デバイスであり、受け付けた操作情報をCPU11へ送信する。表示部15はCPU11から送信された画像データを表示する。表示部15は例えば液晶ディスプレイ。通信部16は、例えば無線LANカード又は携帯電話用通信モジュール等であり、通信網Nを介して各種情報を送受信する。 The input unit 14 is an input device such as a mouse or a keyboard, and transmits the received operation information to the CPU 11. The display unit 15 displays the image data transmitted from the CPU 11. The display unit 15 is, for example, a liquid crystal display. The communication unit 16 is, for example, a wireless LAN card, a mobile phone communication module, or the like, and transmits and receives various information via the communication network N.

<実施の形態1>
本実施の形態は、データベースをフラットファイルデータベース、つまりプレーンテキストとして保存する。
<Embodiment 1>
In this embodiment, the database is saved as a flat file database, that is, plain text.

本実施の形態では、第1の文字(例えば改行)はレコードの境界、第2の文字(例えばカンマ)はカラムの境界。つまり、少なくとも第1の文字、第2の文字と同じ文字がフィールドに存在してはならない。さもないと、データベースを処理する際、誤作動が起こる(情報処理装置は、レコードやカラムの境界ではない場所をレコードやカラムの境界であると誤認する)。以後、フィールドに存在してはならない文字を「アウト文字」、アウト文字ではない文字を「セーフ文字」と呼称する。 In the present embodiment, the first character (e.g. line feed) is the record boundary and the second character (e.g. comma) is the column boundary. That is, at least the same character as the first character and the second character must not exist in the field. Otherwise, when the database is processed, a malfunction occurs (the information processing device mistakenly recognizes a place that is not a record or column boundary as a record or column boundary). Hereinafter, a character that should not be present in the field is called an "out character", and a character that is not an out character is called a "safe character".

アウト文字は、前述の通りデータベースの管理のために用いる文字であって、その他の目的に用いてはならない。また、将来の機能拡充(例えば、第3の文字2個以上連続したら、それ以降に存在する最初の第2の文字まではコメントであってプログラムによって編集されない部分であるとか、第3の文字に囲まれた文字列によってはプログラムが定められた処理をする(例えば文字の色を変更する)機能)のために、第3の文字(例えばスラッシュ)をフィールドに存在させてはならない。第3の文字はアウト文字である。 The OUT character is a character used for managing the database as described above and should not be used for any other purpose. In addition, future function expansion (for example, if two or more third characters are consecutive, the first and second characters existing after that are comments and are not edited by the program, The third character (eg, slash) must not be present in the field because the enclosed character string causes the program to perform a predetermined process (eg, change the color of the character). The third character is the out character.

前述の通り、アウト文字はフィールドに存在させてはならない。そのため、アウト文字が存在する文字列(例えば、「(,,゜Д゜)」。)をフィールドに書き込む場合は、アウト文字をセーフ文字(ただし、後述する第4の文字ではないセーフ文字に限る)のみからなる文字列に変換し、該変換をした部分とそれ以外の部分を区切る第4の文字(例えば等号)によって区切る必要がある。第4の文字は、厳密にはアウト文字ではない(アウト文字をセーフ文字のみからなる文字列に変換した部分と、そうでない部分を区切るためであればフィールドに存在してもよいため)が、アウト文字とセーフ文字を区切る以外のためにフィールドに存在してはならない文字であるため、アウト文字であるかのように扱わなければならない場合がある。(例えば「(=゜ω゜)ノ」は、アウト文字を含まない文字列であるが、第4の文字が存在するため、アウト文字から変換されたセーフ文字が存在するとプログラムが誤認するかもしれない。よって、第4の文字は、アウト文字ではないが、「第4の文字ではないセーフ文字」のみからなる文字列に変換されなければならない。) As mentioned above, the OUT character must not be present in the field. Therefore, when writing a character string that has an OUT character (for example, "(,, ゜Д゜).") to the field, the OUT character must be a safe character (however, it is a safe character that is not the fourth character described later). It is necessary to convert the converted character string into a character string consisting of only) and to separate the converted portion and the other portion by a fourth character (for example, an equal sign). Strictly speaking, the fourth character is not an out character (because it may exist in the field as long as it separates the part that converts the out character into a string consisting of safe characters and the part that does not), It is a character that must not be present in the field other than to separate the out character from the safe character, so it may have to be treated as if it were an out character. (For example, "(=゜ω゜)ノ" is a character string that does not include the OUT character, but since the fourth character exists, the program may mistakenly recognize that there is a safe character converted from the OUT character. Therefore, the fourth character is not an out character, but must be converted into a character string consisting only of "safe characters that are not the fourth character".)

アウト文字は、それぞれ定められた文字列に変換される。(例えば、第1の文字はOUT1、第2の文字がOUT2、第3の文字はOUT3、第4の文字はOUT4)該変換をした部分とそうでない部分は、第4の文字によって区切られる。(つまり、「(,,゜Д゜)」は「(=OUT2==OUT2=゜Д゜)」に変換され、データベースに保存される。「(=゜ω゜)ノ」は「(=OUT4=゜ω゜)ノ」に変換され、に変換され、データベースに保存される。

変形例:
アウト文字は、それぞれの文字の文字コード、あるいはそれぞれの文字の文字コードから作成される文字列(例えば、文字コードを16進数に変換した文字)に変換される。ただし改行は定められた文字列(例えばOUT1)に変換される。(例えば、第1の文字はOUT1、第2の文字は2C、第3の文字は2F、第4の文字は3D)該変換をした部分とそうでない部分は、第4の文字によって区切られる。(つまり、「(,,゜Д゜)R(=゜ω゜)ノR(=,=;)/」(ただしRは改行)は「(=2C-2C=゜Д゜)=OUT1=(=3D=゜ω゜)ノ =OUT1=(=3D-2C-3D=;)=2F=」に変換され、に変換され、データベースに保存される。改行を意味する文字コードは複数存在するため、OUT1のように、変換後の文字列を決めたほうが良い。
The out character is converted into a predetermined character string. (For example, the first character is OUT1, the second character is OUT2, the third character is OUT3, and the fourth character is OUT4.) The converted portion and the non-converted portion are separated by the fourth character. (That is, "(,, ゜Д゜)" is converted to "(=OUT2==OUT2=゜Д゜)" and saved in the database. "(=゜ω゜)ノ" is "(=OUT4 = ゜ω゜)ノ」, converted to and saved in the database.
(
Modification:
The out character is converted into a character code of each character or a character string created from the character code of each character (for example, a character code converted into a hexadecimal number). However, the line feed is converted into a specified character string (for example, OUT1). (For example, the first character is OUT1, the second character is 2C, the third character is 2F, and the fourth character is 3D.) The converted portion and the other portion are separated by the fourth character. (That is, "(,,゜Д゜)R(=゜ω゜)ノR(=,=;)/" (where R is a line feed) is "(=2C-2C=゜Д゜)=OUT1=( =3D=゜ω゜)ノ=OUT1=(=3D-2C-3D=;)=2F=”, and is stored in the database. Because there are multiple character codes that signify line breaks , OUT1, it is better to decide the converted character string.
)

データベースに保存された文字列を読み込むときは、第4の文字列を境に、(最初を0番目とした)奇数番目が、アウト文字(または第4の文字)からセーフ文字(第4の文字を含まない)に変換された文字列であるから、第4の文字列を境に(最初を0番目とした)奇数番目を、アウト文字に変換する。(つまり、フィールドに「(=OUT2==OUT2=゜Д゜)」が保存されている場合、第4の文字を境に「(」「OUT2」「」「OUT2」「」「゜Д゜)」に分けることができる。このうち、(最初を0番目とした)奇数番目は、「OUT2」「OUT2」であるから、これらを「,」「,」に変換する。そして第4の文字を境に分けられた文字列を連結し「(,,゜Д゜)」となる。) When reading the character string stored in the database, the odd character (starting from 0th) from the out character (or the 4th character) to the safe character (the 4th character) is separated by the 4th character string. Since the character string has been converted to a character string that does not include (), the odd-numbered character (starting from 0th) is converted to an out character with the fourth character string as a boundary. (That is, if "(=OUT2==OUT2=゜Д゜)" is stored in the field, "(" "OUT2" "" "OUT2" "" "゜Д゜) with the 4th character as a boundary Of these, the odd-numbered ones (starting at 0) are “OUT2” and “OUT2”, so convert these to “,” “,”. And the fourth character Concatenation of character strings divided into boundaries makes "(,, ゜Д゜)".)


変形例:
アウト文字や第4の文字が連続する文字列(例えば「(=,=;)」を前述の通り変換する場合、第4の文字が連続する(例えば「(=OUT4==OUT2==OUT4=;)」)となり不都合。この場合、アウト文字や第4の文字が連続する場合は、変換後の文字列に第4の文字が連続することになるから(文字が連続するということは、文字と文字の間に空文字列が挟まっているということ)第4の文字が連続する部分を、アウト文字(第4の文字を含む)から変換したセーフ文字(第4の文字を除く)に使用しない文字(以後、第5の文字と呼称)(例えば「-」)に置き換える(置換ともいう)。例えば、「(=,=;)」は「(=OUT4==OUT2==OUT4=;)」に変換されるが、第4の文字が2連続する部分を第5の文字1個に置き換える(例えば「(=OUT4-OUT2-OUT4=;)」)ことにより、変換後の文字列を減らす。
(
Modification:
When converting a character string in which the OUT character or the fourth character continues (for example, "(=,=;)" as described above, the fourth character continues (for example, "(=OUT4==OUT2==OUT4= ;)”), which is inconvenient. In this case, if the out character or the fourth character is continuous, the fourth character will be continuous in the converted character string (the continuous characters mean that Do not use the part where the 4th character continues as a safe character (excluding the 4th character) converted from the out character (including the 4th character). Replace (also called replacement) with a character (hereinafter referred to as the fifth character) (for example, "-") For example, "(=,=;)" is "(=OUT4==OUT2==OUT4=;)" However, the character string after conversion is reduced by replacing the portion where the fourth character is continuous two by one fifth character (for example, "(=OUT4-OUT2-OUT4=;)").
)


変形例:
データベースに保存された文字列を読み込むときは、第4の文字列を境に、(最初を0番目とした)奇数番目が、アウト文字(または第4の文字)からセーフ文字(第4の文字を含まない)に変換された文字列であるから、第4の文字列を境に(最初を0番目とした)奇数番目にある文字列を、第5の文字を境に区切って、それぞれの文字列が「決められた文字列ならば該文字列に対応する文字列に変換する(例えば、「OUT1」ならば改行に変換する)」、「前述した処理ができないなら、文字コードとして扱える文字列ならば該文字コードに対応する文字に変換する(例えば「2C」ならばカンマに変換する)」、「前述した処理のいずれもできないなら、その旨を示す文字列(例えば、空文字列、〓記号)に変換する」処理をする。
(
Modification:
When reading the character string stored in the database, the odd character (starting from 0th) from the out character (or the 4th character) to the safe character (the 4th character) is separated by the 4th character string. Since it is a character string that has been converted to a character string that is converted to a character string that is an odd-numbered character string that has the fourth character string as a boundary (the first is the 0th), it is separated by the fifth character as a boundary. If the character string is "a fixed character string, convert it to a character string corresponding to the character string (for example, if it is "OUT1", convert it to a newline)", "If the above-mentioned processing cannot be performed, characters that can be treated as a character code If it is a string, it is converted to the character corresponding to the character code (for example, it is converted to a comma if it is "2C"), "If none of the above processing is possible, a character string indicating that (for example, an empty character string, 〓 Convert to symbol)”.
)

本実施形態は、ルーチンによって行うことができる。(ルーチンはVB.net等で用いられるプロシージャ、C言語等で用いられる関数等。)該ルーチンは、アウトな文字や第4の文字を含む文字列を、アウトな文字を含まない文字列に変換するのかそれとも逆かを指定する真理値型の引数(以下、この引数をtoDBstyleと表記する)、変換する対象の文字列を指定する文字列型の引数(以下、この引数をHStextと表記する)、該ルーチンが処理に失敗したときに返す値を指定する文字列型の引数(以下、この引数をerrと表記する)を持ち、返り値が文字列型のルーチン。該ルーチンは、第4の文字列が何であるか、ならびに、アウト文字は何であって、アウト文字ならびに第4の文字列を何に変換すべきか(何という文字列をアウト文字に変換すべきか)、第5の文字列が何であるかが設定されている。(例えば、第1の文字列は「OUT1」という文字列に、第2の文字、第3の文字、第4の文字はそれぞれの文字を意味する文字コードを英字部分を大文字とした16進数によって表記した文字列に変換する。第5の文字列は「-」。つまり、アウト文字(第4の文字を含む)は、O、U、T、1、2、3、4、5、6、7、8、9、0、A、B、C、D、E、F、-、のうち0種類以上の文字を0個以上使用した文字列に変換され、該変換された部分とそうでない部分は、第4の文字によって区切られる。) This embodiment can be performed by a routine. (Routines are procedures used in VB.net etc., functions used in C language etc.) This routine converts a character string containing out characters or fourth characters into a character string not containing out characters. Argument of truth value type (hereinafter, this argument is referred to as toDBstyle) that specifies whether or not, and a string type argument that specifies the character string to be converted (hereinafter, this argument is referred to as HStext) , A routine having a character string type argument (hereinafter, this argument is referred to as err) that specifies a value to be returned when the routine fails in processing, and a return value is a character string type routine. The routine is what the fourth character string is, what the out character is, and what the out character and the fourth character string should be converted to (what character string should be converted to the out character). , The fifth character string is set. (For example, the first character string is the character string “OUT1”, the second character, the third character, and the fourth character are the hexadecimal numbers in which the character codes that mean the respective characters are capitalized. Converted to the written character string.The fifth character string is "-". That is, the out character (including the fourth character) is O, U, T, 1, 2, 3, 4, 5, 6, 7,8,9,0,A,B,C,D,E,F,-Converted to a character string that uses 0 or more of 0 or more characters, and the converted and non-converted parts Are separated by the fourth character.)

図2は、実施の形態1に係る情報処理装置が実施の形態1に説明した処理を実行する手順を示すフローチャート。情報処理装置1のCPU11は、プログラム12Pに基づいて以下の処理を実行する。CPU11は、引数toDBstyleに基づいて、引数HStextを「アウト文字(第4の文字を含む)がある文字列をセーフ文字のみからなる文字列に変換する」のかそれとも逆かを判定する(ステップS201)。以下の説明では、第1の文字が改行、第2の文字がカンマ(,)、第3の文字列がスラッシュ(/)、第4の文字が等号(=)、第5の文字がマイナス記号(-)である場合を例に説明する。文字列errは、例えば空文字列。 FIG. 2 is a flowchart showing a procedure in which the information processing apparatus according to the first embodiment executes the processing described in the first embodiment. The CPU 11 of the information processing device 1 executes the following processing based on the program 12P. Based on the argument toDBstyle, the CPU 11 determines whether the argument HStext is “convert a character string having an OUT character (including the fourth character) into a character string consisting of only safe characters” or vice versa (step S201). .. In the following description, the first character is a line break, the second character is a comma (,), the third character string is a slash (/), the fourth character is an equal sign (=), and the fifth character is a minus. The case of the symbol (-) will be described as an example. The character string err is, for example, an empty character string.

「アウト文字(第4の文字を含む)をセーフ文字のみからなる文字列に変換する」(ステップS201:YES)場合を説明する。ここではHStextに「(,,゜Д゜)R(=゜ω゜)ノR(=,=;)/」(ただしRは改行)が代入され、これをセーフ文字のみからなる文字列に変換する場合を例に説明する。図3を参照されたい。CPU11はプログラム12Pに基づいて、アウトな文字(第4の文字を含む)を何に変換すべきかを決定し(ステップS301)、HStext(文字列S203A)に存在するアウト文字(第4の文字列を含む)をセーフ文字に変換し、該変換部分とそうでない部分の境目に第4の文字を挿入し、第4の文字が2連続する部分を第5の文字列1個に置きかえることによって文字列S203Bを作成し(ステップS302)、該ステップによって作成された文字列が正しいか否かを点検するために、toDBstyleの真偽を逆転し、HStextに文字列S203Bを代入して本ルーチンを再帰呼び出しすることによって、文字列S203Aが作成されるかを確認する(ステップS303)。CPU11は、ステップS303にて文字列S203Aと同じ文字列が作成された場合は文字列S203Aを、それ以外の場合は文字列errを、RAM13または記憶部12に記憶し、処理を終了する。 The case of "converting the out character (including the fourth character) into a character string including only safe characters" (step S201: YES) will be described. Here, "(,,゜Д゜)R(=゜ω゜)ノR(=,=;)/" (where R is a line feed) is assigned to HStext, and this is converted to a character string consisting of safe characters only. A case will be described as an example. See FIG. Based on the program 12P, the CPU 11 determines what to convert the out character (including the fourth character) to (step S301), and determines the out character (the fourth character string) existing in HStext (the character string S203A). Character) is converted to a safe character, the fourth character is inserted at the boundary between the converted portion and the non-converted portion, and the portion in which the fourth character is two consecutive is replaced with one fifth character string. Create a column S203B (step S302), reverse the truth of toDBstyle, and substitute the character string S203B into HStext to check whether the character string created by the step is correct. It is confirmed whether the character string S203A is created by calling (step S303). The CPU 11 stores in the RAM 13 or the storage unit 12 the character string S203A if the same character string as the character string S203A is created in step S303, otherwise stores the character string err, and ends the processing.

「セーフ文字のみからなる文字列をアウト文字(第4の文字を含む)がある文字列に変換する」(ステップS201:NO)場合を説明する。ここではHStextに「(=2C-2C=゜Д゜)=OUT1=(=3D=゜ω゜)ノ=OUT1=(=3D-2C-3D=;)=2F=」が代入され、これを、アウト文字を含む文字列に変換する場合を例に説明する。図4を参照されたい。CPU11はプログラム12に基づいて、指定された文字列(文字列401)を、第4の文字を境に配列に分割する(配列402)。配列402の最初の要素を0番目とした奇数番目(表403A)の要素に対し、第5の文字列を境に配列に分割したもの(配列403B)を作成し(空欄は、その要素が存在しないことを意味する)、配列403Bの各々の要素に対し、「16進数の文字コードとみなして該文字コードにあたる文字に変換する事ができるなら、それを行う」「前記変換ができないなら、決められた文字列(例えばOUT1)なら、その文字列に対応する文字(例えば改行)に変換する」「前記いずれもできないなら、その旨を示す文字列(例えば、空文字列)(例えば、〓記号)に変換する」処理を、この順序で行う(配列403C)。配列403Cの各要素を連結した文字列を作成し、該文字列によって配列402の奇数番目の要素を置き換える(配列404)。配列404の各要素を連結し、文字列405を作成する。CPU11は、作成した文字列をRAM13または記憶部12に記憶し、処理を終了する。 A case of "converting a character string including only safe characters into a character string having an out character (including the fourth character)" (step S201: NO) will be described. Here, "(=2C-2C=゜Д゜)=OUT1=(=3D=゜ω゜)no=OUT1=(=3D-2C-3D=;)=2F=" is substituted into HStext, and this is , The case of converting to a character string including an out character will be described as an example. See FIG. Based on the program 12, the CPU 11 divides the designated character string (character string 401) into an array with the fourth character as a boundary (array 402). An odd-numbered element (table 403A) in which the first element of the array 402 is the 0th element is divided into arrays at the fifth character string (array 403B) (the blank indicates that the element exists). For each element of the array 403B, "if it can be converted to a character corresponding to the character code by considering it as a hexadecimal character code, do that". If it is not possible to do any of the above, a character string indicating that (for example, an empty character string) (for example, 〓 symbol) The process of “converting to” is performed in this order (array 403C). A character string is created by connecting each element of the array 403C, and the odd-numbered element of the array 402 is replaced by the character string (array 404). A character string 405 is created by connecting the elements of the array 404. The CPU 11 stores the created character string in the RAM 13 or the storage unit 12, and ends the process.

請求項6について説明する。
条件Aとは、例えば「第1の文字、第2の文字、第3の文字、第4の文字のいずれかである」、条件Bとは「第4の文字である」、C回とは「偶数回」、Cの値によって決まる回数とは、「Cの半分の回数」、条件Dとは「第5の文字である」ことが考えられる。これは例示であり、これ以外の条件を設定してもかまわない。
The sixth aspect will be described.
The condition A is, for example, “any one of the first character, the second character, the third character, and the fourth character”, the condition B is “the fourth character”, and the C times are It is conceivable that “the number of times is an even number”, the number of times determined by the value of C is “half the number of times of C”, and condition D is “the fifth character”. This is an example, and other conditions may be set.

CPU11は、プログラム12Pに基づいて、変換したい文字列に存在する条件Aを満たす部分を特定し、該部分を、条件Aを満たさない文字列である何に変換すべきかを決定し、該決定に従って該部分を変換する処理をし、該処理をした部分と、それ以外の部分の境目に条件Bを満たす文字列を挟む処理をし、条件Bを満たす文字列が所定の条件を満たす回数(C回)連続している部分を特定し、該部分を、条件Dを満たす文字列(Cの値によって決まる回数だけ連続する)に変換する処理をし、これらの処理によって作成された文字列を、RAM13または記憶部12に記憶する。 Based on the program 12P, the CPU 11 identifies a portion that satisfies the condition A existing in the character string to be converted, determines what that portion is a character string that does not satisfy the condition A, and determines according to the determination. A process of converting the part is performed, and a process of inserting a character string satisfying the condition B at the boundary between the processed part and the other part is performed. Times) a continuous part is specified, the part is converted into a character string that satisfies the condition D (continuous times are determined by the value of C), and the character string created by these processes is It is stored in the RAM 13 or the storage unit 12.

<実施の形態2>
実施の形態2では、データベースを読み込んで、編集し、書き込む処理の一部または全部を実行する。図8は、本実施形態に係る情報処理システムの構成を示すブロック図。情報処理システムは、情報処理装置(第1情報処理装置)1及び第2情報処理装置2をそなえる。情報処理装置1の構成は、実施の形態1と同様。図8に示すように、情報処理装置1及び第2情報処理装置2は、通信網Nに接続されている。
ただし、通信網Nは、3台以上の情報処理装置が接続されていてもよい。
<Second Embodiment>
In the second embodiment, the database is read, edited, and part or all of the writing process is executed. FIG. 8 is a block diagram showing the configuration of the information processing system according to this embodiment. The information processing system includes an information processing device (first information processing device) 1 and a second information processing device 2. The configuration of the information processing device 1 is similar to that of the first embodiment. As shown in FIG. 8, the information processing device 1 and the second information processing device 2 are connected to the communication network N.
However, the communication network N may be connected to three or more information processing devices.

第2情報処理装置2は、サーバ装置、パーソナルコンピュータ又はスマートフォン等のコンピュータ。第2情報処理装置2は、CPU21、記憶部22、RAM23、入力部24、表示部25、通信部26、ドライブ部27の少なくともいずれかをそなえる。第2情報処理装置2のCPU21、記憶部22、RAM23、入力部24、表示部25、通信部26、ドライブ部27の構成は、情報処理装置1のCPU11、記憶部12、RAM13、入力部14、表示部15、通信部16、ドライブ部17、と同様であるため、簡潔のため記載を省略する。
記録媒体20は、記録媒体10と同様であるため、簡潔のため記載を省略する。
ただし、3台以上の情報処理装置が接続されている場合は、3台目以降の情報処理装置がそなえるものは、第2情報処理装置2がそなえるものと同様。
The second information processing device 2 is a computer such as a server device, a personal computer, or a smartphone. The second information processing device 2 includes at least one of a CPU 21, a storage unit 22, a RAM 23, an input unit 24, a display unit 25, a communication unit 26, and a drive unit 27. The CPU 21, the storage unit 22, the RAM 23, the input unit 24, the display unit 25, the communication unit 26, and the drive unit 27 of the second information processing apparatus 2 have the same configuration as the CPU 11, the storage unit 12, the RAM 13, and the input unit 14 of the information processing apparatus 1. The display unit 15, the communication unit 16, and the drive unit 17 are the same as those in FIG.
Since the recording medium 20 is similar to the recording medium 10, the description is omitted for brevity.
However, when three or more information processing devices are connected, what is provided by the third and subsequent information processing devices is the same as that provided by the second information processing device 2.

図5は、本実施形態に係るデータベース処理部の構成を示す図。
読み込み部501は、データベースが存在する場所を示す情報(例えば、第2情報処理装置2の記憶部22)(例えば、第2情報処理装置2にセットされた記録媒体10)またはデータベースから読み込んで取得されたデータの少なくともいずれかを受け取り、ストリーム記憶部511にデータベースが存在する場所を示す情報を記憶する、テキスト記憶部512にデータベースから読み込んで取得されたデータを記憶する、事の少なくともいずれかをする。(CPU11は、プログラム12Pに基づいて、所定の場所(例えば記憶部12)(例えば記憶部22)(例えば記録媒体10)(例えば記録媒体20)の場所を示す情報または該所定の場所に記憶されたデータを読み取った情報の少なくともいずれかを作成し、該情報を記憶部12またはRAM13に記憶する)
ストリーム記憶部511は、読み込み部501によって、データベースが存在する場所を示す情報を記憶する。このとき、データベースが存在する場所を示す情報はもちろん、他の場所(例えば、データベースから削除されたデータを記憶すべき場所)を示す情報を含めて記憶するものであってもかまわない。
テキスト記憶部512は、データベースから読み込んで取得されたデータを記憶する。このとき、データベースの使用ならびに編集に使用する情報(例えば、データベースをフラットファイルデータベース、つまりプレーンテキストとして保存する場合において、カラムの境目を示す文字、レコードの境目を示す文字、キー列がどのカラムであるかを示す情報、カラムの意味を定義するために必要な情報)を含めて記憶するものであってもよい。
変更記憶部513は、データベースに対し施すべき変更を記憶する。(例えば、キー列が1であるレコードの、カラムが「氏名」である部分のデータを「DEF」に変更しろ、キー列が2であるレコードを削除しろ、といった内容が記憶される)
変更部502は、変更記憶部513に対し、データベースに対し施すべき変更(例えば、「キー列が2であるレコードの、カラム「氏名」にあたる情報を「ほむら」にしろ」)を書き込む
消去部503は、変更記憶部513に対し、データベースに対し施すべき消去を書き込む。
書き込み部521は、データベースへの書き込み、データベースに書き込むべきデータの作成の、少なくともいずれかを実行する。
取得部522は、テキスト記憶部512、変更記憶部513の、少なくともいずれかを参照し、現在、データベースに何が書き込まれているかを特定する。このとき、テキスト記憶部512、変更記憶部513の内容が矛盾する場合は、変更記憶部513を優先する。(例えば、テキスト記憶部512に、キー列が2であるレコードの、カラム「氏名」が「まどか」である旨が記憶されており、変更記憶部513に、「キー列が2であるレコードの、カラム「氏名」を「さやか」にしろ」という内容が書き込まれている場合に、キー列2のカラム「氏名」のデータが何かを特定する場合は、その答えは「さやか」である)
FIG. 5 is a diagram showing the configuration of the database processing unit according to the present embodiment.
The reading unit 501 reads and acquires information indicating the location of the database (for example, the storage unit 22 of the second information processing apparatus 2) (for example, the recording medium 10 set in the second information processing apparatus 2) or the database. At least one of receiving the received data, storing the information indicating the location of the database in the stream storage unit 511, and storing the data read and acquired from the database in the text storage unit 512. To do. (The CPU 11 stores, based on the program 12P, information indicating a location of a predetermined location (for example, the storage unit 12) (for example, the storage unit 22) (for example, the recording medium 10) (for example, the recording medium 20) or the predetermined location. At least one of the information obtained by reading the data is created and the information is stored in the storage unit 12 or the RAM 13.)
The stream storage unit 511 stores the information indicating the location of the database by the reading unit 501. At this time, not only the information indicating the location of the database but also the information indicating another location (for example, the location where the data deleted from the database should be stored) may be stored.
The text storage unit 512 stores the data read and acquired from the database. At this time, information used for editing and using the database (for example, when saving the database as a flat file database, that is, plain text, the character indicating the column boundary, the character indicating the record boundary, and the key string It may be stored by including information indicating whether or not there is information necessary for defining the meaning of the column.
The change storage unit 513 stores the changes to be made to the database. (For example, change the data of the part whose column is "name" in the record whose key string is 1 to "DEF", and delete the record whose key string is 2).
The changing unit 502 writes, in the change storage unit 513, a change to be made to the database (for example, “change the information corresponding to the column “name” of the record whose key string is 2 to “Homura””) 503. Writes erasure to be applied to the database in the change storage unit 513.
The writing unit 521 executes at least one of writing in a database and creating data to be written in the database.
The acquisition unit 522 refers to at least one of the text storage unit 512 and the change storage unit 513, and specifies what is currently written in the database. At this time, if the contents of the text storage unit 512 and the change storage unit 513 are inconsistent, the change storage unit 513 is prioritized. (For example, it is stored in the text storage unit 512 that the column “name” of the record having the key string of 2 is “Madoka”, and the change storage unit 513 stores “the record of the key string being 2”). , If the content of the column “Name” should be “Sayaka” is written, and if the data in the column “Name” of key column 2 is specified, the answer is “Sayaka”)


変形例:ストリーム記憶部511またはテキスト記憶部512のいずれかが存在しない形態であってもよい。この場合、読み込み部501、書き込み部521、取得部522は、ストリーム記憶部511またはテキスト記憶部512の、いずれか存在しないほうを参照しない。
(
Modification: The stream storage unit 511 or the text storage unit 512 may not exist. In this case, the reading unit 501, the writing unit 521, and the acquisition unit 522 do not refer to the stream storage unit 511 or the text storage unit 512, whichever does not exist.
)

データベース処理部は、データ集合体(配列、連想配列、構造体、ユーザー定義型の変数、クラス、共用体等、0個以上の値を持つことができる変数。変数には、オブジェクト、及びオブジェクトのインスタンスが含まれる。構造体等のデータ集合体とは、夫々に変数である0個以上のメンバを含んでいる。データ集合体中の変数が要素と呼称される場合は、メンバには要素が含まれる。0個以上のメンバは、順番等の互いの関係が定義されていてもよく、0個以上のいずれかにデータが代入される)として扱うことができる。(例えば、クラス) The database processing unit is a data collection (array, associative array, structure, variable of user-defined type, class, union, etc.) that can have zero or more values. An instance is included. A data aggregate such as a structure includes zero or more members that are variables.When a variable in a data aggregate is called an element, the member is an element. The relationship of 0 or more members may be defined with respect to each other such as the order, and data can be treated as 0 or more. (Eg class)

データベース処理部がクラス(のインスタンス)である場合、読み込み部501、変更部502、削除部503、書き込み部521、取得部522はルーチンであって、ストリーム記憶部511、テキスト記憶部512、変更記憶部513は、データベース処理部の外部から参照や変更を直接することができない変数。(いわゆるプライベートな変数) When the database processing unit is a class (instance of), the reading unit 501, the changing unit 502, the deleting unit 503, the writing unit 521, and the acquiring unit 522 are routines, and are the stream storage unit 511, the text storage unit 512, and the change storage. The part 513 is a variable that cannot be directly referenced or changed from outside the database processing part. (So-called private variable)

<実施の形態3>
本実施形態では、読み込み部501を実行する。本実施形態のハードウェア構成は実施の形態2と同様。
<Third Embodiment>
In this embodiment, the reading unit 501 is executed. The hardware configuration of this embodiment is the same as that of the second embodiment.

図9は、実施の形態3に係る情報処理装置が読み込み部501を実行する処理の手順を示したフローチャート。図9に示す処理の手順は、読み込み部501をCPU11が実行する処理の一例。情報処理装置1のCPU11は、データベースが存在する場所を示す情報またはnullをRAM13または記憶部12に記憶する(ステップS901)。CPU11は、ステップS901にて記憶された内容がnullであるかを判断(ステップS902)し、nullでない(ステップS902:YES)場合は、ステップS901にて記憶された内容が示す場所に存在するデータを読み込み、その内容をRAM13または記憶部12に記憶する(ステップS906)。前記判断の際nullである(ステップS902:YES)場合は指定されたデータをRAM13または記憶部12に記憶する。(例えば、ステップS901にて記憶すべき内容がnullである場合は、予め定められたデータをRAM13または記憶部12に記憶する。) FIG. 9 is a flowchart showing a procedure of a process in which the information processing apparatus according to the third embodiment executes the reading unit 501. The procedure of the process illustrated in FIG. 9 is an example of a process in which the CPU 11 executes the reading unit 501. The CPU 11 of the information processing device 1 stores information indicating the location of the database or null in the RAM 13 or the storage unit 12 (step S901). The CPU 11 determines whether the content stored in step S901 is null (step S902), and if not null (step S902: YES), the data existing in the location indicated by the content stored in step S901. Is read and the content is stored in the RAM 13 or the storage unit 12 (step S906). When the determination is null (step S902: YES), the designated data is stored in the RAM 13 or the storage unit 12. (For example, when the content to be stored in step S901 is null, predetermined data is stored in the RAM 13 or the storage unit 12.)

読み込み部501は、ルーチンによることができる。前記ルーチンは、データベースが存在する場所を示す情報(nullであってもよい)を示す引数HSstream、データベースから削除されたデータを記憶すべき場所(nullであってもよい)を示す引数HSstreamdelete、データベースから読み込んで取得されたデータHStext_DBstyle、フラットファイルデータベースにおけるカラムの境目が何であるかを示す引数HSkugiri、データベースにおけるどのカラムがキー列であるかを示す引数keycolumn、どのカラムが何を意味するかを定義する行がどの行であるかを示す引数titlerow、レコードの開始行がどの行であるかを示す引数startrow、という引数を有する。
(CPU11は、プログラム12Pに基づいて、前記ルーチンの引数をRAM13または記憶部12に記憶する。このとき、CPU11は、プログラム12Pに基づいて、所定の処理をしたデータ(例えば、文字列をジャグ配列に変換する)を記憶する形態であってもよい)(変形例:フラットファイルデータベースにおける行・レコードの境目が何であるかを示す引数が存在するルーチンによってもよい。)
The reading unit 501 can be a routine. The routine includes an argument HSstream indicating information (may be null) indicating a location where the database exists, an argument HSstreamdelete indicating a location (which may be null) at which data deleted from the database should be stored, database Data HStext_DBstyle read from, the argument HSkugiri that shows what the column boundaries are in the flat file database, the argument keycolumn that shows which columns in the database are the key columns, and what the columns mean It has an argument titlerow indicating which row is to be executed and an argument startrow indicating which row is the starting row of the record.
(The CPU 11 stores the argument of the routine in the RAM 13 or the storage unit 12 based on the program 12P. At this time, the CPU 11 performs the predetermined processing based on the program 12P. May be stored)) (Variation: It may be a routine that has an argument indicating what the line/record boundary in the flat file database is.)

HStext_DBstyleは、第1の特定の文字(例えば改行)が行・レコードの境目で、第2の特定の文字(例えばカンマ)がカラムの境目であるフラットファイルデータベース、つまり文字列として与えられる。よって、少なくとも「フィールドの中に、第1の特定の文字または第2の特定の文字」場合は、フィールドに存在する該文字は、該文字を使わない形態(例えば、実施の形態1にて説明した形態)によって表現される。(例えば、ある行に「1,(,,゜Д゜)」という文字列を表現したい場合は、「1,(=2C-2C=゜Д゜)」と表記する。もし、「1,(,,゜Д゜)」と表記すると、「(,,゜Д゜)」が1個のフィールド内に収まる文字列として扱われない。) HStext_DBstyle is given as a flat file database in which the first specific character (for example, a line feed) is a line/record boundary and the second specific character (for example, a comma) is a column boundary, that is, a character string. Therefore, at least in the case of "the first specific character or the second specific character in the field", the character existing in the field does not use the character (for example, described in Embodiment 1). Form). (For example, if you want to express the character string "1,(,,゜Д゜)" on a certain line, write "1,(=2C-2C=゜Д゜)". If "1,(= ",, ゜Д゜)" is not treated as a character string that fits in one field. "(,,゜Д゜)")

<<HSstreamがnullでない場合>>
ステップS902では、NOと判定されるから、ストリーム記憶部511にHSstreamが記憶される。テキスト記憶部512へは、ストリーム記憶部511に記憶されたデータをもとに読み込まれたデータが記憶される。このとき、読み込まれるデータはフラットファイルデータベース、つまりテキストファイルとして説明するが、これ以外の形態であってもよい。
<<When HSstream is not null>>
In step S902, since it is determined as NO, HSstream is stored in the stream storage unit 511. The text storage unit 512 stores data read based on the data stored in the stream storage unit 511. At this time, the data to be read is described as a flat file database, that is, a text file, but it may be in another form.

しかし、テキスト記憶部512は、特定の形態(ここでは文字列型ジャグ配列として説明する。テキスト記憶部512を、文字列型ジャグ配列を記憶するものとして説明することがあるが、これ以外の形態であってもよい)によっているため、該形態に変換する必要がある。ここでは、ストリーム記憶部511に記憶されたデータをもとに読み込まれたデータがテキスト形式であって、テキスト記憶部512を文字列型ジャグ配列であるものとして説明する。 However, the text storage unit 512 will be described as a specific form (here, it will be described as a character string type jagged array. Although the text storage unit 512 may be described as storing a character string type jagged array, other forms). It may be), so it is necessary to convert to this form. Here, it is assumed that the data read based on the data stored in the stream storage unit 511 is a text format and the text storage unit 512 is a character string type jug array.

ストリーム記憶部511に記憶されたデータをもとに読み込まれたテキストは、HSkugiriがカラムの境目であって、特定の文字(例えば改行)がレコード・行の境目(フラットファイルデータベースのレコード・行の境目が改行であるものとして説明することがあるが、これ以外の形態であってもよい)。 In the text read based on the data stored in the stream storage unit 511, HSkugiri is a column boundary, and a specific character (for example, a line feed) is a record/line boundary (a record/line of a flat file database. Sometimes described as a line break, but it may be in any other form).

図14は、読み込み部501が実行する処理の手順を示したフローチャート。
情報処理装置1のCPU11は、プログラム12Pに基づいて、ストリーム記憶部511に記憶されたデータ(例えば図1401)をもとに記憶部12またはRAM13または記憶部22またはRAM23から読み込まれたデータに存在する特定の文字(例えば改行)を境目として第1の配列に分割(その結果は、例えば表1402)し、該第1の配列の各要素に存在するHSkugiriを境に各要素を第2の配列(ジャグ配列)に分割(その結果は、例えば表1403)し、該第2の配列をRAM13又は記憶部12に記憶する。
FIG. 14 is a flowchart showing a procedure of processing executed by the reading unit 501.
The CPU 11 of the information processing device 1 exists in the data read from the storage unit 12 or the RAM 13 or the storage unit 22 or the RAM 23 based on the data (for example, FIG. 1401) stored in the stream storage unit 511 based on the program 12P. Divide into a first array with a specific character (for example, a line feed) as a boundary (the result is, for example, Table 1402), and divide each element into a second array with HSkugiri existing in each element of the first array as a boundary. (Jug array) is divided (the result is, for example, table 1403), and the second array is stored in the RAM 13 or the storage unit 12.

フラットファイルデータベースでは、第1の特定の文字(例えば改行)が行・レコードの境目で、第2の特定の文字(例えばカンマ)がカラムの境目。よって、少なくとも「フィールドの中に、第1の特定の文字または第2の特定の文字」がある場合は、該文字を、該文字を使わずに表現する。そのため、第2の配列を作成して、テキスト記憶部512に記憶する前に、該文字を使わずに表現している部分を、該文字に変換する必要がある。その手順は、実施の形態1に説明した通り。たとえば、ある要素に「(=2C-2C=゜Д゜)」が記憶されている場合は、実施の形態1に説明した手順によって「(,,゜Д゜)」に変換される。 In the flat file database, the first specific character (for example, a line feed) is a line/record boundary, and the second specific character (for example, a comma) is a column boundary. Therefore, if there is at least "the first specific character or the second specific character in the field", the character is expressed without using the character. Therefore, before creating the second array and storing it in the text storage unit 512, it is necessary to convert the portion expressed without using the character into the character. The procedure is as described in the first embodiment. For example, when "(=2C-2C=°Д°)" is stored in a certain element, it is converted into "(,,°Д°)" by the procedure described in the first embodiment.

<<HSstreamがnullである場合>>
ステップS902では、YESと判定されるから、テキスト記憶部512にHStext_DBstyleをジャグ配列に変換したものが記憶される。ここでは、HStext_DBstyleを文字列として説明するが、これ以外の形態であってもよい。
<<When HSstream is null>>
In step S902, since it is determined to be YES, the text storage unit 512 stores the HStext_DBstyle converted into a jagged array. Here, HStext_DBstyle is described as a character string, but other forms are also possible.

HStext_DBstyleに代入されたテキストは、HSkugiriがカラムの境目であって、特定の文字(例えば改行)がレコード・行の境目(フラットファイルデータベースのレコード・行の境目が改行であるものとして説明することがあるが、これ以外の形態であってもよい)。 The text assigned to HStext_DBstyle can be explained assuming that HSkugiri is a column boundary and a specific character (for example, a line break) is a record/line boundary (a record/line boundary in a flat file database is a line break). There may be other forms).

図14は、読み込み部501が実行する処理の手順を示したフローチャート。
情報処理装置1のCPU11は、プログラム12Pに基づいて、HStext_DBstyleに格納された或いは(RAM13または記憶部12またはRAM23または記憶部22に記憶された)データ(例えば図1401)に存在する特定の文字(例えば改行)を境目として第1の配列に分割(その結果は、例えば表1402)し、該第1の配列の各要素に存在するHSkugiriを境に各要素を第2の配列(ジャグ配列)に分割(その結果は、例えば表1402)し、該第2の配列をRAM13又は記憶部12に記憶する。)
FIG. 14 is a flowchart showing a procedure of processing executed by the reading unit 501.
Based on the program 12P, the CPU 11 of the information processing device 1 stores a specific character (for example, FIG. 1401) stored in HStext_DBstyle or stored in the data (stored in the RAM 13 or the storage unit 12 or the RAM 23 or the storage unit 22) (for example, FIG. 1401). For example, a line feed) is used as a boundary to divide into a first array (the result is, for example, Table 1402), and each element is divided into a second array (jag array) with HSkugiri existing in each element of the first array as a boundary. The data is divided (the result is, for example, a table 1402) and the second array is stored in the RAM 13 or the storage unit 12. )

フラットファイルデータベースでは、第1の特定の文字(例えば改行)が行・レコードの境目で、第2の特定の文字(例えばカンマ)がカラムの境目。よって、少なくとも「フィールドの中に、第1の特定の文字または第2の特定の文字」がある場合は、該文字を、該文字を使わずに表現する。そのため、第2の配列を作成して、テキスト記憶部512に記憶する前に、該文字を使わずに表現している部分を、該文字に変換する必要がある。その手順は、実施の形態1に説明した通り。たとえば、ある要素に「(=2C-2C=゜Д゜)」が記憶されている場合は、実施の形態1に説明した手順によって「(,,゜Д゜)」に変換される。 In the flat file database, the first specific character (for example, a line feed) is a line/record boundary, and the second specific character (for example, a comma) is a column boundary. Therefore, if there is at least "the first specific character or the second specific character in the field", the character is expressed without using the character. Therefore, before creating the second array and storing it in the text storage unit 512, it is necessary to convert the portion expressed without using the character into the character. The procedure is as described in the first embodiment. For example, when "(=2C-2C=°Д°)" is stored in a certain element, it is converted into "(,,°Д°)" by the procedure described in the first embodiment.

<実施の形態4>
本実施の形態では、ストリーム記憶部511の形態を説明する。本実施形態のハードウェア構成は実施の形態2と同様。
<Embodiment 4>
In this embodiment, the form of the stream storage unit 511 will be described. The hardware configuration of this embodiment is the same as that of the second embodiment.

図15は、ストリーム記憶部511を示す図。データベース記憶部1501はデータベースが存在する場所を示す情報を記憶する。削除データ記憶部1502は、削除されたデータを記憶すべき場所を示す情報を記憶する。どちらも、データ型は例えばSystem.IO.stream型の変数。 FIG. 15 is a diagram showing the stream storage unit 511. The database storage unit 1501 stores information indicating the location of the database. The deleted data storage unit 1502 stores information indicating a location where the deleted data should be stored. In both cases, the data type is, for example, a variable of System.IO.stream type.

実施の形態3を補足する。HSstreamはデータベース記憶部、HSstreamdeleteは削除データ記憶部に記憶される。 The third embodiment will be supplemented. HSstream is stored in the database storage unit and HSstream delete is stored in the deleted data storage unit.

CPU11は、プログラム12Pに基づいて、記憶部12またはRAM13に、データベース記憶部1501として使用する部分、削除データ記憶部1502として使用する部分、の少なくともいずれかを確保する。 Based on the program 12P, the CPU 11 secures at least one of the part used as the database storage part 1501 and the part used as the deleted data storage part 1502 in the storage part 12 or the RAM 13.

<実施の形態5>
本実施の形態では、テキスト記憶部512の形態を説明する。本実施形態のハードウェア構成は実施の形態2と同様。
<Embodiment 5>
In this embodiment, the form of the text storage unit 512 will be described. The hardware configuration of this embodiment is the same as that of the second embodiment.

データベース記憶部1601は、例えばデータベースから読み込まれたデータを記憶する。例えば、文字列型ジャグ配列。(本明細書では、データベース記憶部1601の「配列を格納する配列」を行、前記「配列を格納する配列」に格納された配列を列として説明することがある。このとき、最初の行を0行目、最初の列を0列目として説明することがある。) The database storage unit 1601 stores data read from a database, for example. For example, a string type jug array. (In the present specification, the "array storing the array" in the database storage unit 1601 may be described as a row, and the array stored in the "array storing the array" may be described as a column. At this time, the first row is (The 0th row and the first column may be described as the 0th column.)

行境界記憶部1602は、フラットファイルデータベースを取り扱うときに、何という文字が行・レコードの境目であるかを記憶する。例えば、文字列型の変数または定数。 The line boundary storage unit 1602 stores what character is a line/record boundary when handling a flat file database. For example, a string type variable or constant.

列境界記憶部1603は、フラットファイルデータベースを取り扱うときに、何という文字がカラムの境目であるかを記憶する。例えば、文字列型の変数または定数。 The column boundary storage unit 1603 stores what character is a boundary between columns when handling a flat file database. For example, a string type variable or constant.

キー列位置記憶部1604は、データベース記憶部1601の、どの列がキー列であるかを記憶する。例えば、整数(integer)型の変数または定数。 The key column position storage unit 1604 stores which column in the database storage unit 1601 is a key column. For example, an integer variable or constant.

タイトル行記憶部1605は、データベース記憶部1601の、どの行がタイトル行であるかを記憶する。タイトル行とは、キー列を除く列に対し、どの列(カラム)が何を意味するカラムであるかを定義する行。例えば、整数(integer)型の変数または定数。 The title line storage unit 1605 stores which line in the database storage unit 1601 is a title line. The title row is a row that defines which column (column) means what for columns other than key columns. For example, an integer variable or constant.

レコード開始行記憶部1606は、データベース記憶部1601の、どの行以降がレコードであるかを記憶する。例えば、整数(integer)型の変数または定数。データベースは、レコードの数が0件である場合がある、例えば、タイトル行記憶部に「0」が記憶されており、レコード開始行記憶部に「1」が記憶されており、データベース記憶部に記憶されているジャグ配列が1行(最初の行を0行目と数えるため、0行目のみ存在することになる)の場合、タイトル行は存在するもののレコードが存在しないデータベースである(本明細書では、レコードが記憶されている行を「データ行」と表記することがある)。 The record start row storage unit 1606 stores which row and subsequent rows in the database storage unit 1601 are records. For example, an integer variable or constant. In the database, the number of records may be 0. For example, “0” is stored in the title line storage unit, “1” is stored in the record start line storage unit, and the database storage unit is stored. If the stored jug array is one line (the first line is counted as the 0th line, so only the 0th line exists), the title line exists, but no record exists (this specification). In the book, the line where the record is stored is sometimes referred to as the "data line").

実施の形態3を補足する。HStext_DBstyleまたはHSstreamが示す情報をもとに読み込まれたデータはデータベース記憶部、HSkugiriは列境界記憶部、keycolumnはキー列位置記憶部、 titlerowはタイトル行記憶部、startrowはレコード開始行記憶部に記憶される。実施の形態3では、行の境界を示す文字を指定しない形であって、行境界記憶部はプログラム12Pによって定められた文字(例えば改行)が記憶される。(変形例:フラットファイルデータベースにおける行・レコードの境目が何であるかを示す引数が存在するルーチンを用いた場合は、該フラットファイルデータベースにおける行・レコードの境目が何であるかを示す引数に代入されたデータを行境界記憶部に格納する) The third embodiment will be supplemented. The data read based on the information indicated by HStext_DBstyle or HSstream is stored in the database storage unit, HSkugiri is the column boundary storage unit, keycolumn is the key column position storage unit, titlerow is the title row storage unit, and startrow is the record start row storage unit. To be done. In the third embodiment, a character indicating a line boundary is not specified, and the line boundary storage unit stores a character (for example, a line feed) defined by the program 12P. (Modification: When a routine having an argument indicating what is the line/record boundary in the flat file database is used, it is assigned to the argument indicating what the line/record boundary is in the flat file database. Stored data in the row boundary storage section)


変形例:タイトル行記憶部1605は、(例えば文字列型をキーとして整数型を返す連想配列)どのカラムがどんな意味を持つかを記憶するものであってもよい。この場合、データベース記憶部1601は、タイトル行をそなえない形態であってもよい。
(
Modification: The title row storage unit 1605 may store which column has what meaning (for example, associative array that returns integer type with character string type as key). In this case, the database storage unit 1601 may not have a title line.
)

CPU11は、プログラム12Pに基づいて、所定の場所(例えば記憶部12またはRAM13)に、データベース記憶部1601、行境界記憶部1602、列境界記憶部1603、キー列位置記憶部1604、タイトル行記憶部1605、レコード開始行記憶部1606、の少なくともいずれかを記憶する部分を確保する。
0
Based on the program 12P, the CPU 11 stores a database storage unit 1601, a row boundary storage unit 1602, a column boundary storage unit 1603, a key column position storage unit 1604, a title row storage unit in a predetermined location (for example, the storage unit 12 or the RAM 13). A portion for storing at least one of 1605 and the record start row storage unit 1606 is secured.
0

<実施の形態6>
本実施の形態では、書き込み部521を実行する。本実施形態のハードウェア構成は実施の形態2と同様。
<Sixth Embodiment>
In this embodiment, the writing unit 521 is executed. The hardware configuration of this embodiment is the same as that of the second embodiment.

本実施の形態は、データベースに記憶されたデータに対し、変更記憶部513に記憶された通りの変更を行ったものを、所定の場所(例えば記憶部12またはRAM13)に書き込む。 In this embodiment, the data stored in the database, which has been changed as stored in the change storage unit 513, is written in a predetermined location (for example, the storage unit 12 or the RAM 13).

図11は、本実施の形態に係る情報処理装置が書き込み部521を実行する処理の手順を示したフローチャート。
図12は、本実施の形態に係る情報処理装置が行う処理の例を説明するための図。図12では、一番上の行を0行目、一番左の列を0列目とし、タイトル行は0行目(タイトル行記憶部1605に0が記憶されている)、データ行は1列目以降(レコード開始行記憶部1606に1が記憶されている)、キー列は0列目(キー列位置記憶部1604に0が格納されている)として説明する。
FIG. 11 is a flowchart showing a procedure of processing in which the information processing apparatus according to this embodiment executes the writing unit 521.
FIG. 12 is a diagram for explaining an example of processing performed by the information processing apparatus according to the present embodiment. In FIG. 12, the top row is the 0th row, the leftmost column is the 0th column, the title row is the 0th row (0 is stored in the title row storage unit 1605), and the data row is 1. The description will be made assuming that the key column is the 0th column (0 is stored in the key column position storage unit 1604) from the column onward (1 is stored in the record start row storage unit 1606).

CPU11は、プログラム12Pに基づいて、ストリーム記憶部511にnullが記憶されているか否かを判断(ステップS1101)し、ストリーム記憶部511にnullが記憶されている(ステップS1101:YES)場合は、テキスト記憶部512に記憶されたデータを変更対象のデータとし(ステップS1102A)、ストリーム記憶部511にnullが記憶されていない(ステップS1101:NO)場合は、ストリーム記憶部511に記憶されている「データベースが存在する場所を示す情報」に基づいて読み込んだデータを変更対象のデータとする(ステップS1102B)。前記変更対象のデータの例は、表1201の通り。 Based on the program 12P, the CPU 11 determines whether or not null is stored in the stream storage unit 511 (step S1101). If null is stored in the stream storage unit 511 (step S1101: YES), If the data stored in the text storage unit 512 is the data to be changed (step S1102A), and null is not stored in the stream storage unit 511 (step S1101: NO), it is stored in the stream storage unit 511. The data read based on "information indicating the location of the database" is set as the data to be changed (step S1102B). Table 1201 shows an example of the data to be changed.

CPU11は、プログラム12Pに基づいて、前記変更対象のデータのタイトル行(タイトル行記憶部1605によって定義された位置にある行)の列数を、他の行の列数のうち最大であるもの(以下「最大列数」と表記)と同数にする(ステップS1103)。
図12にて説明する例の場合は、該ステップは、表1201に対して行うが、本例の場合、タイトル行の列数は最大列数と同じであるため変化しない。(ほとんどの場合、ステップ1203では最大列数は変化しない。本発明では、タイトル行の列数が他の列の列数未満にならないように制御してあるが、不具合によってその通りにならなかった場合は、ステップS1103によって修正される)
Based on the program 12P, the CPU 11 sets the number of columns of the title row (row located at the position defined by the title row storage unit 1605) of the data to be changed to the maximum number of columns of other rows ( Hereinafter, the same number as the "maximum number of columns" is set (step S1103).
In the case of the example described with reference to FIG. 12, this step is performed on the table 1201, but in the case of this example, the number of columns in the title row is the same as the maximum number of columns, so it does not change. (In most cases, the maximum number of columns does not change in step 1203. In the present invention, the number of columns in the title row is controlled so as not to be less than the number of columns in other columns, but this is not the case due to a defect. In this case, it is corrected by step S1103)

CPU11は、プログラム12Pに基づいて、前記変更対象のデータのタイトル行に、前記変更対象のデータのタイトル行に存在せず、変更記憶部513に存在するデータを追加する(ステップS1104)。
図12にて説明する例の場合は、表1202は、変更記憶部513に存在するデータの例。本例では、
「キー列が1であるレコードの、タイトル行がCであるカラムのフィールドに1Cと書き込め」
「キー列が3であるレコードの、タイトル行がAであるカラムのフィールドに3Aと書き込め」
「キー列が5であるレコードの、タイトル行がAであるカラムのフィールドに5Aと書き込め」
「キー列が7であるレコードの、タイトル行がAであるカラムのフィールドに7Aと書き込め」
という情報が記憶されている。すなわち、タイトル行の「キー列ではないカラム」に、A、B、Cというデータが必要であるが、表1201の通りである場合は、タイトル行にCというデータが存在しない。CPU11は、プログラム12Pに基づいて、タイトル行に存在せず、かつ、変更記憶部513のタイトルとして存在するデータ(ここでは、C)を特定し、該データを前記変更対象のデータのタイトル行に追加する。その結果の例は、表1204の通り。
Based on the program 12P, the CPU 11 adds, to the title line of the change target data, data that does not exist in the title line of the change target data but exists in the change storage unit 513 (step S1104).
In the case of the example described with reference to FIG. 12, a table 1202 is an example of data existing in the change storage unit 513. In this example,
"Write 1C to the field of the column whose title row is C in the record whose key column is 1."
"Write 3A in the field of the column whose title row is A in the record whose key column is 3"
"Write 5A in the field of the column whose title row is A in the record whose key column is 5"
"Write 7A in the field of the column whose title row is A in the record whose key column is 7"
The information is stored. That is, the data “A, B, C” is required in the “column that is not the key column” of the title row, but in the case of the table 1201, the data “C” does not exist in the title row. Based on the program 12P, the CPU 11 identifies data (here, C) that does not exist in the title line and exists as the title of the change storage unit 513, and sets the data in the title line of the data to be changed. to add. Table 1204 shows an example of the result.

CPU11は、プログラム12Pに基づいて、変更記憶部に記憶されている内容を前記変更対象のデータに書き込む(ステップS1105)。
図12にて説明する例の場合は、キー列が1、3、5、7であるレコード(行)に変更対象のデータを書き込むため、該当する行の列数を、タイトル行の列数と同じにする。その結果の例は、表1205の通り。
次に、CPU11は、プログラム12Pに基づいて、適切な位置に適切な値を書き込む。図12にて説明する例の場合は、
キー列が1であるレコードの、タイトル行がCであるカラムのフィールドに1Cと書き込む処理と、
キー列が3であるレコードの、タイトル行がAであるカラムのフィールドに3Aと書き込む処理と、
キー列が5であるレコードの、タイトル行がAであるカラムのフィールドに5Aと書き込む処理と、
キー列が7であるレコードの、タイトル行がAであるカラムのフィールドに7Aと書き込む処理と、
を実行する。その結果尾の例は、表1206の通り。
Based on the program 12P, the CPU 11 writes the contents stored in the change storage unit into the change target data (step S1105).
In the case of the example described with reference to FIG. 12, since the data to be changed is written in the records (rows) whose key columns are 1, 3, 5, and 7, the number of columns in the corresponding row is the number of columns in the title row. Do the same. Table 1205 shows an example of the result.
Next, the CPU 11 writes an appropriate value in an appropriate position based on the program 12P. In the case of the example described in FIG. 12,
The process of writing 1C to the field of the column whose title row is C in the record whose key string is 1.
The process of writing 3A in the field of the column whose title row is A in the record whose key string is 3.
The process of writing 5A in the field of the column whose title row is A in the record whose key string is 5.
The process of writing 7A in the field of the column whose title row is A in the record whose key string is 7.
To execute. As a result, examples of tails are shown in Table 1206.

CPU11は、プログラム12Pに基づいて、前記変更対象のデータを、削除すべき行と、それ以外の行に分ける処理を実行する(ステップS1106)。
削除すべき行は、変更記憶部513に「削除すべきレコード」として記憶された行。その一例は、表1203の通り。本例では、変更記憶部513に「キー列が4であるレコードを削除しろ」という情報が記憶されている。前記変更対象のデータは、レコード開始行記憶部1606に指定された行以降のみが、削除すべき行に分類される可能性がある。
図12にて説明する例の場合は、キー列が4であるレコード(行)が削除すべき行であるため、削除すべき行のみを抜き出したデータ(表1208)と、それ以外の行のみを抜き出したデータ(表1207)が作成される。
以後、「前記第2の変更対象のデータ」と表記する場合は、ステップS1106によって作成された「削除すべき行以外のみを抜き出したデータ」(図12にて説明する例の場合は、表1207)を指す。
以後、「前記第2の削除対象のデータ」と表記する場合は、ステップS1106によって作成された「削除すべき行のみを抜き出したデータ」(図12にて説明する例の場合は、表1208)を指す。
Based on the program 12P, the CPU 11 executes a process of dividing the data to be changed into a line to be deleted and a line other than that (step S1106).
The row to be deleted is the row stored as the “record to be deleted” in the change storage unit 513. An example is shown in Table 1203. In this example, the change storage unit 513 stores the information “Delete record with key string 4”. The data to be changed may be classified into the lines to be deleted only after the line designated in the record start line storage unit 1606.
In the case of the example described in FIG. 12, the record (row) whose key column is 4 is the row to be deleted, so only the data to be deleted (Table 1208) and the other rows are to be deleted. The data (Table 1207) is extracted.
Hereinafter, in the case of notating “the second data to be changed”, “the data extracted only from the lines other than the line to be deleted” created in step S1106 (in the case of the example illustrated in FIG. 12, the table 1207). ).
Hereinafter, in the case of notating “the second data to be deleted”, “the data obtained by extracting only the lines to be deleted” created in step S1106 (in the case of the example illustrated in FIG. 12, table 1208) Refers to.

CPU11は、プログラム12Pに基づいて、前記第2の変更対象のデータならびに前記第2の削除対象のデータを文字列に変換する(ステップS1107)。
本ステップで作成する文字列はフラットファイルデータベースとして使用するため、行境界記憶部1602に記憶された文字が行・レコードの境目、列境界記憶部1603に記憶された文字がカラムの境目として使用される。
よって、少なくともフィールドに行境界記憶部1602に記憶された文字と同じ文字あるいは列境界記憶部1603に記憶された文字が存在する場合、該当する文字をそのまま文字列に変換するとデータベースを処理する際に誤作動を起こす(例えば、列境界記憶部1603に「,」が記憶され、フィールドに「(,,゜Д゜)」が格納されているときは、フィールドに存在する「,,」を他の形態により表現しなければならない)。
よって、CPU11は、プログラム12Pに基づいて、フィールドの文字列を適切な形態に変換する。該変換処理の内容は、実施の形態1に説明した通り。
図12にて説明する例の場合(ここでは、列境界記憶部1603に「,」が、行境界記憶部1602に改行が記憶されているものとして説明する)は、前記第2の変更対象のデータならびに前記第2の削除対象のデータ(いずれもジャグ配列)の各要素である配列を、列境界記憶部1603に記憶された文字を挟んで連結した文字列を作成し、該文字列を要素とする1次元配列を作成し、該1次元配列の各要素である文字列を、行境界記憶部1602に記憶された文字を挟んで連結した文字列を作成する。つまり、前記第2の変更対象のデータは文字列1209に示す通りの文字列となり、前記第2の削除対象のデータは文字列1210に示す通りの文字列となる。
以後、前記第2の変更対象のデータから作成された文字列を「存続文字列」、前記第2の削除対象のデータから作成された文字列を「削除文字列」と表記する。
The CPU 11 converts the second modification target data and the second deletion target data into a character string based on the program 12P (step S1107).
Since the character string created in this step is used as a flat file database, the characters stored in the row boundary storage unit 1602 are used as the line/record boundaries, and the characters stored in the column boundary storage unit 1603 are used as the column boundaries. It
Therefore, if at least a field has a character same as the character stored in the row boundary storage unit 1602 or a character stored in the column boundary storage unit 1603, the corresponding character is directly converted into a character string when the database is processed. A malfunction occurs (for example, when “,” is stored in the column boundary storage unit 1603 and “(,,°Д°)” is stored in the field, “,,” existing in the field is replaced with another Must be expressed by form).
Therefore, the CPU 11 converts the character string of the field into an appropriate form based on the program 12P. The contents of the conversion process are as described in the first embodiment.
In the case of the example described with reference to FIG. 12 (here, “,” is stored in the column boundary storage unit 1603 and a line break is stored in the row boundary storage unit 1602), the second change target A character string is created by concatenating the data and the array that is each element of the second data to be deleted (both are jagged arrays) with the character stored in the column boundary storage unit 1603 being sandwiched, and the character string is used as an element. And a character string that is each element of the one-dimensional array is connected with the characters stored in the row boundary storage unit 1602 interposed therebetween. That is, the second modification target data is a character string as shown in the character string 1209, and the second deletion target data is a character string as shown in the character string 1210.
Hereinafter, the character string created from the second change target data will be referred to as a “surviving character string”, and the character string created from the second delete target data will be referred to as a “delete character string”.

CPU11は、プログラム12Pに基づいて、例えば存続文字列をRAM13または記憶部12に記憶する(ステップS1108)。ただし、ステップS1108は、ステップS1109ならびにステップS1110の後に実行する形態であってもよい。 Based on the program 12P, the CPU 11 stores, for example, the remaining character string in the RAM 13 or the storage unit 12 (step S1108). However, step S1108 may be executed after steps S1109 and S1110.

CPU11は、プログラム12Pに基づいて、ストリーム記憶部511にnullが記憶されているか否かを判断(ステップS1108)し、ストリーム記憶部511にnullが記憶されている場合は(ステップS1108:YES)は、存続文字列または削除文字列の少なくともいずれかをストリーム記憶部511(データベースが存在する場所を示す情報を記憶)が示す場所に保存する(RAM13または記憶部12またはRAM23または記憶部22に記憶する)。
詳しく説明すると、次の通り。
データベース記憶部1501にnullが記憶されているか否かを判断(ステップS1108)し、データベース記憶部1501にnullが記憶されている場合は(ステップS1108:YES)は、存続文字列をデータベース記憶部1501(データベースが存在する場所を示す情報を記憶)が示す場所に保存する(RAM13または記憶部12またはRAM23または記憶部22に記憶する)。
削除データ記憶部1502にnullが記憶されているか否かを判断(ステップS1108)し、削除データ記憶部1502にnullが記憶されている場合は(ステップS1108:YES)は、削除文字列を削除データ記憶部1502(データベースが存在する場所を示す情報を記憶)が示す場所に保存する(RAM13または記憶部12またはRAM23または記憶部22に記憶する)。
Based on the program 12P, the CPU 11 determines whether or not null is stored in the stream storage unit 511 (step S1108), and if null is stored in the stream storage unit 511 (step S1108: YES), , At least one of the remaining character string and the deleted character string is stored in the location indicated by the stream storage unit 511 (which stores information indicating the location of the database) (stored in the RAM 13 or the storage unit 12, the RAM 23 or the storage unit 22). ).
The details are as follows.
It is determined whether or not null is stored in the database storage unit 1501 (step S1108). If null is stored in the database storage unit 1501 (step S1108: YES), the survival character string is stored in the database storage unit 1501. The data is stored in the location indicated by (store information indicating location of database) (stored in RAM 13 or storage unit 12 or RAM 23 or storage unit 22).
It is determined whether or not null is stored in the deleted data storage unit 1502 (step S1108). If null is stored in the deleted data storage unit 1502 (step S1108: YES), the deleted character string is deleted. The data is stored in the location indicated by the storage unit 1502 (stores information indicating the location where the database exists) (stored in the RAM 13 or the storage unit 12, or the RAM 23 or the storage unit 22).


変形例:
削除データ記憶部1502が示す場所にすでにデータが存在する場合は、該データに追記、上書きなどをする形態であってもよい
(
Modification:
(If data already exists at the location indicated by the deleted data storage unit 1502, the data may be added or overwritten.)

本実施の形態は、ルーチンによることができる。該ルーチンは、引数を持たず、ストリーム記憶部511(ストリーム記憶部511が示す位置に存在する情報を含んでもよい)、テキスト記憶部512、変更記憶部513を参照し、プログラム12Pに基づいた動作をCPU11に実行させる。返り値は、例えば、ストリーム記憶部511に記憶されたデータならびに存続文字列を格納したデータ集合体(例えばクラス)。 This embodiment can be performed by a routine. The routine has no arguments, refers to the stream storage unit 511 (may include information existing at the position indicated by the stream storage unit 511), the text storage unit 512, and the change storage unit 513, and operates based on the program 12P. Is executed by the CPU 11. The return value is, for example, a data set (for example, a class) in which the data stored in the stream storage unit 511 and the remaining character string are stored.

<実施の形態7>
本実施の形態では、変更部502を実行する。本実施形態のハードウェア構成は実施の形態2と同様。
<Embodiment 7>
In the present embodiment, the changing unit 502 is executed. The hardware configuration of this embodiment is the same as that of the second embodiment.

本実施の形態は、データベースの、何というキーを持つレコードの、何というカラムであるフィールドに、何を書き込むべきかを示す情報を、所定の場所(例えば記憶部12またはRAM13)に記憶するものである。 The present embodiment stores information indicating what should be written in a field that is a column of a record having a key of a database in a predetermined location (for example, the storage unit 12 or the RAM 13). Is.

変更部502は、データを書き込むレコードおよびカラムおよび書き込むデータ(例えば、文字列)の指定を受け付けて、該指定の通りにデータベースを変更すべき旨の情報を変更記憶部513(更新記憶部1310)に書き込む。(変形例:該指定の通りにデータベースを変更する。) The changing unit 502 accepts designation of a record and a column to write data and a designation of data to be written (for example, a character string), and changes the information indicating that the database should be changed according to the designation, the change storage unit 513 (update storage unit 1310). Write in. (Modification: The database is changed as specified.)

図17は、実施の形態7に係る情報処理装置が変更部502の一部である更新記憶部1310を実行する処理の手順を示したフローチャート。 FIG. 17 is a flowchart showing a procedure of processing in which the information processing apparatus according to the seventh embodiment executes the update storage unit 1310 which is a part of the changing unit 502.

CPU11は、プログラム12Pに基づいて、更新記憶部1301にnullが格納されているかを確認(ステップS1701)し、更新記憶部1301にnullが格納されている場合(ステップS1701:YES)は、更新記憶部1301を、要素数0のデータ集合体(例えば連想配列)とする。 The CPU 11 confirms whether null is stored in the update storage unit 1301 based on the program 12P (step S1701). If null is stored in the update storage unit 1301 (step S1701: YES), the update storage is stored. The unit 1301 is a data aggregate having 0 elements (for example, an associative array).

CPU11は、プログラム12Pに基づいて、更新記憶部1301に書き込もうとするキーと同じキーがすでに更新記憶部1301に存在するかを確認(ステップS1703)し、その通りである場合(ステップS1703:YES)は、更新記憶部1301に存在する、書き込もうとするキーと同じキーに対応する値を第2のデータ集合体(例えば、連想配列)とする。そうでない場合(ステップS1703:NO)は、要素数0のデータ集合体(例えば連想配列)を作成し、これを第2のデータ集合体とする。
「キー列が11であるレコードのカラムがDであるフィールドの値を11Dにしろ」という意味の情報を更新記憶部1301に記憶させたい場合を例に説明する。更新記憶部1301に、「11」というキーが存在する場合は、該キーに対応する値を第2のデータ集合体とし、それ以外の場合は、要素数0のデータ集合体を作成し、これを第2のデータ集合体とする。
Based on the program 12P, the CPU 11 confirms whether the same key as the key to be written in the update storage unit 1301 already exists in the update storage unit 1301 (step S1703), and if so (step S1703: YES) Makes the value corresponding to the same key as the key to be written, which exists in the update storage unit 1301, the second data set (for example, associative array). If not (step S1703: NO), a data aggregate with the number of elements of 0 (for example, an associative array) is created, and this is used as the second data aggregate.
An example will be described in which it is desired to store in the update storage unit 1301 information that means “change the value of the field in which the column of the record whose key string is 11 is D to 11D”. If a key “11” exists in the update storage unit 1301, the value corresponding to the key is set as the second data set, and in other cases, a data set having 0 elements is created. Be a second data set.

第2のデータ集合体は、例えば「文字列をキーとし文字列を返す連想配列」であって、更新記憶部1301に記憶されるデータ集合体は、例えば「数値をキーに第2のデータ集合体を返す連想配列」。 The second data set is, for example, “an associative array that returns a character string with a character string as a key”, and the data set stored in the update storage unit 1301 is, for example, “a second data set with a numerical value as a key. An associative array that returns the body."

CPU11は、プログラム12Pに基づいて、前記第2のデータ集合体にカラムとフィールドの組み合わせを書き込む。(ステップS1706)
「キー列が11であるレコードのカラムがDであるフィールドの値を11Dにしろ」という意味の情報を更新記憶部1301に記憶させたい場合を例に説明する。前記第2のデータ集合体のキーに「D」が存在する場合は、該キーに対応する値を「11D」に変更する。前記第2のデータ集合体のキーに「D」が存在しない場合は、前記第2のデータ集合体のキーと値の組み合わせに、「D」をキーに「11D」を値とする組み合わせを追加する。
The CPU 11 writes a combination of columns and fields in the second data set based on the program 12P. (Step S1706)
An example will be described in which it is desired to store in the update storage unit 1301 information that means “change the value of the field in which the column of the record whose key string is 11 is D to 11D”. When "D" exists in the key of the second data set, the value corresponding to the key is changed to "11D". When "D" does not exist in the key of the second data set, a combination of "D" as the key and "11D" as the value is added to the key-value combination of the second data set. To do.

CPU11は、プログラム12Pに基づいて、前記第2のデータ集合体を、更新記憶部1301に追加する(RAM13または記憶部12に記憶する)。
「キー列が11であるレコードのカラムがDであるフィールドの値を11Dにしろ」という意味の情報を更新記憶部1301に記憶させたい場合を例に説明する。更新記憶部1301のキーに「11」が存在する場合は、該キーに対応する値を前記第2のデータ集合体に変更する。更新記憶部1301のキーに「11」が存在しない場合は、更新記憶部1301のキーと値の組み合わせに、「11」をキーとし、前記第2のデータ集合体を値とする組み合わせを追加する。
The CPU 11 adds the second data aggregate to the update storage unit 1301 (stores in the RAM 13 or the storage unit 12) based on the program 12P.
An example will be described in which it is desired to store in the update storage unit 1301 information that means “change the value of the field in which the column of the record whose key string is 11 is D to 11D”. When “11” exists in the key of the update storage unit 1301, the value corresponding to the key is changed to the second data set. When “11” does not exist in the key of the update storage unit 1301, a combination having “11” as the key and the value of the second data aggregate is added to the combination of the key and the value in the update storage unit 1301. ..


変形例:
本実施の形態では、連想配列を使用する場合を例示したが、連想配列ではないデータ集合体を用いるものであってもよい。例えば、2つのリストを作成し、第1のリストに連想配列のキーにあたるもの、第2のリストに連想配列の値にあたるものを記憶する等。
(
Modification:
In the present embodiment, the case of using the associative array has been illustrated, but a data aggregate that is not an associative array may be used. For example, two lists are created, and the one that corresponds to the key of the associative array in the first list and the one that corresponds to the value of the associative array in the second list are stored.
)


変形例:
本実施の形態は、更新記憶部1301を変更することであり、他の実施の形態と組み合わせることによって、更新記憶部1301を介してデータベースの内容を変更する事ができるが、本実施の形態は、データベースを直接変更するものであってもよい。
(
Modification:
This embodiment is to change the update storage unit 1301, and by combining it with other embodiments, the contents of the database can be changed via the update storage unit 1301. Alternatively, the database may be directly changed.
)

変更部502は、ルーチンによって行うことができる。該ルーチンは、書き込みたいレコードのキーを示す引数code(例えば、整数型)、前記レコードにおける書き込む対象であるカラムを示す引数title(例えば、文字列型)、前記レコードの前記カラムに何を書き込むかを示す引数data(例えば、文字列型)を持つ。(例えば、キー列が1であるレコードの、カラムがAであるフィールドに1Aを書き込ませたい場合は、codeに1、titleにA、dataに1Aを代入する)返り値は存在しないが、例えば書き込みの正否を返す値を返り値としてもよい。 The changing unit 502 can be performed by a routine. The routine has an argument code (for example, integer type) indicating a key of a record to be written, an argument title (for example, character string type) indicating a column to be written in the record, and what to write in the column of the record. Has an argument data (for example, a character string type) indicating. (For example, if you want to write 1A to the field whose column is A in the record whose key string is 1, substitute 1 for code, A for title, and 1A for data.) A value that returns the correctness of writing may be used as the return value.

CPU11は、プログラム12Pに基づいて、更新記憶部1301がnullであるかを確認(ステップS1701)し、更新記憶部1301がnullである場合(ステップS1701:YES)は、更新記憶部1301を、0個のキーを持つデータ集合体(例えば、整数をキーとし、文字列から文字列を返す連想配列を値とする連想配列。)とする。 Based on the program 12P, the CPU 11 confirms whether the update storage unit 1301 is null (step S1701). If the update storage unit 1301 is null (step S1701: YES), the update storage unit 1301 is set to 0. Assume that it is a data set having a number of keys (for example, an associative array whose value is an associative array that returns a character string from a character string with an integer key).

CPU11は、プログラム12Pに基づいて、更新記憶部1301のキーにcodeと同じものが存在するかを判断(ステップS1703)し、更新記憶部1301のキーにcodeと同じものが存在する(ステップS1703:YES)場合は、該キーに対応する値を第2のデータ集合体とし(ステップS1705)、これ以外の場合は0個のキーを持つデータ集合体を作成し、これを第2のデータ集合体とする(ステップS1704)。
CPU11は、プログラム12Pに基づいて、前記第2のデータ集合体のキーと値の組み合わせとして、titleとdataを書き込む(すでにキーとしてtitleと同じものが存在する場合は、titleに対応する値をdataに変更する)(ステップS1706)。
Based on the program 12P, the CPU 11 determines whether the key of the update storage unit 1301 is the same as the code (step S1703), and the key of the update storage unit 1301 is the same as the code (step S1703: In the case of YES), the value corresponding to the key is set as the second data set (step S1705). In other cases, a data set having 0 keys is created, and this is set as the second data set. (Step S1704).
Based on the program 12P, the CPU 11 writes title and data as a key and value combination of the second data set (if the same key as title already exists, the value corresponding to title is data. (Step S1706).

CPU11は、プログラム12Pに基づいて、更新記憶部1301に、codeをキーとし前記第2のデータ集合体を値とするキーと値の組み合わせを書き込む。(すでにキーとしてcodeと同じものが存在する場合は、codeに対応する値を前記第2のデータ集合体に変更する)。 Based on the program 12P, the CPU 11 writes in the update storage unit 1301 a key/value combination in which code is a key and the second data aggregate is a value. (If the same key as code already exists as a key, change the value corresponding to code to the second data set).

<実施の形態8>
本実施の形態では、変更記憶部513の形態を説明する。本実施形態のハードウェア構成は実施の形態2と同様。
<Embodiment 8>
In this embodiment, the form of the change storage unit 513 will be described. The hardware configuration of this embodiment is the same as that of the second embodiment.

本実施の形態は、データベースの、何というキーの、何というカラムに何を書き込むべきかと、データベースの、何というキーを削除すべきかを、所定の場所(例えば記憶部12またはRAM13)記憶するものである。 The present embodiment stores what key should be written in what column in the database and what key should be deleted in the database at a predetermined location (for example, the storage unit 12 or the RAM 13). Is.

図13は、変更記憶部513および変更記憶部513に格納されたデータの一例を示す図。 FIG. 13 is a diagram showing an example of the change storage unit 513 and the data stored in the change storage unit 513.

更新記憶部1310は、データべースに対して施すべき変更(本実施の形態では、変更と表記する場合、特に断りがなければ新規データの追加を含む)を記憶する。データ型は、例えば「整数型」をキーとして「文字列型をキーとして文字列型を返す連想配列」を返す連想配列。 The update storage unit 1310 stores a change to be made to the database (in the present embodiment, when it is referred to as a change, it includes addition of new data unless otherwise specified). The data type is, for example, an associative array that returns an "associative array that returns a character string type with a character string type as a key" using "integer type" as a key.

削除記憶部1350は、データベースに対して施すべき削除を記憶する。データ型は、例えば整数型のリスト、コレクションなどのデータ集合体。
図13に示す例では、「キー列が4、5であるレコードを削除しろ」という意味。
The deletion storage unit 1350 stores the deletion to be performed on the database. The data type is a data collection such as an integer type list or collection.
In the example shown in FIG. 13, it means “delete the records whose key strings are 4 and 5”.

キー1311は、更新記憶部1310(連想配列)のキー。
図13に示す例では、更新記憶部1310は、1、3、7というキーを持つ連想配列であるから、データベースの、キー列が1、3、7であるレコードに対し変更すべき旨が記憶されている。
The key 1311 is a key of the update storage unit 1310 (associative array).
In the example shown in FIG. 13, since the update storage unit 1310 is an associative array having keys 1, 3, and 7, it is stored that the record whose key string is 1, 3, and 7 in the database should be changed. Has been done.

値1312は、更新記憶部1310(連想配列)の各々のキーに対応する値であって、データ型は、例えば文字列型から文字列型を返す連想配列。
図13に示す例では、「1」をキーとして返す値は、「A」から「1AA」、「C」から「1CC」を返す連想配列である。これは、「キー列が1であるレコードの、カラムがAAであるフィールドの値を1AAにしろ」「キー列が1であるレコードの、カラムがCCであるフィールドの値を1CCにしろ」という意味。3、7をキーとして返す値についても、同様の方式で記憶されている。
The value 1312 is a value corresponding to each key of the update storage unit 1310 (associative array), and the data type is, for example, an associative array that returns a character string type from a character string type.
In the example shown in FIG. 13, the value returned with "1" as a key is an associative array that returns "A" to "1AA" and "C" to "1CC". This is "Set the value of the field whose column is AA to 1AA in the record whose key string is 1""Set the value of the field whose column is CC to 1CC in the record whose key string is 1" meaning. Values that are returned as keys 3 and 7 are also stored in the same manner.

連想配列1320は、更新記憶部1310(連想配列)の各々のキーに体操する値である連想配列。キー1321は、連想配列1320のキー、値1322は、連想配列1320の値。 The associative array 1320 is an associative array that is a value to be exercised by each key of the update storage unit 1310 (associative array). A key 1321 is a key of the associative array 1320, and a value 1322 is a value of the associative array 1320.

CPU11は、プログラム12Pに基づいて、所定の場所(例えば記憶部12またはRAM13)に、更新記憶部1310、削除記憶部1350、の少なくともいずれかを記憶する部分を確保する。 Based on the program 12P, the CPU 11 secures a portion that stores at least one of the update storage unit 1310 and the deletion storage unit 1350 in a predetermined location (for example, the storage unit 12 or the RAM 13).


変形例:
本実施の形態では、整数型(以下「データ1」)をキーとして第2の連想配列(以下「データ2」)を返す連想配列と、該第2の連想配列は、文字列(以下「データ2A」)をキーとして文字列(以下「データ2B」)を返す連想配列である場合を例示したが、これによらないデータ集合体を用いてもよい。
(
Modification:
In the present embodiment, an associative array that returns a second associative array (hereinafter “data 2”) using an integer type (hereinafter “data 1”) as a key, and the second associative array are character strings (hereinafter “data”). 2A”) is used as a key to exemplify the case of an associative array that returns a character string (hereinafter, “data 2B”), but a data aggregate that does not rely on this may be used.
)

<実施の形態9>
本実施の形態では、消去部503を実行する。本実施形態のハードウェア構成は実施の形態2と同様。
<Embodiment 9>
In the present embodiment, the erasing unit 503 is executed. The hardware configuration of this embodiment is the same as that of the second embodiment.

本実施の形態は、データベースから削除したいレコードのキー列の指定を受け付けて、該キー列を削除すべき旨の情報を削除記憶部1350に記憶する。 In the present embodiment, the specification of the key string of the record to be deleted is received from the database, and the deletion storage unit 1350 stores information indicating that the key string should be deleted.

CPU11は、プログラム12Pに基づいて、削除記憶部1350にnullが格納されているかを確認する(ステップS1801)。削除記憶部1350にnullが格納されている(ステップS1801:YES)は、削除記憶部1350を、記憶されたキーが0個であるデータ集合体とする(ステップS1802)。
削除記憶部1350は、例えばリスト、コレクション等のデータ集合体である。
The CPU 11 confirms whether null is stored in the deletion storage unit 1350 based on the program 12P (step S1801). If null is stored in the deletion storage unit 1350 (step S1801: YES), the deletion storage unit 1350 is set as a data aggregate having zero stored keys (step S1802).
The deletion storage unit 1350 is a data aggregate such as a list and a collection.

CPU11は、プログラム12Pに基づいて、削除記憶部1350に書き込もうとするキーと同じデータが削除記憶部1350に存在するかを確認する(ステップS1803)。削除記憶部1350に書き込もうとするキーと同じデータが削除記憶部1350に存在しない(ステップS1803:NO)場合は、削除記憶部1350に書き込もうとするキーを、削除記憶部1350に書き込む(RAM13または記憶部12に記憶する)。
「キー列が13であるレコードを削除しろ」という情報を削除記憶部1350に書き込む場合を例に説明する。削除記憶部に「13」という値が記憶されていない場合は、削除記憶部1350に、「13」という値を記憶する。
Based on the program 12P, the CPU 11 confirms whether the same data as the key to be written in the deletion storage unit 1350 exists in the deletion storage unit 1350 (step S1803). If the same data as the key to be written to the deletion storage unit 1350 does not exist in the deletion storage unit 1350 (step S1803: NO), the key to be written to the deletion storage unit 1350 is written to the deletion storage unit 1350 (RAM 13 or storage). (Stored in part 12).
An example will be described in which the information “delete the record whose key string is 13” is written in the deletion storage unit 1350. If the value “13” is not stored in the deletion storage unit, the value “13” is stored in the deletion storage unit 1350.

<実施の形態10>
本実施の形態では、取得部522を実行する。本実施形態のハードウェア構成は実施の形態2と同様。
<Embodiment 10>
In this embodiment, the acquisition unit 522 is executed. The hardware configuration of this embodiment is the same as that of the second embodiment.

本実施の形態は、変更記憶部513を探索し、テキスト記憶部512を探索する。前記探索の結果、矛盾するデータが記録されている場合は、変更記憶部513を優先する。(例えば、「キー列が1であるレコードのカラムがCであるフィールド」を探索する際、変更記憶部513に「1C」が記憶されていて、テキスト記憶部512に「1CC」が記憶されている場合は、「1C」を優先する。 In the present embodiment, the change storage unit 513 is searched and the text storage unit 512 is searched. If inconsistent data is recorded as a result of the search, the change storage unit 513 is given priority. (For example, when searching for a “field in which the column of the record whose key string is 1 is C”, “1C” is stored in the change storage unit 513 and “1CC” is stored in the text storage unit 512. If so, “1C” has priority.

本実施の形態では、キーとカラムの指定を受け付けて、指定されたキーを持つレコードの、指定されたカラムに存在するデータを返す。
図21は、本実施の形態に係る情報処理装置が、変更記憶部513、テキスト記憶部512の少なくともいずれかからデータを探索する手順を示すフローチャート。
In the present embodiment, the designation of the key and the column is accepted, and the data existing in the designated column of the record having the designated key is returned.
FIG. 21 is a flowchart showing a procedure in which the information processing apparatus according to the present embodiment searches for data in at least one of the change storage unit 513 and the text storage unit 512.

変更記憶部513から探索する手順を説明する。
CPU11は、プログラム12Pに基づいて、更新記憶部1310に、探索しようとするキーが存在するかを判断(ステップS2101)し、更新記憶部1310に、探索しようとするキーが存在する(ステップS2101:YES)場合は、更新記憶部1310に記憶されているキーに対応する値を取得する(ステップS2102)。(例えば、「16」というキーを持つレコードのデータを取得したい場合は、ステップS2101にて、更新記憶部1310に「16」というキーが存在するかを判断し、該キーが存在する場合は、ステップS2102にて該キーに対応する値を、更新記憶部1310から取得する)
A procedure for searching the change storage unit 513 will be described.
Based on the program 12P, the CPU 11 determines whether the update storage unit 1310 has a key to be searched (step S2101), and the update storage unit 1310 has a key to be searched (step S2101: If YES, the value corresponding to the key stored in the update storage unit 1310 is acquired (step S2102). (For example, to obtain the data of the record having the key “16”, it is determined in step S2101 whether the key “16” exists in the update storage unit 1310. If the key exists, In step S2102, the value corresponding to the key is acquired from the update storage unit 1310)

CPU11は、プログラム12Pに基づいて、ステップS2102にして取得したデータのキーに、探索しようとするカラムが存在するかを判断(ステップS2103)し、前記ステップS2102にして取得したデータのキーに、探索しようとするカラムが存在(ステップS2103:YES)場合は、前記ステップS2102にて取得したデータのキーに対応する値を記憶部12またはRAM13に記憶(ステップS2104)し、処理を終了する。(例えば、「D」というカラムにおけるデータを取得したい場合は、ステップS2102にて取得したデータのキーに「D」が存在するかを核にし、ステップS2102にて取得したデータのキーに「D」が存在する場合は、該キーに対応する値を、記憶部12またはRAM13に記憶する。)前記ステップS2102にして取得したデータのキーに、探索しようとするカラムが存在しない(ステップS2103:NO)場合は、テキスト記憶部512から探索する手順(ステップS2111以降)に移行する。
ステップS2104では、削除記憶部1350に該当するキーが存在する場合は、は、該当するデータが存在しない旨の情報を記憶部12またはRAM13に記憶する動作(図示しない)を含む。
Based on the program 12P, the CPU 11 determines whether or not the column to be searched exists in the key of the data acquired in step S2102 (step S2103), and the key of the data acquired in step S2102 is searched for. If the column to be attempted exists (step S2103: YES), the value corresponding to the key of the data acquired in step S2102 is stored in the storage unit 12 or the RAM 13 (step S2104), and the process ends. (For example, if you want to obtain the data in the column "D", the key of the data obtained in step S2102 is "D", and the key of the data obtained in step S2102 is "D". If it exists, the value corresponding to the key is stored in the storage unit 12 or the RAM 13.) There is no column to be searched for in the key of the data acquired in step S2102 (step S2103: NO). In this case, the procedure moves to the procedure for searching from the text storage unit 512 (step S2111 and thereafter).
In step S2104, if the corresponding key exists in the deletion storage unit 1350, the operation includes an operation (not shown) of storing information indicating that the corresponding data does not exist in the storage unit 12 or the RAM 13.

テキスト記憶部512から探索する手順を説明する。この手順は、更新記憶部1310に、探索しようとするキーが存在しない(ステップS2101:NO)場合に実施される。
CPU11は、プログラム12Pに基づいて、テキスト記憶部512のキー列を探索し、探索しようとするキーがキー列に存在する位置を特定(ステップS2111)し、前記ステップS2111にて、探索しようとするキーがキー列に存在するレコードの位置を特定できたかを判断(ステップS2112)し、前記ステップS2111にて、探索しようとするキーがキー列に存在するレコードの位置を特定できなかったとき(ステップS2112:NO)は、該当するデータが存在しない旨の情報を記憶部12またはRAM13に記憶(ステップS2113)し、処理を終了する。
A procedure for searching the text storage unit 512 will be described. This procedure is performed when the key to be searched does not exist in the update storage unit 1310 (step S2101: NO).
Based on the program 12P, the CPU 11 searches the key string of the text storage unit 512, identifies the position where the key to be searched exists in the key string (step S2111), and tries to search in step S2111. It is determined whether or not the position of the record existing in the key string can be specified by the key (step S2112), and when the position of the record existing in the key string of the key to be searched cannot be specified in the step S2111 (step S2111). In S2112: NO, information indicating that the corresponding data does not exist is stored in the storage unit 12 or the RAM 13 (step S2113), and the process ends.

前記ステップS2111にて、探索しようとするキーがキー列に存在するレコードの位置を特定できた(ステップS2112:YES)場合は、テキスト記憶部512のタイトル行(タイトル行とは、キー列を除く列にて、どの列が何を意味するカラムであるかを定義する行)を探索し、探索しようとするカラムが存在する位置を特定する(ステップS2114)。ステップS2114にて、探索しようとするカラムの位置が特定できたかを判断(ステップS2115)し、ステップS2114にて、探索しようとするカラムの位置が特定できなかった(ステップS2115:NO)場合は、該当するデータが存在しない旨の情報を記憶部12またはRAM13に記憶(ステップS2113)し、処理を終了する。
前記ステップS2115にて、探索しようとするカラムの位置が特定できた場合は、ステップS2111にて特定したレコードの、ステップS2114にて特定したカラムにあるフィールドに存在する情報を記憶部12またはRAM13に記憶する。これができないときは、該当するデータが存在しない旨の情報を記憶部12またはRAM13に記憶する(ステップS2117)。処理を終了する。
In step S2111, if the position of the record in which the key to be searched exists in the key string can be specified (step S2112: YES), the title line of the text storage unit 512 (the title line excludes the key string). A row is searched for a row that defines which column means what column), and specifies the position where the column to be searched exists (step S2114). In step S2114, it is determined whether the position of the column to be searched can be specified (step S2115), and if the position of the column to be searched cannot be specified in step S2114 (step S2115: NO), Information indicating that the corresponding data does not exist is stored in the storage unit 12 or the RAM 13 (step S2113), and the process ends.
If the position of the column to be searched can be specified in step S2115, the information existing in the field in the column specified in step S2114 of the record specified in step S2111 is stored in the storage unit 12 or the RAM 13. Remember. If this is not possible, information indicating that the corresponding data does not exist is stored in the storage unit 12 or the RAM 13 (step S2117). The process ends.

ステップS2111の一例を説明する。テキスト記憶部に、キー列が1、2、3であるカラムが存在するとする。このとき、キー列が1、2、3のいずれかであるカラムを探索した場合はステップS2112がYESとなり、それ以外の場合はステップS2112がNOとなる。 An example of step S2111 will be described. Suppose there are columns with key columns 1, 2, and 3 in the text storage. At this time, if a column whose key string is 1, 2, or 3 is searched, step S2112 becomes YES, and otherwise, step S2112 becomes NO.

ステップS2114の一例を説明する。タイトル行のキー列を除く列に、A、B、Cというデータが存在するとする。このとき、A、B、Cのいずれかを探索した場合はステップS2115がYESとなり、それ以外の場合はステップS2115がNOとなる。 An example of step S2114 will be described. Suppose data A, B, and C exist in the columns of the title row excluding the key column. At this time, if any of A, B, and C is searched, step S2115 becomes YES, and otherwise, step S2115 becomes NO.

ステップS2117の一例を説明する。例えば、ステップS2111にて3行目に該当するレコード、ステップS2114にて5列目に該当するカラムが存在する場合は、テキスト記憶部512の3行目かつ5列目のフィールドに存在するデータを記憶部12またはRAM13に記憶する。 An example of step S2117 will be described. For example, if there is a record corresponding to the third row in step S2111 and a column corresponding to the fifth column in step S2114, the data existing in the fields of the third row and the fifth column of the text storage unit 512 are stored. It is stored in the storage unit 12 or the RAM 13.

本実施の形態は、ルーチンによることができる。該ルーチンは、例えば引数として、取得したいレコードのキーを示す引数code(例えば、整数型)、取得したいカラムを示す引数title(例えば、文字列型)、データを取得できなかった場合に返す値err(例えば、文字列型)を持ち、返り値は例えば文字列型(データを取得できなかった場合errを返すため、errが文字列型かどうかにかかわらず、errと返り値は同じデータ型)。(ルーチンの動作中にエラーが発生した場合および該当するデータが見つからない場合にerrを返すが、ルーチンの動作中にエラーが発生した場合および該当するデータが見つからない場合に異なる値を返す形態であってもよい。その場合は、例えばerr1、err2のように、引数の数が変わってもよい) This embodiment can be performed by a routine. The routine, for example, as an argument, an argument code (for example, an integer type) indicating a key of a record to be acquired, an argument title (for example, a character string type) indicating a column to be acquired, and a value err returned when data cannot be acquired. (For example, it has a string type) and the return value is, for example, a string type (err is returned when data cannot be acquired, so the return value is the same data type regardless of whether err is a string type) .. (If an error occurs during the operation of the routine and the corresponding data is not found, err is returned, but a different value is returned if an error occurs during the operation of the routine or the applicable data is not found. (In that case, the number of arguments may change, for example, err1 and err2)

該ルーチンは、変更記憶部1310にcodeと同じものがキーとして存在するかを確認(ステップS2101)し、変更記憶部1310にcodeと同じものがキーとして存在する(ステップS2101:YES)場合は該キーに対応する値を第2のデータ集合体(例えば、連想配列)として取得する(ステップS2102)。前記第2のデータ集合体に、titleと同じものがキーとして存在するかを確認(ステップ2103)し、前記第2のデータ集合体に、titleと同じものがキーとして存在する(ステップS2103:YES)は、前記第2の集合体の該キーに対応する値を返り値とし(記憶部12またはRAM13に記憶)、処理を終了する(ステップS2104)。前記ステップS2101がNOである場合、前記ステップS2103がNOである場合は、ステップ2111に移行する。
前記ステップ2104では、削除記憶部1350にcodeと同じものが記憶されている場合は、errを返り値とし(記憶部12またはRAM13に記憶)、処理を終了する(図示しない)。
The routine checks whether the same thing as code exists in the change storage unit 1310 as a key (step S2101), and if the same thing as code exists in the change storage unit 1310 as a key (step S2101: YES), A value corresponding to the key is acquired as a second data set (eg, associative array) (step S2102). It is confirmed whether the same item as title exists as a key in the second data set (step 2103), and the same item as title exists in the second data set as a key (step S2103: YES). ) Returns the value corresponding to the key of the second aggregate as a return value (stored in the storage unit 12 or the RAM 13), and ends the process (step S2104). If step S2101 is NO, or step S2103 is NO, the process moves to step 2111.
In step 2104, if the same value as the code is stored in the deletion storage unit 1350, err is set as a return value (stored in the storage unit 12 or the RAM 13), and the process ends (not shown).

テキスト記憶部512のレコードに相当する位置に存在するキー列にcodeと同じデータが存在するかを探索(ステップS2111)し、テキスト記憶部512のレコードに相当する位置に存在するキー列にcodeと同じデータが存在する位置を特定できたかを判断(ステップ2112)し、レコードに相当する位置に存在するキー列にcodeと同じデータが存在する位置を特定できなかった(ステップS2112:NO)場合は、errを返り値とし(記憶部12またはRAM13に記憶)、処理を終了する(ステップS2113)。 It is searched whether the same data as code exists in the key string existing in the position corresponding to the record in the text storage unit 512 (step S2111), and the key string existing in the position corresponding to the record in the text storage unit 512 is set to code. It is determined whether the position where the same data exists can be specified (step 2112). If the position where the same data as code exists in the key string existing at the position corresponding to the record cannot be specified (step S2112: NO), , Err as a return value (stored in the storage unit 12 or the RAM 13), and the process ends (step S2113).

キスト記憶部512のレコードに相当する位置に存在するキー列にcodeと同じデータが存在する位置を特定することができた(ステップS2112:YES)場合は、テキスト記憶部512のキー列を除くタイトル行に、titleと同じデータが存在する位置を特定する(ステップS2114)。テキスト記憶部512のキー列を除くタイトル行に、titleと同じデータが存在する位置を特定できたかを判断(ステップS2115)し、テキスト記憶部512のキー列を除くタイトル行に、titleと同じデータが存在する位置を特定できなかった(ステップS2115:NO)場合は、errを返り値とし(記憶部12またはRAM13に記憶)、処理を終了する(ステップS2116)。 If the position where the same data as the code exists in the key string existing at the position corresponding to the record in the text storage unit 512 can be specified (step S2112: YES), the title excluding the key string in the text storage unit 512 In the line, the position where the same data as the title exists is specified (step S2114). It is determined whether or not the position where the same data as title exists in the title row excluding the key column of the text storage unit 512 can be specified (step S2115), and the title row excluding the key column of the text storage unit 512 has the same data as title. If the position where is present could not be specified (step S2115: NO), err is set as a return value (stored in the storage unit 12 or the RAM 13), and the process ends (step S2116).

テキスト記憶部512のキー列を除くタイトル行に、titleと同じデータが存在する位置を特定できた場合(ステップS2115:YES)は、ステップS2111にて特定したレコードの、ステップS2114にて特定したカラムのフィールドに存在するデータを返り値とし(記憶部12またはRAM13に記憶)、処理を終了する(ステップS2117)。 If the position where the same data as the title exists can be specified in the title row excluding the key string of the text storage unit 512 (step S2115: YES), the column specified in step S2114 of the record specified in step S2111. The data existing in the field is set as a return value (stored in the storage unit 12 or the RAM 13), and the process ends (step S2117).

前記ルーチンの一部または全部にエラートラップを設置し、該エラートラップ内でエラーが発生した場合は、返り値をerrとする()形態であってもよい。 An error trap may be provided in part or all of the routine, and when an error occurs in the error trap, the return value may be err ().

<実施の形態11>
変更部502を実施する実施の形態は、実施の形態7に説明した通りだが、本実施の形態にて説明する実施の形態であってもよい。
<Embodiment 11>
Although the embodiment for implementing the changing unit 502 is as described in the seventh embodiment, the embodiment described in the present embodiment may be adopted.

フラットファイルデータベースなど、数値を文字列等の一定の形式に変換して書き込むデータベースの場合は、言語によって数値の表現方法が違うから、言語によって間違って処理されるおそれがある。(例えば23.45とう数値を登録しようとする場合、日本語や英語では「23.45」と表記するが、スペイン語等、「23,45」と表記する場合がある。この場合、データベースを記録した言語とは違う言語を用いる情報処理装置が読み込んだ場合、数値が誤って読み込まれる恐れがある)。 In the case of a database, such as a flat file database, in which a numerical value is converted into a fixed format such as a character string and written, the numerical expression method is different depending on the language, so there is a risk that it will be processed incorrectly by the language. (For example, when registering a numerical value of 23.45, it is written as "23.45" in Japanese and English, but it may be written as "23,45" in Spanish. In this case, the language used for recording the database is If the information processing device that uses a different language is read, the numerical values may be read incorrectly).

図19は、変更部502の一例を示す図。文字列変更部S1901は、実施の形態7における変更部502と同様。 FIG. 19 is a diagram showing an example of the changing unit 502. The character string changing unit S1901 is the same as the changing unit 502 in the seventh embodiment.

十進変更部S1902の動作を説明する。十進変更部1902は、データを書き込むレコードおよびカラムおよび書き込む数値の指定を受け付けて、該指定の通りにデータベースを変更すべき旨の情報を変更記憶部513(更新記憶部1310)に書き込む。(変形例:該指定の通りにデータベースを変更する。) The operation of the decimal change unit S1902 will be described. The decimal change unit 1902 accepts designation of a record and column to write data and a numeric value to be written, and writes information to the effect that the database should be changed to the change storage unit 513 (update storage unit 1310) as specified. (Modification: The database is changed as specified.)

CPU11は、プログラム12Pに基づいて、書き込もうとする数値(以下Xと表記)を0への丸め(Xと比較し0に近い(0との差が小さい)いくつかの整数のうち、最もXとの差が小さい数値への変更)をした数値(以下Aと表記)と、XとAとの差の絶対値(以下Bと表記)を計算するステップ(ステップS2001)、Bが整数になるまでBを10倍する処理を繰り返して得た値(以下Cと表記)を計算するステップ(ステップS2002)、Aと、小数点を意味する記号(例えばピリオド)、Cを連結し文字列を作成するステップを実行し(ステップS2004)、文字列変更部1901を実行する。このとき、書き込むべき文字列はステップS2004にて作成した文字列。(ステップS2005)。
前記小数点を意味する記号は、例えばプログラム12Pによってきめられており、使用言語にかかわらず、例えばプログラム12Pは、該記号を小数点として扱う。小数を格納することがある変数を用いる場合のデータ型は、十進型が望ましい。
Based on the program 12P, the CPU 11 rounds the numerical value to be written (hereinafter referred to as X) to 0 (compared to X, closes to 0 (small difference from 0), and sets it as the most X. Change to a value with a smaller difference) (hereinafter referred to as A) and the step of calculating the absolute value of the difference between X and A (hereinafter referred to as B) (step S2001) until B becomes an integer. A step of calculating a value (hereinafter referred to as C) obtained by repeating the process of multiplying B by 10 (step S2002), a step of concatenating A and a symbol meaning a decimal point (for example, period) and C to create a character string Is executed (step S2004), and the character string changing unit 1901 is executed. At this time, the character string to be written is the character string created in step S2004. (Step S2005).
The symbol indicating the decimal point is determined by, for example, the program 12P, and regardless of the language used, the program 12P handles the symbol as the decimal point. The decimal type is desirable as the data type when using a variable that may store a decimal.

前記計算の一例を示す。
X=16.705の場合、A=16、B=0.705、C=705、となり、「16.705」という文字列が作成される。もしXを直接文字列に変換する処理をした場合、プログラム12Pを実行する情報処理装置が使用する言語など、状況によっては、「16,705」など、不適切な文字列となるおそれがある。
X=-45.6492の場合、A=-45、B=0.6492、C=6492となり、「-45.6492」という文字列が作成される。もしXを直接文字列に変換する処理をした場合、プログラム12Pを実行する情報処理装置が使用する言語など、状況によっては、「-45,6492」など、不適切な文字列となるおそれがある。
An example of the calculation will be shown.
When X=16.705, A=16, B=0.705, C=705, and the character string "16.705" is created. If the process of directly converting X into a character string is performed, the character string may be an inappropriate character string such as "16,705" depending on the language used by the information processing apparatus that executes the program 12P.
When X=-45.6492, A=-45, B=0.6492, C=6492, and the character string "-45.6492" is created. If X is directly converted to a character string, it may be an inappropriate character string such as "-45,6492" depending on the language used by the information processing device that executes the program 12P and the like. ..

十進変更部S1902は、ルーチンによることができる。該ルーチンは、書き込むべきレコードのキーをcode(例えば、整数型)、書き込むべきカラムをtitle(例えば、文字列型)、フィールドに書き込むべき数値をdata(例えば、十進型)とし、前記計算を行い、実施の形態7にて説明したルーチンを実行する。このとき、code、titleをそれぞれキー、カラムを意味する引数として渡し、フィールドに書き込むべき文字列は、前記処理によって作成された文字列を引数として渡す。 The decimal change unit S1902 can be performed by a routine. The routine sets the key of the record to be written as code (eg, integer type), the column to be written as title (eg, string type), and the numerical value to be written in the field as data (eg, decimal type), and the above calculation is performed. Then, the routine described in the seventh embodiment is executed. At this time, code and title are passed as arguments meaning a key and a column, respectively, and the character string to be written in the field is passed as an argument the character string created by the above processing.

数値変更部S1903の動作を説明する。
数値変更部S1903は、ルーチンによることができる。該ルーチンは、書き込むべきレコードのキーをcode(例えば、整数型)、書き込むべきカラムをtitle(例えば、文字列型)、フィールドに書き込むべき数値をdata(例えば、浮動小数点型)とし、dataを十進型に変換し(以下data_decと表記)、code、title、data_dicを引数として十進変更部S1902を実行する。
The operation of the numerical value changing unit S1903 will be described.
The numerical value changing unit S1903 can be performed by a routine. The routine sets the key of the record to be written as code (eg, integer type), the column to be written as title (eg, string type), and the numerical value to be written in the field as data (eg, floating point type), and data is 10 It is converted to a decimal type (hereinafter referred to as data_dec), and the decimal change unit S1902 is executed with code, title, and data_dic as arguments.

<備考>
本明細書では、配列を取り扱う場面があるが、コレクションやリストなど、配列のように扱うことができる方法であれば、必ずしも配列でなくてもよい。
本明細書では、情報処理装置1のCPUが第2情報処理装置2の一部または全部を動作させる表現があるが、情報処理装置1と第2情報処理装置2が通信をし、該通信内容に基づいて、第2情報処理装置2のCPU21が動作することによって、第2情報処理装置2の一部または全部を動作させるものであってもよい。
本明細書では、記憶部やRAMにデータを読み書きする表現があるが、ドライブ部を介して記憶媒体にデータを読み書きするものであってもよい。
本明細書では、プログラムが記憶部に記憶されている表現があるが、その他の場所(例えば、記録媒体)(例えば、通信網を介して接続されている他の情報処理装置)に記憶されていてもよい。
本明細書では、「第1の文字」のように、「〜文字」という表現があるが、該部分を「文字列」と読み替えてもよい。
テキスト記憶部512を、文字列型ジャグ配列を記憶するものとして説明することがあるが、これ以外の形態であってもよい
フラットファイルデータベースのレコード・行の境目が改行であるものとして説明することがあるが、これ以外の形態であってもよい。
フラットファイルデータベースのカラムの境目がカンマであるものとして説明することがあるが、これ以外の形態であってもよい。
本明細書では、ストリーム記憶部という表現を用いることがあるが、必ずしもストリームとして記憶するものでなくてもよい。
本明細書では、いくつかのハードウェア構成を記しているが、この通りでなければならないという意図はなく、本明細書に記載の発明を実施することができる形態であれば、任意のハードウェア構成をとりうる。
本明細書では、存在するデータに対し変更を施す旨の表現をすることがあるが、特に明記されていない限り、存在しないデータを新しく追加することを含む。
本明細書では、データが格納されていないことを「nullが格納されている」のように表現することがある。
本明細書は、第1の物が第2の物を変更し、変更された前記第2の物を参照し、第3の物を変更する表現があるが、前記第1の物が、前記第3の物を変更するものであってもよい。例えば、ルーチンが記憶部やRAMに記憶されたデータを変更し、前記データを参照してデータベースの内容を変更するかわりに、前記ルーチンが前記データベースの内容を変更するものであってもよい。
本明細書で説明するルーチンの一部または全部にエラートラップを設置し、該エラートラップ内でエラーが発生した場合は、返り値を、エラーを意味する予め定められた値とする形態であってもよい。
本明細書では、エラーが発生したときや、該当するデータが見つからないときに決められた値を返す旨を記した場合があるが、エラーが発生したときと、該当するデータが見つからないときとで、異なる値を返す形態であってもよい。その場合、ルーチンの引数の数が変わってもよい。
本明細書では、実施の形態2と同様であるハードウェア構成は、実施の形態1と同様であってもよい。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。また、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
<Remarks>
In this specification, there is a case where an array is handled, but it is not necessarily an array as long as it is a method that can be handled like an array such as a collection or a list.
In this specification, the CPU of the information processing device 1 operates to operate a part or all of the second information processing device 2, but the information processing device 1 and the second information processing device 2 communicate with each other, and the communication content Based on the above, the CPU 21 of the second information processing device 2 may be operated to operate a part or all of the second information processing device 2.
In this specification, there is an expression to read/write data to/from a storage unit or RAM, but data may be read/written to/from a storage medium via a drive unit.
In this specification, there is an expression in which the program is stored in the storage unit, but it is stored in another place (for example, a recording medium) (for example, another information processing device connected via a communication network). May be.
In the present specification, there is an expression of "to character" like "first character", but the portion may be read as "character string".
Although the text storage unit 512 may be described as storing a character string type jagged array, it may be described as a record/line boundary of a flat file database which may be in a different form. However, other forms may be used.
It may be explained that the boundaries of the columns of the flat file database are commas, but other forms may be used.
In this specification, the expression “stream storage unit” may be used, but it is not always necessary to store it as a stream.
Although some hardware configurations are described in this specification, there is no intention that the hardware configurations should be as described above, and any hardware configuration can be used as long as the invention described in this specification can be implemented. It can be configured.
In the present specification, there is a case where a change is made to existing data, and this includes adding new data that does not exist, unless otherwise specified.
In this specification, the fact that data is not stored may be expressed as “null is stored”.
In the present specification, there is an expression that the first object changes the second object, the changed second object is referred to, and the third object is changed. The third object may be changed. For example, instead of the routine changing the data stored in the storage unit or the RAM and referring to the data to change the contents of the database, the routine may change the contents of the database.
An error trap is installed in a part or all of the routines described in this specification, and when an error occurs in the error trap, the return value is a predetermined value that means an error. Good.
In this specification, it may be stated that a predetermined value is returned when an error occurs or the corresponding data is not found. However, when an error occurs and when the corresponding data is not found In this case, a different value may be returned. In that case, the number of arguments of the routine may change.
In this specification, a hardware configuration similar to that of the second embodiment may be similar to that of the first embodiment.
The embodiments disclosed this time are to be considered as illustrative in all points and not restrictive. The scope of the present invention is shown not by the above meaning but by the scope of the claims, and is intended to include meanings equivalent to the scope of the claims and all modifications within the scope. Further, the respective embodiments can be appropriately combined within the range in which the processing content is not inconsistent.

情報処理装置を示すブロック図。FIG. 3 is a block diagram showing an information processing device. 実施の形態1に係る情報処理装置が実施の形態1に説明した処理を実行する手順を示すフローチャート。6 is a flowchart showing a procedure for the information processing apparatus according to the first embodiment to execute the processing described in the first embodiment. 実施の形態1に係る情報処理装置が行う処理の例の説明図。3 is an explanatory diagram of an example of processing performed by the information processing apparatus according to the first embodiment. FIG. 実施の形態1に係る情報処理装置が行う処理の例の説明図。3 is an explanatory diagram of an example of processing performed by the information processing apparatus according to the first embodiment. FIG. 実施の形態2に係るデータベース処理部の構成を示す図。FIG. 6 is a diagram showing a configuration of a database processing unit according to the second embodiment. 情報処理装置を示すブロック図。FIG. 3 is a block diagram showing an information processing device. 情報処理装置を示すブロック図。FIG. 3 is a block diagram showing an information processing device. 実施の形態2に係る情報処理システムの構成を示すブロック図。3 is a block diagram showing the configuration of an information processing system according to Embodiment 2. FIG. 実施の形態3に係る情報処理装置が読み込み部501を実行する処理の手順を示したフローチャート。9 is a flowchart showing a procedure of processing in which the information processing apparatus according to the third embodiment executes a reading unit 501. 情報処理装置を示すブロック図。FIG. 3 is a block diagram showing an information processing device. 実施の形態6に係る情報処理装置が書き込み部521を実行する処理の手順を示したフローチャート。9 is a flowchart showing a procedure of a process in which the information processing apparatus according to the sixth embodiment executes a writing unit 521. 実施の形態6に係る情報処理装置が行う処理の例を説明するための図。FIG. 16 is a diagram for explaining an example of processing performed by the information processing device according to the sixth embodiment. 実施の形態8に係る変更記憶部513および変更記憶部513に格納されたデータの一例を示す図。FIG. 16 is a diagram showing an example of a change storage unit 513 and data stored in the change storage unit 513 according to the eighth embodiment. 実施の形態3に係る読み込み部501が実行する処理の手順を示したフローチャート。9 is a flowchart showing a procedure of processing executed by the reading unit 501 according to the third embodiment. 実施の形態4に係るストリーム記憶部511を示す図。The figure which shows the stream storage part 511 which concerns on Embodiment 4. 実施の形態5に係るテキスト記憶部512を示す図。The figure which shows the text memory|storage part 512 which concerns on Embodiment 5. 実施の形態7に係る情報処理装置が変更部502の一部である更新記憶部1310を実行する処理の手順を示したフローチャート。20 is a flowchart showing the procedure of a process in which the information processing apparatus according to the seventh embodiment executes an update storage unit 1310 that is a part of the changing unit 502. 実施の形態7に係る情報処理装置が変更部502の一部である削除記憶部1350を実行する処理の手順を示したフローチャート。10 is a flowchart showing a procedure of processing in which the information processing apparatus according to the seventh embodiment executes a deletion storage unit 1350 which is a part of the changing unit 502. 実施の形態11に係る変更部502の一例を示す図。The figure which shows an example of the change part 502 which concerns on Embodiment 11. 実施の形態11に係る情報処理装置が行う処理の手順を示すフローチャート。23 is a flowchart showing the procedure of processing performed by the information processing apparatus according to the eleventh embodiment. 実施の形態10に係る情報処理装置が、変更記憶部513、テキスト記憶部512の少なくともいずれかからデータを探索する手順を示すフローチャート。20 is a flowchart showing a procedure in which the information processing apparatus according to the tenth embodiment searches for data in at least one of the change storage unit 513 and the text storage unit 512.

Claims (46)

フラットファイルデータベース(第1の文字をレコードの境目、第2の文字をカラムの境目とする)を管理するプログラムであって、
少なくとも、前記第1の文字列、前記第2の文字列が存在するデータを前記データベースに書き込むときに、
前記第1の文字列、前記第2の文字列を含む特定の文字列である部分を、
前記特定の文字列を含まないように変換処理を情報処理装置に実行させること
を特徴とするプログラム。
A program for managing a flat file database (where the first character is a record boundary and the second character is a column boundary),
At least when writing data in which the first character string and the second character string are present in the database,
A portion that is a specific character string including the first character string and the second character string,
A program for causing an information processing device to execute a conversion process so as not to include the specific character string.
請求項1に記載の変換処理は、
対象に第3の文字列が存在する文字列を含むことを特徴とする
請求項1に記載のプログラム。
The conversion process according to claim 1,
The program according to claim 1, wherein the program includes a character string in which the third character string exists in the target.
請求項1〜2に記載の変換処理は、
該変換処理をした部分と、それ以外の部分を、第4の文字列によって区切ることを特徴とする
請求項1〜2に記載のプログラム。
The conversion processing according to claims 1 and 2,
The program according to claim 1 or 2, wherein the converted part and the other part are separated by a fourth character string.
請求項1〜3に記載の変換処理は、
対象に第4の文字列が存在することを特徴とする
請求項1〜3に記載にプログラム。
The conversion process according to claims 1 to 3,
The program according to any one of claims 1 to 3, wherein the target has a fourth character string.
データベースに、請求項1〜4に記載の変換処理が施された部分を含むデータが存在するときに、
前記処理が施された部分に対し、前記処理を施す前のデータに変更する処理を情報処理装置に実行させる
ことを特徴とするプログラム。
When the database includes data including a portion to which the conversion process according to claim 1 is applied,
A program for causing an information processing device to execute a process of changing data to a data before the process is performed on a portion subjected to the process.
条件Aを満たす文字列を含む文字列を、条件Aを満たさない文字列のみからなる文字列に変換する処理を情報処理装置に実行させるプログラムであって、
前記変換する処理は、前記条件Aを満たす文字が何であるかによって、何に変換されるかが決定されること、
前記変換する処理を実行した部分と、それ以外の部分とを、条件Bを満たす文字列によって区切ること、
前記条件Bを満たす文字列が所定の条件を満たす回数(C回)連続した場合、Cの値によって決まる回数だけ連続する、条件Dを満たす文字列に変換されること、
を特徴とするプログラム。
A program that causes an information processing apparatus to execute a process of converting a character string including a character string that satisfies the condition A into a character string that includes only a character string that does not satisfy the condition A,
In the conversion processing, what is converted into is determined depending on what the character that satisfies the condition A is.
Partitioning the part that has executed the conversion process and the other part with a character string that satisfies the condition B;
When the character string satisfying the condition B continues for a number of times satisfying a predetermined condition (C times), it is converted into a character string satisfying the condition D that continues for the number of times determined by the value of C.
A program characterized by.
読み込み部と、
変更部と、
消去部と、
ストリーム記憶部またはテキスト記憶部の少なくともいずれかと、
変更記憶部と、
書き込み部と、
取得部と、
を有することを特徴とする
データベース処理部。
The reading section,
Change part,
An erasing section,
At least one of a stream storage unit and a text storage unit,
A change storage section,
A writing section,
The acquisition part,
A database processing unit comprising:
請求項7に記載のデータベース処理部を有することを
特徴とするプログラム。
A program comprising the database processing unit according to claim 7.
請求項7〜8に記載の読み込み部は、
データベースが存在する場所を示す情報が存在するか否かを判断する第1のステップと、
第1のステップにおいてデータベースが存在する場所を示す情報が存在しないと判定された場合は、決められたデータをテキスト記憶部に保存する第2のステップと、
第1のステップにおいてデータベースが存在する場所を示す情報が存在すると判定された場合は、該情報に基づいて読み込まれたデータまたは該データをもとに作成されたデータの少なくともいずれかをテキスト記憶部に記憶する第3のステップと、
第1のステップにおいてデータベースが存在する場所を示す情報が存在すると判定された場合は、該情報をストリーム記憶部に保存する第4のステップと、
を有することを特徴とする、
請求項7〜8に記載の読み込み部。
The reading unit according to claims 7 to 8,
A first step of determining whether there is information indicating where the database exists,
If it is determined in the first step that the information indicating the location of the database does not exist, a second step of saving the determined data in the text storage unit,
When it is determined in the first step that the information indicating the location of the database exists, at least one of the data read based on the information and the data created based on the data is stored in the text storage unit. The third step of storing in
If it is determined in the first step that information indicating the location of the database exists, a fourth step of storing the information in the stream storage unit;
Characterized by having,
The reading unit according to claim 7.
請求項9に記載の第3のステップは、
記憶しようとするデータが文字列である場合は、第1の特定の文字を境目として区切った、
第1のデータ集合体を作成するステップと、
前記第1のデータ集合体のそれぞれの要素に存在する第2の特定の文字を境目として区切った、
第2のデータ集合体を作成するステップと、
を有することを特徴とする、
請求項9に記載のプログラム。
The third step according to claim 9 is
If the data to be stored is a character string, it is separated by the first specific character as a boundary,
Creating a first data collection,
Separated by a second specific character existing in each element of the first data set,
Creating a second data set,
Characterized by having,
The program according to claim 9.
請求項9〜10に記載の処理の少なくともいずれかを情報処理装置に実行させることを
特徴とするプログラム。
A program for causing an information processing apparatus to execute at least one of the processes according to claims 9 to 10.
請求項7〜8に記載のストリーム記憶部は、
データベースが存在する場所を示す情報と、
削除されたデータを記憶すべき場所と、
の少なくともいずれかを記憶することを特徴とする
請求項7〜8に記載のストリーム記憶部。
The stream storage unit according to claims 7 to 8,
Information indicating where the database resides,
Where to store deleted data,
9. The stream storage unit according to claim 7, wherein at least one of the above is stored.
請求項12に記載の処理を情報処理装置に実行させることを
特徴とするプログラム。
A program that causes an information processing apparatus to execute the process according to claim 12.
請求項7〜8に記載のテキスト記憶部は、
データベース記憶部と、
行境界記憶部と、
列境界記憶部と、
キー列位置記憶部と、
タイトル行記憶部と、
レコード開始行記憶部と、
の少なくともいずれかをそなえることを特徴とする、
請求項7〜8に記載のテキスト記憶部。
The text storage unit according to claim 7,
A database storage section,
A line boundary storage section,
A column boundary storage section,
A key row position storage unit,
A title row storage section,
Record start line storage section,
Characterized by having at least one of
The text storage unit according to claim 7.
請求項14に記載のデータベース記憶部は、
データベースの内容を記憶することを
特徴とする、請求項14に記載のデータベース記憶部。
The database storage unit according to claim 14,
The database storage unit according to claim 14, wherein the contents of the database are stored.
請求項14に記載の行境界記憶部は、
少なくともフラットファイルデータベースを取り扱うときに行・レコードの境界として使用する文字が何であるかを記憶することを
特徴とする、請求項14に記載の行境界記憶部。
The line boundary storage unit according to claim 14,
15. The line boundary storage unit according to claim 14, wherein at least what character is used as a line/record boundary when a flat file database is handled is stored.
請求項14に記載の列境界記憶部は、
少なくともフラットファイルデータベースを取り扱うときにカラムの境界として使用する文字が何であるかを記憶することを
特徴とする、請求項14に記載の列境界記憶部。
The column boundary storage unit according to claim 14,
15. The column boundary storage unit according to claim 14, wherein at least what character is used as a column boundary when handling a flat file database is stored.
請求項14に記載のキー列位置記憶部は、
前記データベース記憶部のキー列の位置がどこであるかを記憶することを
特徴とする、請求項14に記載のキー列位置記憶部。
The key string position storage unit according to claim 14,
The key string position storage unit according to claim 14, wherein the position of the key string in the database storage unit is stored.
請求項14に記載のタイトル行記憶部は、
前記データベース記憶部の各々のカラムの意味を定義する、または、
前記データベース記憶部の各々のカラムの意味を定義する行の位置がどこであるかを記憶することを
特徴とする、請求項14に記載のタイトル行記憶部。
The title row storage unit according to claim 14,
Define the meaning of each column in the database store, or
15. The title line storage unit according to claim 14, wherein the position of a line defining the meaning of each column of the database storage unit is stored.
請求項14に記載のレコード開始行記憶部は、
前記データベース記憶部のレコードの位置がどこであるかを記憶する、
ことを特徴とする請求項14に記載のレコード開始行記憶部。
The record start line storage unit according to claim 14,
Storing the position of the record in the database storage unit,
The record start line storage unit according to claim 14, wherein
請求項14〜20に記載の処理の少なくともいずれかを情報処理装置に実行させる
ことを特徴とするプログラム。
A program for causing an information processing device to execute at least one of the processes according to claims 14 to 20.
請求項7〜8に記載の書き込み部は、
テキスト記憶部に記憶されたデータまたはストリーム記憶部に記憶されたデータによって特定される位置から読み込まれるデータの少なくともいずれかを変更対象のデータとし、
前記変更対象のデータに対して、変更記憶部に記憶された内容に基づいた変更を行い、
前記変更が施されたデータを、前記ストリーム記憶部に記憶する動作、または、前記変更が施されたデータを出力することを特徴とする、
請求項7〜8に記載の書き込み部。
The writing unit according to claims 7 to 8,
At least one of the data read from the position specified by the data stored in the text storage unit or the data stored in the stream storage unit is the data to be changed,
The data to be changed is changed based on the contents stored in the change storage unit,
An operation of storing the changed data in the stream storage unit, or outputting the changed data.
The writing unit according to claim 7.
請求項22に記載の処理を情報処理装置に実行させることを
特徴とするプログラム。
A program for causing an information processing apparatus to execute the process according to claim 22.
請求項7〜8に記載の変更記憶部は、
更新記憶部と、
削除記憶部と、
の少なくともいずれかをそなえることを
特徴とする、請求項7〜8に記載の変更記憶部。
The change storage unit according to claim 7,
An update storage unit,
A delete memory section,
9. The change storage unit according to claim 7, comprising at least one of the following.
請求項24に記載の更新記憶部は、
データ集合体であることを
特徴とする、請求項24に記載の更新記憶部。
The update storage unit according to claim 24,
The update storage unit according to claim 24, which is a data aggregate.
請求項25に記載のデータ集合体は、連想配列であって、
キーは、データベースのキー列に使われている値であり、
値は、データ集合体(以下「第2のデータ集合体」と表記)であることを
特徴とする、請求項25に記載のデータ集合体。
The data set according to claim 25 is an associative array,
Key is the value used in the database key column,
26. The data aggregate according to claim 25, wherein the value is a data aggregate (hereinafter referred to as “second data aggregate”).
請求項26に記載の第2のデータ集合体は、
連想配列であることを
特徴とする、請求項26に記載の第2のデータ集合体。
The second data set according to claim 26 is
27. The second data set according to claim 26, which is an associative array.
請求項27に記載の連想配列は、
キーは、データベースのカラムに用いられる値であり、
値は、データベースのフィールドに書き込まれる値であることを
特徴とする、請求項27に記載の連想配列。
The associative array according to claim 27,
The key is the value used for the database column,
28. The associative array according to claim 27, wherein the value is a value written in a field of the database.
請求項24〜27に記載の処理の少なくともいずれかを情報処理装置に実行させることを
特徴とするプログラム。
A program for causing an information processing device to execute at least one of the processes according to claims 24 to 27.
第1のデータをキーとして第2のデータを返すデータ集合体であって、
前記第2のデータは、第2Aのデータをキーとして第2Bのデータを返すデータ集合体であって、
前記第1のデータは、データベースのキー列、
前記第2Aのデータは、データベースのカラム、
前記第2Bのデータは、データベースのフィールドに書き込まれる値を、
それぞれ表すことを特徴とするプログラム。
A data set that returns the second data by using the first data as a key,
The second data is a data aggregate that returns the second B data using the second A data as a key,
The first data is a database key column,
The second A data is a database column,
The second B data is the value written in the field of the database,
A program characterized by representing each.
請求項24に記載の更新記憶部は、
請求項29に記載の通りであること
を特徴とする、請求項24に記載の更新記憶部。
The update storage unit according to claim 24,
The update storage unit according to claim 24, which is as described in claim 29.
請求項24に記載の削除記憶部は、
削除対象であるレコードのキー列を記憶することを
特徴とする、請求項24に記載の削除記憶部。
The deletion storage unit according to claim 24,
The deletion storage unit according to claim 24, which stores a key string of a record to be deleted.
請求項29〜31に記載の処理の少なくともいずれかを情報処理装置に実行させることを
特徴とするプログラム。
A program for causing an information processing device to execute at least one of the processes according to claims 29 to 31.
請求項7〜8に記載の変更部は、
更新記憶部にデータが格納されていない場合は該更新記憶部に要素数0のデータ集合体を格納するステップと、
更新記憶部に、対象のキー列が存在する場合は、該対象のキーに対応する第2のデータ集合体を取得するステップと、
前記第2の集合体に対し、対象のカラムの値とフィールドの組み合わせを書き込むステップと、
前記書き込みをした前記第2の集合体を、更新記憶部に、前記対象のキー列に対応する値として記憶するステップと、
を有することを特徴とする、請求項7〜8に記載の変更部。
The changing unit according to claims 7 to 8,
Storing no data in the update storage unit in the update storage unit, the data aggregate having 0 elements;
If a target key string exists in the update storage unit, a step of acquiring a second data aggregate corresponding to the target key,
Writing a combination of a target column value and a field to the second aggregate;
Storing the written second aggregate in an update storage unit as a value corresponding to the target key string;
9. The changing unit according to claim 7, which further comprises:
請求項33に記載の処理を情報処理装置に実行させることを
特徴とするプログラム。
A program for causing an information processing device to execute the process according to claim 33.
請求項7〜8に記載の消去部は、
削除記憶部にデータが格納されていないかを確認するステップと、
該ステップによってデータが格納されていないことが確認された場合は、削除記憶部を、記憶されたキーが0個であるデータ集合体に変更するステップと、
削除記憶部に記憶しようとするデータがすでに削除記憶部に存在するかを確認するステップと、
前記ステップによって、削除記憶部に記憶しようとするデータが削除記憶部に存在しないことが確認された場合は、削除記憶部に記憶しようとするデータを削除記憶部に記憶するステップと、
を有すること
を特徴とする、請求項7〜8に記載の変更記憶部。
The erasing section according to claims 7 to 8,
A step of confirming that no data is stored in the deletion storage section,
If it is confirmed by the step that the data is not stored, the deletion storage unit is changed to a data aggregate having 0 stored keys, and
A step of confirming whether the data to be stored in the deletion storage section already exists in the deletion storage section,
If it is confirmed by the step that the data to be stored in the deletion storage unit does not exist in the deletion storage unit, a step of storing the data to be stored in the deletion storage unit in the deletion storage unit,
The change storage unit according to claim 7, further comprising:
請求項35に記載の削除記憶部は、
データ集合体であること
を特徴とする、請求項35に記載の削除記憶部。
The deletion storage unit according to claim 35,
The deletion storage unit according to claim 35, which is a data aggregate.
請求項35〜36に記載の削除記憶部は、
リストまたはコレクションであること
を特徴とする、請求項35〜36に記載の削除記憶部。
The deletion storage unit according to claim 35,
37. The deletion storage unit according to claim 35, which is a list or a collection.
請求項35〜37に記載の処理の少なくともいずれかを情報処理装置に実行させることを
特徴とするプログラム。
A program for causing an information processing device to execute at least one of the processes according to claims 35 to 37.
請求項7〜8に記載の取得部は、
変更記憶部を探索する第1のステップと、
テキスト記憶部を探索する第2のステップとの、
少なくともいずれかを含むことを
特徴とする、請求項7〜8に記載の取得部。
The acquisition unit according to claim 7 to 8,
A first step of searching the change storage,
With the second step of searching the text store,
The acquisition unit according to claim 7, comprising at least one of them.
請求項39に記載の取得部は、
変更記憶部に該当するデータが存在する場合は、テキスト記憶部の探索を行わないことを
特徴とする、請求項39に記載の取得部。
The acquisition unit according to claim 39,
40. The acquisition unit according to claim 39, wherein the search of the text storage unit is not performed when the corresponding data exists in the change storage unit.
請求項39に記載の第1のステップは、
削除記憶部に該当するデータが存在する場合は該当するデータが存在しない旨の結果を出力することと、
削除記憶部に該当するデータが存在せず、更新記憶部に該当するデータが存在する場合は、該当するデータを出力することと、
を特徴とする、請求項39に記載の第1のステップ。
The first step according to claim 39 is
If the corresponding data exists in the deletion storage unit, output a result indicating that the corresponding data does not exist, and
If the corresponding data does not exist in the deletion storage unit and the corresponding data exists in the update storage unit, output the corresponding data,
40. The first step of claim 39, characterized by:
請求項39に記載の第2のステップは、
少なくとも、該当するレコードまたはカラムの少なくともいずれかが存在しない場合は該当するデータが存在しない旨の結果を出力することと、
該当するレコードおよびカラムが存在する場合は、該レコードおよびカラムに存在するデータを出力することと、
を特徴とする、請求項39に記載の第2のステップ。
The second step according to claim 39,
At least output the result that the corresponding data does not exist if at least one of the applicable record or column does not exist,
If the corresponding record and column exist, output the data existing in the record and column,
40. The second step of claim 39, characterized by:
請求項7〜8に記載の変更部は、
数値(以下「第1の数値」と表記)を記憶しようとするときに、前記数値を意味する文字列に変換する第1のステップと、
前記ステップによって作成された文字列に対し、請求項33〜34に記載の処理を実行するステップと、
を有することを
特徴とする、実施の形態7〜8に記載の変更部。
The changing unit according to claims 7 to 8,
A first step of converting a numerical value (hereinafter referred to as "first numerical value") into a character string meaning the numerical value when storing the numerical value;
Performing the process according to claim 33 to 34 on the character string created by the step,
The modification unit according to any one of the seventh to eighth embodiments, characterized in that
請求項43に記載の第1のステップは、
前記数値を、前記数値より0に近いいくつかの整数のうち、最も前記数値との差が小さい整数を計算する第1のステップと、
前記数値と前記第1のステップによって計算された数値との差の絶対値を計算する第2のステップと、
前記第2のステップによって計算された数値を、整数になるまで10倍する処理を繰り返す第3のステップと、
前記第1のステップによって作成された数値を文字列に変換した文字列、小数点を意味する記号、前記第3のステップによって作成された数値を文字列に変換した文字列、を連結した文字列を作成する第4のステップと、
を有することを特徴とする、請求項43に記載の第1のステップ。
The first step according to claim 43,
A first step of calculating the numerical value from among several integers closer to 0 than the numerical value, the integer having the smallest difference from the numerical value;
A second step of calculating an absolute value of a difference between the numerical value and the numerical value calculated by the first step;
A third step of repeating the process of multiplying the numerical value calculated by the second step by 10 until it becomes an integer,
A character string obtained by concatenating a character string obtained by converting the numerical value created by the first step into a character string, a symbol meaning a decimal point, and a character string obtained by converting the numerical value created by the third step into a character string. The fourth step to create,
44. The first step of claim 43, comprising:
請求項43〜44に記載の処理の少なくともいずれかを情報処理装置に実行させることを
特徴とするプログラム。
A program for causing an information processing apparatus to execute at least one of the processes according to claims 43 to 44.
JP2018216056A 2018-11-16 2018-11-16 Database and information processing system Active JP6780181B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018216056A JP6780181B2 (en) 2018-11-16 2018-11-16 Database and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018216056A JP6780181B2 (en) 2018-11-16 2018-11-16 Database and information processing system

Publications (2)

Publication Number Publication Date
JP2020086617A true JP2020086617A (en) 2020-06-04
JP6780181B2 JP6780181B2 (en) 2020-11-04

Family

ID=70909996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018216056A Active JP6780181B2 (en) 2018-11-16 2018-11-16 Database and information processing system

Country Status (1)

Country Link
JP (1) JP6780181B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113539404A (en) * 2021-08-09 2021-10-22 郑州大学第一附属医院 Cross-hospital electronic medical record data acquisition method, system and storage device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006302212A (en) * 2005-04-25 2006-11-02 Mitsubishi Electric Corp Data registration program to database
JP2011145991A (en) * 2010-01-18 2011-07-28 S Grants Co Ltd Code string search device, search method and program
JP2013175096A (en) * 2012-02-27 2013-09-05 Hitachi Systems Ltd Data cleansing system and program
JP2019169001A (en) * 2018-03-23 2019-10-03 株式会社日立製作所 Data migration system and data migration server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006302212A (en) * 2005-04-25 2006-11-02 Mitsubishi Electric Corp Data registration program to database
JP2011145991A (en) * 2010-01-18 2011-07-28 S Grants Co Ltd Code string search device, search method and program
JP2013175096A (en) * 2012-02-27 2013-09-05 Hitachi Systems Ltd Data cleansing system and program
JP2019169001A (en) * 2018-03-23 2019-10-03 株式会社日立製作所 Data migration system and data migration server

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113539404A (en) * 2021-08-09 2021-10-22 郑州大学第一附属医院 Cross-hospital electronic medical record data acquisition method, system and storage device

Also Published As

Publication number Publication date
JP6780181B2 (en) 2020-11-04

Similar Documents

Publication Publication Date Title
US11146614B2 (en) Distributed computing on document formats
US11544257B2 (en) Interactive table-based query construction using contextual forms
US11615073B2 (en) Supplementing events displayed in a table format
US11983166B1 (en) Summarized view of search results with a panel in each column
US11983167B1 (en) Loading queries across interfaces
US7293006B2 (en) Computer program for storing electronic files and associated attachments in a single searchable database
US9697193B2 (en) Associating captured image data with a spreadsheet
AU2005200166B2 (en) Searchable archive
US20050080770A1 (en) System and process for presenting search results in a tree format
US20070150809A1 (en) Division program, combination program and information processing method
CN101675415B (en) Program pattern analyzer, pattern appearance status information production method, pattern information generating device, and program
JP6780181B2 (en) Database and information processing system
US9524351B2 (en) Requesting, responding and parsing
JP5664467B2 (en) SEARCH PROGRAM, SEARCH METHOD, SEARCH DEVICE, AND NODE
CN110532233A (en) A kind of epub document generating method and system
JPS63249267A (en) Electronic filing system
CN101329689B (en) Apparatus of searching document data
US20220358287A1 (en) Text mining based on document structure information extraction
Hast et al. TexT-Text Extractor Tool for Handwritten Document Transcription and Annotation
JPH1139344A (en) Character string retrieval method using two-dimensional array code
Tollefson Importing and Creating Data
CN117235100A (en) SQL sentence conversion method, device, electronic equipment and storage medium
AU2023203060A1 (en) Devices, systems, and methods for displaying and linking legal content
Kishimoto et al. An implementation method of an integrated associative search for mathematical expressions
CN116360758A (en) Method and device for integrating zero codes among heterogeneous systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200603

R155 Notification before disposition of declining of application

Free format text: JAPANESE INTERMEDIATE CODE: R155

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200830

R150 Certificate of patent or registration of utility model

Ref document number: 6780181

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150