User:StanfordPioneers

= Student FAQ - db-class.org (Introduction to Databases) =

This FAQ is maintained by and for students of db-class: Introduction to Databases, taught by Stanford Professor Jennifer Widom, Fall 2011, mirroring the offline Stanford University CS145 class.

To learn more about Professor Widom, you can read this interview with distinguished members of the database community, look her up on wikipedia or visit her home page.

Registration not mandatory. Any edits without registering will record the IP address.

Q&A Forum
$$\href{http://en.wikibooks.org/w/index.php?title=User:StanfordPioneers}{Student FAQ}$$
 * How to post a clickable link

Tools

 * Relational Algebra Interpreter - Same as used in the workbench in the exercises

Advanced topics beyond db-class

 * Relational Division
 * Description from Wikipedia - general definition
 * Relational Division (PDF) - more details, including conversion to SQL, which helps on one of the RA exercises.
 * CS145 class activity for multiset relational algebra (PDF), solution

Tools

 * Database Master (used by Prof. Widom) (Windows only, 30-day trial, then limited freeware)
 * Orbada (cross-platform Java, open-source, MySQL, SQLite, ...), download SQLite JDBC driver separately (Suits users with considerable experience .. not recommended for newbies.)
 * SQLite Manager (Firefox add-on, open-source)
 * Navicat (Free 30-day trial, three platforms - Microsoft Windows, Mac OS X and Linux.)

Tools

 * Functional Dependencies Helper (and BCNF normalization tool)

Functional Dependency

 * How to solve FD problems via FD diagram (Yong), source of diagram concept
 * Functional Dependencies 3rd-party video explanation
 * Functional Dependencies - minimal keys (Yong)

Inference Rules & Equivalence

 * How to determine equivalence between two sets of FDs
 * Armstrong's Axioms

External References

 * Ullman

Closure of Attributes & Minimal/Candidate Keys

 * Computing a closure of attributes - example
 * Computing a key, once you know how to compute closures (Huy)

Multivalued Dependency

 * Understanding MVDs (Yong)

External link


 * MVD on wikipedia

Inference Rules

 * Inferring new MVDs example #1
 * Inferring new MVDs example #2

Normalization

 * Decomposing to BCNF
 * 4th Normal Form

Beyond db-class

 * Example of relations meeting 3NF but not BCNF
 * Normalization example poster for 1NF, 2NF, 3NF, 4NF & 5NF
 * Wikibooks Relational Database Design: Normalization -- Wikibooks has a Relational Database Design Book, There is a section on Normalization which seems relevant, but probably could stand some review by those more familiar with the topic.

Tools

 * Kernow (used by Prof. Widom) (cross-platform Java, open-source), (obtaining a license key - mention you're a student)
 * Kernow 1.6.1 (This older version gives you element-query results on separate lines instead of one long line.)

XPath, XQuery

 * The 'count' function in XQuery You can use 'avg' the same way.
 * Useful FLWOR examples

Reading. xquery Book [http://www.datypic.com/books/xquery/ Authors site. ] Available on Amazon etc.

xpath, xslt. Almost a reference book (XSLT 2.0) Mike Kays book Mike is the W3C rec editor, long time mailing list supporter.

Beyond db-class

 * XML - Attributes versus Elements
 * - where to use attributes

UML and conversion to DB model
External Resources
 * Notation

Transactions and Isolation Levels
Phantom Tuples
 * Phantom Explained