Winter 2009 

Weekly Schedule (down below)      DB Information

CS 386 Introduction to Databases

CS 586 Introduction to Database Management

Computer Science Department
Maseeh College of Engineering
Portland State University

Instructor

Lois Delcambre
(lmd with the usual address of cs dot pdx dot edu)

TA

Tom Raney
(raneyt with the usual address as listed above for lmd)

Office hours
(Lois Delcambre)

4:30PM-5:30PM Tuesdays – before class
Tuesdays - immediately following class

Other times by appointment; e-mail me to set up an appt.

Meeting Times

Tuesday 17:30-21:10

Location

Capital Center, Room 1305

Entrance A, 18640 NW Walker Road, Beaverton, OR.

Computer Accounts

All CS586 and CS386 students are entitled to get a computer account at PSU in the College of Engineering and Computer Science.  If you already have such an account, then you don't need to get another one.  You may find it useful to use College of Engineering and Computer Science account for your homework assignments.  Details on how to get an account can be found here:

http://www.cat.pdx.edu/index.php?option=com_content&task=view&id=86&Itemid=148

Submission of assignments:

You can turn your assignments in, on paper, at the beginning of the class when they are due.  You can also turn your assignment in by e-mail; send a copy to the grader and to both instructors.  Your assignment MUST be in a single attachment in one of the following file formats: .pdf, .doc, .rtf, or .txt. Be sure to put your name and the name of your partner (if you have one) in the attached file that will be printed and graded  

Submission of evidence of having done the exercises: 

For each exercise, you are to turn in your exercise paper or other notes that demonstrates that you worked through the exercise.  Be sure to put the date and the exercise number on each exercise paper.  All exercises will be turned in together, at the end of the term.  Note: you are allowed to work with other students or other persons on the exercise.  But each student must turn in their own exercise paper.  If you work on paper with another student, simply copy the exercise paper so that you can both turn it in.  Or each of you can write up your own notes for each exercise to turn in.

E-mail List for the Class

The e-mail list "cs386@cecs.pdx.edu" will be used for announcements of general interest to the class, from the instructor and from the grader.  You can also send questions and answers to this mail list. 

URGENT!   In order to join the mail list, please visit the following web page and register:

https://mailhost.cecs.pdx.edu/mailman/listinfo/cs386-586

 

Catalog Description

Introduction to fundamental concepts of database management with the relational model. Schema design and refinement, query languages, transaction management, security, database application environments, physical data organization, overview of query processing, physical design tuning. Prerequisites: CS 163, 250, 251.

Textbooks

REQUIRED:
Database Management Systems, 3rd Edition.
By Raghu Ramakrishnan and Johannes Gehrke, McGraw Hill, 2000, ISBN 0-07-246563-8. 

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, Simon, and Gray (2001, ISBN 1-55860-456-1) is a good reference.

For one of the assignments in this class, you have the choice of using Microsoft Access, PostgreSQL (a free DBMS), or another relational DBMS of your choice (with permission of the instructor). Thus you may wish to consult reference material/documentation for Microsoft Access, PostgreSQL, or for the DBMS of your choosing.

Assignments/Grading

Assignments: There are 7 assignments.  Each assignment is worth 6% of your grade.  (Assignments are worth 42% of your grade.)

Assignments can be done individually or in teams of two students. 
If you work with a partner, then turn in one paper with both student's names on the paper.

Tests: There are two in-class tests: one in Week 6 and one in Week 11 (Finals week).  See the weekly schedule below for details about which material is covered in each test.  Each test is worth 25% of your grade.

You are allowed to use your textbook during the exam.  So please remember to bring your textbook to class for the exam. 
You are allowed to use dictionaries, including foreign language dictionaries. 
You are NOT allowed to use any other material (such as the slides or your notes) during the exam.  

Work entirely by yourself on exams; ask questions only of the instructor or exam monitor.

 

UNDERGRADUATE STUDENTS enrolled in CS386: We will have exercises given out in-class during every regular lecture, at approximately 5:30PM.  You will work on them in class and we will provide you with assistance.  You must turn in evidence of completing your exercises at the end of the term.  Exercises are worth 8% of your grade.  You can work with any one (other students, the professors, other people) when you work on the exercises.

 

GRADUATE STUDENTS enrolled in CS586: You are required to prepare a tutorial on a database-related topic.  You will present your tutorial during the final exam period.  You are strongly encouraged to work in a team of 2 or 3 students.  The tutorial is worth 8% of your grade.

Policies

