CS554 Syllabus & Progress

CS554 - Advanced Database Systems
Syllabus and Progress

  1. Introduction

  2. Review of undergraduate database material (my CS377 class notes is here: click here )

    • Review of Relational Algebra:
      • Relations: click here
      • The Relational (Data) Model click here

      • Overview of Relational Algebra
        • Intro: click here
        • The high school set operators (, , ): click here
        • The operators σ, π, × and : click here                                                   (cs377 material)
        • The Aggregate (= set) Functions: click here                                                 (cs377 material)

      • Examples of Relational Algebra: click here                                       (cs377 material)

      • Bags, sets and the δ and γ operators: click here

        Homework 1: click here

    • Review of SQL:
      • The model of the database used in these notes: click here
      • Accessing the MySQL server: click here

      • Intro to SQL: click here                                                                       (cs377 material)
      • The CREATE TABLE command: click here
      • The (abbreviated) INSERT command: click here

      • Intro to the SELECT command                                                       (cs377 material)

      • Qualifying attributes and aliasing: click here                                             (cs377 material)

      • Set operations (∪, ∩, −) in SQL: click here                                       (cs377 material)
      • The tuple conditions that can be used in the where clause: click here                 (cs377 material)

      • Nested queries:                                                 (cs377 material)

      • Correlated nested queries:

    • Neat trick to get other attributes using a set of foreign keys in a nested query: click here

    • Set functions:

    • Forming groups based on grouping attributes and conditions on a group:

    • Virtual table (relation) or view: click here

      Homework 2: click here

  3. Secondary Storage (Disks) management

  4. Indexing

  5. One-pass Algorithms for Query execution (processing a physical query plan)

  6. The nested-loop Join Algorithm

  7. 2-pass Algorithms for Query execution that are based on (TPMMS) sorting

  8. 2-pass Algorithms for Query execution that are based on hashing

  9. Algorithms that are based on indexing:

  10. Multiple-pass algorithms

    Query optimization

  11. Overview: query optimization: click here

  12. Parsing and pre-processing

  13. Laws used to transform logical query plans

  14. Converting a Parse Tree into an initial logical query plan (tree)

  15. Query optimization: finding the best Logical Query Plan (= Relational Algebra Tree)

  16. Ordering the join (and cartesian product) operations

  17. The physical query plan

    Homework 6: click here

  18. Recoverability: protecting database from system failure (logging)

  19. Serializability: correctness of concurrent execution of transactions

  20. Serializability and Recoverability

  21. Deadlock

  22. Parallel Data Processing Algorithms

  23. The Map-Reduce Parallelism framework

  24. Distributed Databases: query processing

  25. Commiting Distributed Transactions

  26. Handling "Big Data"