CS 348 | SCS | UW

CS 348 Introduction to Database Management


Watch a video introduction to this course on YouTube.

Objectives

The main objective of this course is to introduce students to fundamentals of database technology by studying databases from three viewpoints: those of the database user, the database designer, and the database administrator. It teaches the use of a database management system (DBMS) by treating it as a black box, focusing only on its functionality and its interfaces.

Description

This is an introductory course on the basic concepts and the elements of database systems. It covers the basic concepts of database management by providing a "classic" introduction to the relational data model and its languages, and discusses database design methodology. The course objective will be achieved by focusing on three fundamental sub-objectives:

  1. To understand the principles of relational database management systems;
  2. To learn the methodology for building applications on top of database management systems — the so-called data modeling process; and
  3. To learn means of interacting by database management systems by means of their languages (in particular SQL), and other interfaces such as ODBC and JDBC.

Complementary to the above objectives, the course has a training component where the students will gain experience using and building applications on top of a state-of-the-art commercial DMBS through assignments, and to get some practical hands-on experience with commercial database management systems (DBMS) by writing application programs using the commercial DBMS query languages. The main topics are data models, architecture of database systems, data definition and manipulation languages, database design methods, and the theory of data dependencies and relational normalization.

Intended Audience

CS 348 is a course for CS major students.

Related Courses

Prerequisites: CS 240; CS students only.

Antirequisite: CS 338, CS 448, ECE 456.

References

Database Management Systems, 3rd ed., by Ramakrishnan & Gehrke, Published by McGraww Hill (required) ; Database Systems Concepts 5th ed., by Korth & Silberschatz Plublished by McGraw Hill (optional)

Schedule

3 hours of lectures per week. Normally available in Fall, Winter, and Spring.

Outline

Introduction (2 hours)

Data as a fundamental asset, what it means to manage persistent data, differences between file management and database management in terms of functionality and interface.

Relational database systems (6 hours)

Fundamentals of relational databases, relational calculus, relational algebra, integrity issues.

Database design (7 hours)

Database design methodology, Logical data modeling by Entity-Relationship modeling, mapping ER models to relational models, relationship to UML models, normalization of relational schema.

SQL and interfaces (7 hours)

SQL DDL, SQL DML, QBE.

Database application development (5 hours)

Embedded SQL, concept of transactions, principles of access granularity, ODBC, JDBC.

Database tuning (3 hours)

Database indexes, role of indexes in efficient database application development.

Database Administration (3 hours)

Views and view management, database security and authorization.

Current topics (6 hours)

Distributed databases, data warehouses, data mining.