对象关系模型中的对象标识符(OID)与关系模型中的记录ID(RID)之间有什么区别?
答案 0 :(得分:1)
两者都有相同的目的,但在不同的范围内。 记录在pl / sql块中声明,但对象在数据库中声明。这意味着记录是pl / sql块类型,而object是schema对象。
declare
type c is record(a number, b number);
begin
---
---
---
end;
create type subtype1 is object(a number, b number);
当Oracle构造REF到行对象时,构造的REF由对象标识符,对象表的一些元数据以及可选的 ROWID
REF类型列中REF的大小取决于与列关联的存储属性。例如,如果列声明为REF WITH ROWID,则Oracle会将ROWID存储在REF列中。对于受约束的REF列中的对象引用,将忽略 ROWID 提示。
如果将列声明为带有 SCOPE 子句的REF,则通过省略对象表元数据和 ROWID 使列更小。范围内的REF长度为16个字节。