CS 3743 Introduction to Database Systems Syllabus Course Overview This course is to study the fundamentals of database systems. The systems will be studied from a user perspective as well as from a system perspective. The first part of the course will cover the design of databases and database applications. We will study various data models (relational, object-oriented, and entity-relationship models), relational database languages (Relational Algebra and SQL), relational database design, and database programming. The second part of the course will introduce the internals of database management systems. We will explore implementation techniques for efficient data storage and retrieval, query evaluation and optimization, transaction processing, crash recovery, and concurrency control. Prerequisite Students are expected to have a grade C or better in CS2413 and CS3233. A working knowledge of programming in C/C++ or Java, and using the Unix operating system is required. Textbook Required Textbook: Fundamentals of Database Systems, 3rd Ed., by Elmasri & Navathe Recommended Textbook: Oracle8 Programming: A Primer, by R. Sunderraman Following books are reserved in the JPL Reserve Desk. o Database Management Systems, 2nd Ed., by R. Ramakrishnan o Database System Implementation, by H. Garcia-Molina, J. Ullman, & J. Widom o Database System Concepts, 3rd Ed., by Silberschatz, Korth, & Sudarshan See http://www.cs.utsa.edu/%7Ewzhang/resbooks.html for a more complete list of database books reserved in the Library. Last Day to Drop Friday, March 14, 2003. Grading Policy 150 pts 200 pts 150 pts 150 pts 300 pts 50 pts Homework Project Midterm Exam I (around week 6) Midterm Exam II (around week 11) Final Exam - COMPREHENSIVE (TBD) Intangibles A letter grade is determined from the total numerical grades as follows: A: over 900 pts; B: over 800 pts; C: over 700 pts: D: over 600 pts; F: below 600 pts. Code of Honor We believe in the highest level of academic integrity. Unless otherwise required, each student is expected to complete his or her assignment individually and independently. Although study together is encouraged, the work handed in for grading by each student is expected to be his or her own. Any form of academic dishonesty will be strictly forbidden and will be punished to the maximum extent. Attendance Policy Attendance is highly encouraged though no penalties will be assessed for absences. However, attendance will be an important factor in determining a grade that is on the borderline (see 5% intangibles). Students are responsible for topics covered in missed classes, as well as any assignments due. Attendance is mandatory on exam days. Late Policy All assignments must be handed in by the due date to receive full credit. This will generally be at the beginning of class on the specified date. An assignment that is one class period late will lose 20%, and an assignment two class periods (one week) late will lose 40%. Exam Policy All exams will be in-class, closed book and closed-note. No makeup exam will be given unless compelling reasons can be supplied and verified, and in case it is given, a makeup exam is generally somewhat more difficult than the regular scheduled exams. Missed exams will receive no grade. No additional activities will be assigned to gain credits to make up for low grades on exams. Students who have greater than 142 pts on both midterm exams, and have greater than 142 pts on all homework assignments, and have greater than 180 pts on the project may elect to take a “mini” final, that is the portion of the final exam that covers the material not tested on the midterms. Their final grade will be based upon approximately 800 pts rather than 1000. Comments on Exams The exams are designed to be tough. For the most part, you won’t find the simple “regurgitate what was in the text” type of question. This is a concepts course and as such, concepts will be tested. Comprehending a concept entails “translating”, “interpreting”, and “extrapolating.” What this means in plain English is that for many test questions, you will not have seen something exactly like it before, and may even have to take what you’ve learned and apply it to a new scenario. Some additional (seemingly obvious) hints are listed below: 1) READ THE QUESTION & answer the question asked. 2) Do NOT change the question in your own mind. 3) Once you have convinced me you know the answer, STOP WRITING! Extra “correct” information will not count against you, but extra incorrect information will. 4) Do NOT shotgun an answer (writing down everything and expect me to pick out the correct stuff.) 5) In your answer, please do NOT waste your time or my time by restating the question, just answer the question. 6) READ THE QUESTION!!! 7) If you have any doubts, confusions, concerns, etc. about a question – ASK ME!!! If you’re not sure about what I am asking, ASK ME!!! Do NOT wait until we go over the exam and then say, "Gee, I didn’t understand what you meant. I was confused.” ASK!!! Otherwise I will assume that you understood the question, you just didn’t know the answer. Communication A class mailing list will be set up for the course. Your CS email address is in the list. This mailing list will be used to send important announcements to the entire class. You are responsible for checking your email frequently. You may want to set up automatic forwarding to your email if you do not use your CS account regularly. The preferred time and place to discuss academic issues with me is during my office hours. In case you could not make to the office hour due to a time conflict, an appointment may be set up at a mutually agreeable time by sending me an email. Class Schedule (Tentative) Color Keys: Topics Reading Assignments (from the textbook) Homework Due Project Due Special Events Week of Tuesday Thursday 1. Jan 13 Introduction Ch. 1, 2 E/R Model Ch. 3 2. Jan 20 Relational Model Ch. 7.1-7.3 Team Formed Relational Algebra Ch. 7.4-7.5 Homework 1 Due 3. Jan 27 Functional Dependency Ch. 9.1, 14 .1-14.2 Part One Due Normalization Ch. 14.3-14.5 4. Feb 3 Normalization Examples Ch. 14 Database Design Algorithms 15.1 5. Feb 10 Homework 2 Due Part Two Due, Review Midterm Exam I 6. Feb 17 SQL: Overview & DDL Ch. 10.1-10.6 SQL: Interactive Queries (1) Ch. 8 7. Feb 24 SNOW DAY !!! Review Exam I Homework 3 Due 8. Mar 3 Review Exam I Cont. SQL: Interactive Queries (2) Oracle 8 Book: Ch. 2 9. Mar 10 PL/SQL Oracle 8 Book: Ch. 4 Part Three Due Embedded SQL Oracle 8 Book: Ch. 3, 5 S P R I N G B R E A K !!! 10. Mar 24 Data Storage Ch. 5.1, 5.2, 5.5, 5.7, 5.8, 5.9 Hashing and Indexing Ch. 6.1, 6.2, 6.3 11. Mar 31 Query Processing & Optimization Ch. 18 Homework 4 Due Transaction Processing Ch. 19 Part Four Due 12. Apr 7 Review for Exam II Homework 5 Due Midterm Exam II 13. Apr 14 Concurrency Control Ch. 20.1 Review Exam II 14. Apr 21 Crash Recovery Ch. 21.1-21.3, 21.5 Part Five Due OODB/ORDB, BONUS TEST (1 hr) Ch. 11, 12, 13 15. Apr 28 Review Homework 6 Due LATE NOT ACCEPTED!!! 16. May 1, 2 Study Days 17. May 3 Final Exam Thursday, May 8, 8 – 10:45pm