[USC / University of Southern California]CSCI585: Database Systems

Please check the prerequisites before considering this course

[Course Summary | Required Materials | Lectures | Assignments | Academic Integrity Policy | Related Web Sites | Prerequisites | Announcements ]
How to get D-Clearance for the students in the waiting list?



Monday and Wednesday 2:00-3:20 PM
Location: OHE-122 
 

People

Instructor

Prof. Cyrus Shahabi

      Office: PHE 410
      Phone:  (213) 740-8162
      Email:  shahabi@rcf.usc.edu
      Office Hours: Monday, Wednesday 11:00 am - 12:00 pm
 

Teaching Assistant

Mehdi Sharifzadeh 
Database administrator

      Office: PHE 314
      Phone:  (213) 740-2295
      Email:  sharifza@usc.edu
      Office Hours: Monday 3:30 pm - 5:30 pm

Hyunjin Yoon
Web master

      Office: PHE 310
      Phone:  (213) 821-1462
      Email:  hjy@usc.edu
      Office Hours: Thursday 11:30 pm - 1:30 pm 

 

Grader

Muralidharan Murugan 

      Office: PHE 306
      Phone:  (213) 821-1739
      Email:  murugan@usc.edu
      Office Hours: TBD				
 

Course Summary

This course covers the essential concepts, principles, techniques, and mechanisms for the design, analysis, use, and implementation of computerized database systems. Key information management concepts and techniques are examined: information modeling and representation; information interfaces - access, query, and manipulation, implementation structures, and issues of distribution. The database and information management system technology examined in this course represents the state-of-the-art, including traditional approaches as well as recent research developments. By providing an imbalanced view of "theory" and "practice," the course should allow the student to understand, use, and build practical database and information management systems. The course is intended to provide a basic understanding of the issues and problems involved in database systems, a knowledge of currently practical techniques for satisfying the needs of such a system, and an indication of the current research approaches that are likely to provide a basis for tomorrow's solutions.
Back to top


Announcements

 

·         Exam 2 grades are posted. Check them out in DEN. The upcomming schedules have been changed. Please check out the emails from CSCI585TAs. (05/06/04)

·         Exam2 sample solution posted(05/06/04)

·         Homework 3 Solution posted(04/26/04)

·         Final Exam info - Date: Wednesday, April 28th / Time: 2:00pm - 3:20pm / Locations: 1. SCI-159: for all local students whose last name is in the range A-K 2. SGM-101: for everybody else (those in L-Z) (04/26/04)

·         Homework 3 posted. (03/31/04)

·         The deadline of HW2 has been extended. New due is April 1st at 5:00PM. (03/31/04)

·         The grader will hold his LAST office hours for hw1 on Thursday April 1st, at 3:30-5:30 in PHE-314. Please stop by if you have any concern about your grade. (03/31/04)

·         Homework1 graded. (03/29/04)

·         Exam1 graded.  (03/22/04)

·         Exam 1 solution posted. (03/15/04)

·         Homework 1 solution updated. (03/08/04)

·         Homework 2 posted. (03/08/04)

·         Homework 1 solustion (EER, Queries) posted. (03/08/04)

·         The Submission Guidelines of Homework1 changed. Note that the other descriptions of Homework1 is NOT changed.  (02/20/04)

·         The 19th page of handout Session 7  (Oracle 9i ORDBMS and SQL3) was  updated. New version is now linked. (02/19/04)

·         Schedule of classes - from 02/23/04 to 03/08/04 changed. (02/16/04)

·         Homework1 due date changed: new deadline is 03/03/2004. (02/10/04)

·         Schedule of classes - from 02/18/04 to 02/25/04 changed. (02/10/04)

·         Accounts created:  Unix account and Oracle account in gilaan.usc.edu are the same as one you provided in our online registration form. We sent out emails including the detail instructions. (02/02/04)   

·         Homework 1 posted. (01/30/04)   

·         Please submit our online registration form to get Unix/Oracle account at gilaan:

      go to the course page (CSCI585) at DEN, click on 'External Links' at the left frame, then you can see the link for the registraion. We recommend to enter your aludra username as the requested username. (01/23/2004)

·         Graders assigned - Muralidharan Murugan for HW1 & HW3,  Mohammad-Reza Kolahdouzan for HW2 only. (01/15/04)

