Craig Miller
256 South College, x-1400
Email: millercr
Office hours to be announced and placed on Web page
9:30-10:45 TuTh
Room 4 (basement) South College
Database Management Systems, by Raghu Ramakrishnan
This course introduces concepts and technologies used for storing and retrieving information. Attention will be given to database implementation, database management, and the relational model. For systems implementation, students will learn about physical data storage, file organization, and tree-structured and hash-based indexing. Assigned projects will have students implement these concepts with the creation of a simple database application. For database management, students will learn about formal query languages and how to use SQL to create and access databases. For the relational model, students will learn how to apply it to design and create a database. In the second half of the semester, students will work in groups to design and create a useful database for the college or community.
This course will use C++ for the systems implementation, SQL (accessing MySQL) for database management, and possibly Java to create a user interface to a student designed database.
Grades will be determined using the following weighted averages:
15% | Test 1 | Thu Feb 25 |
15% | Test 2 | Thu Apr 8 |
30% | Final Exam | Mon May 3 |
40% | 5 - 7 Projects |
Unless explicitly told otherwise, all assignments in this course are individual assignments. Students may not work together in the design or implementation of code or written assignments. The only exceptions to this are:
All other assistance should come from the instructor. Any questions about the appropriateness of collaboration should be discussed with the instructor. Failure to acknowledge someone else's code or even design ideas in any work is plagiarism, which warrants a report to the College's judicial system and may lead to suspension or expulsion.
Week | Topic | Text Reading | Project |
---|---|---|---|
Jan 20 | Course Introduction | Ch. 1 | |
Jan 25 | The Relational Model and Physical Storage | Ch. 2 - 3 | Intro to SQL |
Feb 1 | File Organization and Indexes | Ch. 3 - 4 | Buffer implementation |
Feb 8 | Indexing with trees | Ch. 5 | |
Feb 15 | Indexing with hash tables | Ch. 6 | External Searching |
Feb 22 | External Sorting & Formal Query Languages | Ch. 7 - 8 | |
Mar 1 | Query Languages | Ch. 8 - 9 | |
Mar 8 | Operator Implementation and Optimization | Ch. 12 - 13 | Indexing with B+ Trees |
Mar 15 | Spring Break --- No classes | ||
Mar 22 | Database Design | Ch. 14 | Project Proposals |
Mar 29 | Database Refinement | Ch. 15 | |
Apr 5 | Physical Design and Tuning | Ch. 16 | Database design |
Apr 12 | Database Interfaces with JDBC | TBA | |
Apr 19 | Security, Views, and QBE | Ch. 10 - 11 | Interface development |
Apr 26 | Concurrency Control and Crash Recovery | Ch. 17 - 18 |