TOPICS ON THE FINAL (Monday, December 16, 6-9PM Baltimore time, )

  Entity-Relationship data model 
  Relational data model 

  Relational algebra
  Relational calculus 
  SQL
  QBE

  Views
  Integrity constraints
  Functional dependencies
  Relational algebra equivalencies and Armstrong's Axioms
  Canonical closures
  Relational database design and normalization
   
  Query processing and optimization 
  Transaction processing and concurrency 
  Database security
  Recovery (and checkpoint + log file protocols)
  Distributed databases

  Object-oriented databases

  xml as a data model
  Datalog
  nosql
  Natural language interfaces
  Natural language interfaces using LLMs

  PL/SQL and MySQL stored procedures
        (it should be clear that *you* did HW3
            and are personally familiar with the
            basics of the language and
            a PHP interface to MySQL)

The midterm exam is a good example of the type and format of 
problems that will be on the first portion of the exam.

Homework #4 (the exam-review-based homework) is a good
example of the type and format of problems that will
be on the 2nd portion of the exam.

As on the midterm exam, the final will be closed-book
and closed-note but you will be allowed to bring
*2* double-sided sheets of notes (US 8.5x11 paper sized) -
which has 4 written-on surfaces but should be on 2 physical pages.

You can of course use your midterm review sheet as one
of these, and many people find it easier to write out
their notes on 4 sheets and simply staple or tape them back-to-back.

For the most part, however, the exam is not about
memorization but about problem solving, design and understanding
of basic concepts. If you feel comfortable with expressing
complex queries in SQL and both did and understood HW3,
and feel like you can answer midterm-type questions on
the additional topics in the class you should do fine.

As noted previously, with the exception of the 2024 homeworks
and the 2024 midterm and prior midterms on the 2024 website 
and their sample solutions, which have been previously released 
to you on the class website and piazza,
YOU ARE FORBIDDEN TO USE (OR LOOK AT) ANY OTHER PRIOR EXAMS OR
HOMEWORKS AND/OR THEIR SAMPLE SOLUTIONS FOR EXAM PREPARATION or any other reason.
This is for fairness to students with different access to
prior homework/exam archives and we verify it in part by
computing 2 separate exam averages - one average for the
entirely new 2024 exam questions and one average for questions
that have been reused or adapted from prior exams/homeworks.
Students with significantly better performance on the reused/adapted
questions relative to completely new questions will be considered
to have cheated, so there should be no benefit for you to do this.

Historically, most students have been able to complete the exam
in the standard 3 hour slot, and you should have time to finish 
if you work steadily and distribute your time relative to question 
point value. The total number of points on the exam is approximately 180, 
thus you should spend on average about 5 minutes on a five point question.
This includes RA/SQL/QBE queries, and one of the clearly stated goals of 
the class is to be able to write these effectively in 5 minutes *on average*.
Some will be easier and some more complex, but practice is helpful.
And as noted before, if you did poorly on the midterm and demonstrate
your ultimate mastery of the material on the equivalent earlier portions of
the final, this will be taken into account in final grading.