Assignments are due at the beginning of the class period. 

Late assignments will not be accepted without approval from the instructor.  If an extraordinary situation (medical, personal, work-related, or other emergency) prevents you from working for a period of time, contact the instructors at your earliest possible convenience to discuss your situation and arrange a special schedule.

Makeup tests will only be given in cases of medical, personal, work-related, or other emergencies.  If an emergency arises and you are going to miss a test, contact the instructors at your earliest possible convenience.  

Requests for regrading must be submitted to the instructor in writing within one week of the time the graded assignment was made available for pickup.  You must be specific in saying why you feel your answer deserves additional credit.  A request for regrade may result in a re-evaluation of the entire assignment and your total grade may increase or decrease as a result.

Students with disabilities who are in need of academic accommodations should contact me as soon as possible to arrange needed supports.  Students are also encouraged to contact the Disability Resource Center (DRC) for additional information on support services and available accommodations at 503 725-4150.  More information is available at: http://www.pdx.edu/uasc/drc.html

Academic Integrity

Student Conduct [Excerpt from the 2007-2008 PSU Catalog, page 29]

The policies of the University governing the rights, freedoms, responsibilities, and conduct of students are set forth in the Portland State University Code of Student Conduct and Responsibility, which has been issued by the president under authority of the Administrative Rules of the Oregon State Board of Higher Education. The code governing academic honesty is part of the Code of Student Conduct and Responsibility. Students may consult these documents in the Office of Student Affairs, 433 Smith Memorial Student Union or by visiting www.pdx.edu/dos/conduct.html.

 

Academic honesty Academic honesty is a cornerstone of any meaningful education and a reflection of each student’s maturity and integrity. The Code of Student Conduct and Responsibility, which applies to all students, prohibits all forms of academic cheating, fraud, and dishonesty. These acts include, but are not limited to, plagiarism, buying and selling of course assignments and research papers, performing academic assignments (including tests and examinations) for other persons, unauthorized disclosure and receipt of academic information, and other practices commonly understood to be academically dishonest

Weekly Schedule

There is reading assigned for each class session. You are expected to read the sections AFTER the class for which they are assigned. There will be a quiz given at the start of most classes that will cover material from the previous class meetings, including their associated reading material.   

 

Week

Date

Topic

Reading Assignment
(Read AFTER the lecture ... before the next class)

Slides and
Handouts

Assignment Schedule

1

Jan. 6

Intro. to relational
databases and SQL

Ch. 1
Ch. 3, Sections: Intro, 3.1-3.4

Ch. 5, Sections: Intro, 5.1, 5.2

Lecture 1

Assignment 1
(Basic SQL)

 

Exercise E1

E1 Answers


 

2

Jan. 13

Relational Algebra and
Complex SQL Queries (intermixed)

Ch. 5, Sections: 5.3-5.6

Ch. 4, Sections: Intro, 4.1, 4.2

 

GROUP BY examples

Lecture 2

Assignment 1 Due

 

Assignment 2
(SQL & RA I)


Click here to see assignments.

 

Exercise E2

 

E2 Answers

 

 

3

Jan. 20

(cont.)

Lecture 3

Assignment 2 Due

Assignment 3
(SQL & RA II)

Grad Student Tutorial

Click here to see assignments.

Exercise E3

E3 Answers

4

Jan. 27

Use Cases

 

 

 

Database Design

Normalization

 

Use Case Example

Ch. 2, Sections: Intro, 2.1-2.9
(skip 2.4.4, 2.4.5, 2.5.4)
Ch. 3, Sections 3.5-3.9

Ch. 19, Sections 19.1, 19.2, 19.4-19.6, 19.9

 

Lecture 4a

Lecture 4b

Lecture 4c

Assignment 3 Due

Assignment 4
(DB design & normalization)
Click here to see assignments.

Exercise E4

E4 Answers

5

Feb. 3

 

Views in SQL

Introduction to Embedded SQL

 

Ch. 3, Sections 3.6-3.7

Ch. 6

Lecture 5

Assignment 4 Due

Assignment 5
Click here to see assignments.

CS586 Tutorial Project: Team/topic description due

 

Exercise E5

 

E5 Answers

 

6

Feb. 10

TEST 1 – covering material from weeks 1-4 (SQL, relational algebra, database design, normalization).  This material was covered in assignments 1-4.

 

7

Feb. 17

Storage and Indexing

 

Implementation of Relational Algebra Operators

Relational Query Optimization

Physical DB Design

