CN1533540A - 用于重新组织数据库中表格空间的方法和系统 - Google Patents

用于重新组织数据库中表格空间的方法和系统 Download PDF

Info

Publication number
CN1533540A
CN1533540A CNA028144090A CN02814409A CN1533540A CN 1533540 A CN1533540 A CN 1533540A CN A028144090 A CNA028144090 A CN A028144090A CN 02814409 A CN02814409 A CN 02814409A CN 1533540 A CN1533540 A CN 1533540A
Authority
CN
China
Prior art keywords
database
line data
data
line
code
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.)
Pending
Application number
CNA028144090A
Other languages
English (en)
Inventor
С�����ࡤB������ƥ
小阿曼多·B·伊西匹
��Τ����˹
斯蒂芬·韦弗
约瑟夫·泽伦卡
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.)
CA Inc
Original Assignee
Computer Associates Think Inc
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 Computer Associates Think Inc filed Critical Computer Associates Think Inc
Publication of CN1533540A publication Critical patent/CN1533540A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种重新组织数据库中表格空间的方法,可以包括:从数据库中读取一行数据,分析从数据库中读出的该行数据,基于至少一个预先确定的规则来确定是删去还是保留该行数据,当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库中,当确定该行数据不符合该至少一个预先确定的规则时删去该行数据,以及重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字。确定、重新装入、删去和重建步骤对于数据库中的每行数据重复进行。

Description