·         Location changed back to OHE-122. (01/14/04)

·         Location changed. (01/09/04)

·         Instructor's office hours changed. (01/09/04)

·         We will use Oracle instead of Informix this semester. All stuff regarding to Informix will be replaced during the winter break. (12/07/03)

·         Homepage started. (12/03/03)

 


Back to top


D-Clearance

You can go to SAL-300 and obtain D-clearance for csci585 (regardless of your major (CS, EE, ...) and/or status (MS, PhD)). If the class is full, then add your name to the waiting list and show up during the first couple of sessions.
Back to top


PreRequisites

As stated in the university catalog, a passing grade in CSCI485 or departmental permission is required to register for this class. Knowledge in relational databases, SQL, relational algebra and physical database design is required.

This Course involves challenging programming assignments and projects for which understanding of and programming ability in Java is required. Knowledge in JDBC is a plus.
Back to top


Required Materials

The following textbook and additional readings will be used this semester to augment the material presented in the lectures:

Textbook :
   Ramakrishnan, Gehrke. "DATABASE MANAGEMENT SYSTEMS" , third edition, McGRAW Hill

Additional readings (A.R.):

1.      Jim Gray. "Evolution of Data Management." Computer v29 n10 (October 1996):38-46.

2.   Michael Stonebraker. "Object-Relational DBMS-The Next Wave." Informix white paper.

3.      Thomas Connolly, Carolyn Begg, and Anne Strachan. "Ch 17: Object Databases." Database Systems.

4.      Oracle Documentations. "Application Developer's Guide - Object-Relational Features" .

5.      Alin Deutsch et. al. "Querying XML Data" Bulletin of Data Engineering, v22, n3, Sep. 1999

6.      Ralf Hartmut Guting. "An Introduction to Spatial Database Systems." VLDB Journal 3(4): 357-399, 1994.

7.      Antomn Guttman. "R-TREES. A DYNAMIC INDEX STRUCTURE FOR SPATIAL SEARCHING." Proceedings of ACM SIGMOD, pp.47-57, 1984.

8.      Shahram Ghandeharizadeh and Cyrus Shahabi. "Distributed Multimedia Systems." Wiley Encyclopedia of Electrical and Electronics Engineering, volume 5, pp720-750.

9.      Patrick O'Neil and Elizabeth O'Neil. "Ch 4: Object-Relational SQL." Database Principles, Programming and Performance, 2nd edition, Morgan Kauffman publications.

10. Cyrus Shahabi, Roger Zimmermann, Kun Fu, and Shu-Yuen Didi Yao, "Yima: A Second Generation of Continuous Media Servers", IEEE Computer Magazine, Vol.35, No.6, Pages 56-64, June 2002

11.  Hanan Samet. "Spatial Data Structures." Appears in Modern Database Systems: The Object Model, Interoperability, and Beyond, W.Kim, ed., Addison Wesley/ACM Press, Reading, MA, 1995, 361-385.

12.  Timos Sellis, Nick Roussopoulos and Chrishtos Faloutsos. "THE R+-TREE: A DYNAMIC INDEX FOR MULTI-DIMENSIONAL OBJECTS." Proceedings of the 13th VLDB Conference, Brighton 1987.

