You are on page 1of 1

Steps in database query processing

Step Input Component Output


1 Query string Parser Query tree
2 Query tree Checker Valid query tree
3 Valid query tree View expander Valid tree without views
4 Valid tree without views Logical query plan generator Logical query plan
5 Logical query plan Rewriter (heuristic) Better logical query plan
6 Logical query plan Physical plan generator (cost-based) Selected physical plan
7 Physical plan Code generator Executable code
8 Executable code Execution engine Answer!

Running example
Student(ID, Name, Major) // ID is key
Course(Num, Dept) // Num is key
Taking(ID, Num) // (ID,Num) is key

Query to find names of all EE students taking at least one CS course:


Select Distinct Name
From Student, Course, Taking
Where Taking.ID = Student.ID
And Taking.Num = Course.Num
And Major = 'EE'
And Dept = 'CS'

You might also like