can anyone help me in understanding the row directory which is part of oracle data block?
I am bit confused in below -
A rowid points to a specific file, block, and row number. For example, in the rowid AAAPecAAFAAAABSAAA, the final AAA represents the row number. The row number is an index into an entry in the row directory. The row directory entry contains a pointer to the location of the row on the data block. If the database moves a row within a block, then the database updates the row directory entry to modify the pointer. The rowid stays constant.
How does the rowid stay constant even if the row is moved to another place in a data block?
I am attaching a screenshot which I made based on my understanding, so is it correct or not, kindly let me know that as well.


Regards,
Gaurav Kumar