Section 9.1
Sections 8.1, 8.2, 8.5, 8.6

Ch. 12
Section 14.4
Section 15.3

Ch. 20, Sections 20.1-20.3 and 20.7-20.9

Lecture 6

Assignment 5 Due

Assignment 6 (Embedded SQL)

No exercises this week.

8

Feb. 24

Lecture 7



 

Assignment 7
(Query Optimization)

 

Click here to see assignments.

Exercise E6

 

E6 Answers

9

March 3

Guest Lecturer:

Dave Archer

Transactions and Recovery

Ch. 16

Lecture 8

Assignment  6  Due

Assignment 7 Due

CS586 Tutorial Project: Writeup Due

 

Assignment 8
(Transactions & Recovery)

 

Click here to see assignments.

Exercise E7

 

E7 Answers

10

March 10

Presentation of graduate student tutorials (15 minutes per team)

Attendance is required!

Schedule of presentations

Assignment 8 Due

 

Evidence of Exercises Due

11

Tues., March 17
17:30-19:20

Test 2 – Covering material from Weeks 5, 7, 8, 9 (Lectures 5-8)

 

Database Information  

PostgreSQL Query Page  to issue queries against the Sailors, LibraryDB, and Spy databases

Database Support Page  general information about the databases listed above, DBMS products, and some data files

.

Supplementary Readings

What follows is a list of online resources that you may find helpful over the course of the class. None of these materials are necessary to complete the class; however, you may find that they can offer you perspectives beyond those offered by the textbook or the instructor/TA, especially if you plan to continue your study in the database field.

Relational model

E. F. Codd. A relational model of data for large shared databanks. Communications of the ACM, 13(6):377-387, 1970. (.pdf

) (.html )

E. F. Codd. Data models in database management. In Proc. ACM SIGMOD/PODS Workshop on Data Abstraction, Databases, and Conceptual Modeling, pp. 112-114,  1980.

William Kent. Limitations of record-based information models. ACM Transactions on Database Systems, 4(1):107-131, 1979.

Joseph Albert. Algebraic Properties of Bag Data Types, In Proc. 17th International VLDB Conference, Barcelona, Sept. 1991.

Carlo Zaniolo. Database Relations with Null Values (Extended Abstract). In proc. PODS, 1982: 27-33.

Conceptual and Logical Design

Peter P. Chen. The entity-relationship model - Towards a unified view of data. ACM Transactions on Database Systems (TODS), 1(1):9-36, 1976.

William Kent. A simple guide to five normal forms in relational database theory. Communications of the ACM, 26(2):120-25, 1983. (html version)

Eugene Y. Sheng. On bi-level conceptual schemas. In Proc. 1993 ACM conference on Computer Science, pp. 483-488, 1993.

Storage and indexing

Michael Stonebraker Operating system support for database management. Communications of the ACM, 24(7):412-418, 1981.

Douglas Comer. The ubiquitous B-tree. ACM Computing Surveys, 11(2):121-137, 1979.

Gerald Herd and Michael Stonebraker. B-trees re-examined. Communications of the ACM, 21(2):139-144, 1978.

Query processing

D. Chamberlin, et al. A history and evaluation of System R. Communications of the ACM, 24(10):632-646, 1981.

Yannis Ioannidis. Query optimization. Handbook for Computer Science, Chapter 45 (CRC Press).

Goetz Graefe. Query evaluation techniques for large databases. ACM Computing Surveys 25(2): 73-170. 1993.

M.W. Blasgen, et al. System R: An architectural overview. IBM Systems Journal, 20(1):375-396, 1981.

P. Griffiths Selinger et al, Access path selection in a relational database management system. ACM SIGMOD international conference on Management of data, pp. 23-34, 1979.

Transactions

J. Gray. The Transaction Concept, Virtues And Limitations. In Proc. 7th VLDB Conference, Cannes, France, pp. 144-154.1981. ( MS Word document)

C. Mohan, et al. ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Transactions on Database Systems, 17(1):94-162, 1992.

Others

Michael Stonebraker and Joseph M. Hellerstein, eds. Readings in Database Systems. Morgan Kaufmann Publishers, 1998. (A number of influential papers. Available in the OGI library.)

Zloof Moshe. Query-by-Example: A data base language. IBM Systems Journal, 16(4):324-343, 1977.

Whitemarsh Information Systems Corp. Presentations on SQL Standards

LEAP Relational Algebra RDBMS, SourceForge

                  

 

Last Updated: Friday, September 14, 2007