How to Implement SQL
Query Optimizer - translates SQL into an ordered expression of relational DB operators (Select, Project, Join)
Query Executor - executes the ordered expression by running a program for each operator, which in turn accesses records of files
Access methods - provides indexed record-at-a-time access to files (OpenScan, GetNext, …)
Page-oriented files - Read or Write (page address)