Database Systems
Computer Science 311
Fall, 2011
- Instructor: John L. Donaldson
- Meeting time: MWF
3:30-4:20, King 221
- Office: King 223C
- Office hours: M 1:30-3:30, W 2:30-3:30, F
1:30-3:30 (or by
appointment)
Course Information
- Prerequisite: CS 151
- Text: Garcia-Molina, Ullman, and Widom, Database
Systems: The Complete Book, Prentice Hall, second edition,
2009.
- Course Objectives:
- To study database design and modeling, with emphasis on the
relational
model.
- To study database programming using SQL.
- To study the implementation of database management systems.
Grading Procedures
Your grade will be based on homework, programs, and two exams.
| Point breakdown (tentative): |
| Programs/Homework |
150-200 |
| Midterm Exam (October 19) |
100 |
| Final Exam (December 20, 9 am) |
150 |
| Total |
400-450 |
Policies
All homeworks and programs are to be done individually. Do not
work
with other individuals or groups in completing the assignments.
Late assignments will be subject to a penalty of up to 10% per
day.
All late assignments must be submitted by the end of the reading
period.
Regular class attendance is expected of everyone in the class.
The Honor Code
The Honor Code has a straightforward application to this class.
On
all of the exams you are responsible for your own work; you may neither
give
nor receive aid during the course of the exam. If someone takes
an
exam at a different time than the rest of the class there may be no
communication
concerning the exam between that person and anyone else in the class,
not
even about whether the exam was easy or difficult. The atmosphere
is
somewhat more relaxed for the homework and programming assignments.
You
may discuss the problems with anyone else in the class, but you may not
share your code with anyone. In the end
you must design and write your own solutions.
Course outline
- Basic concepts. Data models. Historical background.
DBMS
architecture.
(chapter 1)
- The relational model. Relational algebra. (chapter 2)
- Relational database design. Functional dependencies and
normal forms. (chapter 3)
- High-level database design. The Entity-Relationship model.
(chapter 4)
- Database programming. Extended relational algebra.
SQL. (chapters
5-6)
- SQL data definition. Keys. Constraints and
triggers. Views and indexes. (chapters 7-8)
- PL/SQL. Embedded SQL. JDBC. (chapter 9)
- Web access and PHP.
- Object-oriented database design and programming. (chapter 10)
- XML as a database language. (chapters 11-12)
- Database implementation: storage structures.
(chapters 13-14)
- Database implementation: query processing. (chapters
15-16)