Description

Catalog Description

Introduction to fundamental concepts of database management using primarily the relational model. Schema design and refinement. Query languages. Database application development environments. Overview of physical data organization, query optimization and processing, physical design, security and transactions used in recovery and concurrency control. Prerequisites: CS 161, 250. Expected preparation: CS 251.

General Information

Course Goals
To learn how to design effective database schemas that accurately model real-world information semantics. To learn how to pose complex database queries in SQL as well as theoretical query languages. To understand what is meant by a transaction. To gain an introductory background in concurrency control and recovery. To learn about indexing and query optimization in database systems.

Upon the successful completion of this course students will be able to:
Write complex SQL and relational algebra queries
Transform SQL queries to relational algebra and relational algebra queries to SQL
Transform SQL queries into equivalent forms, e.g., to make them more efficient
Explain how queries are processed and optimized
Evaluate the utility of an index for a relational database table
Evaluate existing database designs and design new databases effectively
Use SQL queries embedded in a software application
Describe and use transaction and recovery services
Course Text
REQUIRED:
Database Systems: The Complete Book, Second Edition. By Garcia-Molina, Ullman and Widom, Pearson, 2009, ISBN 0-13-187325-3.
SUGGESTED:
Since you will be using SQL in a number of assignments, you may wish to have additional information concerning the SQL query language. SQL: 1999 -- Understanding Relational Language Components, by Melton and Simon (2001, ISBN 1-55860-456-1) is a good reference. There are also a number of on-line references and tutorials (though beware of content farms).

It is okay to do the reading after the lecture where the material is covered, but you should certainly complete it before the next week’s quiz.
Grading
Homework: There are 7 homeworks. Each is worth 4-5%, for 32% (486) or 30% (586) of your grade. Homeworks can be done individually or in teams of two students. If you work in a team, then turn in one paper with the names of all team members on it. Assignments are given out on THURSDAY and are due the following THURSDAY. Make sure your homework is legible. You may seek help from the instructor and the TA (and your partner, if you have one), but otherwise work independently. You may post questions (and answer them, if you want) on the course mailing list.

Quizzes: There are 7 quizzes. For CS 486 students, each is worth 3%, but I drop your lowest quiz grade, so the quizzes are worth 18% of your grade. For CS 586 sutdents, each is worth 2%, with the lowest one dropped, for 12% of your grade. A quiz is given on most TUESDAYs. Each quiz covers material from the preceding week, including both lecture and reading material. There are NO MAKEUPS FOR QUIZZES. Quizzes will be closed book.

Project: CS 586 students will also have a project involving the design and implementation of a database, worth 8% of your grade.

Exams: There is a first exam (25%) that covers the 1st half of the class material, and a second exam (25%) during finals week that covers the 2nd half of class material. Exams will be open book and notes.
Policies
Students are responsible for anything that transpires during a class - therefore if you're not in a class, you should get notes from someone else (not the instructor).

Homeworks are due at the beginning of the class period.

Late homework will not be accepted without prior approval from me.

Requests for re-grading must be submitted to me in writing within one week of the time the graded assignment was made available for pickup. Please attach a note saying which problem or problems should be re-graded, and why.

Makeup exams will not be given except in cases of severe medical or family emergencies. If an emergency arises and you are going to miss an exam, contact me BEFORE the exam to arrange for a special circumstance.
Academic Integrity and Collaboration
The PSU Student Code of Conduct http://www.pdx.edu/dos/codeofconduct will be enforced for this class. Students have the responsibility to be familiar with the code and to behave in accordance with the code.

Homework assignments and the graduate project will generally can be done individually or in teams of two. You may seek help from the instructor, the TA and your team partner (if any). You may also post questions to the Piazza Q & A list. You may not collaborate with anyone else on these assignments.

Quizzes and exams will be completed individually, and you must not seek help from other students, nor provide help to others.
Students with Disabilities
If you have, or think you may have, a disability that may affect your work in this class and feel you need accommodations, contact the Disability Resource Center to schedule an appointment and initiate a conversation about reasonable accommodations. The DRC is located in 116 Smith Memorial Student Union, 503-725-4150, drc@pdx.edu, https://www.pdx.edu/drc.

** If you already have accommodations, please contact me to make sure that I have received a faculty notification letter and discuss your accommodations.

** Please be aware that the accessible tables or chairs in the room should remain available for students who find that standard classroom seating is not useable.

Announcements

Announcements are not public for this course.

Staff Office Hours

David E Maier
--
--
Hisham Benotman
--
--
Primal Pappachan
--
--
Amit Shrivallabh JOSHI
--
--
Sascha Strand
--
--
Primal Pappachan
--
--

Lecture Notes

Lecture Notes
Lecture Date

Homework

Homework
Due Date