BBS632 - Database Systems (Fall 2022)
Lecturer: Dr. Fuat Akal
Lectures: Wednesdays, @18:30
Office Hours: Open door policy
Course Description
This course provides a foundation for relational database management systems. In this course, you will create relational databases, write SQL statements to extract information to satisfy business reporting requests, create entity relationship diagrams (ERDs) to design databases, and analyze table designs for excessive redundancy. In addition to that, you will learn about transaction management, user management, security and, backup and recovery. As you develop these skills, you will use either SQLite or MySQL, or anything else you desire to execute SQL statements to improve your practice.
Course Work
Lectures will be conducted in Turkish in the classroom. Course materials will mostly be in English. Involvement in the classroom are highly encouraged, but not mandatory. Both will be rewarded as 5% while grading though.
Project Work
As a term project, you are supposed to design and implement a database schema. Your implementation will be at the SQL level only. You are not supposed to develop a database application, e.g., a Web application.
Grading
Grading will be done over involvement (5%), a midterm examination (30%), project work (15%), and a final examination (50%). Also note that, students must achieve at least 30% in the final exam.
Reference books
“Database System Concepts” by Abraham Silberschatz and S Sudarshan
Additional Resources:
You can either locally install a database to work with or use Jupyter Notebooks and SQLite. Depending on your choice, you can try MySQL, PostgreSQL, or Anaconda.
Schedule
Week # | Date | Title | Slides |
---|---|---|---|
1 | 05.10.2022 | Course Logistics and Database History, SQL: Introduction | |
2 | 12.10.2022 | Database Design: ER Diagrams | |
3 | 19.10.2022 | SQL: Advanced | |
4 | 26.10.2022 | Relational Algebra | |
5 | 02.11.2022 | Database Design: Theory 1 | |
6 | 09.11.2022 | Database Design: Theory 2 | |
7 | 16.11.2022 | Transactions and Isolation | |
8 | 23.11.2022 | Data Access: I/O Model, Indexes | |
9 | 30.11.2022 | Midterm Exam | |
10 | 07.12.2022 | Optimization | |
11 | 14.12.2022 | Programming the Database | |
12 | 21.12.2022 | Backup, Recovery, Replication | |
13 | 28.12.2022 | NoSQL Systems | |
14 | 04.01.2022 | Review for Final Examination |
Communication:
The course webpage will be updated regularly throughout the semester. All other course related communications will be carried out through Piazza. Please enroll by following the link below:
Anonymous Feedback Forms:
Please use Fuat's Anonymous Feedback Form if you have something to tell me in private while staying anonymous. Do not forget that this form are not to inform on your friends!