在Oracle中,Rowid可以作为表的主键吗?如果该表与其他表有关联呢?
Rowid作为主键与表本身的候选键作为主键有什么优劣呢?(我积分很少,所以只能给这么一点点,谢谢啦)...
Rowid作为主键与表本身的候选键作为主键有什么优劣呢?(我积分很少,所以只能给这么一点点,谢谢啦)
展开
1个回答
展开全部
朋友你好
我来说两句
原因一(RowID可那随时改变)
首先RowID也是伪列,但是他也是唯一的。
他每个值表示数据块的地址。
主键是可以做,但是很容易生效,当你对数据进行移动,
如导入和导出之类的操作,这个RowID也会随之改变。
所以说RowID不适合做主键。
原因二(主键也就含有自动创建的唯一索引)
索引创建的过程就是由RowID和列值进行绑定,
当数据块地址发生改变的时候,
如删除一条记录,那么索引也会被自动维护,
也就是说RowID会自动改变,
这也是ORACLE内部用ROWID的方法
希望你能理解!祝好运
我来说两句
原因一(RowID可那随时改变)
首先RowID也是伪列,但是他也是唯一的。
他每个值表示数据块的地址。
主键是可以做,但是很容易生效,当你对数据进行移动,
如导入和导出之类的操作,这个RowID也会随之改变。
所以说RowID不适合做主键。
原因二(主键也就含有自动创建的唯一索引)
索引创建的过程就是由RowID和列值进行绑定,
当数据块地址发生改变的时候,
如删除一条记录,那么索引也会被自动维护,
也就是说RowID会自动改变,
这也是ORACLE内部用ROWID的方法
希望你能理解!祝好运
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |