CS 405/605 01
Introduction to Database Management Systems
Spring 2009
Description: This
course will cover the following topics: (1) Logical and physical
aspects of database management systems (2) Data models including
entity-relationship (ER) and relational models (3) Physical implementation
(data organization and indexing) methods. (4) Query languages including SQL,
relational algebra, relational calculus and QBE. Students will gain experience in creating and manipulating a
database, and gain knowledge on professional and ethical responsibility and on
the importance of privacy/security of data.
Prerequisite: CS
400/600 Data Structure and Software Design
Instructor: Professor Keke
Chen
Office: Joshi 385
Phone No.: (937)-775-4642
Email: keke.chen@wright.edu
Office hours:
4:30-5:30 T, 4:30-5:30 Th. Use e-mail for short questions and appointments for
meetings outside of office hours.
Class time:
8pm-9:15pm, T Th
Class venue: Russ
154
Course materials: Slides and
other relevant materials will be available on WebCt, and handouts will be
distributed in class. Students are responsible for collecting the handouts from
classes.
Required Textbook: R. Elmasri and S. B. Navathe, Fundamentals of
Database Systems, 5th edition, Addison Wesley.
Reference texts:
Topics:
1. DBMS
concepts and architecture (Chap 1, 2) [2 classes]
2.
Entity-Relationship model and enhancements (Chap 3, 4) [2 classes]
3.
Relational data model and relational algebra (Chap 5, 6) [3 classes]
4. SQL - a
relational database language (Chap 8, 9) [3 classes]
5. ER and
EER to relational mapping (Chap 7) [1 class]
6.
Relation storage and file organizations, index structures (Chap 13, 14) [2-3
classes]
7. Other
relational languages (the relational calculus, QBE -- brief discussion) [1
class]
8.
Functional dependencies and relational design/normalization (Chap 10, 11) [2
classes]
9. Data
security and privacy [1class]
We plan
to cover these topics in this order.
Grading: A:[90,100],
B:[80,90), C:[70,80), D:[60,70), F:[0,60)
Midterm 30%, Project 20%, Final
40%, Homeworks 10%.
No late
homeworks or projects will be accepted except for documented medical reasons.
The
instructor may curve the grades.
All exams
are closed book and closed notes. There will be no make-up exams except for
documented medical reasons.
Project: The
project is about database design, relational algebra, and SQL programming
(20pts in total). You will be given a project specification, with details about
the application and the problems. You will design the ER schemas (30%) and the
relations schemas (10%) for the application, initialize your database with some
given relations (10%), implement the given queries in SQL (30%), and implement
some of the given queries in relational algebra (10%). You can use MS SQL
Server or MySQL to implement your database and to test your SQL queries. The
SQL queries must be entirely done by hand (without machine translations) to
ensure understandability; they should also follow the SQL standard as discussed
in the text.
You need
to write a report, which will be used to mark your project. In the report you
should include your ER and relational schemas, your SQL codes of the queries,
your relational algebra expressions of the queries, and results of test runs of
your SQL queries. It is important that this final report be nicely
presented; 10% marks will be allocated to the clarity and organization of the
report.
Independent work: All
project and examination work must be your own. Academic dishonesty will result
in a grade of “F".
Important dates:
Graduate students: Graduate students
may be asked to do more than undergraduate students in the projects and exams.