SDB: A Simple Relational Database Management System
The source files for the SQL DBMS, called SDB (which stands for a Simple Database System),
are the following:
- main.cc: The main program.
- sql.y: The yacc grammar for the sql syntax.
- sql.lex: The lex scanner to parse tokens.
- ~fegaras/cse6331/optgen/basic.h: The Expr class, the list templates, etc; READ IT.
- typecheck.h/.gen: This is the typechecking program.
- optimizer.h/.gen: This is the actual optimizer. READ optimizer.gen.
- evaluation.h/.gen: This is the in-memory evaluator; READ evaluation.h.
- common.cc: it is included in optimizer; it contains code for memoization and tracing; don't mess with it.
- company.sql: The company schema and data as they are described in Elmasri's book.
- queries.sql: A sample of few queries against the company database.
- database: The actual database state.
All .gen files need to be compiled by the optgen program
located at ~fegaras/cse6331/optgen/. This is done automatically
during Make.
At this point, SDB compiles, optimizes, and executes (in memory) all
SQL queries with simple predicates, unions, grouping, and aggregations.
Last modified: 2/19/97 by Leonidas Fegaras