用于重新组织数据库中 表格空间的方法和系统
技术领域
本公开内容涉及数据库,尤其涉及一种用于重新组织数据库中表格空间的方法和系统。
背景技术
数据库中的数据可以以数据的列和行的形式作为表格存在,如图1中所示。在该实例中,“产品”表格包括多个列(产品名,零件号码,终止日期),用于存储与不同产品(产品1,产品2,产品3等)相关的数据行。包括多个与数据库中的行相关的索引关键字的索引可以被提供,以允许快速存取数据库中的数据。索引关键字是唯一地标识数据库中的每行的属性的最小集。例如,在图1所示的数据库中,“产品名”可以是关键字,假设为了简单,每个产品具有唯一的产品名。换句话说,产品名可以用来唯一地标识行,其中关于该产品的数据存储于数据库中的该行中。
数据库或关系的每行中的数据应当被分析,以确保数据满足某些检查约束并保持引用完整性。约束是限制数据库或表格中的值的规则。例如,在图1中所示的数据库中,约束的实例可以是终止日期<2001年5月16日。也就是,在终止日期列中列出的每个值应当小于2001年5月16日。
引用完整性要求所有非空外来关键字对应于某个关系中的实际关键字。外来关键字可以是一个表格中的属性或属性集,其构成某个其他表格中的关键字。外来关键字用来表明关系之间的逻辑链接。例如,在图1中所示的数据库中,零件号码外来关键字(零件号码)可以将产品表格与零件表格(没有显示)相关。引用完整性确保零件号码属性保持为零件表格中的关键字,使得产品表格与零件表格(没有显示)之间的关系保持有效。通常,检查约束和引用完整性的要求由数据库管理员预先确定,并且可以依赖于使用数据库中数据的应用而改变。
当数据库或关系的一行中的数据不满足约束或不保持引用完整性时,数据可以删除。另外,与数据从中删除的行相对应的索引关键字可以从索引中删除。删除之后,数据库和索引可能具有包括不具有数据的行的“洞”和/或关键字被删除的空间。为了使数据库和索引中空间的有效使用达到最大,这些洞应当被去除。
目前,检查实用程序可以执行检查以及不符合约束或引用完整性的数据的删除。然后,单独的重新组织实用程序可以用来重新组织数据的剩余行以重新组合数据库,同时删去没有数据的行。另外,重新组织实用程序可以重建与重新组织的表格相关的索引,以删去由已删除关键字留下的空间。
用于执行检查数据以检查与约束的符合和引用完整性的方法的检查实用程序的操作在图2中说明。在步骤S20中,检查实用程序从数据库中读出一行数据。在步骤S22中,分析从数据库中读出的数据,以确保数据符合预先确定的检查约束并保持引用完整性。如果来自一行的数据不满足这些要求,检查实用程序可以删除该行中的数据。在步骤S24中,与已删除的行相对应的索引关键字也可以从与数据库相关的索引中删除。在步骤S26中,数据库和索引用由已删除数据和已删除关键字留下的空间来重写。
然后,可以调用重新组织实用程序来以图3中说明的方式删去数据库和索引中的洞(例如由已删除数据和关键字留下的空间)。在步骤S30中,重新组织实用程序读取数据库的一行。在步骤S32中,如果该行中的数据没有被检查实用程序删除,该行重新装入到数据库中。在步骤S34中,索引空间被重建,以包括仅与在步骤S32中由重新组织实用程序重新装入到数据库中的行相对应的索引关键字。
当检查和重新组织数据库中的数据的这些方法工作时,这些方法的一些运行特征可以改进。例如,几个输入/输出操作用来执行这些方法。每行由检查实用程序读出,然后数据库和索引的每页在非一致性数据删除之后重写。然后,重新组织实用程序再次读出数据库的每行,并且将数据没有从中删除的行重新装入到数据库中。然后,重新组织实用程序重建索引空间,以对应于重新装入的数据库。输入/输出操作不必要地重复并且增加了错误引入到表格中的数据中的概率。
这些方法的重复特性也是耗时的。首先,检查实用程序完全地运行,以读出和重写数据库和索引中的数据。然后,重新组织实用程序读出数据库的每行和索引中的相应索引关键字,并且重新装入到数据库并重建索引空间。当这些实用程序正在运行时,表格中的数据对于用户应用程序或对于联机事务处理是不可用的。
因此,期望提供一种方法和系统,其用于以更有效的方式来检查和重新组织数据库或关系中的数据,使得表格中的数据将仅在相对短的时间段上不可用。
发明内容
一种重新组织数据库中表格空间的方法,可以包括:从数据库中读取一行数据,分析从数据库中读出的该行数据,基于至少一个预先确定的规则来确定是删去还是保留该行数据,当确定该行数据符合该至少一个预先确定的规则时将该行数据重新装入到数据库中,当确定该行数据不符合该至少一个预先确定的规则时删去该行数据,重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字,以及对于数据库中的每行数据重复确定,重新装入,删去和重建。
一种用于重新组织数据库中表格空间的系统,可以包括:用于从数据库中读出一行数据的读取设备,用于分析该行数据以基于至少一个预先确定的规则来确定是删去还是保留该行数据的分析设备,用于当确定该行数据满足该至少一个预先确定的规则时重新装入该行数据的重新装入设备,用于当确定该行数据不符合该至少一个预先确定的规则时删去该行数据的删去设备,以及用于重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字的重建设备,其中数据库中的每行数据均从数据库中读出并分析。
一种包括用于重新组织数据库中表格空间的计算机可执行代码的计算机记录介质,其中计算机可执行代码,可以包括:用于从数据库中读出一行数据的读取代码,用于分析从数据库中读出的该行数据的分析代码,用于基于至少一个预先确定的规则来确定是删去还是保留一行数据的确定代码,用于当确定该行数据符合该至少一个预先确定的规则时重新装入该行数据的重新装入代码,用于当确定该行数据不符合该至少一个预先确定的规则时删去该行数据的删去代码,用于重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字的重建代码,以及用于对于数据库中的每行数据重复确定,重新装入,删去和重建的重复代码。
一种重新组织数据库中表格空间的方法,可以包括:将数据库和相关索引划分成多个部分,选择数据库的多个部分中的一个部分以及相关索引的相关部分,从数据库的所选一个部分中读出一行数据,分析从所选一个部分中读出的该行数据,基于至少一个预先确定的规则来确定是删去还是保留该行数据,当确定该行数据符合该至少一个预先确定的规则时将该行数据重新装入到数据库的所选一个部分中,当确定该行数据不符合该至少一个预先确定的规则时删去该行数据,重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字,对于数据库的所选一个部分中的每行重复确定、重新装入、删去和重建,以及对于数据库中的每个部分重复选择、读取、分析、确定、重新装入、删去和重建。
一种用于重新组织数据库中表格空间的系统,可以包括:用于将数据库和相关索引划分成多个部分的划分设备,用于选择数据库的多个部分中的一个部分以及相关索引的相关部分的部分选择设备,用于从数据库的所选一个部分中读出一行数据的读取设备,用于分析从所选一个部分中读出的该行数据并且基于至少一个预先确定的规则来确定是删去还是保留该行数据的分析设备,用于当确定该行数据符合该至少一个预先确定的规则时将该行数据重新装入到数据库的所选一个部分中的重新装入设备,用于当确定该行数据不符合该至少一个预先确定的规则时删去该行数据的删去设备,以及用于重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字的重建设备,其中数据库的所选一个部分中的每行以及数据库的多个部分中的每个部分由该系统来分析。
一种包括用于重新组织数据库中表格空间的计算机可执行代码的计算机记录介质,其中计算机可执行代码可以包括:用于将数据库和相关索引划分成多个部分的划分代码,用于选择数据库的多个部分中的一个部分以及相关索引的相关部分的部分选择代码,用于从所选一个部分中读出一行数据的读取代码,用于分析从所选一个部分中读出的该行数据的分析代码,用于基于至少一个预先确定的规则来确定是删去还是保留该行数据的确定代码,用于当确定该行数据符合该至少一个预先确定的规则时将该行数据重新装入到数据库的所选一个部分中的重新装入代码,用于当确定该行数据不符合该至少一个预先确定的规则时删去该行数据的删去代码,用于重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字的重建代码,用于对于数据库的所选一个部分中的每行重复确定,重新装入,删去和重建的行重复代码,以及用于对于数据库中的每个部分重复选择,读取,分析,确定,重新装入,删去和重建的部分重复代码。
一种重新组织数据库中表格空间的两步方法,该两步方法对于数据库中的每行来重复,可以包括第一步,第一步包括从数据库中读取一行数据,分析从数据库中读出的该行数据,基于至少一个预先确定的规则来确定是删去还是保留该行数据。第二步可以包括当确定该行数据符合该至少一个预先确定的规则时将该行数据重新装入到数据库中,当确定该行数据不符合该至少一个预先确定的规则时删去该行数据,以及重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字。
一种执行重新组织数据库中表格空间的两步法的系统,该两步法对于数据库中的每行来重复,可以包括第一步,第一步包括从数据库中读取一行数据,分析从数据库中读出的该行数据,以及基于至少一个预先确定的规则来确定是删去还是保留该行数据。第二步可以包括当确定该行数据符合该至少一个预先确定的规则时将该行数据重新装入到数据库中,当确定该行数据不符合该至少一个预先确定的规则时删去该行数据,以及重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字。
一种包括用于以两步重新组织数据库中表格空间的计算机可执行代码的计算机记录介质,该两步对于数据库中的每行数据来重复,可以包括第一步代码,第一步代码包括用于从数据库中读出一行数据的读取代码,用于分析从数据库中读出的该行数据的分析代码,以及用于基于至少一个预先确定的规则来确定是删去还是保留一行数据的确定代码。第二步代码可以包括用于当确定该行数据符合该至少一个预先确定的规则时重新装入该行数据的重新装入代码,用于当确定该行数据不符合该至少一个预先确定的规则时删去该行数据的删去代码,以及用于重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字的重建代码。
一种重新组织数据库中表格空间的两步方法,该两步方法对于数据库的一个部分中的每行以及数据库的多个部分中的每个部分来重复,可以包括第一步,第一步包括将数据库和相关索引划分成多个部分,选择数据库的多个部分中的一个部分以及相关索引的相关部分,从数据库的所选一个部分中读出一行数据,分析从所选一个部分中读出的该行数据,基于至少一个预先确定的规则来确定是删去还是保留该行数据。第二步可以包括当确定该行数据符合该至少一个预先确定的规则时将该行数据重新装入到数据库的所选一个部分中,当确定该行数据不符合该至少一个预先确定的规则时删去该行数据,以及重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字。
一种执行重新组织数据库的表格空间的两步法的系统,该两步法对于数据库的一个部分中的每行以及数据库的多个部分中的每个部分来重复,可以包括第一步,第一步包括将数据库和相关索引划分成多个部分,选择数据库的多个部分中的一个部分以及相关索引的相关部分,从数据库的所选一个部分中读出一行数据,分析从所选一个部分中读出的该行数据,基于至少一个预先确定的规则来确定是删去还是保留该行数据。第二步可以包括当确定该行数据符合该至少一个预先确定的规则时将该行数据重新装入到数据库的所选一个部分中,当确定该行数据不符合该至少一个预先确定的规则时删去该行数据,以及重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字。
一种包括用于以两步重新组织数据库的表格空间的计算机可执行代码的计算机记录介质,该两步对于数据库的一个部分中的每行数据以及数据库的多个部分中的每个部分来重复,该计算机可执行代码可以包括第一步代码,第一步代码包括用于将数据库和相关索引划分成多个部分的划分代码,用于选择数据库的多个部分中的一个部分以及相关索引的相关部分的部分选择代码,用于从所选一个部分中读出一行数据的读取代码,用于分析从所选一个部分中读出的该行数据的分析代码,以及用于基于至少一个预先确定的规则来确定是删去还是保留该行数据的确定代码。第二步代码可以包括用于当确定该行数据符合该至少一个预先确定的规则时将该行数据重新装入到数据库的所选一个部分中的重新装入代码,用于当确定该行数据不符合该至少一个预先确定的规则时删去该行数据的删去代码,以及用于重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字的重建代码。
附图说明
本公开内容的更完全理解及其许多伴随优点将通过当连同附随附图一起考虑时参考下面的详细描述而容易获得,以及同样变得更好理解,其中:
图1是数据存储于其中的数据库的例示。
图2是说明检查实用程序的操作的流程图。
图3是说明重新组织实用程序的操作的流程图。
图4是说明用于实现根据本公开内容的方法和系统的计算机系统的框图。
图5是数据存储于其中的数据库的例示。
图6是说明根据本公开内容的一种实施方案用于重新组织数据库的方法的流程图。
图7是说明根据本公开内容的另一种实施方案、组织数据库的方法的流程图。
具体实施方式
在描述附图中说明的本公开内容优选实施方案的过程中,为了清楚而使用具体的术语。但是,本公开内容并不旨在限制于如此选择的具体术语,并且应当理解,每个具体要素包括以类似方式操作的所有技术等价物。
本方法和系统提出,读出数据库的一行并且检查该行中的数据以检查与约束的符合和引用完整性。如果该行中的数据满足这些要求,该行数据重新装入到数据库中,否则,删去该行数据。然后,重建与数据库相关的索引,以仅包括与重新装入到数据库中的数据行相关的关键字。在单个无缝过程中,数据行被读出,分析和重新装入或删去,并且与数据库相关的索引被重建。
该系统和方法可以以在计算机系统例如大型机例如OS/390,个人计算机(PC),便携计算机,服务器等上运行的软件应用程序的形式来实现。计算机可以链接到数据库。该链接可以是,例如经由直接链路例如直接硬线或无线连接,经由网络连接例如局域网,或者经由因特网。
能够实现本系统和方法的计算机系统的实例在图4中显示。通常称作系统400的计算机系统可以包括中央处理器(CPU)402,存储器404,打印机接口406,显示装置408,LAN(局域网)数据传输控制器410,LAN接口412,网络控制器414,内部总线416,以及一个或多个输入设备418例如键盘,鼠标等。如所示,系统400可以经由链接422连接到数据库420。
图5说明称作零件号码表格的数据库或关系,其包括代表零件号码(零件号码),产品名(产品名),和终止日期(终止日期)的列。数据库中的数据应当满足某些约束并且应当保持引用完整性,如上所述。当一行数据不满足这些要求时,该行数据中的数据应当删除,并且与该行数据相关的关键字从与数据库相关的索引中删除。
本申请目的在于提供一种重新组织数据库的方法,其提出检查数据库的每行中的数据符合预先确定的约束和引用完整性的要求,同时也提出重新组织数据库和与数据库相关的索引,以删去可能由在检查操作过程中数据的删除而留下的任何洞。
该方法提出,读出数据库中的每行数据并且根据预先确定的规则分析数据。该行数据根据预先确定的规则或者保留或者删除。保留的数据行重新装入到数据库中。与数据库相关的索引被重建,以包括与保留的数据行相对应的关键字。该方法对于数据库中的每行数据来重复。
一种根据本公开内容一种实施方案、用于重新组织数据库的方法参考图6来说明。在步骤S60中,一行数据从数据库中读出。在步骤S62,该行数据根据预先确定的规则来分析。该行数据根据预先确定的规则删去或保留。预先确定的规则可以包括检查约束,或者引用完整性的约束和要求。这些规则可以由数据库管理员预先确定。这些规则可以由数据库管理员在适当的时候修改。如果一行数据不将被保留(否,步骤S63),删去该行数据(步骤S65)。如果该行数据将被保留(是,步骤S63),该行数据重新装入到数据库中。在步骤S66中,与数据库相关的索引使用与保留的数据行相对应的索引关键字或关键字来重建,如果在步骤S64中该行数据已经重新装入到数据库中。在步骤S68,做关于另一行,或下一行是否存在于索引中的确定。如果没有下一行(否,步骤S68),该方法结束。如果有下一行(是,步骤S68),过程返回到步骤S60,在那里下一行从数据库中读出。该方法对于数据库中的每行来重复。
如上所述,当一行中的数据不满足约束或不满足引用完整性的要求时,该数据从数据库中删去。该数据可以在删除步骤中删去或者可以简单地不重新装入到数据库中。当一行中的数据满足约束和引用完整性的要求时,该数据可以保留并重新装入到数据库中装入到数据库的下一个空行中。空行是当前没有存储数据的行。作为选择,保留的数据行可以装入到新的数据库中装入到新的数据库的下一个空白行中。这样,没有空白空间留在数据库中。作为结果的重新装入的数据库或新的数据库仅包括符合约束和引用完整性要求的数据行。另外,与数据库相关的索引可以快速重建,并且包括与重新装入的数据库中存在的行相关的关键字。
使用本公开内容的方法,数据的每行可以读出和重写仅一次,使得在方法的输入和输出阶段中错误发生的概率可以减小。另外,仅一个实用程序需要运行,以检查和重新组织表格的数据行,减少用于重新组织数据库中表格空间的时间。因此,表格对于用户应用和联机商务不可用的故障时间可以减少。
根据本公开内容的另一种实施方案,提供一种重新组织数据库的方法,其中数据库划分成多个部分。
该方法包括将数据库和相关索引分割成多个部分的步骤。数据库的多个部分中的一个连同相关索引的相关部分一起来选择,并且所选一个部分的一行数据从该部分中读出。根据预先确定的规则来分析的该行数据,根据预先确定的规则或者保留或者删去。保留的数据行重新装入到所选一个部分中。相关索引的相关部分被重建,以包括与重新装入到数据库的所选一个部分中的保留数据行相对应的关键字。读出该部分中的每行数据并且分析每个部分。一次仅分析多个部分中的一个部分。
如上所述,当重新组织方法运行时,数据库中的数据对于应用和电子商务不可用。虽然减少执行重新组织和检查操作所需的时间减少了数据不可用的时间量,数据仍然在一段时间上完全不可用。将数据库划分成多个部分并且独立地重新组织每个部分使得数据库的其他部分保持对于用户应用和电子商务可用。如此,数据库中数据的至少一些将总是可用的。
该方法参考图7进一步描述。在步骤S70,数据库和相关索引分别划分成部分。相关索引的部分对应于数据库的部分。部分的数目可以依赖于数据库的相对大小,并且可以由用户或数据库管理员来调整。这种灵活性使得该方法用于在许多不同种的数据库中使用。在步骤S71中,数据库的多个部分中的一个部分连同相关索引的相关部分一起被选择,以重新组织。数据库的该所选一个部分可以是多个部分中的任意一个。用户或数据库管理员可以基于因素例如使用频率或者可能基于包含在部分中的数据的特性来指定哪个部分首先被重新组织。应当注意,用户或数据库管理员也设置约束和引用完整性的要求,因此可能最用于确定组织部分的最佳次序。步骤S72~步骤S78基本上如上面参考图6描述的步骤S62~S68来操作,除了数据行从数据库的所选部分中读出并且重新装入到数据库的所选部分中,以及索引的相关部分被重建。如果下一行不存在(否,步骤S78),该方法可以继续到步骤S79,在那里可以做关于数据库的另一个部分或下一个部分是否存在的确定。如果不存在下一个部分(否,步骤S79),该方法结束。如果下一个部分存在(是,步骤S79),该方法可以返回到步骤S71,在那里选择下一个部分。如果在步骤S78,下一行存在(是,步骤S78),该方法可以返回到步骤S72,并且下一行数据从数据库的所选一个部分中读出。
如上所述,当一行中的数据不满足约束或不满足引用完整性的要求时,该数据从数据库中删去。该数据可以在删除步骤中删去或者可以简单地不重新装入到数据库中。当一行中的数据满足约束和引用完整性的要求时,该数据可以保留并重新装入到数据库的所选部分中装入到下一个空行中。作为选择,保留的数据行可以装入到新的数据库的一个部分中装入到新的数据库的下一个空白行中。这样,没有空白空间留在数据库的所选部分或新的数据库的部分中。数据库的作为结果的重新装入的部分或新的数据库的部分仅包括符合约束和引用完整性要求的数据行。另外,与数据库或新的数据库相关的索引的相关部分可以快速重建,并且包括与数据库的重新装入的部分或新的数据库的部分中存在的行相关的关键字。
虽然上述方法和系统可应用于通常的数据库,这种数据库的具体实例是在DB2环境中建造的数据库。
本公开内容可以使用根据本说明书的讲授编程的一个或多个常规通用数字计算机和/或服务器来方便地实现。适当的软件编码可以由熟练程序员基于本公开内容的讲授来容易地准备。本公开内容也可以通过准备专用集成电路或通过互连常规组件的适当网络来实现。
本公开内容的许多附加修改和改变考虑到上面的讲授是可能的。因此应当理解,在附加权利要求书的范围内,本发明可以不同于如在这里具体描述的来实践。

