CSC 468: Database Management System Implementation
Spring 2008

Instructor: Alexander Dekhtyar, dekhtyar@csc.calpoly.edu, 14-215

Office Hours:
When
Who Where
Monday Alex 14-209
Tuesday 3:00pm - 4:00pm Alex 14-209
Wednsday 9:00am - 12:00pm Alex 14-209
Thursday 3:00pm - 4:00pm Alex 14-209

Additional appoinments: send email.

Final Exam Date: Thursday, June 12, 2008, 7:10am


News and Notes

Old News and Notes

Course Materials

Syllabus Postscript PDF
Groups HTML

Project

Project-related supplemental information

Overview Postscript PDF [April 2, 2008]
Index Structures Postscript PDF [April 9, 2008]
Stage 1 Due: April 29 Postscript PDF [April 9, 2008]
Stage 2 Due: May 13 Postscript PDF [April 28, 2008]
XPLite Postscript PDF [May 14, 2008]
Stage 3 Due: June 5 Postscript PDF [May 15, 2008]


Labs

Lab 1 Due: April 1, 2008 SQL recap Postscript PDF [April 1, 2008]
Lab 2 Due: April 8, 2008 XML recap Postscript PDF [April 2, 2008]
Lab 3 Due: April 15, 2008 NEUStore Postscript PDF [April 9, 2008]
Lab 4 Due: April 24, 2008 XML DOM Postscript PDF [April 16, 2008]
Lab 5 Due: May 8, 2008 XPath Postscript PDF [April 16, 2008]

Lab Data
Lab 1 BAKERY-setup.sql, BAKERY-insert.sql, BAKERY-drop.sql
README, zip file of the BAKERY dataset (csv)
Results of queries
Lab 3 list.txt
Lab 4 SAXtest.java (SAX parser test), MyContentHandler.java (used by SAXtest.java)
text.xml (used by SAXtest.java)
DOMtest.java (DOM parser test),
Project, stage 2 ClientSide.java (XpathPlus stub) ServerSide.java (MiniXBase stub)
Project, stage 3 tknizer.tar (an old tokenizer), tokenizer.txt (requirements spec)

Lab Tests
Lab 4 XMLElementHistogram test1.xml, Lexington.xml, SquashBeetle.xml, CakeryCafe.xml, molecules.xml (~130K)
DFSOrder test2.xml, Versailles.xml, subway.xml, lab02-sg07.xml, agencies.xml (~45K), hiwiki-stub.xml(~12 Meg)
XMLStructureIndex test2.xml, subway.xml,
XMLAttributeExtract test3.xml, subway.xml, lab02-icde06.xml
XMLContentExtract test4.xml Versailles.xml, lab02-icde06.xml, 26464.xml
Project Stage 1 TestCase1.java (ElementIndex), TestCase2.java (StructureIndex), TestCase3.java (ContentIndex),
TestCase4.java (AttributeIndex), TestCase5.java (XML document), TestCase6.java (1000 records)
Stage 3 icde-test.csh lab02-icde06.xml

JDBCTest.java
classes12.jar (JDBC driver)

Homeworks

Homework 1 Due: May 1, 2008 Postscript PDF []
Homework 1 Due: May 1, 2008 Postscript PDF [May 5, 2008]

Lecture Notes

Lecture 1 DBMS Organization PDF [March 30, 2008]
Lecture 2 Overview of Data Storage Postscipt PDF [March 30, 2008]
Lecture 3 Buffer Management Postscipt PDF [March 30, 2008]
Lecture 4 Storage of Relational Data Postscipt PDF [March 30, 2008]
Lecture 5 Management of data on disk Postscipt PDF [March 30, 2008]
Lecture 6 Index Structures: Part 1 Postscipt PDF [March 30, 2008]
Lecture 7 Index Structures: Part 2: B+-trees Postscipt PDF [March 30, 2008]
Lecture 8 Intro to Query Execution Postscipt PDF [March 30, 2008]
Lecture 9 Query Execution: One-pass algorithms Postscipt PDF [March 30, 2008]
Lecture 10 Query Execution: Nested Loop Join Postscipt PDF [March 30, 2008]
Lecture 11 Query Execution: Two-pass algorithms Postscipt PDF [March 30, 2008]
Lecture 12 Query Execution: Multi-pass algorithms Postscipt PDF [March 30, 2008]
Lecture 13 Query Execution: Review Postscipt PDF [March 30, 2008]
Lecture 15 Query Processing: Overview Postscipt PDF [March 30, 2008]
Lecture 16 Query Equivalences Postscipt PDF [March 30, 2008]
Lecture 18 Cost-Based Query Optimization Postscipt PDF [March 30, 2008]
Lecture 19 Transaction Processing Postscipt PDF [March 30, 2008]
Lecture 20 Concurrency Control Postscipt PDF [March 30, 2008]
Lecture 21 Crash Recovery Postscipt PDF [March 30, 2008]


Project

NEUStore

NEUStore is a Java package developped at Northeastern University by Professor Donghui Zhang. It implements some base classes for paginated data and index storage on disk. Our project will be using NEUStore.

Home page HTML
Download(version 1.3) neustoreroot.tgz
Documentation PDF


XML

The course project involves building a native XML DBMS and a processor for a subset of XPath.

W3C Materials
XML Recommendation (1.0) HTML
Document Object Model (DOM) Level 1 HTML Postscript PDF
Xpath 1.0 HTML

Lecture notes

Most lecture notes are taken from Fall 2007 CSC 560 class, although some had been written earlier for various database courses.
Intro to XML Postscript PDF [March 30, 2008]
XML Recommendation in a nutshell Postscript PDF [March 30, 2008]
Document Type Definitions Postscript PDF [March 30, 2008]
Document Object Model Postscript PDF Powerpoint [March 30, 2008]
Document Object Model PDF Powerpoint [April 17, 2008]
Storage of XML in Relational Databases (Shredding) Postscript PDF [March 30, 2008]
XPath Postscript PDF [March 30, 2008]
Evaluation of XPath Axes Postscript PDF [March 30, 2008]
Other Materials
CSC 560 XML indexing wikiHTML
Survey of XML indexing PDF
CSC 560 Bibliography HTML


eXist

eXist is an open-source native XML DBMS. We will be using it for two purposes: as training grounds for XPath and as benchmark for query answers (i.e., your DBMS shall produce the same query results as eXist does on the same data).
Home page HTML
Documentation HTML
Documentation HTML
Downloads HTML Java JAR EXE (MS Vista)

Other Materials

SQL-92

Oracle

General Database Resources


August 28, 2007, dekhtyar at csc.calpoly.edu