Instructional Objectives (After mid-term)

All homework assignments after mid-term are included.

Security

  1. Be able to assign access rights to users using view mechanism, and GRANT and REVOKE SQL statements.
  2. Be able to explain the following concepts: 
  3. Be able to compute views for users of different access levels in multi-level relations.
  4. Be able to manually update a multi-level relation when users of different access levels update it.

Transactional Concepts

  1. Be able to explain the following concepts:
  2. Be able to compute read-set, write-set of a transaction.
  3. Be able to write the schedule according to concurrent execution of transactions
  4. Be able to identify the conflict operations for concurrent executing transactions
  5. Be able to determine if a schedule is complete or not.
  6. Be able to compute the committed project of a schedule
  7. Be able to determine if a schedule is recoverable, avoid-cascade-abort, or strict.
  8. Be able to determine if two schedules are (conflict) equivalent.
  9. Be able to draw serialization graph for a schedule.
  10. Be able to determine if a schedule is serializable.

Concurrency Control (Locking)

  1. Be able to explain the following concepts or protocols
  2. Be able to determine if a schedule uses 2PL
  3. Be able to use 2PL its variations to schedule transactions (manually)
  4. Be able to determine if a schedule has a deadlock
  5. Be able to explain the advantages and disadvantages of the variations of 2PL
  6. Be able to apply wait-die and wound-wait to prevent deadlock
  7. Be able to compute compatibility matrix.
  8. Be able to apply two-version 2PL to schedule transactions
  9. Be able to apply multi-granularity locking to schedule transactions

Concurrency Control (Timestamp Ordering)

  1. Be able to explain the following concepts or protocols
  2. Be able to apply the following protocols to schedule transactions

Recovery

  1. Be able to explain the following concepts or protocols
  2. Be able to apply the following protocols to recover from failures. That is, to describe the recovery process using the following protocols

Query Optimization

  1. Be able to explain the following concepts, etc.
  2. Be able to translate relation algebra expressions into query trees.
  3. Be able to apply the heuristics rules in the textbook to optimize query trees.