Claims (55)

1.一种重新组织数据库中表格空间的方法,包括:
从数据库中读取一行数据;
分析从数据库中读出的该行数据;
基于至少一个预先确定的规则来确定是删去还是保留该行数据;
当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库中;
当确定该行数据不符合该至少一个预先确定的规则时删去该行数据;
重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字;以及
对于数据库中的每行数据重复确定、重新装入、删去和重建。
2.权利要求1的方法,其中至少一个预先确定的规则包括约束。
3.权利要求2的方法,其中约束是限制数据库中的值的规则。
4.权利要求1的方法,其中至少一个预先确定的规则是引用完整性的要求。
5.权利要求4的方法,其中引用完整性的要求是要求数据库中所有非空外来关键字都对应于另一个数据库中的实际关键字的规则。
6.权利要求1的方法,其中重新装入步骤包括:
将该行数据重新装入到数据库中该数据库的第一空白行中,其中
第一空白行是数据库中不包含数据的第一行。
7.权利要求1的方法,其中重新装入步骤包括:
将该行数据装入到第二数据库中该第二数据库的第一空白行中,其中
第一空白行是第二数据库中不包含数据的第一行。
8.权利要求1的方法,其中该行数据通过删除该行数据来删去。
9.一种用于重新组织数据库中表格空间的系统,包括:
用于从数据库中读出一行数据的读取设备;
用于分析该行数据以基于至少一个预先确定的规则来确定是删去还是保留该行数据的分析设备;
用于当确定该行数据满足该至少一个预先确定的规则时,重新装入该行数据的重新装入设备;
用于当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据的删去设备;以及
用于重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字的重建设备;其中
数据库中的每行数据均从数据库中读出并分析。
10.权利要求9的系统,其中至少一个预先确定的规则包括约束。
11.权利要求10的系统,其中约束是限制数据库中的值的规则。
12.权利要求9的系统,其中至少一个预先确定的规则是引用完整性的要求。
13.权利要求12的系统,其中引用完整性的要求是要求数据库中所有非空外来关键字都对应于另一个数据库中的实际关键字的规则。
14.权利要求9的系统,其中重新装入设备将该行数据重新装入到数据库中该数据库的第一空白行中,其中
第一空白行是数据库中不包含数据的第一行。
15.权利要求9的系统,其中重新装入设备将该行数据装入到第二数据库中该第二数据库的第一空白行中,其中
第一空白行是第二数据库中不包含数据的第一行。
16.权利要求9的系统,其中删去设备通过删除该行数据来删去该行数据。
17.一种计算机记录介质,包括用于重新组织数据库中表格空间的计算机可执行代码,所述计算机可执行代码包括:
用于从数据库中读出一行数据的读取代码;
用于分析从数据库中读出的该行数据的分析代码;
用于基于至少一个预先确定的规则来确定是删去还是保留一行数据的确定代码;
用于当确定该行数据符合该至少一个预先确定的规则时,重新装入该行数据的重新装入代码;
用于当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据的删去代码;
用于重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字的重建代码;以及
用于对于数据库中的每行数据重复确定、重新装入、删去和重建的重复代码。
18.权利要求17的计算机记录介质,其中至少一个预先确定的规则包括约束。
19.权利要求18的计算机记录介质,其中约束是限制数据库中的值的规则。
20.权利要求17的计算机记录介质,其中至少一个预先确定的规则是引用完整性的要求。
21.权利要求20的计算机记录介质,其中引用完整性的要求是要求数据库中所有非空外来关键字都对应于另一个数据库中的实际关键字的规则。
22.权利要求17的计算机记录介质,其中重新装入代码将该行数据重新装入到数据库中该数据库的第一空白行中,其中
第一空白行是数据库中不包含数据的第一行。
23.权利要求17的计算机记录介质,其中重新装入代码将该行数据装入到第二数据库中该第二数据库的第一空白行中,其中
第一空白行是第二数据库中不包含数据的第一行。
24.权利要求17的计算机记录介质,其中删去代码包括用于删除该行数据的删除代码。
25.一种重新组织数据库中表格空间的方法,包括步骤:
将数据库和相关索引划分成多个部分;
选择数据库的多个部分中的一个部分以及相关索引的相关部分;
从数据库的所选一个部分中读出一行数据;
分析从所选一个部分中读出的该行数据;
基于至少一个预先确定的规则来确定是删去还是保留该行数据;
当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库的所选一个部分中;
当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据;
重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字;
对于数据库的所选一个部分中的每行重复确定、重新装入、删去和重建;以及
对于数据库中的每个部分重复选择,读取,分析,确定、重新装入、删去和重建。
26.权利要求25的方法,其中至少一个预先确定的规则包括约束。
27.权利要求26的方法,其中约束是限制数据库中的值的规则。
28.权利要求25的方法,其中至少一个预先确定的规则是引用完整性的要求。
29.权利要求28的方法,其中引用完整性的要求是要求数据库中所有非空外来关键字都对应于另一个数据库中的实际关键字的规则。
30.权利要求25的方法,其中重新装入步骤包括:
将该行数据重新装入到数据库的所选一个部分中该数据库的所选一个部分的第一空白行中,其中
第一空白行是数据库的所选一个部分中不包含数据的第一行。
31.权利要求25的方法,其中重新装入步骤包括:
将该行数据装入到第二数据库的一个部分中该第二数据库的第一空白行中,其中
第一空白行是第二数据库中不包含数据的第一行。
32.权利要求25的方法,其中该行数据通过删除该行数据来删去。
33.一种用于重新组织数据库中表格空间的系统,包括:
用于将数据库和相关索引划分成多个部分的划分设备;
用于选择数据库的多个部分中的一个部分以及相关索引的相关部分的部分选择设备;
用于从数据库的所选一个部分中读出一行数据的读取设备;
用于分析从所选一个部分中读出的该行数据并且基于至少一个预先确定的规则来确定是删去还是保留该行数据的分析设备;
用于当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库的所选一个部分中的重新装入设备;
用于当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据的删去设备;以及
用于重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字的重建设备;其中
数据库的所选一个部分中的每行以及数据库的多个部分中的每个部分均由该系统来重新组织。
34.权利要求33的系统,其中至少一个预先确定的规则包括约束。
35.权利要求34的系统,其中约束是限制数据库中的值的规则。
36.权利要求33的系统,其中至少一个预先确定的规则是引用完整性的要求。
37.权利要求36的系统,其中引用完整性的要求是要求数据库中所有非空外来关键字都对应于另一个数据库中的实际关键字的规则。
38.权利要求33的系统,其中重新装入设备将该行数据重新装入到数据库的所选一个部分中该数据库的第一空白行中,其中
第一空白行是数据库的所选一个部分中不包含数据的第一行。
39.权利要求33的系统,其中重新装入设备将该行数据装入到第二数据库的一个部分中该第二数据库的第一空白行中,其中
第一空白行是第二数据库中不包含数据的第一行。
40.权利要求33的系统,其中删去设备通过删除该行数据来删去该行数据。
41.一种计算机记录介质,包括用于重新组织数据库中表格空间的计算机可执行代码,所述计算机可执行代码包括:
用于将数据库和相关索引划分成多个部分的划分代码;
用于选择数据库的多个部分中的一个部分以及相关索引的相关部分的部分选择代码;
用于从所选一个部分中读出一行数据的读取代码;
用于分析从所选一个部分中读出的该行数据的分析代码;
用于基于至少一个预先确定的规则来确定是删去还是保留该行数据的确定代码;
用于当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库的所选一个部分中的重新装入代码;
用于当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据的删去代码;
用于重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字的重建代码;
用于对于数据库的所选一个部分中的每行重复确定、重新装入、删去和重建的行重复代码;以及
用于对于数据库中的每个部分重复选择、读取、分析、确定、重新装入、删去和重建的部分重复代码。
42.权利要求41的计算机记录介质,其中至少一个预先确定的规则包括约束。
43.权利要求42的计算机记录介质,其中约束是限制数据库中的值的规则。
44.权利要求41的计算机记录介质,其中至少一个预先确定的规则是引用完整性的要求。
45.权利要求44的计算机记录介质,其中引用完整性的要求是要求数据库中所有非空外来关键字都对应于另一个数据库中的实际关键字的规则。
46.权利要求41的计算机记录介质,其中重新装入代码将该行数据重新装入到数据库的所选一个部分中该数据库的所选一个部分的第一空白行中,其中
第一空白行是数据库的所选一个部分中不包含数据的第一行。
47.权利要求41的计算机记录介质,其中重新装入代码将该行数据装入到第二数据库的一个部分中该第二数据库的第一空白行中,其中
第一空白行是第二数据库中不包含数据的第一行。
48.权利要求41的计算机记录介质,其中删去代码包括用于删除该行数据的删除代码。
49.一种重新组织数据库中表格空间的两步方法,该两步方法对于数据库中的每行来重复,包括:
第一步,包括:
从数据库中读取一行数据;
分析从数据库中读出的该行数据;
基于至少一个预先确定的规则来确定是删去还是保留该行数据;以及
第二步,包括:
当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库中;
当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据;以及
重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字。
50.一种用于执行重新组织数据库中表格空间的两步法的系统,该两步法对于数据库中的每行重复进行,该系统包括:
数据库;以及
用于执行两步法的处理器,该两步法包括:
第一步,包括:
从数据库中读取一行数据;
分析从数据库中读出的该行数据;
基于至少一个预先确定的规则来确定是删去还是保留该行数据;以及
第二步,包括:
当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库中;
当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据;以及
重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字。
51.一种计算机记录介质,包括用于以两步重新组织数据库中表格空间的计算机可执行代码,该两步对于数据库中的每行数据来重复,该计算机可执行代码包括:
第一步代码,包括:
用于从数据库中读出一行数据的读取代码;
用于分析从数据库中读出的该行数据的分析代码;
用于基于至少一个预先确定的规则来确定是删去还是保留该行数据的确定代码;以及
第二步代码,包括:
用于当确定该行数据符合该至少一个预先确定的规则时,重新装入该行数据的重新装入代码;
用于当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据的删去代码;以及
用于重建与数据库相关的索引以包括与重新装入的该行数据相对应的关键字的重建代码。
52.一种重新组织数据库中表格空间的两步方法,该两步方法对于数据库的一个部分中的每行以及数据库的多个部分中的每个部分重复进行,该方法包括:
第一步,包括:
将数据库和相关索引划分成多个部分;
选择数据库的多个部分中的一个部分以及相关索引的相关部分;
从数据库的所选一个部分中读出一行数据;
分析从所选一个部分中读出的该行数据;
基于至少一个预先确定的规则来确定是删去还是保留该行数据;以及
第二步,包括:
当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库的所选一个部分中;
当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据;以及
重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字。
53.一种用于执行重新组织数据库的表格空间的两步法的系统,该两步法对于数据库的一个部分中的每行以及数据库的多个部分中的每个部分重复进行,该系统包括:
数据库;以及
用于执行两步法的处理器,该两步法包括:
第一步,包括:
将数据库和相关索引划分成多个部分;
选择数据库的多个部分中的一个部分以及相关索引的相关部分;
从数据库的所选一个部分中读出一行数据;
分析从所选一个部分中读出的该行数据;
基于至少一个预先确定的规则来确定是删去还是保留该行数据;以及
第二步,包括:
当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库的所选一个部分中;
当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据;以及
重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字。
54.一种计算机记录介质,包括用于以两步重新组织数据库的表格空间的计算机可执行代码,该两步对于数据库的一个部分中的每行数据以及数据库的多个部分中的每个部分重复进行,该计算机可执行代码包括:
第一步代码,包括:
用于将数据库和相关索引划分成多个部分的划分代码;
用于选择数据库的多个部分中的一个部分以及相关索引的相关部分的部分选择代码;
用于从所选一个部分中读出一行数据的读取代码;
用于分析从所选一个部分中读出的该行数据的分析代码;以及
用于基于至少一个预先确定的规则来确定是删去还是保留该行数据的确定代码;以及
第二步代码,包括:
用于当确定该行数据符合该至少一个预先确定的规则时,将该行数据重新装入到数据库的所选一个部分中的重新装入代码;
用于当确定该行数据不符合该至少一个预先确定的规则时,删去该行数据的删去代码;以及
用于重建相关索引的相关部分以包括与重新装入的该行数据相对应的关键字的重建代码。
CNA028144090A 2001-07-19 2002-07-18 用于重新组织数据库中表格空间的方法和系统 Pending CN1533540A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US90903301A 2001-07-19 2001-07-19
US09/909,033 2001-07-19
US11377402A 2002-04-01 2002-04-01
US10/113,774 2002-04-01

