shall assume that no record is larger than a block. This assumption is realistic for most
data-processing applications, such as our university example. There are certainly
several kinds of large data items, such as images, that can be significantly larger
than a block. We briefly discuss how to handle such large data items later, in
Section 10.5.2, by storing large data items separately, and storing a pointer to the
data item in the record.
In addition, we shall require that each record is entirely contained in a single
block; that is, no record is contained partly in one block, and partly in another.
This restriction simplifies and speeds up access to data items.
In a relational database, tuples of distinct relations are generally of different
sizes. One approach to mapping the database to files is to use several files, and
to store records of only one fixed length in any given file. An alternative is to
structure our files so that we can accommodate multiple lengths for records;
however, files of fixed-length records are easier to implement than are files of
variable-length records.Many of the techniques used for the former can be applied
to the variable-length case. Thus, we begin by considering a file of fixed-length
records, and consider storage of variable-length records later.