CS 4400 - Introduction to Database Systems
Summer 2005
Classes: MWF 1:
Instructors:
§
Leo Mark
(leomark@cc.gatech.edu). Phone: 4-2746.
Office
Hours: MWF
§
Ed Omiecinski (edwardo@cc.gatech.edu).
Phone: 4-3160
Office
Hours: MWF
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
§
(7/21) Quiz 4 (doc)
§
(7/13) Quiz 4 will cover the following topics:
§
(6/30) Project
Phase II (text file)
§
(6/29) Quiz 3 (doc)
§
(6/24) Quiz 3 will cover the following topics:
§
(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 |