pervasive initially used the term "navigational database" to describe btrieve, but later changed this to "transactional database". the use of the term navigational database was unusual because a navigational database uses "pointers" and "paths" to navigate among data records, and these pointers are contained in the record itself; isam, which is the fundamental structure of btrieve, uses a secondary index table to store these pointers to decrease search times. thus, the two types of database are different, and may or may not explain why pervasive started using different terminology for classifying their database. "(note: this is not strictly correct. a navigational database is one in which the logical access to the data in the database is done via the application-level interface or api, it is navigational in the sense that logical relationships are traversed by the application code "navigating" its way through the database. what physical techniques are used to accomplish this, i.e., isam, embedded pointers, etc., is almost irrelevant to the discussion. by contrast, a relational database does not provide the application layer with any way to "navigate" through the logical database structure and instead provides a set-level interface for selecting, aggregating and joining data. relational databases may also use a variety of physical techniques to access data including the same mentioned above, but the important aspect of being "relational" is that the data is accessed relationally, i.e., vie a set query model rather than a navigational model.)"