CS 44800: Introduction To Relational Database Systems

TR 13:30-14:45


Chris Clifton

Email: clifton_nospam@cs_nojunk.purdue.edu

Course Outline

Course Topics

An in-depth examination of relational database systems including theory and concepts as well as practical issues in relational databases. Modern database technologies such as object-relational and Web-based access to relational databases. Conceptual design and entity relationship modeling, relational algebra and calculus, data definition and manipulation languages using SQL, schema and view management, query processing and optimization, transaction management, security, privacy, integrity management.

Teaching Assistants

Office hour times, locations, and procedures may change through the semester, as we learn more of social distancing requirements and facility availability. Please watch this space for changes, and check Piazza for potential temporary adjustments.

PSO Schedule

PSO01 Iram Tazim Hoque Tue 11:30-12:20 HAAS G050
PSO02 Faisal Tariq Vora Wed 09:30-10:20 HAAS G050
PSO03 Abdullah Al Mamun Wed 11:30-12:20 HAAS G050
PSO04 Libin Zhou Fri 10:30-11:20 HAAS G050

Note: You are assigned to a particular PSO. Please go to your assigned PSO, for several reasons:

That said, if you can't make a particular PSO some week, it is okay to go to another PSO with the permission of that PSO instructor, and make sure that there is room for those assigned to the PSO before you take a seat.

Instructor Office Hours

Wednesday 11-12, HAAS 222.

Also by appointment. Email a few good times for you and I'll pick what works. (This also works for setting up a videoconference.) You can just drop by, I'm often in, and if not tied up with something that has be be finished right away I'll be happy to meet with you.

Mailing List

There will be a course email list used for high-priority announcements. This will use your @purdue.edu email address; make sure this is forwarded to someplace you look on a regular basis.

We will be using Gradescope to turn in and comment on assignments; Brightspace will be used for recording and distributing grades, as well as for any other non-public information about the course.

Course Methodology

The course will primarily be taught through lectures, supplemented with reading. The lecture delivery method is subject to change based on COVID-19 related restrictions. Initial plans are for live in-class lectures, recorded and made available through Boilercast. (Boilercast may not capture everything from the lectures, and is not recommended as a primary means of lecture participation.)

The PSO sections will provide an additional opportunity to ask questions and work through problems, and will be the primary venue where the projects will be introduced and discussed. PSOs may be recorded, but availability and quality will depend on the room. The primary reading will be from the text. The written assignments and projects are also a significant component of the learning experience.

We will be using Piazza to facilitate discussions; this will enable you to post questions as well as respond to questions posted by others. Be aware that the default is for posts to be identified and visible to everyone. Please access Piazza through Brightspace the first time (to properly link accounts). You are also encouraged to hold discussions with other students, via videoconference if you wish. Purdue has paid licenses for WebEx and Zoom. Please keep the collaboration guidelines below in mind, just as if you were meeting in person.


The formal prerequisite is CS 25100: Data Structures and Algorithms. If most of the students have taken CS34800, it may enable us to cover more material; if we do this, some of the PSOs will be used to cover material that would otherwise be duplicated between CS34800 and CS44800. (If you have comparable courses, such as ECE 36800, please contact the instructor.)


Evaluation is a somewhat subjective process (see my grading standards), however it will be based on your understanding of the material as evidenced in:

All assigned work (excluding exams) will be provided and submitted online. Exact formats will be evolving, but most likely will be offered through Gradescope. Exams will be open note, with two 8.5x11 or A4 pages allowed (e.g., one piece of paper, double-sided). If any additional notes are allowed, these will be announced per exam. To avoid a disparity between resources available to different students, and the possibility of using communication-equipped devices in unethical ways, electronic aids are not permitted.

Late work will be penalized 15% per day (24 hour period or fraction thereof). The penalty is based on possible points, not your actual score (so after 5 days, if your submission garners less than 75% of the possible points, you get a 0.) Each assignment has a hard deadline of five days after the published due date, after which the solution sets go out and no further submissions are accepted. You are allowed five--> five extension days, to be used at your discretion throughout the semester (illness, job interviews, etc.); no penalty is assessed for late work within this limit. If your assignments add up to more than five days late over the semester, the late days will be automatically applied to the highest value assignments (e.g., projects), so the 15% late penalties are applied to the lower value assignments first. Late penalties will only be applied at the end of the semester, so if you go beyond the alotted late days, you may see your score for some assignments drop. You must keep track of late days yourself. Fractional use is not allowed, and this may not be used to extend submission past the hard deadline.

Policy on Intellectual Honesty

Please read the departmental academic integrity policy above. This will be followed unless I provide written documentation of exceptions. You should also be familiar with the Purdue University Code of Honor and Academic Integrity Guide for Students. You may also find Professor Spafford's course policy useful - while I do not apply it verbatim, it contains detail and some good examples that may help to clarify the policies above and those mentioned below.

In particular, I encourage interaction: you should feel free to discuss the course with other students. However, unless otherwise noted work turned in should reflect your own efforts and knowledge.

For example, if you are discussing an assignment with another student, and you feel you know the material better than the other student, think of yourself as a teacher. Your goal is to make sure that after your discussion, the student is capable of doing similar work independently; their turned-in assignment should reflect this capability. If you need to work through details, try to work on a related, but different, problem.

