Database Management Systems

by Raghu Ramakrishnan and Johannes Gehrke

 

Database Management Systems

by Raghu Ramakrishnan and Johannes Gehrke

Relational Operators

Introduction

The relational operators are implemented as iterators, i.e., they support a get-next-tuple interface.

Selections are implemented as part of file-scan iterators or index-scan iterators; projections (with no selection) are always file-scan iterators. Selections on single relations are combined with projections.

Whenever possible, selections are combined with joins by applying the (non-join) selection conditions to the tuples in the join result. Similarly, any unwanted attributes are projected out as part of the join operators. Each join method defines a new kind of iterator.

Sorting is implemented as a separate iterator, and is used internally by the sort-merge join operator. It can also be used for GROUP-BY, ORDER-BY and DISTINCT.

Design Decisions

Back to the List of Components
Back to the Minibase Home Page