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

[Course Summary | Required Materials | Lectures | Assignments | Academic Integrity Policy | Related Web Sites | Prerequisites | Announcements ]

Monday and Wednesday 12:00-1:20 PM
Location: OHE- 122



Prof. Cyrus Shahabi

      Office: PHE 306A
      Phone:  (213) 740-8162
      Email:  shahabi AT usc.edu
      Office Hours: Monday and Wednesday 11:00-12:00

Teaching Assistants

Leyla Kazemi

      Office: RTH 323
      Phone:  (213) 821-1462 
      Email:  lkazemi AT usc.edu
      Office Hours: Thursday 2:30 PM - 4:30 PM

Ali Khodaei

      Office: RTH 323
      Phone:  (213) 821-1462 
      Email:  khodaei AT usc.edu
      Office Hours: Wednesday 10:00 AM - 12:00 PM   



Homework 1:  TBA

Homework 2:     TBA

Homework 3:     TBA


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 and implementation structures. 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


(04/14/10) Programming in Android is now posted  

(04/14/10) Homework 3 is now posted  

(04/14/10) Responsibility Form is now posted  

(04/13/10) Group list for Homework 3 now posted  

(04/12/10) Android Installation Guide now posted  

(03/19/10) Homework 2 with dataset now posted  

(03/04/10) Sample midterm exam is now posted  

(02/10/10) Homework1-part2&3 with sample dataset is now posted  

(02/10/10) Solution to Homework1-part1 is now posted  

(02/09/10) Oracle Client tutorial is now posted  

(02/01/10) Homework 1 is now posted


Back to top


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


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 and Google Earth 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.      Conventional Nearest Neighbor Query, N. Roussopoulos, S. Kelley, and F. Vincent. Nearest neighbor queries. In SIGMOD, pages 71-79, 1995.

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. Object-Relational Database Development: a Plumber's Guide,  Chapter 1

14. B-Trees: Balanced Tree Data Structures

15. Organization and Maintenance of Large Ordered Indexes by R. Bayer and E. McCreight In: Acta Informatica, Vol. 1, Fasc. 3, 1972, pp. 173-189

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.

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/WileyCDA/WroxTitle/productCd-0764543652.html)

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


Oracle References:

1.      Oracle SQL Reference

2.      Oracle Spatial User's Guide and Reference

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

4.   Online Oracle Documentations

5.   Oracle Spatial Java API Reference


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


(A.R. refers to Additional Readings)






Introduction and overview (A.R. 1

Pre-Requisite Form


Introduction and overview 

Session 1


No Class--Martin Luther King Day



ER data model (review) 

Session 2


Relational data model (review)  

Session 3-a
Session 3-b



Extended ER 

Session 4


SQL (review) 

Session 5

Homework 1: Part 1 Assigned


SQL (advanced)

Session 6-a
Session 6-b  


OO and OR-DBMS  (A.R. 3 , 2, 9, 13)

Session 7


Oracle 10g ORDBMS and SQL3 (A.R. 4)



Session 8
Oracle Client Tutorial
Homework 1: Part1 Due, Solution
Homework 1: Parts 2 & 3 Assigned, dataset



No Class--President's Day 




 Database Connectivity

Session 9
Example files: Ex1.java, Ex2.java, Ex3.java,
Ex4.java, Ex5.java
classes12.jar, sdoapi.zip, sdoapi_javadoc.zip, notes.txt
Oracle Spatial User's Guide and Reference  



Session 10  


Tree-Structured Indexes (A.R. 15)

Session 11  


More Indexing (A.R. 14)

 Session 12  


More Indexing

  Session 12    


Exam 1 Review

Homework 1: Parts 2 & 3 Due


Exam 1


WPH B27 - Last names [A to M]
WPH B30 - Last names [N to S]
WPH 106 - Last names [T to Z]


No class--Spring Break



No class--Spring Break



Spatial Databases (A.R. 6

Session 13

Homework 2 Assigned
HW2 Dataset


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

Session 14


 Spatial Index Structures (R-tree, ...) (A.R. 7)

Session 15


   Spatial Index Structures and Queries/Demo

Demo Webpage


Spatial Queries (A.R. 5)

Session 16


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

Session 17


OLAP (A.R. 17)

Session 18

Homework 2 Due

Android Installation Guide



Homework 3 Assigned

Responsibility Form


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

Session 19


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

Session 20


Exam 2 Review



Exam 2


OHE 122 - Last names [A to M]
SLH 100 - Last names [N to Z]


No Class

Homework 3 Due




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:














Assignments Description

Homework 1

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 Oracle. 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 Oracle. 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

Design and implement a spatial microblogging system using mobile phones. With this system, users utilize their mobile phones to post microblog entries, geo-tag them, and insert them into a database. Use the Android phones and its sqlLite database to build your application. This allows users to ask their spatial queries by interacting with Android phones.

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

         Stanford University Database Group

         University of Wisconsin Database Group

         University of Maryland Database Group

         The Spatial Index Structures demo webpage

         Google Earth  

         Acrobat Reader

         Ghostscript, Ghostview and GSview

         Database Management Systems by Raghu Ramakrishnan and Johannes Gehrke


Back to top