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.