在Oracle中,Rowid可以作为表的主键吗?如果该表与其他表有关联呢?

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:10:21
Rowid作为主键与表本身的候选键作为主键有什么优劣呢?(我积分很少,所以只能给这么一点点,谢谢啦)

朋友你好

我来说两句

原因一(RowID可那随时改变)

首先RowID也是伪列,但是他也是唯一的。

他每个值表示数据块的地址。

主键是可以做,但是很容易生效,当你对数据进行移动,

如导入和导出之类的操作,这个RowID也会随之改变。

所以说RowID不适合做主键。

原因二(主键也就含有自动创建的唯一索引)

索引创建的过程就是由RowID和列值进行绑定,

当数据块地址发生改变的时候,

如删除一条记录,那么索引也会被自动维护,

也就是说RowID会自动改变,

这也是ORACLE内部用ROWID的方法

希望你能理解!祝好运