San Jose State University : Site Name


Main Content

Working in Mars Mission Control, JPL

Ronald Mak

Department of Computer Science
Spring Semester 2013

Office hours: MW: 4:15-5:00 PM, 7:15-8:00 PM
Office location: MacQuarrie Hall, room 413
Mission Control, Jet Propulsion Laboratory (JPL)
NASA Mars Exploration Rover Mission

CS 157B / SE 157B: Database Management Systems II

Section 1: MW 3:00-4:15 PM, MacQuarrie Hall 222
Section 2: MW 6:00-7:15 PM, MacQuarrie Hall 222

Ralph Kimball, a key industry leader of data warehousing,
will give an introductory guest lecture to both sections
on Monday, March 11.
Jim Green, CEO of Composite Software,
a leading provider of data virtualization tools,
will give an introductory guest lecture to both sections
on Wednesday, April 17.

Team projects

# Date Due Project
1 Jan 28 Feb 11 Object-relational mapping with Hibernate

Tips: How to Run Hibernate in NetBeans and Eclipse
2 Feb 18 Mar 1 XML schemas and object-XML mapping
3 Feb 27 Mar 15 Web services mashup!
4 Apr 3 Apr 19 Dimensional modeling and OLAP
5 Apr 24 May 10 Data virtualization


Date Content
Jan 23 Slides: Introduction and review; data independence; conceptual, logical, and physical data modeling; relational data model; 1st and 2nd normal forms; entity-relationship diagrams; one-to-one, one-to-many, and many-to-many relationships; SQL examples; MySQL
Jan 28 Slides: MySQL Workbench; review of JDBC; object-relational mapping; data access layer; multilayered application architecture; shortcomings of JDBC; Hibernate; Student class with annotations

JDBC demo:
Hibernate demo:
Tips: How to Run Hibernate in NetBeans and Eclipse
Jan 30 Slides:; Student, Teacher, ContactInfo, and SchoolDemo classes; one-to-one association with Hibernate; lazy fetching; LazyInitializationException

Hibernate demos:
Feb 4 Slides: Maintaining referential integrity; cascade policy; Hibernate cascade types; mapping one-to-many, many-to-one, and many-to-many associations; oral presentations; mapping inheritance hierarchies: table per class, joined tables, single table

Hibernate demos:
Feb 6 Slides: DTD file for hibernate.cfg.xml; Criteria API; get a list of objects; query by example (QBE); Restrictions; chaining criteria across associations; Hibernate Query Language (HQL); native SQL

Hibernate demo:
Feb 11 Slides: Project #1 team presentations; XML; XML components; XML tools
Feb 13 Slides: XML namespaces; XML parsers: DOM, SAX, StAX; Object-XML mapping; XPath; location path examples; XPath axes; XPath expressions and functions; XPath and Java

XML parser demos:
XPath demo:
Feb 18 Slides: XML schema; simple types; derived simple types; sample XML schema; complex types: element only, text only, empty, mixed content; attributes; validating XML documents; object-XML mapping; xjc compiler; marshalling and unmarshalling; Project #2

XML validation demos
JAXB demo:
Feb 20 Slides: XMLSpy; XQuery 1.0; XQuery script examples; FLWOR expressions; user-defined XQuery functions; XML and relational databases

Sample XML documents:   catalog.xml    directory.xml
Corresponding XSD schemas:   catalog.xsd    directory.xsd

Example XQuery scripts:
example-1.xql    example-2.xql    example-3.xql    example-4.xql
example-5.xql    example-6.xql    example-7.xql
Feb 25 Slides: XSLT; for-each; current node; sort; choose; if; count(); template; apply-template; web services; WSDL; SOAP; service provider; publisher; client; tcpmon

Sample XML document and schema:   catalog2.xml    catalog2.xsd

Example XSLT documents:
example-1.xsl    example-2.xsl    example-3.xsl    example-4.xsl
example-5.xsl    example-6.xsl    example-7.xsl

Web service demo:
Feb 27 Slides: Connecting to an existing web service; wsimport; creating a web service provider and a webservice client using NetBeans; example web services: stock quote, spell check, weather reports; Project #3

Web service client demos:
Mar 4 Slides: Project #2 team presentations; midterm review
Mar 11 Slides: Ralph Kimball's guest lecture on data warehousing
Mar 13 Slides: Midterm solutions; data warehouse: definition, purpose, thought leaders; star schema; denomalization; data mart; operational data store (ODS); business intelligence (BI)
Mar 18 Slides: Project #3 team presentations; Computer History Museum visit
Mar 20 Slides: Extract, transform, and load (ETL); cleaning and conforming data; semantic mappings; dimensional modeling; fact tables; dimension tables; star schema; online analytic processing (OLAP); slice and dice; drill up, down, across, through; pivot; IBM Cognos
Apr 3 Slides: Cognos lab; Project #4
Apr 8 Slides: Example time dimension; data management jobs; data mining: uses, new business opportunities, history; knowledge discovery; types of DB queries; data mining examples; data mining patterns: characterization, discrimination, associations, classification and prediction, clusters, outliers, evolution; patterns; measuring interest; major issues
Apr 10 Slides: Midterm review; introduction to data virualization; Composite Information Server (CIS)
Apr 17 Guest lecture by Jim Green on data virtualization.
Apr 22 Slides: Project #4 team presentations
Apr 24 Slides: Project #5; Composite lab
Apr 29 Slides: Midterm solutions; publishing virtual views; publishing as database services

Composite JDBC client demo:
May 1 Slides: Managing scientific data (four case studies):
  1. Collaborative Information Portal (NASA's Mars Exploration Mission)
  2. Systems Health Information Portal (for NASA's crewed space vehicles)
  3. Shot Data Management (National Ignition Facility at the Lawrence Livermore National Laboratory)
  4. Smarter Planet Platform for Analysis and Simulation of Health (SPLASH at the IBM Almaden Research Center)
May 6 Slides: Unstructured data; content; content management system (CMS); enterprise content management (ECM); ECM applications; metadata and content management; metadata standards; metadata creation; content validation; content query and retrieval; open-source and proprietary CMS; metadata model vs. taxonomy vs. ontology
May 8 Slides: Semester review
May 13 Slides: Project #5 team presentations; reminders: postmortem reports and final exams

Course description (subject to change)

This is a survey course. We'll explore the various forms of data, and how we can access and use data. Here's a list of possible data management topics. Student interest will help determine what topics we'll actually cover during the semester.

Students will work in small project teams to do research and create working applications that apply the various data management technologies on datasets. Each project will include a short report that explains the application, how it applies the technologies, and how to run it. Each team will have at least one opportunity during the semester to give an oral presentation to the class to explain and demo an application.


CS 157A Introduction to Database Management Systems grade C- or better
or instructor consent
Department policy is to enforce
all course prerequisites strictly,
especially for a deep course.

Reference books (more to come)

Database Systems, the Complete Book, 2nd ed.
Hector Garcia-Milina, Jeffry Ullman, and Jennifer Widom
ISBN: 0131873253
Beginning Hibernate, 2nd ed.
Jeff Linwood and Dave Minter
ISBN: 1430228504
Hibernate Made Easy: Simplified Data Persistence with Hibernate and JPA (Java Persistence API) Annotations
Cameron McKenzie and Kerri Sheehan
ISBN: 0615201954
XML: Visual QuickStart Guide, 2nd ed.
Kevin Howard Goldberg
Peachpit Press
ISBN: 0321559673
Beginning XML, 5th ed.
Joe Fawcett, Danny Ayers, and Liam Quin
ISBN: 1118162137
Pro XML Development with Java Technology
Deepak Vohra
ISBN: 1590597060
Java Web Services: Up and Running
Martin Kalin
O'Reilly Media
ISBN: 059652112X
Ralph Kimball is a key industry leader of data warehousing.
He has written a number of best-selling books on the topic.
Star Schema: The Complete Reference
Christopher Adamson
McGraw Hill
ISBN: 978-0-07-174432-4
IBM Cognos Business Intelligence 10: The Official Guide
Dan Volitich and Gerard Ruppert
McGraw Hill
ISBN: 978-0-07-177593-9
Data Mining: Concepts and Techniques, 3rd ed.
Jiawei Han, Micheline Kamber, and Jian Pei
ISBN: 9780123814791

Online tutorials and references (more to come)

This Hibernate Tutorial looks good. Ignore the chapters and examples involving XML mapping files. We will use the more modern Java annotations instead.
This Hibernate Tutorial has chapters on using Java annotations to specify one-to-one, one-to-many, and many-to-many associations.
This Hibernate Tutorial has chapters on using Java annotations to specify one-to-one, one-to-many, and many-to-many associations.
XML 1.0 reference. There is an XML 1.1, but it has little support and use. See also these references on namespaces and XPath.
Some tutorials on XPath:   Practical XML: XPath   XPath Introduction   XPath 1.0 Tutorial
A fairly complete tutorial on XML Schema: XML Schema Part 0: Primer Second Edition
A one-pager on how to use the xjc compiler: Java Architecture for XML Binding Binding Compiler
XQuery tutorials:   XQuery tutorial   XQuery Tutorials
A presentation with 144 slides (way more than you need to know for Project #2): XQuery Tutorial

Sources of sample data (more to come)

Sample datasets for relational databases
Just Google "sample datasets" for some promising links. For example, this page itself contains links to several interesting datasets, such the IMDB movie database, airline flight data, and weather data.
Sample XML data
Just Google "sample XML data" for some promising links. For example, w3schools offers both sample XML data and tutorials.