DB CS145 - Introduction to Databases
Autumn Quarter 2004


Class Resources Assignments Lecture Notes Oracle System Notes

Course Information



  1. PDA Assignment #1, due Thursday 10/14/04.
  2. The First Gradiance Assignment is now ready. It is on the E/R model, and its due date is Thursday 10/14/04 at midnight. You should be able to complete this assignment well before then. You have as many chances as you like to see how you are doing and learn the material if you are getting questions wrong. Only your final score counts.
  3. The Second Gradiance Assignment is also available. It is on the relational model and translating E/R to relations. Its due date is also Thursday 10/14/04, at midnight.
  4. The Third Gradiance Assignment is on functional dependencies. Its due date is also Thursday 10/14/04, at midnight. This will be the last assignment due on this date. In the future, we'll give people about a week to do Gradiance assignments and a week to do project components, and spread them out more evenly. The purpose of this "bunching" of assignments was to give leeway to people who were unsure whether or not they were going to take the course.
  5. PDA Assignment #2, due Thursday 10/21/04.
  6. The Fourth Gradiance Assignment is on BCNF, 3NF, 4NF, and multivalued dependencies. Its due date is Thursday 10/21/04, at midnight.
  7. The Fifth Gradiance Assignment is on relational algebra. Its due date is Tuesday 10/26/04, at midnight.
  8. The Sixth Gradiance Assignment is a laboratory on basic SQL Its due date is Thursday 10/28/04, at midnight. Look for it under Laboratories, not Homeworks. Note that you can work on one query at a time, but if you drop the copy of the assignment (e.g., you turn off your machine) Gradiance will not remember any correct queries you have already assigned. Thus, I recommend that you cut-and-paste correct queries so you can reenter them if needed. We're looking into an improvement where the system will remember that you once submitted a query correctly, even if it doesn't remember exactly what you submitted. Important: Gradiance uses mySQL for evaluating your queries. This DBMS, like others, deviates from the SQL standard that we teach in class. We've tried to accumulate some of the major differences, and they are summarized in the MySQL Nonstandard Guide.
  9. PDA Assignment #3, due Thursday 10/28/04.
  10. The Seventh Gradiance Assignment is another SQL lab, with a few tricky parts. Its due date is Sunday 10/31/04, at midnight. (Note the unusual due date.)
  11. The Eighth Gradiance Assignment is on constraints. Its due date is Tuesday 11/2/04, at midnight.
  12. PDA Assignment #4, due Tuesday 11/9/04.
  13. The Ninth Gradiance Assignment is on embedded SQL. Its due date is Thursday 11/11/04, at midnight.
  14. The Tenth Gradiance Assignment is on object-relational systems. Its due date is Tuesday 11/16/04, at midnight.
  15. PDA Assignment #5, due Thursday 11/18/04.
  16. The Eleventh Gradiance Assignment is on XML and path expressions (XPath). Its due date is Tuesday 11/30/04, at midnight.
  17. The Twelfth Gradiance Assignment is an XQuery lab. Its due date is also Tuesday 11/30/04, at midnight. You find this lab under Labs, not Homeworks. Also, note that the document you are interrogating is referred to by a document node as document("xxxxxx"). The abbreviation "doc" for "document" doesn't work in the system Gradiance uses. For example, you might start off with let $b := document("xxxxxx")/BARS to give $b the value that is the sequence consisting of only the root element of the document. That is not necessarily a good beginning for any of the queries, but it is an example of how you get the query to focus on the one document to which it applies.
  18. PDA Assignment #6, due Thursday 12/2/04.

Optional Gradiance Assignments

  1. There is an optional XQuery lab called "Battleships." Follow the directions given with the twelfth assignment --- a required XQuery lab. Also, it really helps to know that in order to get the result of your query to look like a real XML document (required in this lab), you need to write something that looks like:

         <Battleships> { ...your query goes here... }</Battleships>

    Note that the {...} is needed so that what appears in the document is the result of applying your query, not the query itself. Also note: this lab remains open after the class ends, until Dec. 31.

  2. There is an optional Gradiance Assignment on authorization and SQL transactions. Its due date is Saturday 12/4/04, at midnight. We are closing the assignment 1 day and a half before the final, so you can have a chance to review the solutions if you wish. Please note that,although this assignment will not be included in your grade, the topics are not optional, and you should expect some related questions on the final.
  3. There is an optional Gradiance Assignment on ODL/OQL. Its due date is 12/31/04, at midnight.
  4. There is an optional Gradiance Assignment on Datalog. Its due date is also 12/31/04, at midnight.

Lecture Notes

These are now in The Book's Web Pages.

Notes for Oracle System

These notes are available through the Book's Oracle Guide.

Another useful on-line resource is the Interpretation of Oracle Error Messages.

If that doesn't work, using the error-message number as a Google query often gives you an answer from some newsgroup that has discussed the problem.