Publications (1)

Publication Number Publication Date
CN1533540A true CN1533540A (zh) 2004-09-29

Family

ID=26811452

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA028144090A Pending CN1533540A (zh) 2001-07-19 2002-07-18 用于重新组织数据库中表格空间的方法和系统

Country Status (10)

Country Link
EP (1) EP1410260B1 (zh)
JP (1) JP2004536408A (zh)
KR (1) KR20040017321A (zh)
CN (1) CN1533540A (zh)
AT (1) ATE378641T1 (zh)
BR (1) BR0211216A (zh)
CA (1) CA2453174A1 (zh)
DE (1) DE60223546T2 (zh)
IL (1) IL159633A0 (zh)
WO (1) WO2003009180A2 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532823B1 (ko) * 2002-11-30 2005-12-02 이원재 데이터 무결성 관리장치와 관리방법 그리고 그 방법을컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체
US7606793B2 (en) * 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US7447717B2 (en) 2004-10-07 2008-11-04 International Business Machines Corporation Method of changing the page size of a DB2 table space while keeping the object available
US7739312B2 (en) * 2007-04-27 2010-06-15 Network Appliance, Inc. Data containerization for reducing unused space in a file system
US7827201B1 (en) 2007-04-27 2010-11-02 Network Appliance, Inc. Merging containers in a multi-container system
US9348912B2 (en) 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
KR101054026B1 (ko) * 2009-05-18 2011-08-03 주식회사 부산은행 인덱스 리빌드 자동화 시스템 및 그 방법
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
JP6204877B2 (ja) * 2014-06-05 2017-09-27 東芝テック株式会社 情報処理システム及び情報処理プログラム
US11227065B2 (en) * 2018-11-06 2022-01-18 Microsoft Technology Licensing, Llc Static data masking
US10990575B2 (en) 2019-03-22 2021-04-27 Richard E Barry Reorganization of databases by sectioning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517641A (en) * 1992-05-27 1996-05-14 Cdb Software, Inc. Restartable method to reorganize DB2 tablespace records by determining new physical positions for the records prior to moving using a non sorting technic

