JP5060350B2 - リレーショナルデータベースのレコード追加システム - Google Patents
リレーショナルデータベースのレコード追加システム Download PDFInfo
- Publication number
- JP5060350B2 JP5060350B2 JP2008061953A JP2008061953A JP5060350B2 JP 5060350 B2 JP5060350 B2 JP 5060350B2 JP 2008061953 A JP2008061953 A JP 2008061953A JP 2008061953 A JP2008061953 A JP 2008061953A JP 5060350 B2 JP5060350 B2 JP 5060350B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- sequence number
- value
- application program
- relational database
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
一方、リレーショナルデータベースでは、テーブル内のレコードの格納順序とは別に、レコードを検索する際、特定の列の値の昇順または降順にレコードを並べ替えることで、検索する順序を動的に決定することができる。
特許文献1の「リレーショナルデータベースにおける階層型データのマッピングプログラム、装置、および方法」では、レコードに仮想カラムを設け、レコードを追加する際、自動的に順序を付与する方法が開示されている。この特許文献1で開示された方法では、順序がテーブル内の先頭となるようにレコードを追加する際、追加するレコードの順序に1を付与してレコードを追加すると共に、テーブル内のすべてのレコードの順序を元の値から1加算することで、順序付けを行う。
上述した特許文献1では、子レコードの内の任意の位置に子レコードを追加する方法については何等開示されていない。
請求項1に係る発明は、リレーショナルデータベースにレコードを追加するシステムに於いて、
前記レコードは、アプリケーションプログラムが意識しているキーと、キー値が同一のレコード群の内の順序を示す順序番号を含み、
前記アプリケーションプログラムからのレコード追加要求に応答してレコードを追加する際、前記アプリケーションプログラムが追加要求しているレコードと同一のキー値を持つレコードが前記リレーショナルデータベース内に存在する場合は、その同一のキー値を持つレコードの内の順序番号の最大値に1を加算した値を出力し、存在しない場合は、1を出力する順序番号割当手段と、
前記順序番号割当手段から出力された値を前記アプリケーションプログラムが追加要求しているレコードの順序番号に設定し、該レコードをリレーショナルデータベース内に格納するレコード追加手段と、
前記アプリケーションプログラムから渡される前記追加するレコードの位置情報と、前記アプリケーションプログラムが追加要求しているレコードのキー値とに基づいて、前記リレーショナルデータベース内の同一のキー値を持つ、順序番号の更新が必要なレコードを検索するレコード検索手段と、
前記レコード検索手段によって検索されたレコードの順序番号を更新する際、前記順序番号割当手段から出力された値に1を加算した値から始まる連番を前記検索されたレコードの順序番号に設定し、該レコードを更新するレコード更新手段と、
前記アプリケーションプログラムが追加要求しているレコードと同一のキー値を持つレコードの順序番号が上限値に達した際、該レコードの順序番号を1から始まる連番で再編成する順序番号再編成手段とを備えたことを特徴とするリレーショナルデータベースのレコード追加システムを提供するものである。
図1は、本発明の実施例のシステム構成図であり、レコード追加プログラム1と、補助記憶装置にあるデータベース2と、アプリケーションプログラム3と、DBMS(database
management system)4とから構成されている。矢印は制御の流れを示している。
レコード追加手段11は、アプリケーションプログラム3から渡されたレコードの順序番号に順序番号割当手段14から渡された値を設定して、レコードをデータベース2に格納する機能を有する。
レコード検索手段12は、アプリケーションプログラム3から渡された位置情報と、順序番号割当手段14から渡された値とを基に、順序番号の変更が必要なレコードを検索する機能を有する。
レコード更新手段13は、レコード検索手段12から渡されたレコードの順序番号に、順序番号割当手段14から渡された値に1を加算した値から始まる連番を設定し、レコードを更新する機能を有する。
順序番号割当手段14は、アプリケーションプログラム3から渡されたレコードと同一のキー値を持つレコードがテーブル内に存在する場合は、この同一のキー値を持つレコードの内の順序番号の最大値に1を加算した値を出力し、存在しない場合は、1を出力する機能を有する。
順序番号再編成手段15は、アプリケーションプログラム3から渡されたレコードと同一のキー値を持つレコードの順序番号を1から始まる連番で再編成する機能を有する。
アプリケーションプログラム3はデータベース2にレコードを追加する際、レコード追加プログラム1に、追加しようとするレコードと、レコードを追加する位置を示す位置情報を渡す。
この場合、アプリケーションプログラム3は、図8に示すレコードのキー71に「A2」を、データ72に「B8」を設定したレコードと、図9に示す位置情報の一意キー81に「B4」を、前後指示情報82に「前」を設定した位置情報とをレコード追加プログラム1に渡す。
順序番号割当手段14は、図6の流れ図に示すように、追加要求されたレコードと同一のキー値を持つレコードの内の順序番号の最大値を検索する(ステップS12)。この場合、キー値が「A2」の順序番号の最大値である「3」が検索される。検索できた場合(ステップS13がYES)は、ステップS14に進み、アプリケーションプログラム3から渡された一意キーと同一の一意キーを持つレコードを検索し、当該レコードの順序番号を取得する。
ステップS16では、追加要求されたレコードと同一のキー値を持ち、かつ、ステップS14で取得した順序番号以上の順序番号を持つレコードの数を検索する。この場合、キー値が「A2」で、かつ、順序番号が「2」以上のレコードの数である「2」が検索されることになる。
なお、前後指示情報82に「後」が指定されている場合は、ステップS15がNOとなり、ステップS17に進む。ステップS17では、追加するレコードと同一のキー値を持ち、かつ、ステップS14で取得した順序番号より大きい順序番号を持つレコードの数を検索する。
尚、「順序番号の上限値」とは、順序番号の列に格納できる数値の上限値であり、例えば、順序番号の列の属性を4バイト長で内部表現される整数型とすると、格納できる数値の上限値は2147483647である。
この場合、「(2147483647−3)≧(2+1)」であり、順序番号が上限値に達しないと判断し(ステップS18がYES)、ステップS19に進み、検索された最大値に1を加算した値を出力する。従って、「3」に1を加算した「4」が出力されることになる。
なお、順序番号が上限値に達すると判断した場合(ステップS18がNO)は、順序番号再編成手段15で順序番号の再編成を行う(ステップS20)。
その後、順序番号割当手段は、図6の流れ図に示すように、再編成した後の順序番号の最大値に1を加算した値を出力する(ステップS21)。
今、前後指示情報82には「前」が指定されているので、ステップS5がYESとなり、ステップS6に進む。ステップS6では、追加要求されたレコードと同一のキー値を持ち、かつ、順序番号が一意キー81で示されるレコードの順序番号以上で、かつ、追加要求されたレコードに付与した順序番号未満の順序番号を持つレコードを、順序番号の昇順に検索するカーソルをオープンする。この場合、キー値が「A2」で、かつ、順序番号が「2」以上で、かつ、順序番号が「4」未満のレコードが検索されることになり、従って、データ23の値で「B4→B5」の順序でレコードが検索されることになる。
なお、条件に合うレコードがない、又は検索が終了した場合(ステップS9がYES)は、処理終了となる。
この結果、図10に示す如く、キー値が「A2」のレコードの順序番号がデータ23の値で「B3→B8→B4→B5」の順序となり、「B8」のレコードが「B4」の前に追加されたものとなる。
この場合、アプリケーションプログラム3は、図8に示すレコードのキー71に「A2」を、データ72に「B9」を設定したレコードと、図9に示す位置情報の一意キー81に「B4」を、前後指示情報82に「後」を設定した位置情報とをレコード追加プログラム1に渡す。
レコード追加プログラム1は、上述の場合と同様に、追加要求されているレコードの順序番号に「7」を設定してレコードを追加する。また、ステップS7では、キー値が「A2」で、かつ、順序番号が「5」より大きく、かつ、順序番号が「7」未満のレコードが検索されることになり、従って、データ23の値で「B5」のレコードが検索され、このレコードの順序番号が「8」に更新されることになる。
なお、本発明は上述した実施形態に限定せず、発明の趣旨を逸脱しない範囲で種々の変更・変形が可能である。
2 データベース
3 アプリケーションプログラム
11 レコード追加手段
12 レコード検索手段
13 レコード更新手段
14 順序番号割当手段
15 順序番号再編成手段
21、61,71 キー
22 順序番号
23、62,72 データ
Claims (2)
- リレーショナルデータベースにレコードを追加するシステムに於いて、
前記レコードは、アプリケーションプログラムが意識しているキーと、キー値が同一のレコード群の内の順序を示す順序番号を含み、
前記アプリケーションプログラムからのレコード追加要求に応答してレコードを追加する際、前記アプリケーションプログラムが追加要求しているレコードと同一のキー値を持つレコードが前記リレーショナルデータベース内に存在する場合は、その同一のキー値を持つレコードの内の順序番号の最大値に1を加算した値を出力し、存在しない場合は、1を出力する順序番号割当手段と、
前記順序番号割当手段から出力された値を前記アプリケーションプログラムが追加要求しているレコードの順序番号に設定し、該レコードをリレーショナルデータベース内に格納するレコード追加手段と、
前記アプリケーションプログラムから渡される前記追加するレコードの位置情報と、前記アプリケーションプログラムが追加要求しているレコードのキー値とに基づいて、前記リレーショナルデータベース内の同一のキー値を持つ、順序番号の更新が必要なレコードを検索するレコード検索手段と、
前記レコード検索手段によって検索されたレコードの順序番号を更新する際、前記順序番号割当手段から出力された値に1を加算した値から始まる連番を前記検索されたレコードの順序番号に設定し、該レコードを更新するレコード更新手段と、
前記アプリケーションプログラムが追加要求しているレコードと同一のキー値を持つレコードの順序番号が上限値に達した際、該レコードの順序番号を1から始まる連番で再編成する順序番号再編成手段とを備えたことを特徴とするリレーショナルデータベースのレコード追加システム。 - 前記レコード検索手段は、前記順序番号に設定されたインデクスを使用してレコードを検索する機能を備えたことを特徴とする請求項1記載のリレーショナルデータベースのレコード追加システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008061953A JP5060350B2 (ja) | 2008-03-12 | 2008-03-12 | リレーショナルデータベースのレコード追加システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008061953A JP5060350B2 (ja) | 2008-03-12 | 2008-03-12 | リレーショナルデータベースのレコード追加システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009217652A JP2009217652A (ja) | 2009-09-24 |
JP5060350B2 true JP5060350B2 (ja) | 2012-10-31 |
Family
ID=41189411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008061953A Expired - Fee Related JP5060350B2 (ja) | 2008-03-12 | 2008-03-12 | リレーショナルデータベースのレコード追加システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5060350B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02148175A (ja) * | 1988-11-29 | 1990-06-07 | Kansai Nippon Denki Software Kk | リレーショナル型データベースシステム |
JPH07244605A (ja) * | 1994-03-03 | 1995-09-19 | Fujitsu Ltd | データベースシステム及びその更新方法 |
JP2003316794A (ja) * | 2002-04-24 | 2003-11-07 | Nec Corp | データ収集格納方式 |
-
2008
- 2008-03-12 JP JP2008061953A patent/JP5060350B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009217652A (ja) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4604041B2 (ja) | 集合値化された列とスカラ値化された列を単一のステートメントで修正するためのsql言語の拡張 | |
US7480661B2 (en) | Query services for database system | |
RU2406115C2 (ru) | Доступ к сложным данным | |
US20040078355A1 (en) | Information management system | |
US20070106767A1 (en) | Database device database search device, and method thereof | |
US6778983B1 (en) | Apparatus and method for accessing HTML files using an SQL query | |
JP5060350B2 (ja) | リレーショナルデータベースのレコード追加システム | |
JP3552339B2 (ja) | データベースシステム | |
JPH06215037A (ja) | インデックスの自動更新装置 | |
JPH01102656A (ja) | システム性能見積処理方式 | |
JP2722684B2 (ja) | ファイルシステムの検索装置 | |
JPS59146339A (ja) | 情報検索方式 | |
JPS62287350A (ja) | インデツクス一括更新方式 | |
JP2720805B2 (ja) | プログラム流れ図参照方式 | |
JP5048396B2 (ja) | データ管理プログラム | |
JPH05274122A (ja) | 情報相互変換方法および相互変換装置 | |
JPH064273A (ja) | データ処理装置 | |
JPH11219372A (ja) | データカテゴライズ装置 | |
JP2847709B2 (ja) | 設計支援装置 | |
JP2001273178A (ja) | データベース制御装置およびシステム | |
JPH04199338A (ja) | データベース管理システム | |
JPH01248233A (ja) | データベース検索装置 | |
JPH04205173A (ja) | 情報検索システム | |
WO2004081698A2 (en) | Database tools | |
JPS6327927A (ja) | 予約情報検索システムにおけるインデツクス作成方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100701 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120704 |
|
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: 20120731 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120803 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150810 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5060350 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |