(57)【要約】データベースにおけるテーブルスペースを再編成する方法が、データベースから１つの行のデータを読み出し、該データベースから読み出した該行のデータを解析し、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定し、該行のデータが該少なくとも１つの所定の規則に適合することが決定される場合に該行のデータを該データベース内に再ロードし、該行のデータが該少なくとも１つの所定の規則に適合しないことが決定される場合には該行のデータを除去し、且つ再ロードした行のデータに対応するキーを包含させるために該データベースに関連するインデックスを再構築する、ことを包含することが可能である。該決定、再ロード、除去、再構築ステップは該データベースにおける各行のデータに対して繰返される。
2004536408.tif 000002
【特許請求の範囲】
【請求項１】
データベースにおいてテーブルスペースを再編成する方法において、
前記データベースから１つの行のデータを読み取り、
前記データベースから読み取った前記行のデータを解析し、
少なくとも１つの所定の規則に基づいて前記行のデータを削除するか又は維持するかを決定し、
前記行のデータが前記少なくとも１つの所定の規則に準拠することが決定される場合に前記行のデータを前記データベース内に再ロードし、
前記行のデータが前記少なくとも１つの所定の規則に準拠しないことが決定される場合に前記行のデータを削除し、
前記再ロードした行のデータに対応するキーを包含させるために前記データベースに関連するインデックスを再構築し、
前記データベース内の各行のデータに対して前記決定、再ロード、削除及び再構築を繰返す、
ことを包含している方法。
【請求項２】
請求項１において、前記少なくとも１つの所定の規則が制約を有している方法。
【請求項３】
請求項２において、前記制約が前記データベース内の値を制限する規則である方法。
【請求項４】
請求項１において、前記少なくとも１つの所定の規則が参照一貫性に対する条件である方法。
【請求項５】
請求項４において、前記参照一貫性に対する条件が、前記データベース内の全ての非ヌル外部キーが別のデータベースにおける実際のキーに対応することを必要とする規則である方法。
【請求項６】
請求項１において、前記再ロードステップが、前記行のデータを前記データベースの最初のオープンの行において前記データベース内に再ロードし、前記最初のオープンの行がデータを包含することのない前記データベース内の最初の行である方法。
【請求項７】
請求項１において、前記再ロードステップが、前記行のデータを第二データベースの最初のオープンの行において第二データベース内にロードし、前記最初のオープンの行がデータを包含することのない前記第二データベースにおける最初の行である方法。
【請求項８】
請求項１において、前記行のデータが前記行のデータを削除することにより除去される方法。
【請求項９】
データベースにおけるテーブルスペースを再編成するシステムにおいて、
前記データベースから１つの行のデータを読み出すべく適合されている読み取り用デバイス、
少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定するために前記行のデータを解析すべく適合されている解析用デバイス、
前記行のデータが前記少なくとも１つの所定の規則を満足することが決定される場合に前記行のデータを再ロードすべく適合されている再ロード用デバイス、
前記行のデータが前記少なくとも１つの所定の規則に準拠しないことが決定される場合に前記行のデータを除去すべく適合されている除去用デバイス、
前記再ロードされた行のデータに対応するキーを包含すべく前記データベースに関連しているインデックスを再構築すべく適合されている再構築用デバイス、
を有しており、前記データベースにおける各行のデータが前記データベースから読み出され且つ解析されるシステム。
【請求項１０】
請求項９において、前記少なくとも１つの所定の規則が制約を有しているシステム。
【請求項１１】
請求項１０において、前記制約が前記データベースにおける値を制限する規則であるシステム。
【請求項１２】
請求項９において、前記少なくとも１つの所定の規則が参照一貫性に対する条件であるシステム。
【請求項１３】
請求項１２において、前記参照一貫性に対する条件が、前記データベース内の全ての非ヌル外部キーが別のデータベースにおける実際のキーに対応することを必要とする規則であるシステム。
【請求項１４】
請求項９において、前記再ロード用デバイスが、前記データベースの最初のオープンの行において前記データベース内に前記行のデータを再ロードさせ、前記最初のオープンの行がデータを包含することのない前記データベースにおける最初の行であるシステム。
【請求項１５】
請求項９において、前記再ロード用デバイスが第二データベースの最初のオープンの行において第二データベース内に前記行のデータをロードし、前記最初のオープンの行がデータを包含することのない前記第二データベースにおける最初の行であるシステム。
【請求項１６】
請求項９において、前記除去用デバイスが前記行のデータを削除することにより前記行のデータを除去するシステム。
【請求項１７】
データベースにおけるテーブルスペースを再編成するためのコンピュータによって実行可能なコードを包含するコンピュータ記録媒体において、前記コンピュータによって実行可能なコードが、
前記データベースから１つの行のデータを読み出すための読み取り用コード、
前記データベースから読み取った前記行のデータを解析するための解析用コード、
少なくとも１つの所定の規則に基づいて１つの行のデータを除去するか又は維持するかを決定する決定用コード、
前記行のデータが前記少なくとも１つの所定の規則に準拠することが決定される場合に前記行のデータを再ロードするための再ロード用コード、
前記行のデータが前記少なくとも１つの所定の規則に準拠しないことが決定される場合に前記行のデータを除去するための除去用コード、
前記再ロードした行のデータに対応するキーを包含させるために前記データベースに関連するインデックスを再構築するための再構築用コード、
前記データベースにおける各行のデータに対して前記決定、再ロード、除去及び再構築を繰返すための繰返し用コード、
を包含しているコンピュータ記録媒体。
【請求項１８】
請求項１７において、前記少なくとも１つの所定の規則が制約を有しているコンピュータ記録媒体。
【請求項１９】
請求項１８において、前記制約が前記データベースにおける値を制限する規則であるコンピュータ記録媒体。
【請求項２０】
請求項１７において、前記少なくとも１つの所定の規則が参照一貫性に対する条件であるコンピュータ記録媒体。
【請求項２１】
請求項２０において、前記参照一貫性に対する条件が、前記データベースにおける全ての非ヌル外部キーが別のデータベースにおける実際のキーに対応していることを必要とする規則であるコンピュータ記録媒体。
【請求項２２】
請求項１７において、前記再ロード用コードが前記データベースの最初のオープンの行において前記データベース内に前記行のデータを再ロードし、前記最初のオープンの行がデータを包含することのない前記データベースにおける最初の行であるコンピュータ記録媒体。
【請求項２３】
請求項１７において、前記再ロード用コードが、第二データベースの最初のオープンの行において第二データベース内に前記行のデータをロードし、前記最初のオープンの行がデータを包含することのない前記第二データベースにおける最初の行であるコンピュータ記録媒体。
【請求項２４】
請求項１７において、前記除去用コードが前記行のデータを削除するための削除用コードを有しているコンピュータ記録媒体。
【請求項２５】
データベースにおけるテーブルスペースを再編成する方法において、
前記データベース及び関連するインデックスを複数個のパーティションへ区画化し、
前記データベースの複数個のパーティションのうちの１つのパーティション及び前記関連するインデックスのうちの関連するパーティションを選択し、
前記データベースの前記選択した１つのパーティションから１つの行のデータを読み出し、
前記選択した１つのパーティションから読み出した前記行のデータを解析し、
少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定し、
前記行のデータが前記少なくとも１つの規則に準拠していることが決定される場合に前記データベースの前記選択した１つのパーティション内へ前記行のデータを再ロードし、
前記行のデータが前記少なくとも１つの所定の規則に準拠しないことが決定される場合に前記行のデータを除去し、
前記再ロードした行のデータに対応するキーを包含させるために前記関連するインデックスの関連するパーティションを再構築し、
前記データベースの前記選択した１つのパーティションにおける各行に対して前記決定、再ロード、除去、再構築を繰返し、
前記データベースにおける各パーティションに対して前記選択、読み出し、解析、決定、再ロード、除去、再構築を繰返す、
上記各ステップを包含している方法。
【請求項２６】
請求項２５において、前記少なくとも１つの所定の規則が制約を有している方法。
【請求項２７】
請求項２６において、前記制約が前記データベースにおける値を制限する規則である方法。
【請求項２８】
請求項２５において、前記少なくとも１つの所定の規則が参照一貫性に対する条件である方法。
【請求項２９】
請求項２８において、前記参照一貫性に対する条件が、前記データベースにおける全ての非ヌル外部キーが別のデータベースにおける実際のキーに対応することを必要とする規則である方法。
【請求項３０】
請求項２５において、前記再ロードステップが、前記データベースの前記選択した１つのパーティションの最初のオープンの行において前記データベースの前記選択した１つのパーティション内に前記行のデータを再ロードし、前記最初のオープンの行がデータを包含することのない前記データベースの前記選択した１つのパーティションにおける最初の行である方法。
【請求項３１】
請求項２５において、前記再ロードステップが、第二データベースの最初のオープンの行において第二データベースの１つのパーティション内に前記行のデータをロードし、前記最初のオープンの行がデータを包含することのない前記第二データベースにおける最初の行である方法。
【請求項３２】
請求項２５において、前記行のデータが前記行のデータを削除することにより除去される方法。
【請求項３３】
データベースにおけるテーブルスペースを再編成するシステムにおいて、
前記データベース及び関連するインデックスを複数個のパーティションへ区画化すべく適合されている区画化用デバイス、
前記データベースの前記複数個のパーティションのうちの１つのパーティション及び前記関連するインデックスのうちの関連するパーティションを選択すべく適合されているパーティション選択用デバイス、
前記データベースの前記選択した１つのパーティションから１つの行のデータを読み出すべく適合されている読み出し用デバイス、
前記選択した１つのパーティションから読み出した前記行のデータを解析し且つ少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定すべく適合されている解析用デバイス、
前記行のデータが少なくとも１つの所定の規則に準拠していることが決定される場合に前記データベースの前記選択した１つのパーティション内に前記行のデータを再ロードさせるべく適合されている再ロード用デバイス、
前記行のデータが前記少なくとも１つの所定の規則に準拠しないことが決定される場合に前記行のデータを除去すべく適合されている除去用デバイス、
前記再ロードした行のデータに対応するキーを包含させるために前記関連するインデックスの前記関連するパーティションを再構築すべく適合されている再構築用デバイス、
を有しており、前記データベースの前記選択した１つのパーティションの各行及び前記データベースの前記複数個のパーティションのうちの各パーティションが前記システムにより再編成されるシステム。
【請求項３４】
請求項３３において、前記少なくとも１つの所定の規則が制約を有しているシステム。
【請求項３５】
請求項３４において、前記制約が前記データベースにおける値を制限する規則であるシステム。
【請求項３６】
請求項３３において、前記少なくとも１つの所定の規則が参照一貫性に対する条件であるシステム。
【請求項３７】
請求項３６において、前記参照一貫性に対する条件が、前記データベースにおける全ての非ヌル外部キーが別のデータベースにおける実際のキーに対応することを必要とする規則であるシステム。
【請求項３８】
請求項３３において、前記再ロード用デバイスが前記データベースの最初のオープンの行において前記データベースの前記選択した１つのパーティション内へ前記行のデータを再ロードし、前記最初のオープンの行がデータを包含することのない前記データベースの前記選択した１つのパーティションにおける最初の行であるシステム。
【請求項３９】
請求項３３において、前記再ロード用デバイスが第二データベースの最初のオープンの行において第二データベースの１つのパーティション内に前記行のデータをロードし、前記最初のオープンの行がデータを包含することのない前記第二データベースにおける最初の行であるシステム。
【請求項４０】
請求項３３において、前記除去用デバイスが前記行のデータを削除することにより前記行のデータを除去するシステム。
【請求項４１】
データベースにおけるテーブルスペースを再編成するためのコンピュータによって実行可能なコードを包含するコンピュータ記録媒体において、前記コンピュータによって実行可能なコードが、
前記データベース及び関連するインデックスを複数個のパーティションへ区画化するための区画化用コード、
前記データベースの前記複数個のパーティションのうちの１つのパーティション及び前記関連するインデックスの関連するパーティションを選択するためのパーティション選択用コード、
前記選択した１つのパーティションから１つの行のデータを読み出すための読み出し用コード、
前記選択した１つのパーティションから読み出した前記行のデータを解析するための解析用コード、
少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定するための決定用コード、
前記行のデータが前記少なくとも１つの所定の規則に準拠することが決定される場合に前記データベースの前記選択した１つのパーティション内に前記行のデータを再ロードするための再ロード用コード、
前記行のデータが前記少なくとも１つの所定の規則に準拠しないことが決定される場合に前記行のデータを除去するための除去用コード、
前記再ロードした行のデータに対応するキーを包含させるために前記関連するインデックスの関連するパーティションを再構築するための再構築用コード、
前記データベースの前記選択した１つのパーティションにおける各行に対して前記決定、再ロード、除去、再構築を繰返すための行繰返し用コード、
前記データベースにおける各パーティションに対して前記選択、読み出し、解析、決定、再ロード、除去、再構築を繰返すためのパーティション繰返し用コード、
を包含しているコンピュータ記録媒体。
【請求項４２】
請求項４１において、前記少なくとも１つの所定の規則が制約を有しているコンピュータ記録媒体。
【請求項４３】
請求項４２において、前記制約が前記データベースにおける値を制限する規則であるコンピュータ記録媒体。
【請求項４４】
請求項４１において、前記少なくとも１つの所定の規則が参照一貫性に対する条件であるコンピュータ記録媒体。
【請求項４５】
請求項４４において、前記参照一貫性に対する条件が、前記データベースにおける全ての非ヌル外部キーが別のデータベースにおける実際のキーに対応することを必要とする規則であるコンピュータ記録媒体。
【請求項４６】
請求項４１において、前記再ロード用コードが、前記データベースの選択した１つのパーティションの最初のオープンの行において前記データベースの前記選択した１つのパーティション内の前記行のデータを再ロードし、前記最初のオープンの行がデータを包含することのない前記データベースの前記選択した１つのパーティションにおける最初の行であるコンピュータ記録媒体。
【請求項４７】
請求項４１において、前記再ロード用コードが、第二データベースの最初のオープンの行における第二データベースの１つのパーティション内へ前記行のデータをロードし、前記最初のオープンの行がデータを包含することのない前記第二データベースにおける最初の行であるコンピュータ記録媒体。
【請求項４８】
請求項４１において、前記除去用コードが前記行のデータを除去するための除去用コードを有しているコンピュータ記録媒体。
【請求項４９】
データベースにおけるテーブルスペースを再編成する２ステップ方法において、前記２ステップ方法が前記データベースにおける各行に対して繰返され、
前記データベースから１つの行のデータを読み取り、前記データベースから読み取った前記行のデータを解析し、少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定する、ことを包含している第一ステップ、
前記行のデータが前記少なくとも１つの所定の規則に準拠していることが決定される場合に前記行のデータを前記データベース内に再ロードし、前記行のデータが前記少なくとも１つの所定の規則に準拠していないことが決定される場合に前記行のデータを除去し、再ロードした行のデータに対応するキーを包含させるために前記データベースに関連するインデックスを再構築させる、ことを包含している第二ステップ、
を有している２ステップ方法。
【請求項５０】
データベースにおけるテーブルスペースを再編成する２ステップ処理を実施するためのシステムにおいて、前記２ステップ処理が前記データベースにおける各行に対して繰返され、
データベース、
前記２ステップ処理を実施するプロセッサ、
を有しており、前記２ステップ処理が、
前記データベースから１つの行のデータを読み出し、前記データベースから読み出した前記行のデータを解析し、少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定する、ことを包含している第一ステップ、
前記行のデータが前記少なくとも１つの所定の規則に準拠していることが決定される場合に前記データベース内に前記行のデータを再ロードし、前記行のデータが前記少なくとも１つの所定の規則に準拠していないことが決定される場合に前記行のデータを除去し、再ロードした行のデータに対応するキーを包含させるために前記データベースに関連するインデックスを再構築する、ことを包含している第二ステップ、
を有しているシステム。
【請求項５１】
２つのステップでデータベースにおけるテーブルスペースを再編成するためのコンピュータによって実行可能なコードを包含するコンピュータ記録媒体において、前記２つのステップは前記データベースにおける各行のデータに対して繰返され、前記コンピュータによって実行可能なコードが、
前記データベースから１つの行のデータを読み出すための読み出し用コードと、前記データベースから読み出した前記行のデータを解析するための解析用コードと、少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定するための決定用コードとを包含する第一ステップコード、
前記行のデータが前記少なくとも１つの所定の規則に準拠することが決定される場合に前記行のデータを再ロードするための再ロード用コードと、前記行のデータが前記少なくとも１つの所定の規則に準拠しないことが決定される場合に前記行のデータを除去するための除去用コードと、再ロードした行のデータに対応するキーを包含させるために前記データベースに関連するインデックスを再構築するための再構築用コードとを包含する第二ステップコード、
を有しているコンピュータ記録媒体。
【請求項５２】
データベースにおけるテーブルスペースを再編成する２ステップ方法において、前記２ステップ方法が前記データベースの１つのパーティションにおける各行及び前記データベースの複数個のパーティションの各パーティションに対して繰返され、本方法が、
前記データベース及び関連するインデックスを複数個のパーティションへ区画化し、前記データベースの前記複数個のパーティションのうちの１つのパーティション及び前記関連するインデックスの関連するパーティションを選択し、前記データベースの前記選択した１つのパーティションから１つの行のデータを読み出し、前記選択した１つのパーティションから読み出した前記行のデータを解析し、少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定する、ことを包含している第一ステップ、
前記行のデータが前記少なくとも１つの所定の規則に準拠していることが決定される場合に前記行のデータを前記データベースの前記選択した１つのパーティション内へ再ロードし、前記行のデータが前記少なくとも１つの所定の規則に準拠しないことが決定される場合に前記行のデータを除去し、再ロードした行のデータに対応するキーを包含させるために前記関連するインデックスの関連するパーティションを再構築する、ことを包含している第二ステップ、
を有している方法。
【請求項５３】
データベースのテーブルスペースを再編成する２ステップ処理を実施するシステムにおいて、前記２ステップ処理が前記データベースの１つのパーティションにおける各行及び前記データベースの複数個のパーティションの各パーティションに対して繰り返され、本システムが、
データベース、
前記２ステップ処理を実施するためのプロセッサ、
を有しており、前記２ステップ処理が、
前記データベース及び関連するインデックスを前記複数個のパーティションへ区画化し、前記データベースの前記複数個のパーティションのうちの１つのパーティション及び前記関連するインデックスの関連するパーティションを選択し、前記データベースの前記選択した１つのパーティションから１つの行のデータを読み出し、前記選択した１つのパーティションから読み出した前記行のデータを解析し、少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定する、ことを包含している第一ステップ、
前記行のデータが前記少なくとも１つの所定の規則に準拠していることが決定される場合に前記データベースの前記選択した１つのパーティション内に前記行のデータを再ロードし、前記行のデータが前記少なくとも１つの所定の規則に準拠していないことが決定される場合に前記行のデータを除去し、再ロードした行のデータに対応するキーを包含させるために前記関連するインデックスの関連するパーティションを再構築する、ことを包含している第二ステップ、
を有しているシステム。
【請求項５４】
２つのステップでデータベースのテーブルスペースを再編成するためのコンピュータによって実行可能なコードを包含するコンピュータ記録媒体において、前記２つのステップが前記データベースの１つのパーティションの各行のデータ及び前記データベースの複数個のパーティションのうちの各パーティションに対して繰返され、前記コンピュータによって実行可能なコードが、
前記データベース及び関連するインデックスを前記複数個のパーティションへ区画化させる区画化用コードと、前記データベースの前記複数個のパーティションのうちの１つのパーティション及び前記関連するインデックスの関連するパーティションを選択するためのパーティション選択用コードと、前記選択した１つのパーティションから１つの行のデータを読み出すための読み出し用コードと、前記選択した１つのパーティションから読み出した前記行のデータを解析するための解析コードと、少なくとも１つの所定の規則に基づいて前記行のデータを除去するか又は維持するかを決定するための決定用コードとを包含している第一ステップコード、
前記行のデータが前記少なくとも１つの所定の規則に準拠していることが決定される場合に前記データベースの前記選択した１つのパーティション内へ前記行のデータを再ロードするための再ロード用コードと、前記行のデータが前記少なくとも１つの所定の規則に準拠していないことが決定される場合に前記行のデータを除去するための除去用コードと、再ロードした行のデータに対応するキーを包含させるために前記関連するインデックスの関連するパーティションを再構築するための再構築用コードとを包含している第二ステップコード、
を有しているコンピュータ記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータベースに関するものであって、更に詳細には、データベースにおけるテーブルスペースを再編成するための方法及びシステムに関するものである。
【背景技術】
【０００２】
データベースにおけるデータは、図１に示したように、データの列及び行の形態におけるテーブルとして存在している場合がある。この例においては、「プロダクト」テーブルは、異なるプロダクト（プロダクト１，プロダクト２，プロダクト３等）に関連するデータの行を格納するための複数個の列（ｐｒｏｄｕｃｔ−ｎａｍｅ，ｐａｒｔ−ｎｏｓ，ｅｘｐｉｒｅ−ｄａｔｅ）を包含している。データベース内の行に関連する複数個のインデックスキーを包含するインデックスは、データベース内のデータへの迅速なアクセスを可能とするために設けることが可能である。インデックスキーは、データベース内の各行を一意的に識別する属性の最小組である。例えば、図１に例示したデータベースにおいて、「ｐｒｏｄｕｃｔ−ｎａｍｅ」は、説明の便宜上、各プロダクトが一意的なプロダクト名を有するものと仮定した場合に、キーとすることが可能である。換言すると、プロダクトの名前は、そのプロダクトに関連するデータをデータベース内に格納する行を一意的に識別するために使用することが可能である。
【０００３】
データベース又はリレーションの各行におけるデータは、そのデータがあるチェック制約を満足し且つ参照一貫性を維持することを確保するために解析されるべきである。制約は、データベース又はテーブル内の値を制限する規則である。例えば、図１に例示したデータベースにおいて、制約の１例はｅｘｐ−ｄａｔｅ＜２００１年５月１６日とする場合がある。即ち、ｅｘｐ−ｄａｔｅ列内にリストされている各値は２００１年５月１６日未満のものとすべきである。
【０００４】
参照一貫性は、全ての非ヌル外部キーが何等かのリレーションにおける実際のキーに対応することを必要とする。外部キーは、その他のテーブルにおいて１つのキーを構成する１つのテーブルにおける１つの属性又は１組の属性である場合がある。外部キーは、リレーション間の論理的リンクを証明するために使用される。例えば、図１に例示したデータベースにおいて、部品番号外部キー（ｐａｒｔ−ｎｏ）はプロダクトテーブルを部品テーブル（不図示）に関係付けることが可能である。参照一貫性は、ｐａｒｔ−ｎｏ属性が部品テーブルにおける１つのキーに止まることを確保し、従ってプロダクトテーブルと部品テーブル（不図示）との間の関係は有効のままとなる。通常、チェック制約及び参照一貫性に対する条件はデータベースのアドミニストレーターによって予め決定され且つデータベースにおけるデータを使用するアプリケーションに依存して異なる場合がある。
【０００５】
データベース又はリレーションの１つの行におけるデータが制約を満足するものでないか又は参照一貫性を維持するものでない場合には、そのデータは削除される場合がある。更に、データが削除される行に対応するインデックスキーがインデックスから削除される場合がある。削除の後に、データベース及びインデックスの両方は、キーが削除されたスペース及び／又はデータを有することのない行を包含する「ホール」を有する場合がある。データベース及びインデックスにおけるスペースの効率的な使用を最大化させるために、これらのホールは除去されるべきである。
【０００６】
現在の所、チェック用ユーティリティが制約又は参照一貫性に準拠するものでないデータのチェック及び削除を実施することが可能である。データが存在しない行を除去しながらデータベースを再度組立てるためにデータの残存する行を再編成するために別の再編成用ユーティリティを使用する場合がある。更に、再編成用ユーティリティは削除したキーによって残されたスペースを除去するために再編成したテーブルに関連するインデックスを再構築することが可能である。
【０００７】
制約に準拠し且つ参照一貫性のためにデータをチェックする方法を実施するためのチェック用ユーティリティの動作を図２に例示してある。ステップＳ２２において、チェック用ユーティリティがデータベースから１つの行のデータを読み出す。ステップＳ２２において、データベースから読み出されたデータを解析して、そのデータが所定のチェック制約に準拠し即ち適合し且つ参照一貫性を維持するものであることを確保する。１つの行からのデータがこれらの条件を満足しない場合には、チェック用ユーティリティがその行内のデータを削除することが可能である。ステップＳ２４において、削除した行に対応するインデックスキーもそのデータベースに関連するインデックスから削除することが可能である。ステップＳ２６において、データベース及びインデックスは削除したデータ及び削除したキーによって残されたスペースで書き直される。
【０００８】
次いで、再編成用ユーティリティが喚起されて、図３に例示した態様でデータベース及びインデックスにおけるホール（例えば、削除したデータ及びキーによって残されたスペース）を除去することが可能である。ステップＳ３０において、再編成用ユーティリティがデータベースの１つの行を読み取る。ステップ３２において、その行内のデータがチェック用ユーティリティにより削除されていない場合には、データ内に再ロードされる。ステップＳ３４において、ステップＳ３２において再編成用ユーティリティによりデータベース内に再ロードされた行にのみ対応するインデックスキーを包含させるためにインデックススペースが再構築される。
【０００９】
このような方法がデータベースワーク内のデータをチェックし且つ再編成するものであるが、このような方法の幾つかの動作特性を改善することが可能である。例えば、幾つかの入力／出力動作を使用してこれらの方法を実施する。各行がチェック用ユーティリティにより読み出され、次いで非準拠性即ち非適合性データが削除された後に、データベース及びインデックスの各ページが書き直される。次いで、再編成用ユーティリティが再度データベースの各ラインを読み取り且つそれからデータを削除した行をデータベース内に再ロードさせる。次いで、再編成用ユーティリティが再ロードしたデータベースに対応するようにインデックススペースを再構築する。入力／出力動作は不必要に反復的であり且つテーブル内のデータ内へ導入するエラーの蓋然性を増加させる。
【００１０】
これらの方法の繰返し特性も時間におけるコストを有している。第一に、チェック用ユーティリティはデータベース及びインデックス内のデータを読み出し且つ書き直すために完全に稼動する。次いで、再編成用ユーティリティはインデックス内に対応するインデックスキーを有するデータベースの各行を読み出し且つデータベースを再ロードし且つインデックススペースを再構築する。これらの両方のユーティリティが稼動している間に、テーブル内のデータはユーザアプリケーションに対して又はオンライントランズアクションに対して使用可能なものではない。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従って、テーブル内のデータが比較的短い時間期間の間のみ使用不可能であるようにより効率的な態様でデータベース又はリレーションにおけるデータをチェックし且つ再編成する方法及びシステムを提供することが望まれている。
【課題を解決するための手段】
【００１２】
データベースにおけるテーブルスペースを再編成する方法は、データベースから１つの行のデータを読み取り、該データベースから読み出した該行のデータを解析し、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定し、該行のデータが該少なくとも１つの所定の規則に準拠即ち適合することが判明した場合には該行のデータを該データベース内に再ロードし、該行のデータが該少なくとも１つの所定の規則に準拠しないことが判明した場合には該行のデータを除去し、再ロードした行のデータに対応するキーを包含させるために該データベースに関連するインデックスを再構築し、且つ該データベース内の各行のデータに対して該決定、再ロード、除去、再構築を繰返す、ことを包含することが可能である。
【００１３】
データベース内のテーブルスペースを再編成するシステムは、データベースから１つの行のデータを読み出すべく適合されている読み取り用デバイス、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定するために該行のデータを解析すべく適合されている解析用デバイス、該行のデータが該少なくとも１つの所定の規則を満足することが判明した場合に該行のデータを再ロードすべく適合されている再ロード用デバイス、該行のデータが該少なくとも１つの所定の規則に準拠しないことが判明した場合に該行のデータを除去すべく適合されている除去用デバイス、再ロードした行のデータに対応するキーを包含させるために該データベースに関連するインデックスを再構築すべく適合されている再構築用デバイス、を包含することが可能であり、該データベース内の各行のデータが該データベースから読み出され且つ解析される。
【００１４】
データベース内のテーブルスペースを再編成するためのコンピュータにより実行可能なコードを包含するコンピュータ記録媒体であって、該コンピュータにより実行可能なコードが、該データベースから１つの行のデータを読み出すための読み出し用コード、該データベースから読み出した該行のデータを解析するための解析用コード、少なくとも１つの規則に基づいて１つの行のデータを除去するか又は維持するかを決定するための決定用コード、該行のデータが該少なくとも１つの所定の規則に準拠していることが決定される場合に該行のデータを再ロードするための再ロード用コード、該行のデータが該少なくとも１つの所定の規則に準拠しないことが判明した場合に該行のデータを除去するための除去用コード、再ロードした行のデータに対応するキーを包含させるために該データベースに関するインデックスを再構築するための再構築用コード、該データベースにおける各行のデータに対して該決定、再ロード、除去、再構築を繰返すための繰返し用コード、を包含することが可能である。
【００１５】
データベースにおけるテーブルスペースを再編成する方法が、該データベース及び関連するインデックスを複数個のパーティションへ区画化し、該データベースの該複数個のパーティションのうちの１つのパーティション及び該関連するインデックスの関連するパーティションを選択し、該データベースの該選択した１つのパーティションから１つの行のデータを読み出し、前記選択した１つのパーティションから読み出した該行のデータを解析し、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定し、該行のデータが該少なくとも１つの所定の規則に準拠することが決定される場合に該データベースの該選択した１つのパーティション内に該行のデータを再ロードし、該行のデータが該少なくとも１つの所定の規則に準拠しないことが決定された場合に該行のデータを除去し、再ロードした行のデータに対応するキーを包含させるために該関連するインデックスの関連するパーティションを再構築し、該データベースの該選択した１つのパーティションにおける各行に対して該決定、再ロード、除去、再構築を繰返し、且つ該データベース内の各パーティションに対して該選択、読み取り、解析、決定、再ロード、除去、再構築を繰返す、ことを包含することが可能である。
【００１６】
データベースにおけるテーブルスペースを再編成するシステムが、該データベース及び関連するインデックスを複数個のパーティションに区画化すべく適合されている区画化用デバイス、該データベースの該複数個のパーティションのうちの１つのパーティション及び該関連するインデックスの関連するパーティションを選択すべく適合されているパーティション選択用デバイス、該データベースの該選択した１つのパーティションから１つの行のデータを読み出すべく適合されている読み出し用デバイス、該選択した１つのパーティションから読み出した該行のデータを解析し且つ少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定すべく適合されている解析用デバイス、該行のデータが該少なくとも１つの所定の規則に準拠することが決定される場合に該データベースの該選択した１つのパーティション内に該行のデータを再ロードさせるべく適合されている再ロード用デバイス、該行のデータが該少なくとも１つの所定の規則に準拠しないことが決定される場合に該行のデータを除去すべく適合されている除去用デバイス、再ロードさせた行のデータに対応するキーを包含させるために関連するインデックスの関連するパーティションを再構築すべく適合されている再構築用デバイス、を包含することが可能であり、該データベースの該選択した１つのパーティションの各行及び該データベースの該複数個のパーティションのうちの各パーティションが該システムにより解析される。
【００１７】
データベース内のテーブルスペースを再編成するためのコンピュータによって実行可能なコードを包含するコンピュータ記録媒体において、該コンピュータによって実行可能なコードが、該データベース及び関連するインデックスを複数個のパーティションに区画化するための区画化用コード、該データベースの該複数個のパーティションのうちの１つのパーティション及び該関連するインデックスの関連するパーティションを選択するためのパーティション選択用コード、該選択した１つのパーティションから１つの行のデータを読み出すための読み出し用コード、該選択した１つのパーティションから読み出した該行のデータを解析するための解析用コード、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定するための決定用コード、該行のデータが該少なくとも１つの所定の規則に準拠していることが決定される場合に該データベースの該選択した１つのパーティション内に該行のデータを再ロードさせるための再ロード用コード、該行のデータが該少なくとも１つの所定の規則に準拠しないことが決定される場合に前記行のデータを除去するための除去用コード、再ロードさせた行のデータに対応するキーを包含させるために関連するインデックスの関連するパーティションを再構築するための再構築用コード、該データベースの該選択した１つのパーティションにおける各行に対して該決定、再ロード、除去、再構築を繰返すための行繰返し用コード、該データベースにおける各パーティションに対して該選択、読み出し、解析、決定、再ロード、除去、再構築を繰返すためのパーティション繰返し用コードを包含することが可能である。
【００１８】
データベースにおけるテーブルスペースを再編成する２ステップ方法において、該２ステップ方法は該データベースにおける各行に対して繰返され、該データベースから１つの行のデータを読み出し、該データベースから読み出した該行のデータを解析し、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定する、ことを包含している第一ステップを包含することが可能である。第二ステップは、該行のデータが該少なくとも１つの所定の規則に準拠することが決定される場合に該行のデータを該データベース内に再ロードし、該行のデータが該少なくとも１つの所定の規則に準拠していないことが決定される場合に該行のデータを除去し、再ロードした行のデータに対応するキーを包含させるために該データベースに関連するインデックスを再構築する、ことを包含することが可能である。
【００１９】
データベースにおけるテーブルスペースを再編成する２ステップ処理を実施するシステムにおいて、該２ステップ処理は該データベースにおける各行に対して繰返され、該データベースから１つの行のデータを読み出し、該データベースから読み出した該行のデータを解析し、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定する、ことを包含する第一ステップを包含することが可能である。第二ステップは、該行のデータが該少なくとも１つの所定の規則に準拠するが決定される場合に該行のデータを該データベース内に再ロードし、該行のデータが該少なくとも１つの所定の規則に準拠しないことが決定される場合に該行のデータを除去し、再ロードした行のデータに対応するキーを包含させるために該データベースに関連するインデックスを再構築する、ことを包含することが可能である。
【００２０】
２つのステップでデータベースにおけるテーブルスペースを再編成するコンピュータによって実行可能なコードを包含するコンピュータ記録媒体において、該２つのステップは該データベースにおける各行のデータに対して繰返され、該データベースから１つの行のデータを読み出すための読み出し用コード、該データベースから読み出した該行のデータを解析するための解析用コード、少なくとも１つの所定の規則に基づいて１つの行のデータを除去するか又は維持するかを決定するための決定用コード、を包含する第一ステップコードを包含することが可能である。第二ステップコードは、該行のデータが該少なくとも１つの所定の規則に準拠することが決定される場合に該行のデータを再ロードするための再ロード用コード、該行のデータが該少なくとも１つの所定の規則に準拠しないことが決定される場合に該行のデータを除去するための除去用コード、再ロードした行のデータに対応するキーを包含させるために該データベースに関するインデックスを再構築するための再構築用コード、を包含することが可能である。
【００２１】
データベースにおけるテーブルスペースを再編成する２ステップ方法において、該２ステップ方法は該データベースの複数個のパーティションのうちの各パーティション及び該データベースの１つのパーティションにおける各行に対して繰返され、該データベース及び関連するインデックスを該複数個のパーティション内に区画化し、該データベースの該複数個のパーティションのうちの１つのパーティション及び該関連するインデックスの関連するパーティションを選択し、該データベースの該選択した１つのパーティションから１つの行のデータを読み出し、該選択した１つのパーティションから読み出した該行のデータを解析し、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定する、ことを包含する第一ステップを包含することが可能である。第二ステップは、該行のデータが該少なくとも１つの所定の規則に準拠することが決定される場合に該データベースの該選択した１つのパーティション内へ該行のデータを再ロードし、該行のデータが該少なくとも１つの所定の規則に準拠しないことが決定される場合に該行のデータを除去し、且つ再ロードした行のデータに対応するキーを包含させるために関連するインデックスの関連するパーティションを再構築する、ことを包含することが可能である。
【００２２】
データベースのテーブルスペースを再編成する２ステップ処理を実施するシステムにおいて、該２ステップ処理は該データベースの１つのパーティションにおける各行及び該データベースの複数個のパーティションのうちの各パーティションに対して繰り返され、該データベース及び関連するインデックスを該複数個のパーティションへ区画化し、該データベースの該複数個のパーティションのうちの１つのパーティション及び該関連するインデックスの関連するパーティションを選択し、該データベースの該選択した１つのパーティションから１つの行のデータを読み出し、該選択した１つのパーティションから読み出した該行のデータを解析し、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定する、ことを包含している第一ステップを包含することが可能である。第二ステップは、該行のデータが該少なくとも１つの所定の規則に準拠することが決定される場合に該データベースを該データベースの該選択した１つのパーティション内へ再ロードし、該行のデータが該少なくとも１つの所定の規則に準拠しないことが決定される場合に該行のデータを除去し、再ロードした行のデータに対応するキーを包含させるために該関連するインデックスの関連するパーティションを再構築する、ことを包含することが可能である。
【００２３】
２つのステップでデータベースのテーブルスペースを再編成するコンピュータによって実行可能なコードを包含しているコンピュータ記録媒体において、該２つのステップは該データベースの１つのパーティションの各行のデータ及び該データベースの複数個のパーティションのうちの各パーティションに対して繰返され、該コンピュータによって実行可能なコードが、該データベース及び関連するインデックスを複数個のパーティションへ区画化するための区画化用コード、該データベースの該複数個のパーティションのうちの１つのパーティション及び該関連するインデックスの関連するパーティションを選択するためのパーティション選択用コード、該選択した１つのパーティションから１つの行のデータを読み出すための読み出し用コード、該選択した１つのパーティションから読み出した該行のデータを解析するための解析用コード、少なくとも１つの所定の規則に基づいて該行のデータを除去するか又は維持するかを決定する決定用コード、を包含する第一ステップコードを包含することが可能である。第二ステップコードは、該行のデータが該少なくとも１つの所定の規則に準拠することが決定される場合に該データベースの該選択した１つのパーティション内に該行のデータを再ロードするための再ロード用コード、該行のデータが該少なくとも１つの所定の規則に準拠しないことが決定される場合に該行のデータを除去するための除去用コード、再ロードされた行のデータに対応するキーを包含させるために該関連するインデックスの関連するパーティションを再構築する再構築用コード、を包含することが可能である。
【発明を実施するための最良の形態】
【００２４】
図面に例示した本発明の好適実施例を説明する場合に、説明の便宜上特定の用語を使用する。然しながら、本発明はそのように選択した特定の用語に制限されることを意図したものではなく、各特定の要素は同様の態様で動作する全ての技術的均等物を包含することを理解すべきである。
【００２５】
本方法及びシステムは、データベースの１つの行を読み出し且つ制約との準拠性即ち適合性及び参照一貫性に対して該行におけるデータをチェックする。該行内のデータがこれらの条件を満足する場合には、該行のデータは該データベース内に再ロードされ、そうでない場合には、該行のデータは除去される。次いで、該データベース内に再ロードされたデータの行に関連するキーのみを包含させるために該データベースに関連するインデックスが再構築される。該行のデータが読み出され、解析され且つ再ロード又は除去され、且つ該データベースに関連するインデックスが単一のシームレスな処理において再構築される。
【００２６】
本システム及び方法は、例えばＯＳ／３９０、パソコン（ＰＣ）、ハンドヘルドコンピュータ、サーバー等のコンピュータシステム上で稼動するソフトウエアアプリケーションの態様で実現することが可能である。該コンピュータシステムはデータベースへリンクさせることが可能である。該リンクは、例えば、例えば直接的ハードワイヤー又はワイヤレス接続等の直接リンクを介して、例えばローカルエリアネットワーク等のネットワーク接続を介して、又はインターネットを介して接続することが可能である。
【００２７】
本システム及び方法を実現することが可能なコンピュータシステムの１例を図４に示してある。大略システム４００として参照する本コンピュータシステムは、中央処理装置（ＣＰＵ）４０２、メモリ４０４、プリンタインターフェース４０６、ディスプレイユニット４０８、ＬＡＮ（ローカルエリアネットワーク）データ伝送制御器４１０、ＬＡＮインターフェース４１２、ネットワーク制御器４１４、内部バス４１６、例えばキーボード、マウス等の１つ又はそれ以上の入力装置４１８を包含することが可能である。図示した如く、システム４００はリンク４２２を介してデータベース４２０へ接続することが可能である。
【００２８】
図５は部品番号（ｐａｒｔ−ｎｏ）、プロダクト名（ｐｒｏｄｕｃｔ−ｎａｍｅ）、満了日（ｅｘｐｉｒｅ−ｄａｔｅ）を表わす列を包含する部品番号テーブルと呼ばれるデータベース又はリレーションを例示している。該データベースにおけるデータは、上述したように、ある制約を満足すべきであり且つ参照一貫性を維持すべきである。１つの行のデータがこのような条件を満足しない場合には、その行のデータにおけるデータは削除されるべきであり且つその行のデータに関連するキーは該データベースに関連するインデックスから削除される。
【００２９】
本発明は、データベースを再編成する方法を提供するものであり、それは、データベースの各行におけるデータが所定の制約及び参照一貫性に対する条件に適合するものであることの両方をチェックすることを提供し、尚且つ、チェック動作期間中にデータの削除により残される場合のあるホールを除去するために該データベース及び該データベースに関連するインデックスの再編成を提供する。
【００３０】
本方法は、データベースにおける各行のデータを読み出し且つ所定の規則に従って該データを解析することを提供する。該行のデータは該所定の規則に従って維持されるか又は削除される。維持される行のデータは該データベース内に再ロードされる。該データベースに関連するインデックスは、維持される行のデータに対応するキーを包含するために再構築される。本方法は、該データベースにおける各行のデータに対して繰返される。
【００３１】
本発明の１実施例に基づくデータベースを再編成する方法を図６を参照して説明する。ステップＳ６０において、１つの行のデータが該データベースから読み出される。該行のデータがステップ６２において所定の規則に従って解析される。該行のデータは所定の規則に従って除去されるか又は維持される。該所定の規則は、チェック制約、又は参照一貫性に対する制約及び条件を包含することが可能である。これらの規則は、データベースアドミニストレーターにより予め決定することが可能である。これらの規則は、適宜、データベースアドミニストレーターにより修正することが可能である。１つの行のデータが維持されるべきでない場合には（Ｎｏ、ステップＳ６３）、該行のデータは除去される（ステップＳ６５）。該行のデータが維持されるべき場合には（Ｙｅｓ、ステップＳ６３）、該行のデータは該データベース内に再ロードされる。ステップＳ６６において、該行のデータがステップＳ６４において該データベース内に再ロードされた場合には維持された行のデータに対応するインデックスキーと共に該データベースに関連するインデックスが再構築される。ステップＳ６８において、別の行又は次の行が該インデックス内に存在するか否かに関しての決定が行われる。次の行が存在しない場合には（Ｎｏ、ステップＳ６８）、本方法は終了する。次の行が存在する場合には（Ｙｅｓ、ステップＳ６８）、本処理はステップＳ６０へリターンし、そこで次の行がデータベースから読み出される。本方法は該データベースにおける各行に対して繰返される。
【００３２】
上述したように、１つの行内のデータが制約を満足しないか又は参照一貫性に対する条件を満足するものでない場合には、該データはデータベースから除去される。該データは、削除ステップにおいて除去することが可能であるか、又は単純にデータベースに再ロードさせない場合がある。１つの行内のデータが制約及び参照一貫性に対する条件を満足する場合には、該データは維持し且つデータベースの次の空の行内へデータベース内に再ロードさせることが可能である。空の行は、データが現在格納されていない行である。一方、維持されたデータの行は新たなデータベースの次のオープンの行内に新たなデータベース内にロードさせることが可能である。従って、データベース内に空のスペースが残されることはない。その結果得られる再ロードされたデータベース又は新たなデータベースは制約及び参照一貫性に対する条件に準拠即ち適合するデータの行のみを包含している。更に、データベースに関連するインデックスはオンザフライで再構築することが可能であり且つ再ロードしたデータベース内に存在する行に関連するキーを包含している。
【００３３】
本発明方法を使用して、各行のデータを一度だけ読み出し且つ書き直すことが可能であり、従って本方法の入力及び出力ステージ期間中に発生するエラーの確率を減少させることが可能である。更に、データベースにおけるテーブルスペースを再編成するために使用する時間を減少させるために、テーブルの行のデータをチェックし且つ再編成するために１つのユーティリティを稼動させることが必要であるに過ぎない。従って、ユーザアプリケーション及びオンラインコマースに対してテーブルが使用不可能であるダウンタイムを減少させることが可能である。
【００３４】
本発明の別の実施例によれば、データベースを複数個のパーティションに分割してデータベースを再編成する方法が提供される。
【００３５】
本方法は、データベース及び関連するインデックスを複数個のパーティションへ分離するステップを包含している。データベースの複数個のパーティションのうちの１つを、関連するインデックスの関連するパーティションと共に選択し、且つ１つの選択したパーティションの１つの行のデータを該パーティションから読み出す。所定の規則に従って解析した行のデータは、該所定の規則に従って維持されるか又は除去される。維持される行のデータは選択した１つのパーティション内へ再ロードされる。関連するインデックスの関連するパーティションが、データベースの選択した１つのパーティション内へ再ロードして維持された行のデータに対応するキーを包含するために再構築される。該パーティション内の各行のデータが読み出され且つ各パーティションが解析される。該複数個のパーティションの１つのパーティションのみが一度に解析される。
【００３６】
上述したように、本再編成方法が機能している間に、データベース内のデータはアプリケーション及びｅコマースにとって使用可能ではない。再編成及びチェック用機能を実施するために必要な時間を減少させることはデータが使用可能な時間の量を減少させるものであるが、該データはある時間期間の間完全に使用不可能である。データベースを複数個のパーティションへ区画化し且つ各パーティションを独立的に再編成することは、データベースの他のパーティションをユーザアプリケーション及びｅコマースに対して使用可能なままとさせることを可能とする。このように、データベースにおけるデータの少なくとも幾つかは常に使用可能である。
【００３７】
本方法を更に図７を参照して説明する。ステップＳ７０において、データベース及び関連するインデックスを夫々パーティションに分割する。関連するインデックスのパーティションはデータベースのものに対応している。パーティションの数はデータベースの相対的な寸法に依存する場合があり且つユーザ又はデータベースアドミニストレーターによって調節することが可能である。この柔軟性は、本方法を多数の異なる種類のデータベースに対して使用すべく適合させることを可能とする。ステップＳ７１において、データベースの複数個のパーティションのうちの１つのパーティションが、関連するインデックスの関連するパーティションと共に、再編成のために選択される。データベースのこの選択された１つのパーティションは複数個のパーティションのうちのいずれかとすることが可能である。ユーザ又はデータベースアドミニストレーターは、例えば使用頻度等のファクタに基づいて、又は、多分、パーティション内に包含されているデータの特性に基づいて、最初にパーティションのうちのどれを再編成するかを指定することが可能である。注意すべきことであるが、ユーザ又はデータベースアドミニストレーターは、又、制約及び参照一貫性に対する条件を設定し、従って、パーティションを編成する最良の順番を決定するのに最良のポジションにいる蓋然性がある。ステップＳ７２乃至ステップＳ７８は図６を参照して上述したステップＳ６２乃至Ｓ６８と実質的に同様に動作するか、幾つかの行のデータがデータベースの選択されたパーティションから読み出され且つその中に再ロードされ且つインデックスの関連するパーティションが再構築される点が異なっている。次の行が存在しない場合には（Ｎｏ、ステップ７８）、本方法はステップ７９へ進行し、そこで別のパーティション、即ちデータベースの次のパーティションが存在するか否かの決定を行うことが可能である。次のパーティションが存在しない場合には（Ｎｏ、ステップ７９）、本方法は終了する。次のパーティションが存在している場合には（Ｙｅｓ、ステップ７９）、本方法はステップ７１へリターンし、そこで次のパーティションが選択される。ステップ７８において、次の行が存在する場合には（Ｙｅｓ、ステップ７８）、本方法はステップ７２へリターンし且つ次の行のデータがデータベースの選択された１つのパーティションから読み出される。
【００３８】
上述したように、１つの行内のデータが制約を満足しないか又は参照一貫性に対する条件を満足しない場合には、該データはデータベースから除去される。該データは、削除ステップにおいて除去するか、又は、単純に、データベースに再ロードされることがない。１つの行内のデータが制約及び参照一貫性に対する条件を満足する場合には、該データは維持され且つ次の空の行内へデータベースの選択したパーティション内へ再ロードさせることが可能である。一方、該維持された行のデータは、新たなデータベースの次のオープンの行内へ新たなデータベースの１つのパーティション内へロードさせることが可能である。従って、データベースの選択されたパーティション又は新たなデータベースのパーティションのいずれかにおいて空のスペースが残されることはない。結果的に得られるデータベースの再ロードされたパーティション又は新たなデータベースのパーティションは、制約及び参照一貫性に対する条件に準拠するデータの行のみを包含する。更に、データベース又は新たなデータベースに関連するインデックスの関連するパーティションは、オンザフライで再構築することが可能であり、且つデータベースの再ロードしたパーティション又は新たなデータベースのパーティション内に存在する行に関連するキーを包含している。
【００３９】
上述した方法及びシステムは一般的にデータベースに対して適用可能なものであるが、このようなデータベースの特定の例はＤＢ２環境において構築されたデータベースである。
【００４０】
本発明は、本発明に基づいてプログラムされた１つ又はそれ以上の従来の汎用デジタルコンピュータ及び／又はサーバーを使用して実現することが可能である。本発明の開示に基づいて適宜のソフトウエアコーディングを当業者により容易に準備することが可能である。本発明は、又、応用特定集積回路を準備することにより又は従来のコンポーネントの適宜のネットワークを相互接続することにより実現することも可能である。
【００４１】
本発明の種々の付加的な修正及び変形が上述した説明に鑑み可能である。従って、理解すべきことであるが、技術的範囲を逸脱することなしに、本発明を本明細書に特定的に記載したもの以外で実施することが可能である。
【図面の簡単な説明】
【００４２】
【図１】データが格納されるデータベースの概略図。
【図２】チェックユーティリティの動作を例示したフローチャート。
【図３】再編成ユーティリティの動作を例示したフローチャート。
【図４】本発明に基づく方法及びシステムを実現するためのコンピュータシステムを例示したブロック図。
【図５】データが格納されるデータの概略図。
【図６】本発明の１実施例に基づいてデータベースを再編成する方法を例示したフローチャート。
【図７】本発明の別の実施例に基づいてデータを編成する方法を例示したフローチャート。
【図１】
2004536408.tif 000003
【図２】
2004536408.tif 000004
【図３】
2004536408.tif 000005
【図４】
2004536408.tif 000006
【図５】
2004536408.tif 000007
【図６】
2004536408.tif 000008
【図７】
2004536408.tif 000009
【国際公開パンフレット】
2004536408.tif 000010
2004536408.tif 000011
2004536408.tif 000012
2004536408.tif 000013
2004536408.tif 000014
2004536408.tif 000015
2004536408.tif 000016
2004536408.tif 000017
2004536408.tif 000018
2004536408.tif 000019
2004536408.tif 000020
2004536408.tif 000021
2004536408.tif 000022
2004536408.tif 000023
2004536408.tif 000024
2004536408.tif 000025
2004536408.tif 000026
2004536408.tif 000027
2004536408.tif 000028
2004536408.tif 000029
2004536408.tif 000030
2004536408.tif 000031
2004536408.tif 000032
2004536408.tif 000033
2004536408.tif 000034
2004536408.tif 000035
2004536408.tif 000036
2004536408.tif 000037
2004536408.tif 000038
2004536408.tif 000039
2004536408.tif 000040
2004536408.tif 000041
2004536408.tif 000042
2004536408.tif 000043
2004536408.tif 000044
2004536408.tif 000045
2004536408.tif 000046
2004536408.tif 000047
2004536408.tif 000048
2004536408.tif 000049
2004536408.tif 000050
2004536408.tif 000051
2004536408.tif 000052
【国際公開パンフレット（コレクトバージョン）】
2004536408.tif 000053
2004536408.tif 000054
【国際調査報告】
2004536408.tif 000055
2004536408.tif 000056
2004536408.tif 000057