CS 405/605 01
Introduction to Database Management Systems
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
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.
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".
Graduate students: Graduate students may be asked to do more than undergraduate students in the projects and exams.