If you feel you may have overstepped these bounds, or are not sure, please come talk to me and/or note on what you turn in that it represents collaborative effort (the same holds for information obtained from other sources that provided substantial portions of the solution.) If I feel you have gone beyond acceptable limits, I will let you know, and if necessary we will find an alternative way of ensuring you know the material. Help you receive in such a borderline case, if cited and not part of a pattern of egregious behavior, is not in my opinion academic dishonesty, and will at most result in a requirement that you demonstrate your knowledge in some alternate manner.

Other Issues and Resources

If you have other issues please feel free to talk to me - if I can't help, I'll try to point you in the right direction. Be aware that due to Title IX and state law, there are some things for which I can't promise confidentiality (but see CARE below).

University Emergency Preparedness instructions. Note: In the event of weather-related class cancellation, we will probably transition to live online (which would be recorded, as with Boilercast), which you should all be familiar with. If there is a weather-related cancellation, watch your email.

Nondiscrimination Statement: Purdue University is committed to maintaining a community which recognizes and values the inherent worth and dignity of every person; fosters tolerance, sensitivity, understanding, and mutual respect among its members; and encourages each individual to strive to reach his or her own potential. In pursuit of its goal of academic excellence, the University seeks to develop and nurture diversity. The University believes that diversity among its many members strengthens the institution, stimulates creativity, promotes the exchange of ideas, and enriches campus life. Purdue’s nondiscrimination policy can be found at http://www.purdue.edu/purdue/ea_eou_statement.html.

Purdue University strives to make learning experiences as accessible as possible. If you anticipate or experience physical or academic barriers based on disability, you are welcome to let me know so that we can discuss options. You are also encouraged to contact the Disability Resource Center at: drc@purdue.edu or by phone: 765-494-1247.

Student Mental Health and Wellbeing: Purdue University is committed to advancing the mental health and wellbeing of its students. If you or someone you know is feeling overwhelmed, depressed, and/or in need of support, services are available. For help, such individuals should contact Counseling and Psychological Services (CAPS) at (765)494-6995 and http://www.purdue.edu/caps/ during and after hours, on weekends and holidays, or through its counselors physically located in the Purdue University Student Health Center (PUSH) and the Psychology building (PSYC) during business hours.

Sexual Violence: Purdue University is devoted to fostering a secure, equitable, and inclusive community. If you or someone you know has been the victim of sexual violence and are interested in seeking help, there are services available. Reporting the incident to any Purdue faculty and certain other employees, including resident assistants, will lead to reference to the Title IX Coordinator, as these individuals are mandatory reporters. The Title IX office can investigate report of sex-based discrimination, sexual harassment, or sexual violence. Title IX ensures that both parties in a reported event have equal opportunity to be heard and participate in a grievance process. To file an online report visit https://cm.maxient.com/reportingform.php?PurdueUniv&layout_id=15 or contact the Title IX coordinator at 765-494-7255.

The Center for Advocacy, Response, and Education (CARE) offers confidential support and advocacy that does not require the filing of a report to the Title IX office. The CARE staff helps each survivor assess their reporting options and access resources that meet personal needs. The CARE office can be found at 205 North Russell Street in Duhme Hall (Windsor), room 143 Monday - Friday 8:00 AM to 5:00 PM. They can also be reached at their 24/7 hotline 765-495-CARE or at CARE@purdue.edu.

And you should always feel free to call, email, or drop by and talk to me (or, if you have an issue with me, to the department head.)


The basic text for this course is:

Database System Concepts, Seventh Edition
Avi Silberschatz, Henry F. Korth, and S. Sudarshan
McGraw-Hill, ISBN 9780078022159, 2019.

While earlier editions will be adequate for most of the course, there is considerable new material (e.g., systems for Big Data) in the seventh edition (in fact, it is because of this new material that we decided to switch from the previous text; earlier editions were appropriate for CS34800 but didn't cover some of the topics that we cover in CS44800). That said, if you already have an older version of the text, or find that you do well in other courses without the textbook, you may well find you can do without this version.

Course Outline (numbers correspond to week):

  1. Week 1:
    Note: PSO01 (Tuesday morning) will not be held this week, as it occurs before the first class session; you may attend one of the other PSOs. PSO for this week will be optional, and will be a brief introduction to SQL queries for those who have not had CS34800 or other experience with SQL.
  2. Week 2:
  3. Week 3: Database Design
  4. Week 4:
  5. Week 5:
  6. Week 6:
  7. Week 7: Indexing, Query Processing
  8. Week 8: Midterm
  9. Week 9: Join Algorithms, Query Optimization
    Assignment 3 released, due 10/25. (Solutions)
  10. Week 10: Cost Estimation
  11. Week 11: Concurrency Control
  12. Week 12: Transactions Continued
    Assignment 4 released, due 11/18. (Solutions)
  13. Week 13: Logging and Recovery
  14. Week 14: Logging and Recovery
    No PSO this week due to Thanksgiving break
  15. Week 15: Views and Triggers
    Project 3 released, due 12/6 and 12/9.
  16. Week 16: Advanced topics

Final Exam Tuesday, December 14, 8:00am-10:00am EST in ME 1061. If you have another exam scheduled at that time or you have three or more exams scheduled the same day and would like to reschedule this exam, please let me know as soon as possible. Note that conflicting exams are pretty much the only reason for rescheduling, I bought a ticket to go home earlier is not an accepted reason for an exam to be rescheduled.

Valid XHTML 1.1