BBM471 DATABASE MANAGEMENT SYSTEMS / BBM473 DATABASE LABORATORY
SPRING 2025
INSTRUCTOR: Engin Demir
TAs:
LECTURES: Tue 8:40-11:30 LAB: Fri 13:40-15:30
COURSE
DESCRIPTION:
This is a course on
database systems that is intended for advanced undergraduates in computer
science. The course offers an introduction to database system concepts in
general, particularly relational database design, terminology, and
techniques to create and modify database management systems (DBMS).
Application development, query optimization,
transaction management, concurrency control, recovery mechanisms, parallel
and distributed databases will be
covered in detail. In the end of the course, the students are expected to
gain an in-depth understanding on how the databases are designed, queried
and maintained.
While not mandatory, it is expected
that the students should take BBM 371 prior to BBM 471. In addition, the
students are expected to have a sound knowledge of data structures and
algorithms.
TEXTBOOK:
Avi Silberschatz, Henry F. Korth, S. Sudarshan.
Database System Concepts, Seventh
Edition, 2019. McGraw-Hill, ISBN 9780078022159.
GRADING POLICY:
Coursework
BBM471 |
Midterm
Exams (2x30) |
60 |
Final Exam |
40 |
|
Lab
BBM473 |
Lab
Exercises (8x5) |
40 |
Project |
60 |
A minimum of 70% attendance to lectures and 80% attendance to laboratory sessions are compulsory.
COMMUNICATION:
The course webpage will be updated
regularly throughout the semester with lecture notes, programming and
reading assignments and important deadlines. All other communications will
be carried out through Piazza. Please enroll it by following the links
https://piazza.com/hacettepe.edu.tr/spring2025/bbm471
https://piazza.com/hacettepe.edu.tr/spring2025/bbm473
POLICIES:
All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated. In short, turning in someone else's work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.
CLASS SCHEDULE
Week
Topic
Materials
1
Introduction to Database Management Systems
Ch 1
2
Database Design & Normalization
Ch 6,7
3
Application Design and Development
Ch 9
4
Query Optimization
Ch 16
5
Transactions
Ch 17
6
Midterm Exam 1
7
Concurrency Control
Ch 18
8
Recovery System
Ch 19
9
Database System Architectures
Ch 20
10
Midterm Exam 2
11
Parallel and Distributed Storage
Ch 21
12
Parallel and Distributed Query Processing
Ch 22
13
Parallel and Distributed Transaction Processing
Ch 23
14
Advanced Topics
Ch 24, 25
LAB SCHEDULE
Week
Lab Sessions
Project Assignments
1
Introduction and Tutorial on DB
2
Exercise - Introduction to SQL
3
Exercise - More on SQL
4
Exercise - Database Design, ER Diagram
Project Proposal (due Week 7)
5
Exercise - Design Theory
6
Exercise - Relational Algebra & Logical Equivalence,
Exercise
- Optimization of Relational Algebra Expressions
Design Report (due Week 10)
7
Exercise - Indexes
8
Exercise - Transactions and Isolation
9
Review & Feedback
10
Projects DB Design and Development presentation
11
Projects DB Design and Development presentation (cont)
12
Review & Feedback
13
Project Demostrations
14
Project Demostrations (cont)