TOPICS ON THE FINAL (Monday, December 15, 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 2025 homeworks
and the 2025 midterm and prior midterms on the 2025 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 2025 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.