|
CS145 - Introduction to Databases
Autumn Quarter 2004
|
Index
Class Resources
Assignments
Lecture Notes
Oracle System Notes
Course Information
Resources
-
Slides.
These slides have voiceover, but are about two years old. There are
also equivalent slides in GIF, without the voiceover. Slides used in
this year's class, in PPT without voiceover, will be posted on the class
Web site after use.
-
You can get handouts and exams from previous years through the web page
of the textbook
A First Course in Database Systems. For the latest information on
errata, go to
The
Errata
Sheet for the text.
-
For solutions to *'d exercises in the text, go to The
Solutions Pages for the text.
-
If you haven't taken CS103 and are unsure whether you have the
material, you may look at Class Notes for
CS109 (109 was the old number for what is now 103).
Assignments
- PDA Assignment
#1, due Thursday 10/14/04.
-
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.
-
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.
-
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.
- PDA Assignment
#2, due Thursday 10/21/04.
-
The Fourth Gradiance Assignment
is on BCNF, 3NF, 4NF, and multivalued dependencies.
Its due date is Thursday 10/21/04, at midnight.
-
The Fifth Gradiance Assignment
is on relational algebra.
Its due date is Tuesday 10/26/04, at midnight.
-
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.
- PDA Assignment
#3, due Thursday 10/28/04.
-
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.)
-
The Eighth Gradiance Assignment
is on constraints.
Its due date is Tuesday 11/2/04, at midnight.
- PDA Assignment
#4, due Tuesday 11/9/04.
-
The Ninth Gradiance Assignment
is on embedded SQL.
Its due date is Thursday 11/11/04, at midnight.
-
The Tenth Gradiance Assignment
is on object-relational systems.
Its due date is Tuesday 11/16/04, at midnight.
- PDA Assignment
#5, due Thursday 11/18/04.
-
The Eleventh Gradiance Assignment
is on XML and path expressions (XPath).
Its due date is Tuesday 11/30/04, at midnight.
-
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.
- PDA Assignment
#6, due Thursday 12/2/04.
Optional Gradiance Assignments
- 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.
-
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.
-
There is an optional Gradiance Assignment
on ODL/OQL.
Its due date is 12/31/04, at midnight.
-
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.