13.  XML 1.0 (http://www.w3.org/TR/REC-xml)

14.  XQuery 1.0: An XML Query Language ( http://www.w3.org/TR/NOTE-xml-ql/)

15.  S. S. Chawathe "Describing and Manipulating XML Data" Bulletin of Data Engineering, v22, n3, Sep. 1999

16.  Ching-Tien Ho Rakesh Agrawal Nimrod Megiddo Ramakrishnan Srikant "Range Queries in OLAP Data Cubes" (1997) . SIGMOD 1997

17.  S. Geffner D. Agrawal A. El Abbadi "The Dynamic Data Cube" . EDBT'2000

18.  Mirek Riedewald, Divyakant Agrawal, and Amr El Abbadi "Flexible Data Cubes for Online Aggregation" . ICDT'2001

19.  J. S. Vitter, M. Wang, and B. Iyer. "Data Cube Approximation and Histograms via Wavelets" . CIKM'1999

20.Torben Bach Pedersen, Christian S. Jensen. "Multidimensional Database Technology", IEEE Computer Dec. 2001.

21.  Surajit Chaudhuri, Umeshwar Dayal, Venkatesh Ganti. "Database Technology for Decision Support Systems", IEEE Computer Dec. 2001.

22.Rolfe R. Schmidt and Cyrus Shahabi, ProPolyne: A Fast Wavelet-based Algorithm for Progressive Evaluation of Polynomial Range-Sum Queries (extended version), VIII. Conference on Extending Database Technology, Prague, March 2004

23.Rolfe R. Schmidt and Cyrus Shahabi, How to Evaluate Multiple Range-Sum Queries Progressively, 21st ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS), Madison, Wisconsin, June, 2004

24.(M. Riedewald, D. Agrawal, A. El Abbadi, and R. Pajarola. Space-Efficient Data Cubes for Dynamic Environments. In Proc. Int. Conf. on Data Warehousing and Knowledge Discovery (DaWaK), pages 24-33, 2000 )

25. Storing a Collection of Polygons Using Quadtrees. Hanan Samet, Rober E. Webber.  ACM Transactions on Graphics (TOG) ,pages 182-222, 1995.

26. Apache Xindice

27. Application Programming Interface for XML Databases

28. Streaming Media Server Design

Java References :

1.      Sun Java Tutorial (http://java.sun.com/docs/books/tutorial/)

2.      Beginning Java 2 SDK 1.4 Edition (http://www.wrox.com/books/1861005695.htm)

3.      Java Programmer's Reference (http://www.wrox.com/books/1861004222.htm)

4.      Core Java 2, Volume I, by Gary Cornell, Cay S. Horstmann.

 

Oracle References:

1.      Oracle SQL Reference

2.      Oracle Spatial Reference

3.   Oracle SQL*Plus User's Guide and Reference 

4.   Online Oracle Documentations

 

Informix References :

1.      Informix SQL Reference

2.      Informix SQL Tutorial

3.   Informix Spatial Datablade

 

 

In principle, these readings also will be available for download from the DEN.

The material covered in lectures should be considered the main definition of the scope of the course. However, the text and readings are important to supplement lecture material. Assignments and exams will be based on the topics presented in lecture, and may also involve issues addressed in the textbook and readings.
Back to top


Lectures

(A.R. refers to Additional Readings)

SCHEDULE OF CLASSES

Date

Topic

Handouts

01/12/2004

Introduction and overview (A.R. 1

The Pre-Requisite Disclaimer Form

01/14/2004

Introduction and overview 

Session 1

01/19/2004

No Class--Martin Luther King Day

 

01/21/2004

ER data model (review) 

Session 2

01/26/2004

Relational data model (review)  

Session 3

01/28/2004

Extended ER 

Session 4

02/02/2004

Extended ER  

Homework 1, Submission Guideline

02/04/2004

SQL (review) 

Session 5

02/09/2004

SQL (advanced)

 

02/11/2004

SQL (advanced)

Session 6

02/16/2004

No Class--President's Day 

 

02/18/2004

Oracle 9i ORDBMS and SQL3 (A.R. 4)

Session 7

02/23/2004

OR-DBMS & Spatial Databases  (A.R. 3 , 2, 9)

Session 8, Session 10

02/25/2004

Spatial Databases (A.R. 6) 

 

03/01/2004

 Database Connectivity

Session 9,  (ppt version)

Example Files: Ex1.java, Ex2.java, Ex3.java, Ex4.java, Ex5.java, Ex6.java  

Oracle JDBC Driver: classes111.jar 

Oracle Spatial API: sdoapi.zip

Oracle Spatial API Doc:  sdoapi_javadoc.zip

Using Oracle JDBC/Spatial API in Java: notes.txt

03/03/2004

Spatial Index structures (A.R. 7, 11 , 12, 25 )

Homework 1 Due
Session 11, Session11-animation.pdf

03/08/2004

Exam 1 review  

Homework 1 Solution (EER, Queries)

Homework 2
Input Data Files: parks.atp restaurants.atp shoppings.atp streets.atp
Input Image: satellite.jpg

Sample GUIs: GUISample.jpg, GUISample2.jpg
Oracle Spatial API: sdoapi.zip
Oracle Spatial API Doc:  sdoapi_javadoc.zip

Set of Pointers to usefule UNIX Doc.

03/10/2004

Exam 1

Exam 1 Solution  

03/15/2004

No class--Spring Break 

  

03/17/2004

No class--Spring Break 

  

03/22/2004

XML (A.R. 13,15

Session 12

03/24/2004

XML (A.R. 5, XQuery 1.0

Session 13

03/29/2004

XML 

 

03/31/2004

XML

Homework 2 Due
Session 14-1, Session 14-2

04/05/2004

Multidimensional Databases (A.R. 16, A.R. 20, A.R. 21)

Homework 3

Session 15-1, Session 15-1-animation

04/07/2004

Multidimensional Databases

 

04/12/2004

OLAP (A.R. 17)

Session 15-2, Session 15-2-animation

04/14/2004

OLAP (A.R. 18, A.R. 24)

Session 16-1, Session 16-1-animation

04/19/2004

OLAP(A.R. 19, 22, 23)

Session 16-2, Session 16-2-animation

04/21/2004

Multimedia Databases (A.R. 8 , A.R. 28)

Homework 3 Due

Session 17

04/26/2004

Multimedia Database (A.R. 10 , A.R. 28)

Yima case study

Homework 3 Solution

04/28/2004

Exam 2

  

  

  

  

Back to top


Exams and Assignments

There will be two exams in this course: a midterm and a second exam (not a final). Both exams will be given during scheduled class time. There will be three assignments. Remote login access is required for the assignments. Grading scheme:

GRADING POLICY

EXAM

WEIGHT

HOMEWORK 1

10%

HOMEWORK 2

15%

HOMEWORK 3

15%

EXAM 1

30%

EXAM 2

30%

Assignments Description

Use the Extended ER and Object Relational concepts to create a conceptual schema for a provided example application. Use your schema to build a sample database in Informix. Write the given queries in SQL3 and execute them on your database.


Homework 2

Extend your schema of Homework 1 to support spatial datatypes. Use the new schema to build a database in Informix. Write a GUI program that allow the users to select spatial attributes for spatial queries (e.g. selection from a map). The GUI must then parse these into SQL queries, which will be passed to your database.


Homework 3

Extend the schema from Homework 1 to XML. Create a DTD specification for the same. Write a custom XSL stylesheet (details will be provided). Write an XML parser module that reads the XML data and automatically populates your database (a sort of XML->SQL conversion). Write XML Queries using an XML Query Language (e.g., X-Query) to query the XML data.



Back to top


Academic Integrity Policy

Academic Integrity

All homework and exams must be solved and written independently, or you will be penalized for plagiarism. The USC Student Conduct Code prohibits plagiarism. All USC students are responsible for reading and following the Student Conduct Code, which appears on pp. 76-77 of the 2000-2001 SCampus.

In this course we encourage students to study together. This includes discussing general strategies to be used on individual assignments. However, all work submitted for the class is to be done individually.

Some examples of what is not allowed by the conduct code: copying all or part of someone else's work (by hand or by looking at others' files, either secretly or if shown), and submitting it as your own; giving another student in the class a copy of your assignment solution; consulting with another student during an exam. If you have questions about what is allowed, please discuss it with the instructor.

Students who violate University standards of academic integrity are subject to disciplinary sanctions, including failure in the course and suspension from the University. Since dishonesty in any form harms the individual, other students, and the University, policies on academic integrity will be strictly enforced. We expect you to familiarize yourself with the Academic Integrity guidelines found in the current SCampus.

Violations of the Student Conduct Code will be filed with the Office of Student Conduct, and appropriate sanctions will be given.
Back to top


Related Web Sites

·         USC Information Laboratory

·         USC Integrated Media Systems Center

·          Oracle Software

·         Informix Software

·         Informix Online Documentations

·         Stanford University Database Group

·         University of Wisconsin Database Group

·         University of Maryland Database Group

·         Excellent tutorial on XML, XSL,..

·         The Spatial Index Structures demo webpage

·         Online demo of XML-QL

·         Download XML-QL

·         Acrobat Reader

·         Ghostscript, Ghostview and GSview

·         Galax, an XQuery implementation

·         Database Management Systems by Raghu Ramakrishnan and Johannes Gehrke

 

Back to top