CN1310419A - 动态建立快速索引的方法 - Google Patents
动态建立快速索引的方法 Download PDFInfo
- Publication number
- CN1310419A CN1310419A CN 00102380 CN00102380A CN1310419A CN 1310419 A CN1310419 A CN 1310419A CN 00102380 CN00102380 CN 00102380 CN 00102380 A CN00102380 A CN 00102380A CN 1310419 A CN1310419 A CN 1310419A
- Authority
- CN
- China
- Prior art keywords
- data
- concordance list
- database
- sequence number
- requirement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种动态建立快速索引的方法。本发明提供了一种方法来实现对数据库进行选取任意子集合的功能。在数据库中包含了多笔具有多个不同属性的信息组信息的数据。当使用者输入分类要求之后,先将此分类要求的标志和数据库中第一笔数据所对应信息组的信息标志互相比较,如果得到相同的结果,则将此笔数据的序号加到索引的末尾。将全部的数据依序比较完毕之后则可得到索引表。数据的顺序在此索引表中并没有改变,且由此索引表即可对应到实际的数据。
Description
本发明涉及一种数据库的存取方法,特别涉及一种动态建立快速索引的方法。
一个数据库系统开发工具,除了要能建立数据库及表格信息组之外,也要能输入、更新、删除数据库的内容,或做各种数据的摘取动作,并合成有意义的信息。现今的数据库系统开发工具,已渐趋视觉化和物件化,开发者不需要费心于不是系统核心上的琐事而可专心于开发和设计。然而,由于现今的数据库已非传统上只着重于结构性数据的处理,许多声音、影像、图形等非结构性的媒体数据大量的出现,也增加了数据库存取上的问题。当然,较完整的数据库系统开发软件不但开发、维护容易,更能增进系统的执行效能。
现今的数据库管理系统大都提供标准语言的功能(Structured QueryLanguage,SQL),SQL着重于数据库的操作,同时具有关联多个表格的能力,也可快速的建立索引,是关联式数据库设计常用的高阶语言。
传统上的数据库软件在建表格时就指定好信息组进行索引(index),但是往往在程序进行中又必须建立新的索引。当其有需要对某个属性选取子集合时,通常所利用的索引方式为将数据库的数据大量复制,以符合使用者的需求。而此方式所产生的结果为数据冗长,占用大量的存储器、及花费较长的时间,因此系统的执行效率势将受到影响。
如图1所示为英文学习软件中的数据库,其中是依不同的方法将英文单字进行分类学习功能,例如按学习阶段将其在学校中可能学到的单字分为小学、中学、高中、和大学四级;或者按词性分成名词、动词、形容词等等…;或者按动词变化形式分成规则动词和不规则动词等等…很明显的是,在上述不同的分类中,很可能会有重复的单字出现在各个不同的分类之中。
在此图中,每个单字信息组100中出现的单字,除了有解释信息组110、词性信息组120之外,尚有其它不同分类的信息组130。当欲得到所有有关名词的列表时,则传统的方法为将每一笔具有名词的记录复制一遍,形成图2所示的数据库形式。
以此方式来进行数据库的索引之后,如果还要建立其它的索引,则将进行相同的操作程序。例如字A及各种信息组可能要占100个字节以上,则以复制的方法形成子集合时将损失100个字节的空间。如此不但会产生大量的重复数据,而且将浪费大量的空间和时间,是相当不经济且无效率的方式。
鉴于传统的数据库在建立索引时,其选取子集合的方式往往是复制大量的数据以达到所需的条件,浪费存储器且影响系统的执行效率,因此本发明的目的之一为提供一种动态建立快速索引的方法,以提高系统的执行效率。
本发明的另一目的在于利用此动态建立快速索引的方法,用来对多笔数据所组成的数据库选取符合某属性的子集合,并使其数据顺序仍保持不变。
本发明的再一目的为利用此动态建立快速索引的方法,以达到节省存储器的优点。
根据以上所述的目的,本发明提供了一种方法来实现对数据库进行选取任意子集合的功能。本发明中包括了一个数据库,而数据库中则包含了所有未加以分类的元素(数据),每笔数据都具有多个不同属性的信息组信息。对于一个使用者输入的分类要求,先将此分类要求的标志和数据库中所有的数据所对应的信息组的信息标志互相比较,如果得到相同的结果,则将此笔数据的序号加到索引的末尾。在全部的数据比较完毕之后则得到因分类请求而产生的索引表,各笔数据的顺序在此索引表中并没有改变,而由此索引表中即可对应到实际的数据。
也就是说,具有M笔数据的数据库载入之后,如给定一分类要求为K时,则假定数据库中第N笔数据所对应的分类信息标志为D(N)·k,其中D(N)为第N笔数据所对应的函数,k则代表不同信息组的表示值。而此笔数据的实际的内容则为D(N)·d。
执行的步骤为:
(1)设定N=1;
(2)比较K是否等于D(N)·k,如果相等的话将N加到索引表的末尾;
(3)如果N=M,则结束步骤;
(4)N=N+1,回到步骤(2)继续执行。
经过以上的回圈执行步骤之后,将可以得到数据库在该分类要求下所得出的索引表,而经过索引表即可得到各笔数据的实际内含值。
本发明的动态建立索引的方法,并不需要复制大量的数据到索引表中,而只需复制各笔数据的序号即可,所以将节省大量的空间及时间,数据顺序亦不会有所变动,系统的执行效率可以有效提升。
本发明的较佳实施例将在后面说明文字中结合以下附图做更详细的阐述,其中:
图1所示为英文学习软件中的数据库,其中具有各种不同的分类属性和解释;
图2所示为依照传统方法制作特殊分类请求所形成的数据库;
图3所示为依照本发明建立动态快速索引的方法的流程图;
图4所示为依照本发明制作特殊分类请求所形成的索引表;及
图5所示为依照本发明建立动态快速索引的方法的硬件结构图。
当数据一笔、一笔的记录存入文件之后,日后要如何的检索(retrieve)或更新(update),是数据库处理的重要课题。而结构良好的数据库,则可以很快的找到所要的数据,以便适当的加以读取或更新。本发明所揭露的即为一种动态建立快速索引的方法。
一般的数据库中,为了正确记录数据,则会有一些必要的记录项目,或称之为信息组(field)。信息组是组成数据记录的基本项目,也可称为属性(attribute)。也就是说,属性可用来描述一件事物所需的要件或特征。例如对图1中所示的英文学习软件中的数据库而言,每一个单字都有其特定的解释、词性…等等信息组或属性,同时此信息组内的数据通常是最基本的、不可分割性的数据。
在图1中,如果要读取数据库中单一笔数据,则作业系统会先把文件开启,把文件指位器指到文件开头的位置,再依文件的构造算出记录所在的位置,接着由作业系统算出该位置相当于磁盘上的第几磁轨、第几磁区(或存储器中的位置),最后进行磁盘(或存储器)的读取动作。但是,如果指定读取的数据不是特定的记录时,则必需从此数据库中的第一笔记录开始搜寻,一直查看到所要的数据为止。如果数据库中的数据量庞大,则此读取方式是很没有效率的。
解决数据搜寻的方法很多,而最好的方式便是为了符合使用者的询问需求而将数据库分类。但是传统上的分类方式会产生大量的重复数据,因此本发明为了解决传统上的问题,建构了快速索引的方法。其主要的原理为:
由于数据库中的记录具有多个不同的信息组(或属性)描述,对于系统或使用者所需求的一种分类方法,首先对应到数据库中相当的信息组中,然后把分类的标志和数据库里所有的记录中此信息组的信息标志互相比较。如果两者相同,则把数据库中该笔数据的序号加入索引表的最后一笔数据,而刚开始时索引表为空的数据库。然后再比较次一笔数据,直到所有的记录数据均计算完毕,则得到该分类方法的索引表。
该索引表中的各个记录由于只为原数据库各笔数据的序号,因此类似指位器的功能,经由此序号即可得到所有数据的实际数据。同时利用本发明的动态建立快速索引的方法所得到的索引表中各笔数据的顺序没有改变。
参照图3,此图中显示的即为本发明动态建立快速索引方法的流程图。从步骤300开始,首先载入包含有M笔数据的数据库到存储器之中,步骤310,然后由步骤320提出分类标志为K的分类要求,然后先将数据的序号N设定为1,步骤330,再到步骤340来比较分类标志K是否和第N笔,此时为第1笔中信息组为k的数据相等。在此第N笔数据所对应的分类信息信息组的标志是设为D(N)·k。
如果步骤340的判断结果为真,则执行步骤350将N的序号加到索引表的最后,再进行步骤360的判断;否则直接到步骤360,判断此时的N是否等于M。当N等于M,表示已到达数据库的尾端时,则结束此程序,步骤370;否则再到步骤380执行N=N+1的算式,再回到步骤340执行下一笔,此时为第2笔的数据比较,此计算的回圈将一直继续,直到数据库中的M笔数据都计算完毕为此。经过上述的方法,将可得到所需的索引表。而如果该笔数据在数据库中的序号为I(n)时,则通过该索引表可以得到所有该类数据的实际数据为D(I(1))·d,D(I(2))·d,…D(I(n))·d,其中d代表不同的信息组值。
为了方便解释,因此以图1中的英文学习软件中的数据库为例,说明如下:
英文单字的数据库中共有1000笔数据,而每个单字中除了解释信息组110之外,尚有其它信息组代表单字的其它属性,例如词性信息组120,和其它信息组130。每笔单字亦具有序号140,参照图4。
首先将英文单字数据库载入,假设现在有一分类请求,需要列出具有名词的所有数据,则执行:
(1)设定N=1;
(2)如果单字表中第N笔单字的词性栏为名词,则将N加到索引表的末尾;
(3)如果N=1000,则结束跳出;
(4)N=N+1,回到步骤(2)。
参照图4,经过此执行步骤,将可得到标号150的索引表,此代表名词的动态索引表不但占据空间减少,而且处理时间也会相对的减少。
参照图5,此图所显示的为本发明的硬盘结构图。中央处理单元(CPU)500执行英文单字数据库的载入动作,再经由内部缓冲存储器510将上述处理过的索引表暂存于动态随机存取存储器(DRAM)520中。得到索引表之后,如果要将所有的名词显示到显示屏上,则可依照顺序从索引表中取出序号作为指位器,到数据库中取得实际要显示的数据,例如单字的解释等等,再经由显示界面卡530显示在荧光屏上。
经过上述的本发明的动态建立快速索引的方法,当数据库欲任意选取子集合时,不需要建立大量的数据,只需动态的建立一个索引表,此种方式将使存储器空间和时间的占用率降到最低的程度。
如本领域的技术人员所了解的,以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的权利要求范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在本发明的权利要求的范围内。
Claims (15)
1.一种建立数据库索引的方法,该方法至少包含:
载入数据库;
建立索引表,其中该索引表为空集合;
输入分类要求;
由该数据库取出一笔数据;
比较该笔数据的属性内容和该分类要求是否和该分类要求相同;及
将该笔数据的序号加到该索引表最后一笔数据,其中该属性内容是和该分类要求相同。
2.如权利要求1的方法,其中所述的属性内容至少包括了该分类要求。
3.如权利要求1的方法,其中所述的建立步骤是将该索引表载入动态随机存取存储器(DRAM)中。
4.如权利要求1的方法,还包含了重复执行所述的取出数据步骤,比较该笔数据步骤,和将该笔数据的序号加到该索引表最后一笔数据的步骤。
5.如权利要求1的方法,其中所述的索引表中包括和该分类要求相同的该笔数据的序号。
6.如权利要求1的方法,其中所述的索引表可经由该笔数据的该序号而得到该笔数据的内容。
7.如权利要求6的方法,其中所述的索引表所对应的该笔数据的内容可经由中央处理单元而显示在荧光屏上。
8.一种建立数据库索引的方法,该方法至少包含:
输入该数据库分类的要求;
由该数据库取出一笔数据;
比较该笔数据的属性内容和该分类要求是否和该分类要求相同;及
将该笔数据的序号加到该索引表最后一笔数据,其中该属性内容是和该分类要求相同。
9.如权利要求8的方法,其中所述的属性内容至少包括了该分类要求。
10.如权利要求8的方法,其中还包含了将该索引表载入动态随机存取存储器中的步骤。
11.如权利要求10的方法,其中所述的索引表载入时为空集合。
12.如权利要求8的方法,还包含了重复执行所述的取出数据步骤,比较该笔数据步骤,和将该笔数据的序号加到该索引表最后一笔数据的步骤。
13.如权利要求8的方法,其中所述的索引表中包括和该分类要求相同的该笔数据的序号。
14.如权利要求8的方法,其中所述的索引表可经由该笔数据的序号而得到该笔数据的内容。
15.如权利要求14的方法,其中所述的索引表所对应的该笔数据的内容可经由中央处理单元而显示在荧光屏上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00102380 CN1132115C (zh) | 2000-02-21 | 2000-02-21 | 动态建立快速索引的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00102380 CN1132115C (zh) | 2000-02-21 | 2000-02-21 | 动态建立快速索引的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1310419A true CN1310419A (zh) | 2001-08-29 |
CN1132115C CN1132115C (zh) | 2003-12-24 |
Family
ID=4576370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 00102380 Expired - Fee Related CN1132115C (zh) | 2000-02-21 | 2000-02-21 | 动态建立快速索引的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1132115C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403302C (zh) * | 2002-07-09 | 2008-07-16 | 皇家飞利浦电子股份有限公司 | 用于对数据库中的数据对象进行分类的方法和设备 |
CN101650732B (zh) * | 2009-07-31 | 2012-03-14 | 金蝶软件(中国)有限公司 | 一种对象管理系统中的对象分组方法及装置 |
CN101546342B (zh) * | 2009-05-08 | 2012-07-04 | 阿里巴巴集团控股有限公司 | 实现搜索服务的方法与系统 |
-
2000
- 2000-02-21 CN CN 00102380 patent/CN1132115C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403302C (zh) * | 2002-07-09 | 2008-07-16 | 皇家飞利浦电子股份有限公司 | 用于对数据库中的数据对象进行分类的方法和设备 |
CN101546342B (zh) * | 2009-05-08 | 2012-07-04 | 阿里巴巴集团控股有限公司 | 实现搜索服务的方法与系统 |
CN101650732B (zh) * | 2009-07-31 | 2012-03-14 | 金蝶软件(中国)有限公司 | 一种对象管理系统中的对象分组方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1132115C (zh) | 2003-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6014656A (en) | Using overlapping partitions of data for query optimization | |
Melton et al. | SQL multimedia and application packages (SQL/MM) | |
US5995962A (en) | Sort system for merging database entries | |
US6931408B2 (en) | Method of storing, maintaining and distributing computer intelligible electronic data | |
US7158996B2 (en) | Method, system, and program for managing database operations with respect to a database table | |
CA2388515C (en) | System for managing rdbm fragmentations | |
CN1652112A (zh) | 一种嵌入式环境下数据字典的实现方法 | |
Brinkhoff et al. | The impact of global clustering on spatial database systems | |
KR100787079B1 (ko) | 표형식데이터의 제시방법, 삽입방법, 삭제방법 및 갱신방법 | |
CN102567423B (zh) | 一种诗词关联搜索方法和系统 | |
US6985906B2 (en) | Method and system for multidimensional database management | |
CN1666200A (zh) | 用于对数据库中的数据对象进行分类的方法和设备 | |
CN115470284A (zh) | 一种多源异构数据源导入Janusgraph图数据库的方法和装置 | |
CN1132115C (zh) | 动态建立快速索引的方法 | |
JP2693914B2 (ja) | 検索システム | |
CN1352432A (zh) | 索引和搜索特征向量空间的方法 | |
CN109815328A (zh) | 一种摘要生成方法及装置 | |
US20040044683A1 (en) | Data compiling method | |
CN116484019A (zh) | 中文异体字字典库构建与输出利用方法 | |
US8073823B2 (en) | Database management program | |
Xiao et al. | Clustering non-uniform-sized spatial objects to reduce I/O cost for spatial-join processing | |
Ayres et al. | Bibliographic management: a new approach using the manifestations concept and the Bradford OPAC | |
CA2518797A1 (en) | System and method for storing and accessing data in an interlocking trees datastore | |
CN118035519B (zh) | 一种分类查找方法、电子设备及存储介质 | |
Haworth | The CAFS system today and tomorrow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20031224 Termination date: 20170221 |
|
CF01 | Termination of patent right due to non-payment of annual fee |