Also Published As

Publication number Publication date
IL159633A0 (en) 2004-06-01
KR20040017321A (ko) 2004-02-26
JP2004536408A (ja) 2004-12-02
BR0211216A (pt) 2004-09-08
WO2003009180A2 (en) 2003-01-30
WO2003009180A3 (en) 2003-11-06
EP1410260B1 (en) 2007-11-14
ATE378641T1 (de) 2007-11-15
EP1410260A2 (en) 2004-04-21
DE60223546D1 (de) 2007-12-27
CA2453174A1 (en) 2003-01-30
DE60223546T2 (de) 2008-09-18

Similar Documents

Publication Publication Date Title
US6778977B1 (en) Method and system for creating a database table index using multiple processors
US6725223B2 (en) Storage format for encoded vector indexes
US9767131B2 (en) Hierarchical tablespace space management
US5842196A (en) Database system with improved methods for updating records
US6694323B2 (en) System and methodology for providing compact B-Tree
EP1540533B1 (en) Controlling visibility in multi-version database systems
US6470330B1 (en) Database system with methods for estimation and usage of index page cluster ratio (IPCR) and data page cluster ratio (DPCR)
Graefe Sorting And Indexing With Partitioned B-Trees.
US5884299A (en) Optimization of SQL queries involving aggregate expressions using a plurality of local and global aggregation operations
US5758146A (en) Method and apparatus for optimizing data retrieval using index scanning
US8209305B2 (en) Incremental update scheme for hyperlink database
US7174345B2 (en) Methods and systems for auto-partitioning of schema objects
US20080059492A1 (en) Systems, methods, and storage structures for cached databases
EP1482429A2 (en) System and method of query transformation
ZA200104265B (en) Method and apparatus for concurrent DBMS table operations.
ZA200100187B (en) Value-instance-connectivity computer-implemented database.
CN1533540A (zh) 用于重新组织数据库中表格空间的方法和系统
US7177885B2 (en) Method and system for reorganizing a tablespace in a database
US20080005077A1 (en) Encoded version columns optimized for current version access
US6618720B1 (en) Common spool files for maintaining join indexes
US20080133493A1 (en) Method for maintaining database clustering when replacing tables with inserts
US10558636B2 (en) Index page with latch-free access
EP0422877A2 (en) A method for invalidating access plans in a database system
EP2112608A1 (en) Defragmenting indexes in a relational database
US8510269B2 (en) Uninterrupted database index reorganization/movement

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication