Introduction to Database Management

CS 348 D.R.Cheriton School of CS, U.Waterloo


Synopsis and Overview

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.

  • Prerequisites

    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).

  • Book(s)

    Database Management Systems (3rd ed.). Ramakrishnan and Gherke. McGraw Hill, 2003.
    Database and Knowledge-Base Systems I., II. Jeff Ullman. Comp. Sci. Press, 1988.
    Database System Comcepts (3rd.ed.) Silberschatz et.al. McGraw Hill 1996.
    Foundations of Databases. S. Abiteboul, R. Hull, V. Vianu, Addison-Wesley, 1995.

    The lectures do not follow the textbook to the letter. Additional lecture notes will be made available for some of the advanced topics.


    Projects

    TBA


    Assessment

    Assignments will be collected in class on due date (often an electronic submission will be required). As the solutions may (and often will) be discussed on the due date in class, no late assignments can be accepted.

    To pass the course, a student must pass the final examination.


    Fine print: the usual university policies on academic honesty, fair use of computing facilities, etc., apply by default.