Course content:
CSCI4370/6370 provides the student with a comprehensive introduction to the design of databases and the use of database management systems for applications. We will cover the relational model and, and SQL - the standard language for creating, querying, and modifying relational and object-relational databases. From a more theoretical perspective we will cover relational algebra, relational design principles based on functional dependencies and normal forms, and the entity-relationship and object-oriented approaches to database design. A variety of other issues important to database designers and users will be covered, including indexes, views, transactions, and integrity constraints. A special emphasis will be given algorithmic issues such as query processing and optimization. Various indexing techniques and their advantages and disadvantages at ceratin situations will be discussed. At different stages in the course, we will briefly adress several advanced topics such as semi-structured databases (e.g. XML), semantic data management and knowledge discovery, and peer-to-peer data management.
Lectures in all topics is complemented by a significant project in which students build a prototype database system and some applications.
Time & Place:
CSCI4370/6370 meets Mondays, 11:15 - 12:05 (GSRC 306), Tuesdays, and Thursdays, 11:00-12:15 (Poul. Sci. 238).
Prerequisites:
The programming projects will use Unix, the Oracle or MySQL database management system, and the Java programming language. We will assume students are already proficient in Unix and Java.
Course Staff:
- Instructor: I. Budak Arpinar
Hardman Hall room 226
Phone: 583-8249
Office Hours: Tuesday 3:20 - 5:20 pm - TA: Jizhen Zhao (e-mail: jizhen@cs.uga.edu)
Office Hours: Thursday 2-3pm, Boyd 307 (if there is a pending project)
Lines of Communication:
All inquiries regarding the course can be sent to instructor or TA. The general course e-mail address is ugacsdb@gmail.com. This address is monitored continuously by the course staff.
There is also a class mailing list: This list is used for staff to communicate with students. We ask all students to place themselves on this mailing list, and we will not hesitate to use this list to convey important and timely information. Students can post messages on this list. It is also for students to post messages with technical or logistical questions regarding the course that are expected to be of interest to most students, and for staff members to post their replies. The students join the list by going to this URL link.
Syllabus:
- Introduction (Ch. 1)
- E-R Model (Ch. 2)
- Object (UML) Model
- Normalization Theory (Ch. 3: 3.4-3.6)
- Relational Model (Ch. 3: 3.1-3.3)
- Relational Algebra (Ch. 5)
- SQL (Ch. 6)
- SQL Programming (JDBC) (Ch. 8: 8.5)
- SQL Constraints (Ch. 7: 7.1-7.2)
- Data Storage (Ch. 11)
- File Organization (Representing Data Elements) (Ch. 12: 12.1-12.2)
- Index Structures (Ch. 13)
- Transaction Processing
Optional Topics:
- Query Execution
- Query Compiler & Optimizer
- Overview of Advanced Database Topics (Semi-structured Data, Semantic Web, Information Integration, Peer-to-Peer Data Management) (if time permits)
Textbook:
One textbook is required for the course. The second is optional.
Textbook 1 (required):
- Database Systems (The Complete Book) , H. Garcia-Molina, J. Ullman, and J. Widom, Prentice Hall, 2002 (the Prentice Hall Web page for the book ).

Textbook 2 (optional, but very useful) :
- Database Management Systems (3rd ed.) , R. Ramakrishnan, and J. Gehrke, McGraw-Hill, (2002); may not be available in the bookstores yet.

Students may also opt to purchase a book about the SQL database language. One reasonably good SQL guide is:
- A Guide to the SQL Standard (4th edition) , C.J. Date and H. Darwen, Addison-Wesley, 1997.
Grading:
The components of the final grade will be distributed as follows (subject to adjustments):
- 30% Exam(s)
- 30% Final
- 40% Programs (projects: 4)
- Homework [bonus for presenters]
An area to investigate in projects is ‘semantic database', i.e., an ontology based relational database management system.
More detailed information on grading of assignments and projects is provided in the related sections.
Projects:
- Project assignment 1: due Feb 20, 2006.
- Term-long project assignment
The main project page is [here]. Each project page contains detailed submission instructions as well as some test data and grading criteria.
Homeworks:
Homeworks or exercises will be assigned from the text book and announced in the class or [here] .
Late Policy:
Programming work will be submitted electronically, and must be submitted by midnight on the date that it is due. Programming work submitted after the deadline but less than 24 hours late will be accepted but penalized 10%, programming work submitted more than 24 hours but less than 48 hours late will be penalized 20%, and programming work submitted more than 48 hours but less than 72 hours late will be penalized 30%. No programming work will be accepted more than 72 hours late. THIS LATE POLICY WILL BE STRICTLY ENFORCED.
Regrade Policy:
Please send an email message to TA stating that you believe you deserve a project part regrade, and explaining precisely why. Please include your name, and the number of the project part in question.
Programming Work:
Eeach team is expected to submit their own original work. On many occasions it is useful to ask others (the instructor, the TA's, or other students) for hints or debugging help, or to talk generally about programming strategies. Such activity is both acceptable and encouraged, but you must indicate any assistance (human or otherwise - except liserv discussions/TA/instructor help) that you received. In any event, you are responsible for coding, understanding, and being able to explain on your own all project work that you submit. We will pursue aggressively all suspected cases of Honor Code violations, and they will be handled through official University channels. If you have any questions about this policy or about the degree to which we will pursue Honor Code violations, please discuss your concerns with the course staff immediately.
