Madhavan Mukund



RDBMS and SQL

Aug–Nov 2025


Administrative details

  • Instructor: Madhavan Mukund

  • Teaching Assistants: None

  • Evaluation:

    • Assignments, final exam

    • Weightage approximately 60%, 40%, to be confirmed

    • Copying is fatal

  • Text and reference books:


Course plan

This list is approximate and subject to change.

  • The relational model
    • History
    • Relational algebra
  • SQL
    • Basic queries
    • Creating and updating tables
    • Aggregate queries
  • Storing tables on disk
  • Query processing
  • Transactions and consistency


Lectures

  • Lecture 1: 14 Aug 2025
    (Class Notes)

    • Why DBMS? Overview of concepts to be discussed in the course
      • Reference: Silberschatz et al, Ch 1.1, 1.2

    Supplementary reading

  • Lecture 2: 21 Aug 2025
    (Class Notes)

    • The relational model — mathematical relations, relations and tables, schema
    • Relational algebra: select, project, join
      • Reference: Silberschatz et al, Ch 2.1, 2.2, 2.6
  • Lecture 3: 28 Aug 2025
    (Class Notes)

    • Relational algebra: natural join, set operations, renaming
      • Reference: Silberschatz et al, Ch 2.6
  • Lecture 4: 04 Sep 2025
    (Class Notes)

    • Relational algebra: examples, expressiveness
      • Reference: Silberschatz et al, Ch 2.6
  • Lecture 5: 18 Sep 2025
    (Class Notes, SQL demo )

    • Relation schema — keys, referential integrity, foreign keys, schema diagram
      • Reference: Silberschatz et al, Ch 2.2, 2.3, 2.4
    • Querying data in SQL – select statement
      • Reference: Silberschatz et al, Ch 3.3
  • Lecture 6: 25 Sep 2025
    (Class Notes, SQL demo )

    • Querying data in SQL – select, join, set operations, renaming, nested queries, sorting output, aggregate values, grouping, string matching
      • Reference: Silberschatz et al, Ch 3.3, 3.4, 3.5, 3.7, 3.8
  • Lecture 7: 16 Oct 2025
    (Class Notes, SQL demo )

    • Data definition in SQL – creating and dropping tables, databases
      • Reference: Silberschatz et al, Ch 3.2
    • Data manipulation in SQL – inserting, deleting, updating rows in tables
      • Reference: Silberschatz et al, Ch 3.9
    • Querying data in SQL – set comparisons, null values, natural join, outer join, views
      • Reference: Silberschatz et al, Ch 3.5, 3.6, 4.1, 4.2