2017-06-11 37 views
-1

那么我知道OID是什么,是什么意思,但是它与主键相同吗?在这种情况下,它是如何相同以及两者(如果有)之间有什么区别?对象标识符(OID)和主键在面向对象设计方面的区别?

+0

您使用了哪个数据库,因为OID不是通用数据库术语;例如在PostgreSQL中使用,但这实际上是PostgreSQL的实现细节。该术语本身根本与JDBC无关。另外,你的问题还不清楚。 –

+0

我的意思是,我想知道OID和主键的概念是否相同......在一般意义上......两者之间有什么相似之处?我没有考虑到我正在处理的数据库,我是用一般的方法讲的......我知道OID是唯一赋予每个对象的,它不能被检索或改变,它在它的价值方面没有任何意义,我知道我们在数据库,但是,在概念,属性或定义方面两者是否有任何相似之处? – Rik

+0

由于OID不是一般性概念,而是一个或多个数据库的实现细节,如果没有指定您正在讨论哪个数据库,则这不是真正的答案。 –

回答

0

并非所有的数据库都有对象标识符(OID)。如果您使用PostgreSQL,它是PostgreSQL用于识别系统表的内部标识符。您不会将OID添加到用户创建的表中。主键是在创建表格时定义的。但是当然,在创建表格时,通过指定WITH OIDS,您仍然可以使用OID(如果需要)。附上的是PostgreSQL文档的链接供您查看。 https://www.postgresql.org/docs/8.1/static/datatype-oid.html