This introductory course covers relational databases in detail, and touches on some “advanced” material like non-relational representations and data mining. Other optional material is listed at the bottom.

Relational Databases (required of all students)

  • Querying Relational Databases
    • Relational Algebra
    • SQL (in some depth)
  • Contraints
    • Attribute and tuple constraints
    • Referential Integrity
    • General constraints (assertions)
  • Triggers
  • Universal Modeling Language (for conceptual database design)
  • Relational Design Theory
    • Functional Dependencies
    • Normal Forms
    • Design by Decomposition
  • Views
  • Indexing
  • Transactions
  • Non-relational
    • JSON
  • Data mining (e.g., association rules)

Optional Material (see the bottom of Schedule)

  • Multivalued Dependencies
  • Online Analytical Processing
  • Recursion in SQL
  • Authorization in SQL

I encourage you to pursue these optional topics. We have no second course in database where you might formally study non-SQL database schemes and other advanced database topics such as data mining, so I have included some rudimentary additional material on these topics in this course.