Title: Data Management Systems: Analysis and Design

Yuan An

yuana@cs.toronto.edu

Ph.D. in Computer Science, University of Toronto, 2006

Course Design for

Teaching in Higher Education (THE500)

April, 2006

 

1.     Outline for Calendar

This is an introductory course to modern data management systems. Contents contain concepts, approaches, and techniques for analyzing and designing data-intensive information systems. Topics include Entity-Relationship model, relational databases, querying and updating a database, SQL query language, database constraints and design, and elements of data integration.

 

 

2. Detailed Outline for Students

 

 

Course Description

 

This is an introductory course to modern data management systems. Contents contain concepts, approaches, and techniques for analyzing and designing data-intensive information systems. Topics include Entity-Relationship model, relational databases, querying and updating a database, SQL query language, database constraints and design, and elements of data integration.

 

Prerequisites

 

·        Proficiency in C

·        Basic knowledge of mathematical logic

·        Basic knowledge of data structure and algorithm design

 

Learning Objectives

 

·        Learn basic principles of Entity-Relationship model and relational model

·        Learn how to design logical databases starting from requirements analysis and conceptual modeling

·        Understand the meaning of  relational algebra and calculus

·        Learn how to use SQL to query and update relational databases

 

Topics

 

·        Introduction

Ø     concept of data management, general architecture

Ø     Entity-Relational model and relational database

Ø     querying and updating a database

Ø     declarative vs. procedural paradigms

·        Integrity constraints and database design

Ø     notion of integrity constraints

Ø     functional and inclusion dependencies

Ø     keys and foreign keys

Ø     normal forms

Ø     decomposition algorithms

Ø     SQL DDL revisited (adding constraints)

Ø     SQL assertions and/or triggers

·        Query languages

Ø     relational algebra and relational calculus

Ø     basic SQL queries

·        SQL

Ø     DDL

Ø     basic SQL queries

Ø     views

Ø     nested queries

Ø     aggregation

Ø     updates

Ø     recursive queries

Ø     embedded SQL

Ø     dynamic SQL

Ø     incomplete information and nulls

·        Elements of Database Integration

Ø     data warehousing and OLAP

Ø     schema mapping

Ø     query rewriting and answering