**closed book**and

**closed notes**exams.

## Midterm Exam

**Monday, Mar 12th, 10:00am - 11:15am, PS 121**

The exam will be **75** minutes long. It is **closed book and closed notes**. Some questions will be multiple-choice. Topics covered will be:

- Datalog
- Write datalog queries
- Translate from datalog to SQL or relational algebra

- Constraints
- Write constraints as first-order logical formulas.
- Translate constraints into first-order logical formulas. For example, given a functional dependency translate it into its first-order representation.
- Translate constraints into denial constraints
- Write denial constraints

- Query Equivalence and Containment
- Find containment mappings between queries to determine their containment relationships.

- Create Schema Matchings
- Determine schema matches based on simple schema-based matches such as edit distance with threshold or Jacard with threshold.

- Virtual Data Integration
- Rewrite a query using a set of views using the inverse rules or bucket algorithm.

The exam is available here. You can find the solutions here.

## Final Exam

**05/04, 8:00am - 11:00am, online**

The exam will be **180** minutes long. It is **open book and open notes**. Questions will be both multiple-choice and full text questions. These topics have already been covered in the homework assignments. Topics covered will be:

- Data Warehousing
- Write SQL queries using the generalized grouping and windowed aggregation (analytical function) features we have discussed in class.
- Answer basic multiple choice questions about the multidimensional datamodel and its abstract operations (drill-down, roll-up, ...).

- Provenance
- Answer multiple choice questions about provenance models, e.g., insensitivity to query rewrite
- Know how to determine the provenance of a simple query according to one of the following provenance models.
- The 3 variants of Why-provenance: the set of witnesses, Why-provenance, and minimal Why-provenance.
- How-provenance (provenance polynomials).

The exam is available here. You can find the solutions here.