This course aims to provide a thorough understanding of the underlying mechanisms and components that modern database management systems rely on to deliver efficient and reliable performance.
The curriculum covers a range of fundamental concepts that are essential to both high-performance transaction processing systems (OLTP) and large-scale analytical systems (OLAP). Students will be exposed to a variety of topics, including database design, query processing and optimization, indexing, concurrency control, and recovery management.
Furthermore, the course emphasizes the importance of both efficiency and correctness in the implementation of these ideas. To facilitate a more hands-on learning experience, all class projects will be centered on real-world in-memory, multi-core database systems, which will enable students to apply the concepts and principles covered in the course to practical scenarios.
Overall, this course is designed for advanced undergraduate students in software engineering who are looking to deepen their understanding of database management principles. Through a rigorous and scholarly examination of these core concepts, students will gain the knowledge and skills necessary to develop and optimize high-performance, reliable database management systems.
At the end of the course, students will be able to:
The Grade is generated from the examination result(s) with the following:
The group project should be completed by two students working together. You will be using PostgreSQL to fulfill the following requirements:
Suggestions for the database systems(Not Mandatory):
Library Management System: Create a system to manage book loans, reservations, and returns in a library. The system should be able to handle information about books, authors, publishers, library members, and loan history.
Inventory Management System: Develop a system to manage the inventory of a small business, such as a retail store or a warehouse. The system should handle products, suppliers, customers, sales, and purchase orders.
Hospital Management System: Design a system to manage patient records, doctor appointments, medical staff, and billing information for a hospital or clinic.
University Management System: Create a system to manage student enrollment, course registration, instructor information, and class schedules for a university.
Employee Management System: Develop a system for managing employee records, including personal information, job titles, departments, and salary information.
Online Ticket Booking System: Design a system for booking tickets for events like concerts, movies, or sports. The system should handle event information, venue details, ticket pricing, and user registration.
Real Estate Management System: Create a system for managing property listings, client information, and transactions for a real estate agency.
Restaurant Reservation System: Develop a system for managing table reservations and customer information for a restaurant.
Hotel Booking System: Design a system for managing room reservations, guest information, and billing for a hotel.
Fitness Club Membership System: Create a system for managing memberships, class schedules, and instructor information for a fitness club.
Make sure to collaborate effectively and divide the tasks evenly between both team members.