CS 4400 - Introduction to Database Systems

Summer 2005

 

Classes:  MWF 1:20 - 2:30pm in CoC 17

 

Instructors:

§         Leo Mark (leomark@cc.gatech.edu). Phone: 4-2746.

Office Hours: MWF 12 - 1:10pm, CoC Commons

§         Ed Omiecinski (edwardo@cc.gatech.edu). Phone: 4-3160

Office Hours: MWF 12 - 1:10pm, CoC Commons

 

Teaching Assistants:

§         Rocky Dunlap (rocky@cc.gatech.edu).  Office hours: M 11:00am-1:00pm, Newsgroup: Thursday

§         Ying Liu (yingliu@cc.gatech.edu). Office hours: MF 3:00pm-4:30pm, Newsgroup: Monday and Friday

§         Yong Yang (yy@cc.gatech.edu). Office hours: T 1:30pm-3:00pm, W 2:30pm-4:00pm, Newsgroup: Tuesday and Wednesday

 

Newsgroup: git.cc.class.cs4400

 

New Stuff: (last updated July 21, 2005)

§         (7/21) Quiz 4 (doc)

§         (7/13) Quiz 4 will cover the following topics:

  • Chapters 10, 11 (sections 11.1-11.2), 13 (sections 13.1-13.7) and 14 (sections 14.1-14.3)
  • general relational database design - 2 questions
  • functional dependencies - 7 questions
  • normal forms - 4 questions
  • design algorithms - 4 questions
  • physical storage organization - 5 questions
  • B trees and B+ trees - 3 questions

§         (6/30) Project Phase II (text file)

§         (6/29) Quiz 3 (doc)

§         (6/24) Quiz 3 will cover the following topics:

  • relational tuple calculus (Chapter 6.6) - 4 questions
  • ER and EER mapping to relations (Chapter 7) - 6 questions
  • SQL (Chapter 8) - 15 questions

§         (6/15) Quiz 2 (doc)

§         (6/6) Revised Project Description (pdf) – see newsgroup for more details, changes appear in bold

§         (6/3) Oracle, SQL, Java, JDBC information is (here)

§         (6/2) Quiz 1 (ppt)

§         (5/25) Project Decription (pdf)

§         (5/15) Check this section of the web page often (especially close to quizzes and project due dates) for updates, information, and assignments!

 

Required Text:

Fundamentals of Database Systems, 4th edition, Elmasri & Navathe, Addison-Wesley, 2003

 

Course Notes and Slides: click here

 

Prerequisites: Basic Java programming skills.

 

Grading:

§         Quizzes; 4 at 15% each.

§         Project (PhaseI 10%,PhaseII 10%, PhaseIII 5% (Light) or 20% (Heavy)

§         Final 15% (available only to students doing light weight project)

 

PROJECT:

You will design and implement a database application using the ORACLE relational database system available on ACME. The Project can be done in groups of 3-4 students. We will follow a typical database design methodology for this project. Notes describing the methodology will be available via the class web page. The project will consist of 3 phases (deliverables) as well as a final demonstration to the TA. Phase I and Phase I I of the project are worth 10% and 10% credit, respectively. Phase III of the project is worth 5% credit without/GUI and 20% credit with/GUI.

All members of a group get the same grade for each phase of the project. If a member of a group does not carry his/her weight, then the group may kick out that member at the end of phase I or Phase II, only.

 

Click here for the Project Description Revision 1 (pdf).

 

COURSE CONTENT:

We introduce the fundamental concepts necessary for the design and use of modern database systems. We examine the concepts in the order that we encounter them in the actual database design process. We start with the problem of conceptually representing data that is to be stored in a database. From there, we see how the data in a conceptual data model can be converted to a database specific model (e.g., the relational data model). We also discuss various forms for relations that possess good properties. We see how to use the relational database language SQL to define the relations and to write SQL statements to insert, delete, retrieve and update the data. We also examine some of the fundamental storage structures that are used in relational database systems. We end the course with a discussion of some advanced topics in the database management area.

 

Topic

Chapter(s)

Basic concepts - data independence, 3 level database architecture, database system components

1,2

Conceptual database level - Entity-Relationship Model

3,4

Database Development Methodology

notes

Relational Data Model: Introduction, Algebra & Calculus

5,6

SQL Query Language

8,9

Mapping from ER Model to Relational Model

7

Relational database design - Normal Forms, Functional Dependencies

10,11

Oracle JDBC and JAVA

Notes

Internal database level - storage structures

13,14

 

 

Project Schedule

Quiz Schedule

Start

May 25     

OI    

ER+EER Model   

May 27

PI    

June 15     

QII   

Relations, Algebra

June 13

PII   

July 6       

QIII 

SQL, Mapping    

June 27

PIII  

July 27      

QIV  

Normalization and Physical Design  

July 18

Demo       

July 27-29 

Final 

Cumulative

GT schedule

 

 

Lecture Schedule

5/16 

Syllabus; What is a Database? Abstraction.

5/18 

Database Terminology; Database Architecture

5/20 

Entity Relationship Model; Project Assigned

5/23 

Entity-Relationship Model

5/25 

Database Development Methodology

5/27 

Quiz 1: ER and EER Model

5/30

Memorial Day

6/1   

Data Model Overview: Hierarchical, Network, Relational

6/3   

Relational Model

6/6   

Relational Algebra

6/8   

Relational Calculus

6/10 

SQL

6/13 

Quiz 2: Relations, Algebra and Calculus

6/15 

SQL

6/17 

SQL

6/20 

Mapping ER-Model to Relational Model

6/22 

ORACLE; JDBC

6/24 

Relational Database Design Basics Functional Dependencies

6/27 

Quiz 3: SQL and ER to Relational Mapping

6/29

Functional Dependencies

7/1   

Normal Forms;

7/4

4th of July

7/6   

Design Algorithms

7/8   

Physical Design Introduction

7/11 

Storage Structures

7/13 

B Trees and B+ Trees

7/15 

Extendible Hashing; Linear Hashing

7/18 

Quiz 4: Normalization and Physical Design

7/20 

XML

7/22 

XML

7/25 

XML

7/27 

DEMO

7/29 

DEMO; Last Day of Classes