请教,请大家告诉我。
rowid能唯一确定记录,为何还经常要定义一些并无实际业务意义的字段(id,常采用序列生成)来标识记录。
菜鸟不懂,请大家告诉俺

解决方案 »

  1.   

    楼主,你的两个问题我来回答一下:
    1.rowid绝对可以唯一确定一条记录,因为rowid里面把record的物理块的信息也记录下来了
    2.为什么一般DB设计里面都不用rowid,而用一些类似于楼主说的id呢。一句话...因为rowid太难用了....它是英文和数字的一个混合体,而且生成是没有规律的。所以必须要有一个比较好用而且容易懂的项目。
    以上两点,不知道是否能够解答楼主的疑惑?
      

  2.   

    谢谢楼上!
    但是orcale到底有什么logic rowid 和物理rowid的区分么?分别干吗的,如果有,那么我们通常所说的rowid是物理的还是逻辑的?
      

  3.   

    rowid能唯一确定记录,为何还经常要定义一些并无实际业务意义的字段(id,常采用序列生成)来标识记录。
    -------------------------------
    我的观点是:rowid是由Oracle负责维护的,我们自己没办法控制它,比如:把数据exp再imp进去,
    rowid就与原来不一样了,因此,在其他的表中引用或保存它是没有意义的。
      

  4.   

    myy 说的对,大家做业务表时用来关联各表的都是自己能控制的字段,像rowid这种东西,说不定调整一下空间后就会变动,不能拿来做关联依据。