CN1592908B - 具有异种对象类型的数据库系统 - Google Patents

具有异种对象类型的数据库系统 Download PDF

Info

Publication number
CN1592908B
CN1592908B CN028233131A CN02823313A CN1592908B CN 1592908 B CN1592908 B CN 1592908B CN 028233131 A CN028233131 A CN 028233131A CN 02823313 A CN02823313 A CN 02823313A CN 1592908 B CN1592908 B CN 1592908B
Authority
CN
China
Prior art keywords
type
xenogenesis
filtrator
read
metadata
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 - Lifetime
Application number
CN028233131A
Other languages
English (en)
Other versions
CN1592908A (zh
Inventor
李·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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN1592908A publication Critical patent/CN1592908A/zh
Application granted granted Critical
Publication of CN1592908B publication Critical patent/CN1592908B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

用来为不止一个相关的不同类型的目标从数据库提取元数据的方法包括把异种对象类型定义为不同类型的数据库对象的集合。在请求读取特定的异种对象之时,异种对象的成员对象是以异种对象的类型的定义为基础按特定的次序(例如,用来重建特定的异种对象的有效次序)从特定的异种对象中读取的。将被读取的成员对象的组合能被过滤器限制,过滤器本身可以依照将被读取的成员对象的类型被转换成规定的第二过滤器。这样转换的过滤器能承袭来自在对特定的异种对象类型的请求中规定的过滤器的数值,或者能具有某种数据类型的固定数值。被提取的元数据能为重建特定的异种对象而被格式化。

Description

具有异种对象类型的数据库系统
本发明的现有技术
典型的相关数据库的逻辑结构是用它的目录对象确定的。这些对象可能具有许多种对象类型,例如,表空间、用户、表、视图、序列、存储程序等。
在Oracle 9i中引入的Oracle元数据API提供用来为一个或多个特定对象类型的对象提取元数据的中心设施。9i的实现使用OPEN-FETCH-CLOSE编程模型:用户发出用于特定对象类型的OPEN指令,然后重复地读取那个类型的对象;在完成之时,用户关闭该对象类型环境。用户能规定一个或多个限制那组要读取的对象的过滤器。Oracle 9i的实现提供一种用来在特定的对象类型内读取对象的有力的和有柔性的机制。
这个API是在2000年9月28日申请的美国专利申请第09/672,914号“Aggregating and manipulating dictionary metadata ina database system(在数据库系统中聚集和操纵目录元数据)”中描述的,在此通过引证将其全部教导完整地并入。
本发明的概述
用户可能时常希望在包括某逻辑单元时候提取适合属于不同对象类型的对象的逻辑组合的元数据。实例是(1)表及其所有的相关对象(约束、索引、授权等);(2)模式中的全部对象(表、视图、类型,程序等);(3)数据库中的全部对象(表空间、用户、重新运行部分等,以及模式及其内容)。
此外,用户可能希望采用这个提取的元数据并且使用它重建关于另一个数据库的对象的逻辑组合。然而,为了重建对象的组合,它们必须是按特定的次序(例如,在其索引之前的表)创造的。不幸的是,创造次序时常是不明显的。
在早期的解决方案中,用户不得不写入囊括组成那个逻辑组合的对象以及用于那些对象的创造次序的知识的自定义代码。Oracle Export公用程序是一个这样的自定义程序。这样的自定义程序通常是为它们的专用目的设计好的,但是可能难以适应新的用途。
本系统能用“异种对象类型”(即,虽然是不同对象类型的但仍然包括逻辑单元的对象的集合)提高在美国专利申请第09/672,914号中描述的Oracle元数据API。编程模型可以是在Oracle 9i中使用的同一OPEN-FETCH-CLOSE模型。差别在于(1)用户在OPEN语句中规定异种对象类型的名字,(2)被读取的对象属于不同的同种对象类型,以及(3)对象是依照有效的创造次序送回的。
本系统的特定的实施方案是为不止一个不同类型的相关对象从数据库提取元数据的方法。该方法包括将异种对象类型定义为不同类型的数据库对象的集合。在请求读取特定的异种对象之时,异种对象的成员对象能从特定的异种对象中读取。成员对象能基于异种对象类型的定义依照特定的次序(例如,用来重建特定的异种对象的有效次序)被送回。
可仿效的异种对象类型是表输出型、数据库输出型、模式输出型和表空间输出型。成员对象可以是同种对象类型,或者可以是其它的异种对象类型。
那组将被读取的成员对象能依照至少一个本身可以依照被读取的成员对象的类型被转换为第二过滤器的规定的过滤器受到限制。
在特定的实施方案中,第一张表能规定某对象类型究竟是异种的还是同种的对象类型。然后,第二张表能定义将用于给定的异种对象类型的成员类型送回的特定次序。依照读取指令,成员对象能依照在第二张表中定义的特定次序被读取。第三张表能规定能应用于特定的异种对象类型的过滤器,而第四张表能规定用于个别的成员对象类型的过滤器转换。这样转换的过滤器能承袭来自请求中为特定的异种对象类型规定的过滤器数值。作为替代,过滤器可以有诸如文本、布尔、数子、日期之类的某种数据类型的固定数值。
更具体地说,被提取的元数据能使用诸如XML之类的标示语言格式化。这种标示语言格式化的数据能被转换成为重建特定的异种对象而格式化的语句。
在本系统中,对象元数据可以仅仅使用对在数据库里面用于某逻辑单元的元数据的单一请求从相关的数据库中提取,在这种场合该逻辑单元包括不止一个不同类型的对象。然后,被请求的元数据能被提取并且依照涉及这个或另一个数据库的能重建该逻辑单元的次序被送回。虽然单一的请求可以包含多重读取,但是它是单一的请求,因为只有一个对象类型(即,特定的异种对象类型)被打开而且用户不需要知道内在的依从关系就能提取所有的成员对象。
例如,逻辑单元可以包括表及其相关对象,例如,但不限于约束、索引和/或授权。其它的逻辑单元可以包括但不限于模式和数据库。
附图简要说明
具有异种对象类型的数据库系统的上述的和其它的对象、特征和优势从下面用同样的参考符号在不同的视图中处处表示同一部份的附图所举例说明的特定的实施方案的更具体的描述将变得显而易见。
图1是举例说明在本系统的实例中创造的对象和它们的关系的模式图。
图2是举例说明除了支持同种对象类型之外还支持本系统的异种对象类型的metaview$表的示意图。
图3是举例说明除了支持同种对象类型之外还支持本系统的异种对象类型的metafilter$表的示意图。
图4是举例说明用来支持本系统的异种对象类型的metascript$表的示意图。
图5是举例说明用来支持本系统的异种对象类型的metascriptfilter$表的示意图。
图6是本系统的实施方案的代表性组织的方框图。
本发明的详细描述
本系统把异种类型添加到先前用美国专利申请第S/N09/672,914号描述的元数据API中。
特定的异种对象类型是通过将若干行插入目录、或系统、表添加的。一张metaview$表包含所有对象类型的名字,标记指示类型究竟是同种的还是异种的。另一张metascript$表定义属于异种类型的成员类型和它们的次序。实现FETCH功能的代码决定对象类型是否是同种的(在这种情况下它做常态处理),或者对象类型是否是异种的(在这种情况下它为每种成员类型递归地调用它本身)。
异种对象类型可以被递归地嵌套,即,一种异种类型可以是另一种异种类型的成员。如同采用同种对象类型那样,用户能规定涉及限制将被读取的那个对象组合的异种对象类型的过滤器。这些过滤器被转换成涉及成员类型的过滤器;转换在另一张目录表(metascriptfilter$)中规定的。
实施例
下面的实施例示范元数据API(dbms_metadata)怎样读取异种对象,即,虽然它们是不同对象类型的但是仍然包括逻辑单元的对象的有序的组合。在这个实施例中,异种对象是由表及其索引组成的TABLE_EXPORT型的。
首先,假定下面的脚本是为了在模式“SCOTT”中产生名为“EMPLOYEE”的两列(“empno”  和“empname”)的表而执行的。两个索引(即“EMPIND1”和“EMPIND2”)是依照该表产生的。与模式的连接是假定的。
产生表EMPLOYEE
(empno number,
empname varchar2(30));
产生关于EMPLOYEE(empno)的索引EMP_IND1;
产生关于EMPLOYEE(empname)的索引EMP_IND2;
图1是举例说明由此产生的对象和它们的关系的模式图。TABLE_EXPORT型的异种对象20包括表“EMPLOYEE”12,它有两列(empno18、empname19)和关于每列的两个索引14、16。
我们现在使用包括单一的OPEN、一个或多个FETCHES和单一的CLOSE指令的单一请求读取包括表12及其两个索引14、16的异种TABLE_EXPORT对象20。异种对象20的成员12、14、16依照有效的创造次序被送回。即,表12首先被送回,因为它必须在索引14、16之前产生。
下面是使用本发明提取异种对象的可仿效的脚本。Put_clob()表示能打印出clob(字符大的对象)的内容的一些简单功能。
declare
    h  NUMBER;
    th NUMBER;
    c  clob;
begin
   h:=dbms_metadata.open(‘TABLE_EXPORT’);
   dbms_metadata.set_filter(h,‘NAME’,‘EMPLOYEE’);
    dbms_metadata.set_filter(h,‘SCHEMA’,‘SCOTT’)
    th:=dbms_metadata.add_transform(h,‘DDL’);
    LOOP
       dbms_lob.createtemporary(c,true);
       dbms_metadata.fetch_clob(h,c);
       EXIT WHEN c IS NuLL(当c为零时退出);
       Put_clob(c);
       dbms_lob.freetemporary(c);
    END LOOP;
    dbms_metadata.close(h);
END;
每一个dbms_metadata调用都是在美国专利申请第S/N09/672,914号中描述的。如同在那份申请中揭示的那样,调用仅仅应用于同种对象。本系统将dbms_metadata接口扩展,以便包括诸如DATABASE_EXPORT、SCHEMA_EXPORT、TABLE_EXPORT、TABLESPACE_EXPORT之类的异种对象类型。
在这种情况下,OPEN调用dbms_metadata.open提供正在为它请求元数据的异种类别TABLE_EXPORT。句柄h被送回,以便在正在为它请求元数据的那组对象的全部后续操作中使用。
第一过滤器调用dbms_metadata.set_filter()限制对名为“EMPLOYEE”的表的搜索,而第二过滤器调用限制对名为“SCOTT”的模式的搜索。
对dbms_metadata.add_transform()的调用引起FETCH指令的输出(见下文),其格式由通常的XML格式转化为DDL格式。然后,结果可直接用来重建涉及另一个数据库的异种对象20。
在用LOOP行和END LOOP行括在一起的循环之内,临时的大字符对象(clob)被产生。FETCH调用dbms_meatdata.fetcn_clob()将来自被指定为clob的异种对象的成员对象送回。如果所有这样的对象都已被送回,则将NULL(零)送回,并且退出循环。
否则,就这个实施例的目的而言,对象被显示(put_clob())。接下来,临时的clob被向上释放。循环重复,每次都送回不同的成员对象,直到所有的成员都被读取为止。
最后,进行CLOSE调用dbms_metadata.close(),以便结束该请求。
上述脚本的执行导致下面的输出,其中SCOTT是表和索引皆属于其的模式的名称。
CREATE TABLE“SCOTT”.“EMPLOYEE”
(“EMPNO”NUMBER,
“EMPNAME”VARCHAR2(30))
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING
STORAGE(INITIAL 10240 NEXT 10240 MINEXTENTS 1 MAXEXTENTS
121 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT)
TABLESPACE“SYSTEM”
CREATE INDEX“SCOTT”.“EMP_IND1”ON“SCOTT”.“EMPLOYEE”
(“EMPNO”)
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 10240 NEXT 10240 MINEXTENTS 1 MAXEXTENTS 121
PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER POOL
DEFAULT)
TABLESPACE“SYSTEM”
CREATE INDEX“SCOTT”.“EMP_IND2”ON“SCOTT”.“EMPLOYEE”
(“EMPNAME”)
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 10240 NEXT 10240 MINEXTENTS 1 MAXEXTENTS 121
PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER POOL
DEFAULT)
TABLESPACE“SYSTEM”
结果包括三个CREATE语句,一个用于表,另外两个分别用于每个索引。
图2-5是用来支持异种对象类型的表的示意图。图2和3中的表已在现有技术中被定义,但是被进一步用来支持异种对象类型。图4和5中的表是新的。
图2举例说明在美国专利申请第S/N 09/672,914号中描述的metaview$表30中的四个条目31-34。这张表包含所有对象类型的名称。在本发明的实施方案中,性质区域43中的新数值(例如,2)是为了指出该行识别异种对象类型而定义的。在这里,31-34每行的性质区域43中的数值2的出现表明,在类型区域41中识别的类型(即DATABASE_EXPORT、SCHEMA_EXPORT、TABLESSPACE_EXPORT和TABLE_EXPORT)都是异种对象类型。
在美国专利申请第S/N09/672,914号中描述的其它区域42、44-49就本系统而言没有任何特别的兴趣,因此不被进一步讨论。
图3举例说明用来实现本系统的实施方案的metafilter$表50。这张表也是在美国专利申请第S/N09/672,914号中描述的。为了限制对特定的逻辑单元的读取,过滤器被指定。metafilter$表50定义对每种对象类型都有效的过滤器的组合。过滤器区域53提供过滤器的名称,而类型区域54保存被命名的过滤器对它有效的类型的名称。例如,在这里行51和52分别地表明“NAME”和“SCHEMA”是能应用于异种类型TABLE_EXPORT的有效过滤器。
图4举例说明metascript$表60,一张用来实现本系统的实施方案的新表。metascript$表60描述给定的异种对象类型中的成员类型和不同成员类型的读取次序。
对于每个异种类型,都有一行用于每个成员类型。ptype区域64保存与特定的行对应的异种类型的名称。seq#区域65是序号。ltype区域66保存叶或成员对象名称。叶或成员对象是按seq#区域65指定的顺序打开和读取的。
模型区域67识别模型性质。这个区域67具体地说与本系统不是特别有关,因此不被进一步讨论。
为了示范的目的,举例说明61-63行。在每行的seq#区域65中对应的序号表明就类型TABLE_EXPORT的异种对象而言类型TABLE的对象将被首先读取(行61,seq#=10),接下来是对象OBJECT_GRANT(行62,seq#=20)和最后,在这个实施例中是所有的INDEX对象(行63,seq#=30)。当然,在活的数据库中,这些行可以按随机的顺序,这就是为什么需要序号区域65。
图5举例说明metascriptfilter$表70,它也是为实现本系统实施方案而创造的新表。metascriptfilter$表70将在FILTER语句中提供的并且在来自metafilter$表50的区域53中相匹配的过滤器转换成适合每个成员对象类型的过滤器及其名称。
在metascriptfilter$表70中的每行都将用户提供的过滤器名称转换成类型特有的过滤器。例如,NAME过滤器可以是对异种对象类型TABLE_EXPORT通过调用上述程序中诸如:
dbms_metadata.set_filter(h,‘NAME’,‘EMPLOYEE’  )之类的行指定的,其中异种对象类型的NAME过滤器被设定为EMPLOYEE,以致只有NAME=EMPLOYEE的对象被选定。
图5的可仿效的metacriptfilter$表70将用于TABLE_EXPORT对象的NAME过滤器和SCHEMA过滤器分别转换成用于TABLE对象的NAME过滤器和SCHEMA过滤器,对应于行71和72,其中seq#=10。同样,行73和74将NAME过滤器和SCHEMA过滤器转换成适合OBJECT_GRANT对象的BASE_OBJECT_NAME和BASE_OBJECT_SCHEMA(seq#=20),而行75和76(seq#=30)将NAME过滤器和SCHEMA过滤器转换成适合INDEX对象的BASE_OBJECT_NAME和BASE_OBJECT_SCHEMA。
在所提供的实施例中,所有的成员对象都有过滤器,其数值对应于涉及TABLE_EXPORT对象的NAME和SCHEMA过滤器。然而,固定的文本或布尔数值(例如,TRUE或FALSE)可能是为过滤器规定的。
就预定数值的或固定数值的过滤器而言,过滤器数值被储存在用于文本数值的vcval区域84中或用于布尔数值的bval区域85中。另一方面,如果该数值是从传送给脚本的过滤器承袭的,那么过滤器的名称被储存在pfilter区域83中。
metascriptfilter$表70能通过增加附加区域(fileds)被轻易地扩展到支持诸如数字、日期之类附加数据类型的固定数值过滤器。
行中的seq#区域81包含序号并且对应于metascript$表的seq#区域65(图4)。如果数值不是固定的,过滤器区域82包含过滤器名称。pfilter区域83包括母体过滤器名称。最后,模型区域86与本系统不特别有关,因此不被进一步讨论。
在本系统的一个实施方案中,递归的OPEN调用被进行,从而按依照metascript$表的次序规定对象类型。在每次OPEN调用之后,metascriptfilter$表被检查,而且SET_FILTER是用适当的过滤器名称和数值执行的。
因此,在说明性的实施例中,NAME=EMPLOYEE的TABLE对象首先被读取,接下来是BASE_OBJECT_NAME=EMPLOYEE的OBJECT_GRANTS对象,然后是BASE_OBJECT_NAME=EMPLOYEE的INDEX对象。
API允许用户为特定的成员类型规定的过滤器。例如,在读取来自DATABASE_EXPORT异种类型的对象的时候,用户或许想要滤除SYSTEM表空间(每个数据库都自动地具有SYSTEM表空间,因此它不需要在目标数据库上重建)。为了这样做,用户可以规定只适用于TABLESPACE对象的NAME_EXPR过滤器,意思是“包括名称不是‘SYSTEM’的任何表空间,例如,
h:=dbms_metadata.open(‘DATABASE_EXPORT’);dbms_metadata.set_filter(h,‘NAME_EXPR’,‘!=″SYSTEM″’,‘TABLESPANCE’;
图6是本系统的实施方案的代表性的组织的方框图,熟悉这项技术的人将理解:虽然其它组织是可能的,但它们将仍然落在本发明的范围之内。
在这里,元数据应用程序接口(API)100接受来自用户或应用的异种对象类型请求102。这样的请求包括但不限于OPEN指令和CLOSE指令以及一个或多个SET_FILTER指令和FETCH指令。这些指令被传送给按依照metaview$表30和metascript$表60规定的次序组织读取被请求的异种对象类型的成员对象类型的元数据析取器104。
过滤器转换程序106如同先前描述的那样依照metafilter$表50和metascriptfilter$表70将在请求102中命名的异种对象类型过滤器转换成适合每个对象类型的成员对象过滤器。
然后,元数据析取器104从一个或多个逻辑单元20(即,依照用户/应用程序在请求102中提供的异种对象类型和过滤器)提取(即,读取)成员对象。
在本系统的一个实施方案中,元数据是作为XML文件被提取的。格式化程序或格式转换程序108依照请求102将XML文件格式化成其它格式,例如DDL。
最后,API 100将这个格式化的数据110返回到用户/应用程序。
本系统将用来在异种集合中提取对象的高水平的接口给用户。用户不需要知道哪些对象属于该集合或它们的创造次序。
过滤能力允许用户在定制那组被读取的对象时有很大的柔性。
因为异种类型的定义由目录表中的行组成,所以定义和维持新的异种对象类型是容易的。例如,在诸如Oracle的EXPORT实用程序之类的自定义程序中,增加新的异种对象类型需要广泛的编程。
本系统代表当前EXPORT实用程序的进步,用于读取异种集合的元数据另一方面按专利格式将元数据不透明地写入文件的EXPORT。反之,本系统能使元数据对任何数据库用户变成透明地可用的。
在那里将增加对专门的异种集合(例如,对象的可传送的表空间和应用程序专用子集)的要求。本系统能使新的异种集合容易定义和维持。
熟悉这项技术的人应该承认积极参与有异种对象类型的数据库系统的这些方法可能被体现在包括计算机可使用的媒体的计算机程序产品中。例如,这样的计算机可使用的媒体可以包括已储存计算机可读的程序代码片段的可读的存储装置,例如固态存储器装置、硬盘装置、CD-ROM、DVD-ROM或计算机软盘。计算机可读的媒体也能包括将程序代码片段作为数字的或模拟的数据信号传送的通信或传输媒体,例如,总线或光学的、有线的或无线的通信链路。
尽管这个系统已参照特定的实施方案被具体地展示和描述,但是熟悉这项技术的人将理解在形式和细节方面各种不同的变化可以在不脱离权利要求书所囊括本发明的范围的情况下完成。例如,本发明的方法能应用于各种不同的环境,而不局限于所描述的环境。

Claims (28)

1.一种用来为不止一个不同类型的相关对象从数据库提取元数据的方法,该方法包括:
将异种对象类型定义为不同的类型数据库对象的集合;以及
在单个对象类型请求读取特定的异种对象之时,以异种对象的类型的定义为基础,按特定的次序从特定的异种对象中读取成员对象的元数据,其中特定的次序是用来重建特定的异种对象的有效次序;
依照至少一个规定的过滤器限制一组将被读取的成员对象;
其中至少一个规定的过滤器依照将被读取的成员对象的类型被转换成第二过滤器;以及
将来自被读取的对象的作为XML文件被提取的元数据存储在文件中。
2.根据权利要求1的方法,其中异种对象类型是表输出型。
3.根据权利要求1的方法,其中异种对象类型是数据库输出型。
4.根据权利要求1的方法,其中异种对象类型是模式输出型。
5.根据权利要求1的方法,其中异种对象类型是表空间输出型。
6.根据权利要求1的方法,其中异种对象类型包括另一种异种对象类型。
7.根据权利要求1的方法,进一步包括:
在第一张表中规定异种对象类型;
在第二张表中定义用于给定的异种对象类型的成员类型将依照它被送回的特定的次序;以及
依据读取指令,依照在第二张表中定义的特定次序读取成员对象。
8.根据权利要求7的方法,进一步包括:
在第三张表中规定能应用于特定的异种对象类型的过滤器。
9.根据权利要求8的方法,进一步包括:
在第四张表中规定用于个别成员对象类型的过滤器转换。
10.根据权利要求9的方法,其中经转换的过滤器承袭来自为特定的异种对象类型规定的过滤器的过滤数值。
11.根据权利要求9的方法,其中在第四张表中定义的过滤器具有固定的文本数值。
12.根据权利要求9的方法,其中在第四张表中定义的过滤器具有固定的布尔数值。
13.根据权利要求1的方法,进一步包括:
以格式化的标示语言送回元数据。
14.根据权利要求13的方法,其中格式化的标示语言是XML。
15.根据权利要求13的方法,进一步包括:
将标示语言格式化的数据转换成为了重建特定的异种对象而被格式化的语句。
16.一种用来为不止一个不同类型的相关对象从数据库提取元数据的方法,该方法包括:
将异种对象类型定义为不同的类型数据库对象的集合;
在请求读取特定的异种对象之时,以异种对象的类型的定义为基础,按特定的次序从特定的异种对象中读取成员对象
依照至少一个规定的过滤器限制一组将被读取的成员对象;
其中至少一个规定的过滤器依照将被读取的成员对象的类型被转换成第二过滤器;以及
将来自被读取的对象的作为XML被提取的元数据存储到文件中。
17.一种用来为不止一个不同类型的相关对象从数据库提取元数据的方法,该方法包括:
将异种对象类型定义为不同的类型数据库对象的集合;
在请求读取特定的异种对象之时,以异种对象的类型的定义为基础,按特定的次序从特定的异种对象中读取成员对象;
在第一张表中规定异种对象类型;
在第二张表中定义用于给定的异种对象类型的成员类型将依照它被送回的特定的次序;
依据读取指令,依照在第二张表中定义的特定次序读取成员对象;
在第三张表中规定能应用于特定的异种对象类型的过滤器;
在第四张表中规定用于个别成员对象类型的过滤器转换;以及
将来自被读取的对象的作为XML文件提取的元数据存储到文件中。
18.根据权利要求17的方法,其中经转换的过滤器承袭来自为特定的异种对象类型规定的过滤器的过滤数值。
19.根据权利要求17的方法,其中在第四张表中定义的过滤器具有固定的文本数值。
20.根据权利要求17的方法,其中在第四张表中定义的过滤器具有固定的布尔数值。
21.一种用来为不止一个不同类型的相关对象从数据库提取元数据的方法,该方法包括:
将异种对象类型定义为不同的类型数据库对象的集合,数据库对象包括元数据;
在请求读取特定的异种对象之时,以异种对象的类型的定义为基础,按特定的次序从特定的异种对象中读取成员对象;
依照至少一个规定的过滤器限制一组将被读取的成员对象;
其中至少一个规定的过滤器依照将被读取的成员对象的类型被转换成第二过滤器;
从被读取的成员对象中,以格式化的标示语言送回元数据;以及
将来自被读取的对象的作为XML文件被提取的元数据存储到文件中。
22.根据权利要求21的方法,其中格式化的标示语言是XML。
23.根据权利要求21的方法,进一步包括:
将标示语言格式化的数据转换成为了重建特定的异种对象而被格式化的语句。
24.一种用来从相关的数据库中找回对象元数据的方法,该方法包括:
接收对在数据库里面用于某逻辑单元的元数据的单一的请求,该逻辑单元包括不止一个不同类型的对象,请求规定至少一个异种对象类型过滤器;
依照至少一个异种对象类型过滤器限制将被提取的对象;
将异种对象类型过滤器转换成适合某成员对象类型的成员对象过滤器;
依照成员对象过滤器限制成员类型的成员对象;
提取被请求的元数据;
依照能重建逻辑单元的次序送回被提取的元数据;
将作为XML文件被提取的元数据存储在文件中。
25.根据权利要求24的方法,其中成员对象过滤数值是从异种对象类型过滤器承袭的。
26.根据权利要求24的方法,进一步包括:
规定成员对象过滤器数值为固定数值。
27.根据权利要求26的方法,其中固定数值是布尔数值。
28.根据权利要求26的方法,其中规定数值是文本数值。
CN028233131A 2001-12-10 2002-12-09 具有异种对象类型的数据库系统 Expired - Lifetime CN1592908B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/014,038 2001-12-10
US10/014,038 US7124140B2 (en) 2001-12-10 2001-12-10 Database system having heterogeneous object types
PCT/US2002/039285 WO2003050720A2 (en) 2001-12-10 2002-12-09 Database system having heterogeneous object types

Publications (2)

Publication Number Publication Date
CN1592908A CN1592908A (zh) 2005-03-09
CN1592908B true CN1592908B (zh) 2011-06-15

Family

ID=21763161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN028233131A Expired - Lifetime CN1592908B (zh) 2001-12-10 2002-12-09 具有异种对象类型的数据库系统

Country Status (7)

Country Link
US (2) US7124140B2 (zh)
EP (1) EP1451727A2 (zh)
JP (1) JP2005512235A (zh)
CN (1) CN1592908B (zh)
AU (1) AU2002364538B2 (zh)
CA (1) CA2469413C (zh)
WO (1) WO2003050720A2 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124140B2 (en) * 2001-12-10 2006-10-17 Oracle International Corporation Database system having heterogeneous object types
US7603300B2 (en) * 2002-11-18 2009-10-13 Sap Aktiengesellschaft Collection and analysis of trading data in an electronic marketplace
US7584192B2 (en) * 2002-11-18 2009-09-01 Sap Aktiengesellschaft Collection and analysis of document traffic in an electronic marketplace
US8214377B2 (en) * 2003-04-07 2012-07-03 International Business Machines Corporation Method, system, and program for managing groups of objects when there are different group types
US8275810B2 (en) 2005-07-05 2012-09-25 Oracle International Corporation Making and using abstract XML representations of data dictionary metadata
US7860903B2 (en) * 2005-12-23 2010-12-28 Teradata Us, Inc. Techniques for generic data extraction
US8819083B2 (en) * 2005-12-29 2014-08-26 Sap Ag Creating new database objects from existing objects
US8301997B2 (en) * 2006-01-10 2012-10-30 International Business Machines Corporation System and method for serving multiple data objects and formatting functions in a single request
US8379841B2 (en) 2006-03-23 2013-02-19 Exegy Incorporated Method and system for high throughput blockwise independent encryption/decryption
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US8156154B2 (en) * 2007-02-05 2012-04-10 Microsoft Corporation Techniques to manage a taxonomy system for heterogeneous resource domain
WO2009029842A1 (en) 2007-08-31 2009-03-05 Exegy Incorporated Method and apparatus for hardware-accelerated encryption/decryption
US8250533B2 (en) * 2010-06-11 2012-08-21 Microsoft Corporation Reflection over objects
US10423577B2 (en) 2010-06-29 2019-09-24 International Business Machines Corporation Collections for storage artifacts of a tree structured repository established via artifact metadata
GB201014986D0 (en) * 2010-09-09 2010-10-20 Standard Life Employee Service A system and method for copying data
US8838767B2 (en) * 2010-12-30 2014-09-16 Jesse Lakes Redirection service
CN102254022B (zh) * 2011-07-27 2013-03-06 河海大学 一种面向多数据类型信息资源元数据的共享方法
CN104835741B (zh) * 2014-02-12 2018-04-27 北大方正集团有限公司 平面vdmos栅源漏电的处理方法
CN110636117A (zh) * 2019-08-29 2019-12-31 上海乂学教育科技有限公司 智能校区支持服务系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026408A (en) * 1998-01-28 2000-02-15 Unisys Corp. Method for synchronizing the schema of a database with its representation in an object-oriented repository
US6272503B1 (en) * 1997-05-30 2001-08-07 Oracle Corporation Tablespace-relative database pointers

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0812632B2 (ja) * 1992-04-30 1996-02-07 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報化システムおよび情報化方法
US5809296A (en) * 1994-11-29 1998-09-15 St Computer Systems & Services Ltd. Method and structure for clustering database tables into classes and presenting each class as an E-R model
US5907844A (en) * 1997-03-20 1999-05-25 Oracle Corporation Dynamic external control of rule-based decision making through user rule inheritance for database performance optimization
US7031987B2 (en) * 1997-05-30 2006-04-18 Oracle International Corporation Integrating tablespaces with different block sizes
US6208990B1 (en) * 1998-07-15 2001-03-27 Informatica Corporation Method and architecture for automated optimization of ETL throughput in data warehousing applications
US6338069B1 (en) * 1998-12-11 2002-01-08 Daman, Inc. Method and apparatus for managing functions
US6405211B1 (en) * 1999-07-08 2002-06-11 Cohesia Corporation Object-oriented representation of technical content and management, filtering, and synthesis of technical content using object-oriented representations
US6381600B1 (en) * 1999-09-22 2002-04-30 International Business Machines Corporation Exporting and importing of data in object-relational databases
US6684219B1 (en) * 1999-11-24 2004-01-27 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for building and maintaining an object-oriented geospatial database
EP1109117A1 (en) 1999-12-14 2001-06-20 Sun Microsystems, Inc. Method for converting table data between a database representation and a representation in tag language
US6708186B1 (en) * 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US6611838B1 (en) * 2000-09-01 2003-08-26 Cognos Incorporated Metadata exchange
US20040039934A1 (en) * 2000-12-19 2004-02-26 Land Michael Z. System and method for multimedia authoring and playback
US7099885B2 (en) * 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US7124140B2 (en) * 2001-12-10 2006-10-17 Oracle International Corporation Database system having heterogeneous object types
US7873684B2 (en) * 2003-08-14 2011-01-18 Oracle International Corporation Automatic and dynamic provisioning of databases
US8341120B2 (en) * 2003-09-05 2012-12-25 Oracle International Corporation Apparatus and methods for transferring database objects into and out of database systems
US8311974B2 (en) * 2004-02-20 2012-11-13 Oracle International Corporation Modularized extraction, transformation, and loading for a database
US8275810B2 (en) * 2005-07-05 2012-09-25 Oracle International Corporation Making and using abstract XML representations of data dictionary metadata

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272503B1 (en) * 1997-05-30 2001-08-07 Oracle Corporation Tablespace-relative database pointers
US6026408A (en) * 1998-01-28 2000-02-15 Unisys Corp. Method for synchronizing the schema of a database with its representation in an object-oriented repository

Also Published As

Publication number Publication date
WO2003050720A2 (en) 2003-06-19
US7672961B2 (en) 2010-03-02
JP2005512235A (ja) 2005-04-28
CA2469413C (en) 2013-04-02
CA2469413A1 (en) 2003-06-19
US20030110179A1 (en) 2003-06-12
AU2002364538B2 (en) 2008-05-22
US7124140B2 (en) 2006-10-17
CN1592908A (zh) 2005-03-09
AU2002364538A1 (en) 2003-06-23
US20070198579A1 (en) 2007-08-23
EP1451727A2 (en) 2004-09-01
WO2003050720A3 (en) 2004-02-12

Similar Documents

Publication Publication Date Title
CN1592908B (zh) 具有异种对象类型的数据库系统
TWI710919B (zh) 資料儲存裝置、轉譯裝置及資料庫存取方法
EP1121655B1 (en) Accessing a hierarchical data store through an sql input
US6970882B2 (en) Unified relational database model for data mining selected model scoring results, model training results where selection is based on metadata included in mining model control table
CN112233746B (zh) 一种医疗数据自动标准化的方法
US8515959B2 (en) Method and apparatus for maintaining and navigating a non-hierarchical personal spatial file system
US20090024384A1 (en) Data processing method and system, program for realizing the method, and computer readable storage medium storing the program
US6343286B1 (en) Efficient technique to defer large object access with intermediate results
US20020107840A1 (en) Database querying system and method
JP5927886B2 (ja) クエリシステム及びコンピュータプログラム
CN105824914A (zh) 一种基于配置的雪花模型信息抽取方法
Zhu et al. Developing a dynamic materialized view index for efficiently discovering usable views for progressive queries
Ben-Gan et al. T-SQL Querying
Dangerfield et al. Relational Database Management Systems: A New Tool forCoding and Classification
Knowles et al. The CODASYL model
Pedersen et al. Advanced Implementation Techniques for Scientific Data Warehouses
JP3202214B2 (ja) データベース管理システム
AU2007229359B2 (en) Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system
CN117290376A (zh) 基于大语言模型的两阶段Text2SQL模型、方法与系统
Chau et al. A temporal meta database system for 3d objects
CN111367920A (zh) 一种基于二维表的存储方法、索引构建方法及存储装置
KR20010056171A (ko) 정보 검색시스템에서의 정보 검색을 위한 부분검색 장치및 그 방법
JPH0795300B2 (ja) データベースにおける名称管理方式
Lu et al. TheSys-a comprehensive thesaurus system for intelligent document analysis and text retrieval
Gupta Taxonomy of Database Management System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20110615