CS 348: Introduction to Database Management

Fall 2017

Course Objectives

The lectures try to give an answer the following three questions:

  • why do we want to use databases and what are the benefits of doing so,
  • how do we use databases as users and application programmers,
  • how do we design databases, and
  • (extremely elementary introduction into) how do databases work.
  • Overview of Topics:

    The bullets correspond to self-contained topics, rather than to actual class periods. However, an attempt will be made to include integral number of topics in a class period or to use integral number of class periods per topic.

    Why do we use Databases?

  • Functionality provided by a Database Management System (DBMS).
  • Database Models: Relational, (optionally: Network, OO).
  • How do we use a DBMS?
  • Relational model, logic-based query languages (relational calculus).
  • SQL as the standard interface,
  • Embedded query languages and application programming.
  • Brief notes on database administration, security, etc.
  • How do we design Databases?
  • Entity-Relationship (ER) model.
  • Universal relations and functional dependencies.
  • Data redundancy and normal forms.
  • Database tuning.
  • How do Database Management Systems work?
  • Anatomy of a DBMS: the big picture.
  • Relational Algebra: the operational approach to queries.
  • Transaction model.
  • Advanced Topics (optional)
  • More powerful query languages.
  • More powerful representation techniques.
  • Official Course Description


    The lectures do not assume any prior knowledge of databases. However, you must brush up your skills in the following three areas:
  • Elementary math (sets, relations, first-order logic).
  • Basics of complexity theory (e.g., the O-notation, etc.).
  • Basic programming skills (in C).

  • Classes

    LEC 001 02:30-03:50MF RCH 110 Weddell,Grant (SE)
    LEC 002 01:00-02:20MF RCH 309 Weddell,Grant
    LEC 003 02:30-03:50MW MC 2034 Toman,David
    LEC 004 01:00-02:20MW MC 2034 Toman,David

    Midterm Exam

    04:30-06:00F 11/03

    (sample midterm exam, midterm solution Q1)

    Final Exam

    CS 348 001 to 004 Friday December 15, 2017 7:30 PM 10:00 PM STC 0060,1012 (sample final exam)

    Course Evaluation

    The University of Waterloo has been working hard to bring student evaluations into the modern era by eliminating the need for wasteful and time-consuming paper surveys. The current system we are testing is called "evaluate", and was developed on campus in order to meet the specific needs of the university.

    The evaluation survey is available online.