
# EXAM TOPICS


- functional dependences
  - armstrong's axioms (rat)
  - others (dup)
  - attribute set closures
  - removing extraneous attributes
  - canonical covers
- normal forms
  - BCNF: lossless, but not dependency-preserving
  - 3NF: lossless and  dependency-preserving, but some duplication
- storage
  - RAID
  - buffer manager
    - LRU, MRU
- mapping relations to files
  - all in one
  - 1-to-1
  - co-locating related relations
- mapping tuples to files
  - no ordering (heap organization)
  - ordered
  - hash (a bucket per page, for example)
  - insertions and deletions
- indexes
  - primary vs secondary
  - dense vs sparse
  - B+-trees
- Query processing
  - cost of accesses
    - queries
    - sorting
      - sort-merge
    - joins
      - nested loop
      - block nested loop
      - indexed nested-loop join
      - merge join
      - hash join
- Transactions
  - ACID
  - serializability
    - conflict
      - precedence graphs
    - view
    - transactions that just increment
  - limiting concurrency
    - locks
      - two-phase locking
      - strict
      - rigorous
    - timestamp based
    - optimistic
      - snapshot isolation
