CSE370: Database Systems

Undergraduate course, BRAC University, Department of Computer Science and Engineering, 2024

Taught CSE370: Database Systems during Fall 2024. This course introduces the theoretical foundations, design methodologies, and practical implementation of relational database management systems (RDBMS).

Pre-requisite: CSE220
Semester Taught: Fall 2024
Institution: BRAC University, Department of Computer Science and Engineering


Course Description

This course provides a comprehensive foundation in the principles and practices of modern database systems. Students study database system architecture, conceptual data modeling with Entity-Relationship (ER) and Enhanced ER (EER) diagrams, relational data modeling, relational algebra, and schema mapping. The curriculum places strong emphasis on functional dependencies and normalization theory (1NF through BCNF), storage and indexing structures (B-trees, B+ trees, hashing), transaction processing, concurrency control, ACID properties, and the full spectrum of Structured Query Language (SQL) for database definition, manipulation, and complex querying.

Course Objectives

  • Explain the architecture, benefits, and components of relational database management systems compared to traditional file-processing systems.
  • Master conceptual data modeling using ER and EER diagrams and translate them into normalized relational schemas.
  • Apply normalization algorithms and functional dependency analysis to design anomaly-free databases.
  • Develop advanced proficiency in Structured Query Language (SQL) including DDL, DML, complex joins, nested subqueries, views, and aggregate functions.
  • Guide student teams through the complete design, implementation, and deployment of a database application project.

Course Topics & Outline

  • Introduction to Database Systems: Database approaches vs. file systems, three-schema architecture, data independence, and DBMS components.
  • Conceptual Data Modeling: Entities, attributes, relationships, cardinality constraints, ER modeling, and Enhanced ER (EER) specializations/generalizations.
  • The Relational Model: Relational schema concepts, domain constraints, key constraints, entity integrity, and referential integrity.
  • ER/EER-to-Relational Mapping: Step-by-step algorithms for mapping entity types, 1:1, 1:N, M:N relationships, multi-valued attributes, and inheritance hierarchies.
  • Relational Algebra: Unary operators (select, project, rename), set theory operators (union, intersection, set difference, Cartesian product), and binary relational operators (joins, divisions).
  • Structured Query Language (SQL): Schema definition (DDL), data manipulation (DML), complex joins, subqueries, group by/having clauses, views, and integrity constraints.
  • Database Design Theory & Normalization: Functional dependencies, inference rules (Armstrong’s axioms), normal forms (1NF, 2NF, 3NF, BCNF), and lossless join decomposition.
  • Storage & Indexing: Primary file organization, secondary storage, single-level vs. multi-level indexing, B-trees, B+ trees, and hash indexing.
  • Transaction Management: Transaction concepts, ACID properties, serializability, concurrency control protocols (locking methods), and crash recovery.

Textbooks & Reference Materials

  1. Fundamentals of Database Systems, Ramez Elmasri and Shamkant B. Navathe, 7th Edition, Pearson, ISBN: 9780133970777.
  2. Database System Concepts, Abraham Silberschatz, Henry F. Korth, and S. Sudarshan, 7th Edition, McGraw-Hill, ISBN: 9780078022159.
  3. Database Systems: A Practical Approach to Design, Implementation, and Management, Thomas Connolly and Carolyn Begg, 6th Edition, Pearson.
  4. Departmental lecture slides, SQL assignment problem sets, and project templates provided via buX.