Attach a special end-of-record symbol ( ) to the end of each record.
Each record is stored as a string of successive bytes (See Figure 10.10).
Byte string representation has several disadvantages:
It is not easy to re-use space left by a deleted record
In general, there is no space for records to grow longer.
(Must move to expand, and record may be pinned.)
So this method is not usually used.
An interesting structure: Slot page structure.
There is a header at the beginning of each block, containing:
# of record entires in the header
the end of free space in the block
an array whose entries contain the location and size of each record.
The slot page structure requires that there be no pointers that point
directly to records.
Instead, pointers must point to the entry in the header that contains
the actual location of the record.
This level of indirection allows records to be moved to prevent fragmentation
of space inside a block, while supporting indirect pointers to the record.