Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3847992B2 - Database management apparatus and program recording medium - Google Patents
[go: Go Back, main page]

JP3847992B2 - Database management apparatus and program recording medium - Google Patents

Database management apparatus and program recording medium Download PDF

Info

Publication number
JP3847992B2
JP3847992B2 JP36637598A JP36637598A JP3847992B2 JP 3847992 B2 JP3847992 B2 JP 3847992B2 JP 36637598 A JP36637598 A JP 36637598A JP 36637598 A JP36637598 A JP 36637598A JP 3847992 B2 JP3847992 B2 JP 3847992B2
Authority
JP
Japan
Prior art keywords
registration
entry data
database
registered
string information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP36637598A
Other languages
Japanese (ja)
Other versions
JP2000187604A (en
Inventor
定彦 三須
敬正 二木
祐一 川西
公敏 内藤
愼 宮澤
辰也 伊藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP36637598A priority Critical patent/JP3847992B2/en
Publication of JP2000187604A publication Critical patent/JP2000187604A/en
Application granted granted Critical
Publication of JP3847992B2 publication Critical patent/JP3847992B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、登録IDを持つエントリデータを管理するデータベースに対してエントリデータを登録するときに、そのデータベースへの重複エントリをチェックする処理を行うデータベース管理装置と、その装置の実現に用いられるプログラムが記録されるプログラム記録媒体とに関し、特に、重複エントリを高速にチェックできるようにするデータベース管理装置と、その装置の実現に用いられるプログラムが記録されるプログラム記録媒体とに関する。
【0002】
【従来の技術】
遺伝子の本体はDNAと呼ばれる物質である。DNAは4種類の塩基が一列につながって構成されている。この塩基の並びを塩基配列と言う。生物の体を構成したり、酵素などの生体内での様々な機能を担う主要な物質は蛋白質であるが、この蛋白質を構成する20種類のアミノ酸の一列の並び一組が、遺伝子の塩基配列によって決定されている。実際には、連続した3つの塩基の並び一組が1つのアミノ酸に対応している。
【0003】
DNAの塩基配列や蛋白質のアミノ酸配列として表される遺伝子配列は、塩基それぞれ、あるいはアミノ酸それぞれを1文字とした文字列で記述することができる。例えば、4種類の塩基は名前の頭文字を取って、A、T、G、Cで表される。
【0004】
文字列で表記された遺伝子配列は、DNAデータベースへと蓄積される。現在までに明らかにされた遺伝子の塩基配列は、日本、欧州、米国の共同により構築されているDDBJ/EMBL/GenBank 国際塩基配列データベースに登録されている。
【0005】
図9に、このDNAデータベースの内部構造を図示する。このDNAデータベースに登録されるDNAデータには、固有のアクセッション番号(図中のU75865)が付されており、遺伝子の塩基配列情報以外に、その遺伝子を持つ生物名や、その遺伝子から作られる蛋白質の名前などの関連情報が記述されている。同様に、蛋白質でも、PIR/SWISS−PROTといったアミノ酸配列データベースが構築されている。
【0006】
なお、上述のアクセッション番号は、これまでは、「アルファベット1文字+数字5桁」という6桁で構成されるものが用いられてきたが、DNAデータベースに登録されるDNAデータが大量になることで、最近では、「アルファベット2文字+数字6桁」という8桁で構成されるものが用いられている。
【0007】
このDNAデータベースは、定期的にリリースされるリリースデータベースと、このリリースデータベースの発行以後に登録されたDNAデータが格納されるデイリーアップデートデータベースとで構成されている。デイリーアップデートデータベースには、日々、DNAデータが登録され、このデイリーアップデートデータベースのDNAデータは、数カ月毎に、リリースデータベースに追加されてリリースされることになる。
【0008】
デイリーアップデートデータベースに登録されるDNAデータには、新規のDNAデータの他に、既にリリースデータベースに登録されたDNAデータに修正や変更を加えたDNAデータがある。これから、デイリーアップデートデータベースとリリースデータベースとに、同一のアクセッション番号を持つDNAデータが存在することが起こる。更に、連続して同一のDNAデータの修正や変更が行われると、デイリーアップデートデータベースに、同一のアクセッション番号を持つ複数のDNAデータが存在することになる。
【0009】
DNAデータベースの発行元機関(DDBJ/EMBL/GenBank )は、新規のDNAデータに対してアクセッション番号を必ずしも連続して割り当てていないなどの理由から、デイリーアップデートデータベースに登録されたDNAデータ(アクセッション番号)が既にリリースデータベースに登録されているDNAデータ(アクセッション番号)かどうかを判断することはできない。
【0010】
生物学の研究のために、アクセッション番号によるデータ検索が一般的に行われているが、同一のアクセッション番号を持つDNAデータが複数存在すると、データ検索によって正しい結果が得られないことから、デイリーアップデートデータベースに登録されるDNAデータをリリースデータベースに追加する際、Non-Redundant 化を行う必要がある。
【0011】
従来では、先ず全てのDNAデータをエントリ(アクセッション番号)ごとに分割して、アクセッション番号をファイル名にしてディスク上でファイル展開し、新規のDNAデータと更新されたDNAデータとを同じ領域に同じ方法でファイル展開することで、このNon-Redundant 化を実現するという方法を採っていた。
【0012】
この方法に従って、重複エントリが存在する場合には、同じ名称のファイルが複数存在することになり、新しいファイルによって古いファイルが上書きされることで、Non-Redundant 化が実現されることになる。そして、この展開されたファイルを再度マージすることで、完全にNon-Redundant 化されたDNAデータベースが完成する。
【0013】
【発明が解決しようとする課題】
最近では、DNAデータベースに登録されるDNAデータは、年間1.5〜2倍の増加率で推移しており、今後更に増加する見込みである。
【0014】
これから、従来技術に従ってNon-Redundant 化を実行していると、エントリの分割とファイルの結合処理とに多大な時間を要することで、24時間以内にNon-Redundant 化の処理を完了することが困難になってきた。
【0015】
この問題点は、DNAデータベースに限られずに、エントリデータを登録IDに関係なくランダムに管理するデータベースに対して、大量のエントリデータを登録するとい処理構成が採られるときにも、同様に起こることになる。
【0016】
本発明はかかる事情に鑑みてなされたものであって、登録IDを持つエントリデータを管理するデータベースに対してエントリデータを登録するときに、そのデータベースへの重複エントリを高速にチェックできるようにする新たなデータベース管理装置の提供と、その装置の実現に用いられるプログラムが記録される新たなプログラム記録媒体の提供とを目的とする。
【0017】
【課題を解決するための手段】
この目的を達成するために、本発明のデータベース管理装置は、登録IDを持つエントリデータを管理するデータベースに対してエントリデータを登録するときに、そのデータベースへの重複エントリをチェックする処理を行うために、(1)登録対象のエントリデータの持つ登録IDから、その登録IDを構成する規定位置の文字列情報を取り出すことで、データベースに登録されている可能性のある登録IDであるのか否かの判断に用いる文字列情報を作成する作成手段と、(2)データベースからエントリデータの持つ登録IDを1つずつ読み出し、その登録IDを構成する上記規定位置の文字列情報と作成手段の作成した文字列情報とが一致するのか否かを判断することで、その登録IDが登録対象のエントリデータの持つ登録IDである可能性があるのか否かを判断する第1の判断手段と、(3)第1の判断手段が可能性ありと判断する登録IDと、登録対象のエントリデータの持つ登録IDとが一致するのか否かを判断することで、登録対象のエントリデータが重複エントリデータであるのか否かを判断する第2の判断手段とを備えるように構成する。
この構成を採るときに、作成手段は、登録対象のエントリデータが複数ある場合に、データベースに登録されている可能性のある登録IDであるのか否かの判断に用いる文字列情報として、それらの登録対象のエントリデータの持つ登録IDを構成する上記規定位置の文字列情報を取り出し、それらの取り出した文字列情報の一覧について記録するテーブルを作成することがあり、この場合には、第1の判断手段は、データベースから読み出した登録IDを構成する上記規定位置の文字列情報がそのテーブルに記録されているのか否かを判断することで、その登録IDが登録対象のエントリデータの持つ登録IDである可能性があるのか否かを判断することになる。
また、この構成を採るときに、作成手段は、登録対象のエントリデータが複数ある場合に、データベースに登録されている可能性のある登録IDであるのか否かの判断に用いる文字列情報として、それらの登録対象のエントリデータの持つ登録IDを構成する上記規定位置の文字列情報を取り出し、上記規定位置に位置する文字列情報の取りうる一覧について記録するテーブル構造を有して、上記規定位置に位置する文字列情報の有無情報について記録するテーブルに対して、その取り出した文字列情報の存在を示す情報を記録することで、そのテーブルを作成することがあり、この場合には、第1の判断手段は、データベースから読み出した登録IDを構成する上記規定位置の文字列情報がそのテーブルに存在有りとして記録されているのか否かを判断することで、その登録IDが登録対象のエントリデータの持つ登録IDである可能性があるのか否かを判断することになる。
ここで、本発明のデータベース管理装置の持つ機能は具体的にはプログラムで実現されるものであり、このプログラムは、フロッピィディスクなどに格納されたり、サーバなどのディスクなどに格納され、それらから本発明のデータベース管理装置にインストールされてメモリ上で動作することで、本発明を実現することになる。
次に、図1に示す原理構成図に従って、本発明についてさらに詳細に説明する。
ここで、図1に示す原理構成図では、登録対象のエントリデータが複数であることを想定している。
【0018】
図中、1は本発明を具備するデータベース管理装置、2はデータベースであって、エントリデータを登録IDに関係なくランダムに管理するもの、3は登録用データベースであって、データベース2への登録対象となるエントリデータを格納するものである。
【0019】
本発明のデータベース管理装置1は、データベース2に対して登録用データベース3に格納される大量のエントリデータを登録するときに、データベース2への重複エントリをチェックする処理を行うものであって、この機能を実現するために、作成手段10と、文字一覧テーブル11と、ハッシュテーブル12と、判断手段13と、検索手段14とを備える。
【0020】
この作成手段10は、登録対象のエントリデータの持つ登録IDから、データベース2に登録されている可能性のある登録IDであるのか否かの検索に用いる文字一覧テーブル11やハッシュテーブル12を作成する。
【0021】
文字一覧テーブル11は、作成手段10により作成されて、登録対象のエントリデータの持つ登録IDの規定位置に位置する文字の一覧を管理する。ハッシュテーブル12は、作成手段10により作成されて、登録IDの規定位置に位置する文字の取りうる一覧に文字の有無を記録することで、登録対象のエントリデータの持つ登録IDの規定位置に位置する文字の一覧を管理する。
【0022】
判断手段13は、データベース2からエントリデータの持つ登録IDを1つずつ読み出して、その読み出した登録IDが登録用データベース3に格納されているエントリデータの持つ登録IDである可能性があるのか否かを判断する。検索手段14は、登録対象のエントリデータに含まれる重複エントリデータを検索する。
【0023】
ここで、本発明のデータベース管理装置1の持つ機能は具体的にはプログラムで実現されるものであり、このプログラムは、フロッピィディスクなどに格納されたり、サーバなどのディスクなどに格納され、それらからデータベース管理装置1にインストールされてメモリ上で動作することで、本発明を実現することになる。
【0024】
このように構成される本発明のデータベース管理装置1では、登録用データベース3に格納されるエントリデータをデータベース2に登録する要求が発行されると、作成手段10は、登録対象のエントリデータの持つ登録IDから、文字一覧テーブル11やハッシュテーブル12を作成する。
【0025】
この作成手段10の作成処理を受けて、判断手段13は、データベース2からエントリデータの持つ登録IDを1つずつ読み出し、作成された文字一覧テーブル11やハッシュテーブル12を使って、その読み出した登録IDが登録用データベース3に格納されているエントリデータの持つ登録IDである可能性があるのか否かを判断する。
【0026】
この判断手段13の判断処理を受けて、検索手段14は、判断手段13が可能性ありと判断した登録IDと、登録用データベース3に格納されるそれぞれのエントリデータの持つ登録IDとを比較することで、登録用データベース3に格納される重複するエントリデータを検索する。
【0027】
のように、本発明のデータベース管理装置1では、登録IDを持つエントリデータを管理するデータベース2に対して複数のエントリデータを登録するときに、登録対象のエントリデータの持つ登録IDから、文字一覧テーブル11やハッシュテーブル12を作成することで、データベース2に登録されている可能性のある登録IDであるのか否かの判断に用いる文字列情報を作成し、それを使って、データベース2に管理されるエントリデータの持つ登録IDの中から、登録対象のエントリデータの持つ登録IDである可能性があるものを抽出して、その抽出した登録IDと登録対象のエントリデータの持つ登録IDとを比較することで、登録対象のエントリデータに含まれる重複エントリデータを検索する構成を採るので、データベース2への重複エントリを高速にチェックできるようになる。
【0028】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【0029】
図2に、本発明のデータベース管理装置1の一実施例を図示する。図中、図1で説明したものと同じものについては同一の記号で示してある。
【0030】
2aはDNAリリースデータベースであって、DNAデータを管理して定期的にリリースされるもの、3aはDNAアップデートデータベースであって、DNAリリースデータベース2aの発行以後に登録されたDNAデータを格納するものである。
【0031】
本発明のデータベース管理装置1は、DNAリリースデータベース2aに対して、DNAアップデートデータベース3aに格納されるDNAデータを登録する処理を行うものであって、テーブル作成プログラム100と、テーブル作成プログラム100により作成される文字一覧テーブル11及びハッシュテーブル12と、重複エントリ検索プログラム200と、重複エントリ検索プログラム200により作成される削除リスト300と、エントリデータ登録プログラム400とを備える。
【0032】
ここで、テーブル作成プログラム100や重複エントリ検索プログラム200やエントリデータ登録プログラム400は、フロッピィディスクや回線などを介してインストールされることになる。
【0033】
以下、説明の便宜上、DNAデータの持つアクセッション番号は、「アルファベット2文字+数字6桁」という8桁のみが用いられることを想定する。
【0034】
この図2に示すように、文字一覧テーブル11は、例えば、第1の文字一覧テーブル110と第2の文字一覧テーブル111と第3の文字一覧テーブル112とで構成され、ハッシュテーブル12は、例えば、第1のハッシュテーブル120と第2のハッシュテーブル121と第3のハッシュテーブル122とで構成されている。
【0035】
図3に、文字一覧テーブル11の一実施例、図4に、ハッシュテーブル12の一実施例を図示する。
【0036】
図3に示すように、第1の文字一覧テーブル110は、DNAアップデートデータベース3aに格納されるDNAデータの持つアクセッション番号を管理対象として、それらのアクセッション番号の持つ先頭文字の一覧を管理する。そして、第2の文字一覧テーブル111は、それらのアクセッション番号を管理対象として、それらのアクセッション番号の持つ先頭2文字の一覧を管理する。そして、第3の文字一覧テーブル112は、それらのアクセッション番号を管理対象として、それらのアクセッション番号の持つ先頭3文字の一覧を管理する。
【0037】
例えば、DNAアップデートデータベース3aに格納されるDNAデータの持つアクセッション番号がA、C、D、Wという4種類の先頭文字を持つときには、第1の文字一覧テーブル110は、このA、C、D、Wという4つの文字を管理するのである。
【0038】
一方、図4に示すように、第1のハッシュテーブル120は、アクセッション番号の持つ数字部上3桁の取りうる数字列(000〜999)と、その数字列を持つアクセッション番号が存在するのか否かを示すフラグとの対データで構成されるテーブル構造を有して、DNAアップデートデータベース3aに格納されるDNAデータの持つアクセッション番号を管理対象として、それらのアクセッション番号の持つ数字部上3桁の数字列に対となるフラグを“1”にすることで、それらのアクセッション番号の持つ数字部上3桁の数字列を管理する。
【0039】
そして、第2のハッシュテーブル121は、アクセッション番号の持つ数字部中3桁の取りうる数字列(000〜999)と、その数字列を持つアクセッション番号が存在するのか否かを示すフラグとの対データで構成されるテーブル構造を有して、DNAアップデートデータベース3aに格納されるDNAデータの持つアクセッション番号を管理対象として、それらのアクセッション番号の持つ数字部中3桁の数字列に対となるフラグを“1”にすることで、それらのアクセッション番号の持つ数字部中3桁の数字列を管理する。
【0040】
そして、第3のハッシュテーブル122は、アクセッション番号の持つ数字部下3桁の取りうる数字列(000〜999)と、その数字列を持つアクセッション番号が存在するのか否かを示すフラグとの対データで構成されるテーブル構造を有して、DNAアップデートデータベース3aに格納されるDNAデータの持つアクセッション番号を管理対象として、それらのアクセッション番号の持つ数字部下3桁の数字列に対となるフラグを“1”にすることで、それらのアクセッション番号の持つ数字部下3桁の数字列を管理する。
【0041】
例えば、DNAアップデートデータベース3aに格納されるDNAデータの持つアクセッション番号が数字部上3桁に、“111”と“123”と“222”という3種類の数字列を持つときには、第1のハッシュテーブル120は、“111”の数字列に対となるフラグを“1”にし、“123”の数字列に対となるフラグを“1”にし、“222”の数字列に対となるフラグを“1”にすることで、それらのアクセッション番号の持つ数字部上3桁の数字列を管理するのである。
【0042】
図5及び図6に、テーブル作成プログラム100の実行する処理フローの一実施例、図7及び図8に、重複エントリ検索プログラム200の実行する処理フローの一実施例を図示する。次に、これらの処理フローに従って、このように構成される本発明のデータベース管理装置1の処理について詳細に説明する。
【0043】
テーブル作成プログラム100は、DNAアップデートデータベース3aに格納されるDNAデータのDNAリリースデータベース2aへの登録要求が発行されると、図5及び図6の処理フローに示すように、先ず最初に、ステップ1で、変数iに初期値“1”をセットする。
【0044】
続いて、ステップ2で、DNAアップデートデータベース3aに格納されるi番目のDNAデータの持つアクセッション番号を読み込む。続いて、ステップ3で、その読み込んだアクセッション番号の先頭文字を抽出する。続いて、ステップ4で、その抽出した先頭文字が既に第1の文字一覧テーブル110に記録されているのか否かを判断して、未だ記録されていないことを判断するときには、ステップ5に進んで、その抽出した先頭文字を第1の文字一覧テーブル110に記録し、既に記録されていることを判断するときには、このステップ5の処理を省略する。
【0045】
続いて、ステップ6で、ステップ2で読み込んだアクセッション番号の先頭2文字を抽出する。続いて、ステップ7で、その抽出した先頭2文字が既に第2の文字一覧テーブル111に記録されているのか否かを判断して、未だ記録されていないことを判断するときには、ステップ8に進んで、その抽出した先頭2文字を第2の文字一覧テーブル111に記録し、既に記録されていることを判断するときには、このステップ8の処理を省略する。
【0046】
続いて、ステップ9で、ステップ2で読み込んだアクセッション番号の先頭3文字を抽出する。続いて、ステップ10で、その抽出した先頭3文字が既に第3の文字一覧テーブル112に記録されているのか否かを判断して、未だ記録されていないことを判断するときには、ステップ11に進んで、その抽出した先頭3文字を第3の文字一覧テーブル112に記録し、既に記録されていることを判断するときには、このステップ11の処理を省略する。
【0047】
続いて、ステップ12(図6の処理フロー)で、ステップ2で読み込んだアクセッション番号の数字部上3桁を抽出する。続いて、ステップ13で、その抽出した数字列の指す第1のハッシュテーブル120のフラグが既に“1”となっているのか否かを判断して、未だ“1”となっていないことを判断するときには、ステップ14に進んで、そのフラグを“1”とすることで、その抽出した数字列を第1のハッシュテーブル120に記録し、既に“1”となっているときは、このステップ14の処理を省略する。
【0048】
続いて、ステップ15で、ステップ2で読み込んだアクセッション番号の数字部中3桁を抽出する。続いて、ステップ16で、その抽出した数字列の指す第2のハッシュテーブル121のフラグが既に“1”となっているのか否かを判断して、未だ“1”となっていないことを判断するときには、ステップ17に進んで、そのフラグを“1”とすることで、その抽出した数字列を第2のハッシュテーブル121に記録し、既に“1”となっているときは、このステップ17の処理を省略する。
【0049】
続いて、ステップ18で、ステップ2で読み込んだアクセッション番号の数字部下3桁を抽出する。続いて、ステップ19で、その抽出した数字列の指す第3のハッシュテーブル122のフラグが既に“1”となっているのか否かを判断して、未だ“1”となっていないことを判断するときには、ステップ20に進んで、そのフラグを“1”とすることで、その抽出した数字列を第3のハッシュテーブル122に記録し、既に“1”となっているときは、このステップ20の処理を省略する。
【0050】
続いて、ステップ21で、変数iの値を1つインクリメントし、続くステップ22で、変数iの値がDNAアップデートデータベース3aに格納されるDNAデータのデータ数を超えたのか否かを判断して、超えていないことを判断するときには、ステップ2に戻り、超えたことを判断するときには、全ての処理を終了する。
【0051】
このようにして、テーブル作成プログラム100は、DNAアップデートデータベース3aに格納されるDNAデータのDNAリリースデータベース2aへの登録要求が発行されると、DNAアップデートデータベース3aに格納されるDNAデータの持つアクセッション番号から、第1の文字一覧テーブル110/第2の文字一覧テーブル111/第3の文字一覧テーブル112/第1のハッシュテーブル120/第2のハッシュテーブル121/第3のハッシュテーブル122を作成するように処理するのである。
【0052】
重複エントリ検索プログラム200は、テーブル作成プログラム100が処理が終了することで起動されると、図7及び図8の処理フローに示すように、先ず最初に、ステップ1で、変数iに初期値“1”をセットする。
【0053】
続いて、ステップ2で、DNAリリースデータベース2aに格納されるi番目のDNAデータの持つアクセッション番号を読み込む。続いて、ステップ3で、その読み込んだアクセッション番号の先頭文字を抽出する。続いて、ステップ4で、その抽出した先頭文字が第1の文字一覧テーブル110に記録されているのか否かを判断して、記録されていないことを判断するときには、DNAアップデートデータベース3aにはその読み込んだアクセッション番号を持つDNAデータが存在しないことを判断して、後述するステップ18(図8の処理フロー)に進む。
【0054】
一方、ステップ4で、ステップ3で抽出した先頭文字が第1の文字一覧テーブル110に記録されていることを判断するときには、ステップ5に進んで、ステップ2で読み込んだアクセッション番号の先頭2文字を抽出する。続いて、ステップ6で、その抽出した先頭2文字が第2の文字一覧テーブル111に記録されているのか否かを判断して、記録されていないことを判断するときには、DNAアップデートデータベース3aにはその読み込んだアクセッション番号を持つDNAデータが存在しないことを判断して、後述するステップ18(図8の処理フロー)に進む。
【0055】
一方、ステップ6で、ステップ5で抽出した先頭2文字が第2の文字一覧テーブル111に記録されていることを判断するときには、ステップ7に進んで、ステップ2で読み込んだアクセッション番号の先頭3文字を抽出する。続いて、ステップ8で、その抽出した先頭3文字が第3の文字一覧テーブル112に記録されているのか否かを判断して、記録されていないことを判断するときには、DNAアップデートデータベース3aにはその読み込んだアクセッション番号を持つDNAデータが存在しないことを判断して、後述するステップ18(図8の処理フロー)に進む。
【0056】
一方、ステップ8で、ステップ7で抽出した先頭3文字が第3の文字一覧テーブル112に記録されていることを判断するときには、ステップ9に進んで、ステップ2で読み込んだアクセッション番号の数字部上3桁の数字列を抽出する。続いて、ステップ10で、その抽出した数字列の指す第1のハッシュテーブル120のフラグが“1”であるのか否かを判断して、“0”であることを判断するときには、DNAアップデートデータベース3aにはその読み込んだアクセッション番号を持つDNAデータが存在しないことを判断して、後述するステップ18(図8の処理フロー)に進む。
【0057】
一方、ステップ10で、ステップ9で抽出した数字列の指す第1のハッシュテーブル120のフラグが“1”であることを判断するときには、ステップ11に進んで、ステップ2で読み込んだアクセッション番号の数字部中3桁の数字列を抽出する。続いて、ステップ12(図8の処理フロー)で、その抽出した数字列の指す第2のハッシュテーブル121のフラグが“1”であるのか否かを判断して、“0”であることを判断するときには、DNAアップデートデータベース3aにはその読み込んだアクセッション番号を持つDNAデータが存在しないことを判断して、後述するステップ18に進む。
【0058】
一方、ステップ12で、ステップ11で抽出した数字列の指す第2のハッシュテーブル121のフラグが“1”であることを判断するときには、ステップ13に進んで、ステップ2で読み込んだアクセッション番号の数字部下3桁の数字列を抽出する。続いて、ステップ14で、その抽出した数字列の指す第3のハッシュテーブル122のフラグが“1”であるのか否かを判断して、“0”であることを判断するときには、DNAアップデートデータベース3aにはその読み込んだアクセッション番号を持つDNAデータが存在しないことを判断して、後述するステップ18に進む。
【0059】
一方、ステップ14で、ステップ13で抽出した数字列の指す第3のハッシュテーブル122のフラグが“1”であることを判断するときには、DNAアップデートデータベース3aにステップ2で読み込んだアクセッション番号を持つDNAデータが存在する可能性のあることを判断して、ステップ15に進んで、その読み込んだアクセッション番号を持つDNAデータがDNAアップデートデータベース3aに格納されているかのを検索する。
【0060】
続いて、ステップ16で、ステップ15の検索結果に従って、DNAアップデートデータベース3aにステップ2で読み込んだアクセッション番号を持つDNAデータが存在するのか否かを判断して、存在することを判断するとき、すなわち、ステップ2で読み込んだアクセッション番号を持つDNAデータが更新されることになるときには、ステップ17に進んで、削除リスト300に対して、そのアクセッション番号を記録し、存在しないことを判断するときには、このステップ17の処理を省略する。
【0061】
続いて、ステップ18で、変数iの値を1つインクリメントし、続くステップ19で、変数iの値がDNAリリースデータベース2aに格納されるDNAデータのデータ数を超えたのか否かを判断して、超えていないことを判断するときには、ステップ2に戻り、超えたことを判断するときには、全ての処理を終了する。
【0062】
このようにして、重複エントリ検索プログラム200は、テーブル作成プログラム100が処理が終了すると、テーブル作成プログラム100の作成した文字一覧テーブル11及びハッシュテーブル12を使って、DNAリリースデータベース2aに格納されるDNAデータが更新される可能性があるのか否かを判断して、更新される可能性がある場合には、DNAアップデートデータベース3aを検索することで、実際に更新されるのか否かを判断していくことで、更新されるDNAデータの持つアクセッション番号を削除リスト300に記録していくように処理するのである。
【0063】
重複エントリ検索プログラム200の処理に従って削除リスト300が作成されると、エントリデータ登録プログラム400は、DNAリリースデータベース2aから削除リスト300に記録されるアクセッション番号を持つDNAデータを削除しつつ、DNAアップデートデータベース3aに格納されるDNAデータをDNAリリースデータベース2aに登録していくように処理する。
【0064】
図示実施例に従って本発明を説明したが、本発明はこれに限定されるものではない。例えば、実施例では、DNAデータベースへの適用に従って本発明を説明したが、本発明はDNAデータベースへの適用に限られるものではない。
【0065】
【発明の効果】
以上説明したように、本発明では、登録IDを持つエントリデータを管理するデータベースに対して複数のエントリデータを登録するときに、登録対象のエントリデータの持つ登録IDから、データベースに登録されている可能性のある登録IDであるのか否かの判断に用いる文字列情報について記録するテーブルを作成することで、データベースに登録されている可能性のある登録IDであるのか否かの判断に用いる文字列情報を作成し、それを使って、データベースに管理されるエントリデータの持つ登録IDの中から、登録対象のエントリデータの持つ登録IDである可能性があるものを抽出して、その抽出した登録IDと登録対象のエントリデータの持つ登録IDとを比較することで、登録対象のエントリデータに含まれる重複エントリデータを検索する構成を採るので、データベースへの重複エントリを高速にチェックできるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例である。
【図3】文字一覧テーブルの一実施例である。
【図4】ハッシュテーブルの一実施例である。
【図5】テーブル作成プログラムの処理フローである。
【図6】テーブル作成プログラムの処理フローである。
【図7】重複エントリ検索プログラムの処理フローである。
【図8】重複エントリ検索プログラムの処理フローである。
【図9】DNAデータベースの説明図である。
【符号の説明】
1 データベース管理装置
2 データベース
3 登録用データベース
10 作成手段
11 文字一覧テーブル
12 ハッシュテーブル
13 判断手段
14 検索手段
[0001]
BACKGROUND OF THE INVENTION
The present invention Has an ID with a registration ID. Entry data The tube For the database T A database management device that performs processing for checking duplicate entries in the database when registering the registry data, and a program used to implement the device Record In particular, there is a database management device that enables high-speed checking of duplicate entries, and a program used to implement the device. Record And a program recording medium.
[0002]
[Prior art]
The body of a gene is a substance called DNA. DNA is composed of four types of bases connected in a row. This sequence of bases is called a base sequence. Proteins are the main substances that make up the body of organisms and perform various functions in vivo, such as enzymes. The sequence of 20 amino acids that make up this protein is the base sequence of the gene. Is determined by. In practice, a set of three consecutive bases corresponds to one amino acid.
[0003]
A gene sequence represented as a DNA base sequence or a protein amino acid sequence can be described by a character string with each base or each amino acid as one character. For example, four types of bases are represented by A, T, G, and C by taking the initial letter of the name.
[0004]
Gene sequences expressed in character strings are accumulated in a DNA database. The nucleotide sequences of genes clarified so far are registered in the DDBJ / EMBL / GenBank international nucleotide sequence database constructed jointly by Japan, Europe and the United States.
[0005]
FIG. 9 illustrates the internal structure of this DNA database. The DNA data registered in this DNA database is given a unique accession number (U75865 in the figure), and in addition to the base sequence information of the gene, it is created from the name of the organism having the gene and the gene. Related information such as the name of the protein is described. Similarly, an amino acid sequence database such as PIR / SWISS-PROT is also constructed for proteins.
[0006]
Up to now, the above accession number has been composed of 6 digits of "1 alphabet letter + 5 digits", but the amount of DNA data registered in the DNA database becomes large. Recently, an 8-digit code “2 alphabet letters + 6 digits” has been used.
[0007]
The DNA database is composed of a release database that is periodically released and a daily update database that stores DNA data registered after the release database is issued. In the daily update database, DNA data is registered every day, and the DNA data in the daily update database is added to the release database and released every several months.
[0008]
In addition to new DNA data, DNA data registered in the daily update database includes DNA data obtained by correcting or changing DNA data already registered in the release database. As a result, DNA data having the same accession number exists in the daily update database and the release database. Further, when the same DNA data is continuously corrected or changed, a plurality of DNA data having the same accession number exist in the daily update database.
[0009]
The DNA database issuer (DDBJ / EMBL / GenBank) does not necessarily assign consecutive accession numbers to new DNA data. It is not possible to determine whether the number is DNA data (accession number) already registered in the release database.
[0010]
For biology research, data retrieval by accession number is generally performed, but if there are multiple DNA data with the same accession number, correct results cannot be obtained by data retrieval, When adding DNA data registered in the daily update database to the release database, it is necessary to make it non-redundant.
[0011]
Conventionally, first, all DNA data is first divided into entries (accession numbers), the file is developed on the disk with the accession number as the file name, and the new DNA data and the updated DNA data are stored in the same area. The same method was used to expand the file to achieve this non-redundant conversion.
[0012]
If duplicate entries exist according to this method, there will be multiple files with the same name, and non-redundantization will be realized by overwriting old files with new files. Then, by merging the expanded files again, a completely non-redundant DNA database is completed.
[0013]
[Problems to be solved by the invention]
Recently, DNA data registered in the DNA database has been increasing at a rate of 1.5 to 2 times per year, and is expected to increase further in the future.
[0014]
From now on, if non-redundant conversion is executed according to the conventional technology, it will be difficult to complete the non-redundant conversion process within 24 hours because it takes a lot of time to divide the entries and combine the files. It has become.
[0015]
This problem is not limited to the DNA database, and a large amount of entry data is registered in a database that manages entry data randomly regardless of the registration ID. U The same happens when the processing configuration is adopted.
[0016]
The present invention has been made in view of such circumstances. E with registration ID Entry data The tube For the database T Providing a new database management device that enables high-speed checking of duplicate entries in the database when registering entry data, and a program used to implement the device. Record It is an object of the present invention to provide a new program recording medium.
[0017]
[Means for Solving the Problems]
In order to achieve this object, the database management apparatus of the present invention performs a process of checking duplicate entries in a database when registering entry data in a database that manages entry data having a registration ID. (1) Whether or not it is a registration ID that may be registered in the database by extracting character string information at a specified position that constitutes the registration ID from the registration ID of the entry data to be registered Creating means for creating the character string information used for the determination of (2) reading the registration IDs of the entry data from the database one by one, and creating the character string information and the creating means for the above-mentioned prescribed positions constituting the registration ID By determining whether or not the character string information matches, the registration ID of the entry data to be registered is the registration ID. The first determination means for determining whether or not there is a possibility, (3) the registration ID that the first determination means determines to be possible matches the registration ID of the entry data to be registered By determining whether or not the entry data to be registered is duplicate entry data.
When adopting this configuration, when there are a plurality of entry data to be registered, the creating means uses those as character string information used for determining whether or not the registration ID may be registered in the database. Character string information of the above-mentioned specified position constituting the registration ID of the entry data to be registered Information and a list of the extracted string information. In this case, the first determination means includes the character string information of the specified position constituting the registration ID read from the database in the table. Record By determining whether or not the registration ID is registered, it is determined whether or not the registration ID may be a registration ID of the entry data to be registered.
Further, when adopting this configuration, when there are a plurality of entry data to be registered, the creation means uses character string information used for determining whether or not the registration ID may be registered in the database. Then, the character string information of the above-mentioned specified position constituting the registration ID of the entry data to be registered is extracted, and the upper One possible character string information at the specified position About viewing It has a table structure to record And above Specified position Statement Presence / absence information of character string information Information indicating the presence of the extracted character string information is recorded in a table for recording information, so that the text is recorded. In this case, the first determination means determines that the character string information of the specified position constituting the registration ID read from the database exists in the table. Record By determining whether or not the registration ID is registered, it is determined whether or not the registration ID may be a registration ID of the entry data to be registered.
Here, the function of the database management apparatus of the present invention is specifically realized by a program, and this program is stored in a floppy disk or the like, or stored in a disk or the like of a server and the like. The present invention is realized by being installed in the database management apparatus of the invention and operating on the memory.
Next, the present invention will be described in more detail with reference to the principle configuration diagram shown in FIG.
Here, in the principle configuration diagram shown in FIG. 1, it is assumed that there are a plurality of entry data to be registered.
[0018]
In the figure, 1 is a database management apparatus comprising the present invention, 2 is a database, which randomly manages entry data regardless of registration ID, 3 is a registration database, and is registered in the database 2 Entry data is stored.
[0019]
The database management apparatus 1 according to the present invention performs processing for checking duplicate entries in the database 2 when registering a large amount of entry data stored in the registration database 3 with respect to the database 2. In order to realize the function, a creation unit 10, a character list table 11, a hash table 12, a determination unit 13, and a search unit 14 are provided.
[0020]
The creation means 10 creates a character list table 11 and a hash table 12 used for searching whether or not the registration ID is likely to be registered in the database 2 from the registration ID of the entry data to be registered. .
[0021]
The character list table 11 is created by the creating unit 10 and manages a list of characters located at the specified position of the registration ID of the entry data to be registered. The hash table 12 is created by the creation unit 10 and is recorded at the specified position of the registration ID of the entry data to be registered by recording the presence / absence of characters in a list of characters that can be taken at the specified position of the registration ID. Manage the list of characters to be used.
[0022]
The judging means 13 reads out the registration IDs of the entry data one by one from the database 2, and whether or not the read registration IDs may be the registration IDs of the entry data stored in the registration database 3. Determine whether. The search means 14 searches for duplicate entry data included in entry data to be registered.
[0023]
Here, the functions of the database management apparatus 1 of the present invention are specifically realized by a program, and this program is stored in a floppy disk or the like, or stored in a disk or the like of a server, and from these The present invention is realized by being installed in the database management apparatus 1 and operating on the memory.
[0024]
In the database management apparatus 1 of the present invention configured as described above, when a request for registering entry data stored in the registration database 3 in the database 2 is issued, the creating means 10 has the entry data to be registered. The character list table 11 and the hash table 12 are created from the registration ID.
[0025]
In response to the creation processing of the creation means 10, the judgment means 13 reads the registration IDs of the entry data one by one from the database 2, and uses the created character list table 11 and hash table 12 to read the registered information. It is determined whether or not there is a possibility that the ID is a registration ID of entry data stored in the registration database 3.
[0026]
In response to the determination process of the determination unit 13, the search unit 14 stores the registration ID determined by the determination unit 13 and the registration database 3. each By comparing with the registration ID of the entry data, duplicate entry data stored in the registration database 3 is searched.
[0027]
This As described above, in the database management apparatus 1 of the present invention, the database 2 that manages the entry data having the registration ID is used. plural When registering entry data To, climb Character string information used for determining whether or not the registration ID may be registered in the database 2 by creating the character list table 11 or the hash table 12 from the registration ID of the entry data to be recorded. Is used to extract from the registration IDs of the entry data managed in the database 2 those that may be the registration IDs of the entry data to be registered, and the extracted registration By comparing the ID and the registration ID of the entry data to be registered, the configuration is such that duplicate entry data included in the entry data to be registered is searched, so that duplicate entries in the database 2 can be checked at high speed. Become.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail according to embodiments.
[0029]
FIG. 2 shows an embodiment of the database management apparatus 1 of the present invention. In the figure, the same components as those described in FIG. 1 are indicated by the same symbols.
[0030]
2a is a DNA release database, which is regularly released by managing DNA data, 3a is a DNA update database, which stores DNA data registered after the issuance of the DNA release database 2a. is there.
[0031]
The database management apparatus 1 according to the present invention performs processing for registering DNA data stored in the DNA update database 3a with respect to the DNA release database 2a, and is created by the table creation program 100 and the table creation program 100. A character list table 11 and a hash table 12, a duplicate entry search program 200, a deletion list 300 created by the duplicate entry search program 200, and an entry data registration program 400.
[0032]
Here, the table creation program 100, the duplicate entry search program 200, and the entry data registration program 400 are installed via a floppy disk, a line, or the like.
[0033]
Hereinafter, for convenience of explanation, it is assumed that only 8 digits of “2 alphabet letters + 6 digits” are used as the accession number of DNA data.
[0034]
As shown in FIG. 2, the character list table 11 includes, for example, a first character list table 110, a second character list table 111, and a third character list table 112. The hash table 12 includes, for example, The first hash table 120, the second hash table 121, and the third hash table 122 are configured.
[0035]
FIG. 3 shows an embodiment of the character list table 11, and FIG. 4 shows an embodiment of the hash table 12.
[0036]
As shown in FIG. 3, the first character list table 110 manages accession numbers of DNA data stored in the DNA update database 3a as management targets, and manages a list of leading characters of those accession numbers. . Then, the second character list table 111 manages the list of the first two characters of those accession numbers with those accession numbers as management targets. The third character list table 112 manages a list of the first three characters of the accession numbers with the accession numbers as management targets.
[0037]
For example, when the accession number of the DNA data stored in the DNA update database 3a has four types of leading characters A, C, D, and W, the first character list table 110 stores the A, C, D , W are managed.
[0038]
On the other hand, as shown in FIG. 4, the first hash table 120 includes a numeric string (000 to 999) that can take three digits in the numeric part of the accession number and an accession number having the numeric string. A table structure composed of pair data with a flag indicating whether or not the data is stored, and the accession numbers of the DNA data stored in the DNA update database 3a are managed, and the numerical part of the accession numbers By setting the flag paired with the upper 3 digit number string to “1”, the upper 3 digit number sequence of the accession number is managed.
[0039]
The second hash table 121 includes a numeric string (000 to 999) that can take three digits in the numeric part of the accession number, and a flag indicating whether or not an accession number having the numeric string exists. The accession number of the DNA data stored in the DNA update database 3a is a management target, and is stored in a three-digit number string in the number part of the accession number. By setting the paired flag to “1”, a 3-digit number string in the number part of those accession numbers is managed.
[0040]
The third hash table 122 includes a number string (000 to 999) that can be taken by the last three digits of the accession number and a flag indicating whether or not an accession number having the number string exists. The accession number of the DNA data stored in the DNA update database 3a has a table structure composed of paired data, and the number of the lower three digits of the accession number is paired with the accession number. By setting the flag to “1”, the number string of the last three digits of the accession number is managed.
[0041]
For example, when the accession number of DNA data stored in the DNA update database 3a has three types of numeric strings “111”, “123”, and “222” in the first three digits of the numeric part, the first hash The table 120 sets the flag paired with the number string “111” to “1”, the flag paired with the number string “123” “1”, and the flag paired with the number string “222”. By setting it to “1”, the numeric string of the upper three digits of the accession number is managed.
[0042]
5 and 6 show an embodiment of the processing flow executed by the table creation program 100, and FIGS. 7 and 8 show an embodiment of the processing flow executed by the duplicate entry search program 200. FIG. Next, according to these processing flows, the processing of the database management apparatus 1 of the present invention configured as described above will be described in detail.
[0043]
When the registration request of the DNA data stored in the DNA update database 3a to the DNA release database 2a is issued, the table creation program 100 first starts with step 1 as shown in the processing flow of FIGS. Then, the initial value “1” is set to the variable i.
[0044]
Subsequently, in step 2, the accession number of the i-th DNA data stored in the DNA update database 3a is read. Subsequently, in step 3, the first character of the read accession number is extracted. Subsequently, in step 4, when it is determined whether or not the extracted first character has already been recorded in the first character list table 110, and when it is determined that it has not been recorded yet, the process proceeds to step 5. When the extracted first character is recorded in the first character list table 110 and it is determined that it has already been recorded, the process of step 5 is omitted.
[0045]
Subsequently, in step 6, the first two characters of the accession number read in step 2 are extracted. Subsequently, in step 7, it is determined whether or not the extracted first two characters are already recorded in the second character list table 111, and when it is determined that they are not yet recorded, the process proceeds to step 8. Thus, when the extracted first two characters are recorded in the second character list table 111 and it is determined that they are already recorded, the processing of step 8 is omitted.
[0046]
Subsequently, in step 9, the first three characters of the accession number read in step 2 are extracted. Subsequently, in step 10, it is determined whether or not the extracted first three characters are already recorded in the third character list table 112, and when it is determined that they are not yet recorded, the process proceeds to step 11. Thus, when the extracted first three characters are recorded in the third character list table 112 and it is determined that they are already recorded, the processing of step 11 is omitted.
[0047]
Subsequently, in step 12 (processing flow in FIG. 6), the upper three digits of the accession number read in step 2 are extracted. Subsequently, in step 13, it is determined whether or not the flag of the first hash table 120 indicated by the extracted number string is already “1”, and it is determined that it is not yet “1”. When the process proceeds to step 14, the flag is set to “1” so that the extracted numeric string is recorded in the first hash table 120. If it is already “1”, this step 14 The process of is omitted.
[0048]
Subsequently, in step 15, three digits in the numeric part of the accession number read in step 2 are extracted. Subsequently, in step 16, it is determined whether or not the flag of the second hash table 121 pointed to by the extracted number string is already “1”, and it is determined that it is not yet “1”. When the process proceeds to step 17, the flag is set to “1” so that the extracted numeric string is recorded in the second hash table 121. The process of is omitted.
[0049]
Subsequently, in step 18, the last three digits of the numeric part of the accession number read in step 2 are extracted. Subsequently, in step 19, it is determined whether or not the flag of the third hash table 122 indicated by the extracted number string is already “1”, and it is determined that it is not yet “1”. When proceeding to step 20, the flag is set to “1” so that the extracted number string is recorded in the third hash table 122, and when it is already “1”, this step 20 The process of is omitted.
[0050]
Subsequently, in step 21, the value of the variable i is incremented by one. In the following step 22, it is determined whether or not the value of the variable i exceeds the number of DNA data stored in the DNA update database 3a. When it is determined that it has not been exceeded, the process returns to step 2, and when it is determined that it has been exceeded, all processing is terminated.
[0051]
In this way, when the registration request for the DNA data stored in the DNA update database 3a is issued to the DNA release database 2a, the table creation program 100 accesses the accession of the DNA data stored in the DNA update database 3a. From the numbers, the first character list table 110 / second character list table 111 / third character list table 112 / first hash table 120 / second hash table 121 / third hash table 122 are created. It is processed like this.
[0052]
When the table creation program 100 is started when the process is completed, the duplicate entry search program 200 is first set to the initial value “1” in the variable i in step 1 as shown in the processing flow of FIGS. 1 ”is set.
[0053]
Subsequently, in step 2, the accession number of the i-th DNA data stored in the DNA release database 2a is read. Subsequently, in step 3, the first character of the read accession number is extracted. Subsequently, in Step 4, when it is determined whether or not the extracted first character is recorded in the first character list table 110, and it is determined that it is not recorded, the DNA update database 3a stores the When it is determined that there is no DNA data having the read accession number, the process proceeds to step 18 (processing flow in FIG. 8) described later.
[0054]
On the other hand, when it is determined in step 4 that the first character extracted in step 3 is recorded in the first character list table 110, the process proceeds to step 5 and the first two characters of the accession number read in step 2 To extract. Subsequently, in Step 6, when it is determined whether or not the extracted first two characters are recorded in the second character list table 111, and it is determined that they are not recorded, the DNA update database 3a includes When it is determined that there is no DNA data having the read accession number, the process proceeds to step 18 (processing flow in FIG. 8) described later.
[0055]
On the other hand, when it is determined in step 6 that the first two characters extracted in step 5 are recorded in the second character list table 111, the process proceeds to step 7 where the first 3 characters of the accession number read in step 2 are read. Extract characters. Subsequently, in Step 8, when it is determined whether or not the extracted first three characters are recorded in the third character list table 112, and it is determined that they are not recorded, the DNA update database 3a includes When it is determined that there is no DNA data having the read accession number, the process proceeds to step 18 (processing flow in FIG. 8) described later.
[0056]
On the other hand, when it is determined in step 8 that the first three characters extracted in step 7 are recorded in the third character list table 112, the process proceeds to step 9 where the numeric part of the accession number read in step 2 Extract the first three digits. Subsequently, in Step 10, when it is determined whether or not the flag of the first hash table 120 indicated by the extracted number string is “1”, and when it is determined that it is “0”, the DNA update database It is determined that there is no DNA data having the read accession number in 3a, and the process proceeds to step 18 (processing flow in FIG. 8) described later.
[0057]
On the other hand, when it is determined in step 10 that the flag of the first hash table 120 pointed to by the number string extracted in step 9 is “1”, the process proceeds to step 11 where the accession number read in step 2 is stored. Extract a 3-digit number string in the number part. Subsequently, in step 12 (processing flow of FIG. 8), it is determined whether or not the flag of the second hash table 121 pointed to by the extracted number string is “1”. When making the determination, it is determined that there is no DNA data having the read accession number in the DNA update database 3a, and the process proceeds to step 18 described later.
[0058]
On the other hand, when it is determined in step 12 that the flag of the second hash table 121 indicated by the number string extracted in step 11 is “1”, the process proceeds to step 13 where the accession number read in step 2 is stored. Extract the numeric string of the last 3 digits of the number part. Subsequently, in step 14, it is determined whether or not the flag of the third hash table 122 indicated by the extracted number string is “1”, and when determining that it is “0”, the DNA update database It is determined that there is no DNA data having the read accession number in 3a, and the process proceeds to step 18 described later.
[0059]
On the other hand, when it is determined in step 14 that the flag of the third hash table 122 indicated by the number string extracted in step 13 is “1”, the DNA update database 3 a has the accession number read in step 2. When it is determined that there is a possibility that DNA data exists, the process proceeds to step 15 to search whether the DNA data having the read accession number is stored in the DNA update database 3a.
[0060]
Subsequently, when it is determined in step 16 whether there is DNA data having the accession number read in step 2 in the DNA update database 3a according to the search result in step 15, That is, when the DNA data having the accession number read in step 2 is to be updated, the process proceeds to step 17 to record the accession number in the deletion list 300 and determine that it does not exist. Sometimes, the process of step 17 is omitted.
[0061]
Subsequently, in step 18, the value of the variable i is incremented by 1. In the following step 19, it is determined whether or not the value of the variable i exceeds the number of DNA data stored in the DNA release database 2a. When it is determined that it has not been exceeded, the process returns to step 2, and when it is determined that it has been exceeded, all processing is terminated.
[0062]
In this way, the duplicate entry search program 200 uses the character list table 11 and the hash table 12 created by the table creation program 100 when the table creation program 100 finishes processing, and the DNA stored in the DNA release database 2a. It is determined whether or not the data is likely to be updated. If there is a possibility that the data is updated, the DNA update database 3a is searched to determine whether or not the data is actually updated. As a result, the accession number of the updated DNA data is recorded in the deletion list 300.
[0063]
When the deletion list 300 is created in accordance with the process of the duplicate entry search program 200, the entry data registration program 400 deletes DNA data having an accession number recorded in the deletion list 300 from the DNA release database 2a, while updating the DNA. Processing is performed so that the DNA data stored in the database 3a is registered in the DNA release database 2a.
[0064]
Although the present invention has been described with reference to the illustrated embodiments, the present invention is not limited thereto. For example, in the examples, the present invention has been described according to application to a DNA database, but the present invention is not limited to application to a DNA database.
[0065]
【The invention's effect】
As explained above, the book In the invention, for a database managing entry data having a registration ID plural When registering entry data To, climb Registered in the database by creating a table that records character string information used to determine whether the registration ID of the entry data to be recorded is a registration ID that may be registered in the database. Character string information used for determining whether or not the registration ID is likely to be registered is created, and using that information, the registration data of the entry data to be registered is registered among the registration IDs of the entry data managed in the database. By extracting what may be a registration ID and comparing the extracted registration ID with the registration ID of the entry data to be registered, duplicate entry data included in the entry data to be registered is searched. Since the configuration is adopted, duplicate entries in the database can be checked at high speed.
[Brief description of the drawings]
FIG. 1 is a principle configuration diagram of the present invention.
FIG. 2 is an example of the present invention.
FIG. 3 is an example of a character list table.
FIG. 4 is an example of a hash table.
FIG. 5 is a processing flow of a table creation program.
FIG. 6 is a processing flow of a table creation program.
FIG. 7 is a processing flow of a duplicate entry search program.
FIG. 8 is a processing flow of a duplicate entry search program.
FIG. 9 is an explanatory diagram of a DNA database.
[Explanation of symbols]
1 Database management device
2 Database
3 registration database
10 Making means
11 Character list table
12 Hash table
13 Judgment means
14 Search means

Claims (4)

登録IDを持つエントリデータを管理するデータベースに対してエントリデータを登録するときに、該データベースへの重複エントリをチェックする処理を行うデータベース管理装置であって、
登録対象のエントリデータが複数ある場合に、それらの登録対象のエントリデータの持つ登録IDを構成する規定位置の文字列情報を取り出して、それらの取り出した文字列情報の一覧について記録するテーブルを作成する作成手段と、
上記データベースからエントリデータの持つ登録IDを1つずつ読み出し、該登録IDを構成する上記規定位置の文字列情報が上記テーブルに記録されているのか否かを判断することで、該登録IDが登録対象のエントリデータの持つ登録IDである可能性があるのか否かを判断する第1の判断手段と、
上記第1の判断手段が可能性ありと判断する登録IDと、登録対象のエントリデータの持つ登録IDとが一致するのか否かを判断することで、登録対象のエントリデータが重複エントリデータであるのか否かを判断する第2の判断手段とを備えることを、
特徴とするデータベース管理装置。
A database management apparatus that performs processing for checking duplicate entries in a database when registering entry data in a database that manages entry data having a registration ID,
When the entry data to be registered there is a plurality, and eject the character string information defined position constituting the registration I D with the those registered target entry data, records for a list of those of the extracted character string information Creating means to create a table ;
Reading one registration ID with the entry data from the database, that string information of the defined position constituting the registration ID to determine whether or not recorded in the table, the registration ID A first determination means for determining whether or not there is a possibility of a registration ID of entry data to be registered;
The entry data to be registered is duplicate entry data by judging whether or not the registration ID that the first judging means judges is likely to match the registration ID of the entry data to be registered. Comprising a second judging means for judging whether or not
Feature database management device.
登録IDを持つエントリデータを管理するデータベースに対してエントリデータを登録するときに、該データベースへの重複エントリをチェックする処理を行うデータベース管理装置であって、
登録対象のエントリデータが複数ある場合に、それらの登録対象のエントリデータの持つ登録IDを構成する規定位置の文字列情報を取り出して、その規定位置に位置する文字列情報の取りうる一覧について記録するテーブル構造を有して、その規定位置に位置する文字列情報の有無情報について記録するテーブルに対して、その取り出した文字列情報の存在を示す情報を記録することで、そのテーブルを作成する作成手段と、
上記データベースからエントリデータの持つ登録IDを1つずつ読み出し、該登録IDを構成する上記規定位置の文字列情報が上記テーブルに存在有りとして記録されているのか否かを判断することで、該登録IDが登録対象のエントリデータの持つ登録IDである可能性があるのか否かを判断する第1の判断手段と、
上記第1の判断手段が可能性ありと判断する登録IDと、登録対象のエントリデータの持つ登録IDとが一致するのか否かを判断することで、登録対象のエントリデータが重複エントリデータであるのか否かを判断する第2の判断手段とを備えることを、
特徴とするデータベース管理装置。
A database management apparatus that performs processing for checking duplicate entries in a database when registering entry data in a database that manages entry data having a registration ID,
When the entry data to be registered there is a plurality, and eject the character string information defined position constituting the registration I D with the those registered target entry data, it can take a string information located in its predetermined position By recording information indicating the presence of the extracted character string information in a table having a table structure for recording the list and recording the presence / absence information of the character string information located at the specified position, the table and creation means for creating,
Reading one registration ID with the entry data from the database, that string information of the defined position constituting the registration ID to determine whether or not recorded as there exist in the table, First determination means for determining whether or not there is a possibility that the registration ID is a registration ID of entry data to be registered;
The entry data to be registered is duplicate entry data by judging whether or not the registration ID that the first judging means judges is likely to match the registration ID of the entry data to be registered. Comprising a second judging means for judging whether or not
Feature database management device.
登録IDを持つエントリデータを管理するデータベースに対してエントリデータを登録するときに、該データベースへの重複エントリをチェックする処理を行うデータベース管理装置の実現に用いられるプログラムが記録されるプログラム記録媒体であって、
登録対象のエントリデータが複数ある場合に、それらの登録対象のエントリデータの持つ登録IDを構成する規定位置の文字列情報を取り出して、それらの取り出した文字列情報の一覧について記録するテーブルを作成する作成処理と、
上記データベースからエントリデータの持つ登録IDを1つずつ読み出し、該登録IDを構成する上記規定位置の文字列情報が上記テーブルに記録されているのか否かを判断することで、該登録IDが登録対象のエントリデータの持つ登録IDである可能性があるのか否かを判断する第1の判断処理と、
上記第1の判断処理で可能性ありと判断する登録IDと、登録対象のエントリデータの持つ登録IDとが一致するのか否かを判断することで、登録対象のエントリデータが重複エントリデータであるのか否かを判断する第2の判断処理とをコンピュータに実行させるためのプログラムが記録されることを、
特徴とするプログラム記録媒体。
A program recording medium for recording a program used to realize a database management apparatus that performs processing for checking duplicate entries in a database when registering entry data in a database that manages entry data having a registration ID. There,
When the entry data to be registered there is a plurality, and eject the character string information defined position constituting the registration I D with the those registered target entry data, records for a list of those of the extracted character string information Creation process to create a table ,
Reading one registration ID with the entry data from the database, that string information of the defined position constituting the registration ID to determine whether or not recorded in the table, the registration ID A first determination process for determining whether or not there is a possibility of a registration ID of entry data to be registered;
The registration target entry data is duplicate entry data by determining whether or not the registration ID that is determined to be possible in the first determination processing matches the registration ID of the registration target entry data. A program for causing the computer to execute the second determination process for determining whether or not
A program recording medium.
登録IDを持つエントリデータを管理するデータベースに対してエントリデータを登録するときに、該データベースへの重複エントリをチェックする処理を行うデータベース管理装置の実現に用いられるプログラムが記録されるプログラム記録媒体A program recording medium for recording a program used for realizing a database management apparatus that performs processing for checking duplicate entries in a database when registering entry data in a database that manages entry data having a registration ID であって、Because
登録対象のエントリデータが複数ある場合に、それらの登録対象のエントリデータの持つ登録IDを構成する規定位置の文字列情報を取り出して、その規定位置に位置する文字列情報の取りうる一覧について記録するテーブル構造を有して、その規定位置に位置する文字列情報の有無情報について記録するテーブルに対して、その取り出した文字列情報の存在を示す情報を記録することで、そのテーブルを作成する作成処理と、When there are a plurality of entry data to be registered, character string information at a specified position that constitutes a registration ID of the entry data to be registered is extracted, and a list of possible character string information at the specified position is recorded. The table is created by recording the information indicating the presence of the extracted character string information on the table that records the presence / absence information of the character string information located at the specified position. Creation process,
上記データベースからエントリデータの持つ登録IDを1つずつ読み出し、該登録IDを構成する上記規定位置の文字列情報が上記テーブルに存在有りとして記録されているのか否かを判断することで、該登録IDが登録対象のエントリデータの持つ登録IDである可能性があるのか否かを判断する第1の判断処理と、The registration ID of the entry data is read from the database one by one, and it is determined whether or not the character string information of the specified position constituting the registration ID is recorded as existing in the table. A first determination process for determining whether there is a possibility that the ID is a registration ID of entry data to be registered;
上記第1の判断処理で可能性ありと判断する登録IDと、登録対象のエントリデータの持つ登録IDとが一致するのか否かを判断することで、登録対象のエントリデータが重複エントリデータであるのか否かを判断する第2の判断処理とをコンピュータに実行させるためのプログラムが記録されることを、The registration target entry data is duplicate entry data by determining whether or not the registration ID that is determined to be possible in the first determination processing matches the registration ID of the registration target entry data. A program for causing the computer to execute the second determination process for determining whether or not
特徴とするプログラム記録媒体。A program recording medium.
JP36637598A 1998-12-24 1998-12-24 Database management apparatus and program recording medium Expired - Fee Related JP3847992B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36637598A JP3847992B2 (en) 1998-12-24 1998-12-24 Database management apparatus and program recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36637598A JP3847992B2 (en) 1998-12-24 1998-12-24 Database management apparatus and program recording medium

Publications (2)

Publication Number Publication Date
JP2000187604A JP2000187604A (en) 2000-07-04
JP3847992B2 true JP3847992B2 (en) 2006-11-22

Family

ID=18486633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36637598A Expired - Fee Related JP3847992B2 (en) 1998-12-24 1998-12-24 Database management apparatus and program recording medium

Country Status (1)

Country Link
JP (1) JP3847992B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1844418B1 (en) * 2005-01-24 2013-03-13 Koninklijke Philips Electronics N.V. Private and controlled ownership sharing
JP4925711B2 (en) * 2006-04-18 2012-05-09 三菱電機株式会社 Batch registration information generation apparatus, batch registration information generation method, and batch registration information generation program
JP6776937B2 (en) * 2017-02-20 2020-10-28 富士通株式会社 Information processing equipment, methods and programs

Also Published As

Publication number Publication date
JP2000187604A (en) 2000-07-04

Similar Documents

Publication Publication Date Title
JP2770855B2 (en) Digital information storage and retrieval method and apparatus
US6553317B1 (en) Relational database and system for storing information relating to biomolecular sequences and reagents
US20120310630A1 (en) Tokenization platform
EP0369052A1 (en) Data base access system
JP3871301B2 (en) Database search apparatus and program
KR101085735B1 (en) Computer-implemented method of identifying deleted rows from the base table, computer-implemented method of identifying rows inserted into the base table, identification system of deleted rows, identification system of inserted rows, and computer-readable storage media
JP4101410B2 (en) Time version data storage device
US7870110B2 (en) Method and system for generating a transaction-bound sequence of records in a relational database table
US5457794A (en) Information retrieval apparatus for searching target literature data from an information recording medium, including reuse of past retrieving results
JP3847992B2 (en) Database management apparatus and program recording medium
JPS63116232A (en) Method of memorizing and retrieving data using computer
JP2000357115A (en) Device and method for file retrieval
JP4040764B2 (en) Gene motif extraction processing apparatus, gene motif extraction processing method, and recording medium storing gene motif extraction processing program
JP2004303201A (en) Genomic profiling of regulatory factor binding site
CN112863607A (en) Large-scale gene data-oriented same identification system and optimization processing method
EP1116137B1 (en) Database, and methods of data storage and retrieval
Reneker et al. Refined repetitive sequence searches utilizing a fast hash function and cross species information retrievals
JPS62186361A (en) information retrieval device
JPH11175380A (en) Information reproduction method
Merrifield MicroGenie: Homology Searches
JPH04243437A (en) Data base transfer system
JP2000148548A (en) Unnecessary record deleting device
JP3376874B2 (en) Search efficiency method by data division
JP4698785B2 (en) Electronic catalog update system
JP4221249B2 (en) Literature data retrieval method and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060306

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: 20060822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060824

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110901

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130901

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees