|
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. |
| # | 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: JDBCDemo.zip Hibernate demo: SchoolDemo1.zip Tips: How to Run Hibernate in NetBeans and Eclipse |
| Jan 30 |
Slides:
HibernateContext.java; Student, Teacher, ContactInfo,
and SchoolDemo classes; one-to-one association with
Hibernate; lazy fetching; LazyInitializationException
Hibernate demos: SchoolDemo2.zip SchoolDemo3.zip |
| 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: SchoolDemo4.zip SchoolDemo5.zip InheritanceDemo1.zip InheritanceDemo2.zip InheritanceDemo3.zip |
| 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: SchoolDemo6.zip |
| 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: XMLParserDemos.zip XPath demo: XPathDemo.zip |
| 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 XMLValidation.zip JAXB demo: JAXB.zip |
| 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: TimeServiceDemo.zip |
| 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: StockQuoteWSClient.zip SpellCheckerWSClient.zip WeatherWSClient.zip |
| 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 warehouss: 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: CompositeJDBC.java |
| May 1 |
Slides:
Managing scientific data (four case studies):
|
| 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 |
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.
|
Department policy is to enforce all course prerequisites strictly, especially for a deep course. |
||||||
|
Database Systems, the Complete Book, 2nd ed. Hector Garcia-Milina, Jeffry Ullman, and Jennifer Widom Pearson ISBN: 0131873253 |
|
Beginning Hibernate, 2nd ed. Jeff Linwood and Dave Minter Apress ISBN: 1430228504 |
|
Hibernate Made Easy: Simplified Data Persistence
with Hibernate and JPA (Java Persistence API)
Annotations Cameron McKenzie and Kerri Sheehan PulpJava 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 Wrox ISBN: 1118162137 |
|
Pro XML Development with Java Technology Deepak Vohra Apress 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 Elsevier ISBN: 9780123814791 |
| 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 |
|
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. |
As a Senior Computer Scientist at the NASA Ames Research Center, I designed and managed the building of a major software lab that can run up to 400 simultaneous virtual machines in different network configurations in order to simulate spacecrafts in flight, such as satellites in cluster formations. On an earlier mission, I designed and led the development of the middleware for a key information management system for NASA's Mars Exploration Rover (MER) mission. As a Research Staff Member at the IBM Almaden Research Center in San Jose, I implemented a software platform that integrated multiple heterogeneous simulation models in order to help solve the nation's obesity problem. I was the Enterprise Software Strategist at the Lawrence Livermore National Laboratory for a major laser-based fusion energy project, the National Ignition Facility (NIF), where I helped design and develop a scientific workflow system to consolidate and manage the data generated by the laser firings.
I have degrees in the mathematical sciences and in computer science from Stanford University. I've written books on compiler writing, software engineering, and numerical computation, and I contributed a chapter to the book Beautiful Code which won the Jolt Award. I find designing and developing software such as compilers and enterprise systems to be fun and challenging. So I'm the kind of geek nobody wants to talk to at parties. My one redeeming feature is that I am owned by two cute cats.