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:


https://piazza.com/hacettepe.edu.tr/fall2022/bbs632

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!