| Latest News |
|---|
|
Time and Place
| Mondays 11-12 | Jan 28 onwards | Lecture Th 1, Ashworth Building |
| Wednesdays 9-10 | All term | Lecture Th B, JCMB |
Instructor
Peter Buneman (
)
Material
|
Handout 1:
|
Lectures 1 & 2. Introduction, relational model, relational algebra - [pdf] [gzipped postscript] | |
|
Homework 1:
|
[pdf] [gzipped postscript]. Homework 1 solutions - [pdf] [gzipped postscript] | |
|
Handout 2:
|
Lectures 3-5. SQL Database design with E-R diagrams - [pdf] [gzipped postscript] | |
|
Homework 2:
|
Part solution for homework 2 [pdf] [gzipped postscript] |
|
|
Handout 3:
|
Lectures 6 & 7. Relational database design and functional dependencies - [pdf] [gzipped postscript] | |
|
Homework 3:
|
[pdf] [gzipped postscript]. Homework 3 solutions - [pdf] [gzipped postscript] | |
|
Handout 4:
|
Lectures 9 & 10. Storage and Indexing - [pdf] [gzipped postscript] | |
|
Handout 5:
|
Lecture 12 Transactions - [pdf] [gzipped postscript] | |
|
Handout 6:
|
Lecture 13 Embedded SQL and PHP - [pdf] [gzipped postscript] | |
|
Homework 4:
|
[pdf] [gzipped postscript]. Homework 4 solutions - [pdf] [gzipped postscript] | |
|
Handout 7:
|
Lecture 14: Implementing Relational Operations - [pdf] [gzipped postscript] | |
|
Handout 8:
|
Lectures 15-18: XML - [pdf] [gzipped postscript] | |
|
Homework 5:
|
[pdf] [gzipped postscript]. Homework 5 solutions - [pdf] [gzipped postscript] |
Resources
Predicate calculus
For those who have not seen any first-order predicate calculus, the lecture notes by Charles R. Dyer are useful. Just go over the first part: http://www.cs.wisc.edu/~dyer/cs540/notes/fopc.html
Running SQLCourse Description
- Here are some quick notes on how to get up and running with SQL
- And some excellent additional notes and examples from Peter Thanisch
- The postgreSQL user guide
- The postgreSQL tutorial
- PLEASE BE CAREFUL: views are seriously brain-damaged in postgreSQL. Use `CREATE TABLE' instead (see notes on getting up and running with SQL)
- Account numbers and passwords are available from the ITO office in JCMB if you didn't pick them up in class.PHP , HTML and Web interfaces to databases
- An introduction by Alin Stefanescu: Quick notes on web database integrationXML
- XML Specification http://www.w3.org/TR/REC-xml
- Annotated standard http://www.xml.com/axml/axml.html
- General: http://www.oasis-open.org/cover/xml.html
- Simple tutorials: http://www.w3schools.com/xml/default.asp and http://www.spiderpro.com/bu/buxmlm001.html
- General articles on XML, XSL, XQuery, etc.: http://www.w3.org/TR/REC-xmlXQuery and XPath
- XQuery Specification (includes XPath): http://www.w3.org/TR/xquery
- XML Query use cases http://www.w3.org/TR/xmlquery-use-cases
- Straightforward tutorial: http://www.brics.dk/~amoeller/XML/querying/
- XQuery and types: http://www.research.avayalabs.com/user/wadler/papers/xquery-tutorial/xquery-tutorial.pdfTextbook
Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems (Second Edition) McGraw-Hill 2000.
Databases are crucial to maintaining the information base in almost all modern business enterprises and to electronic commerce. They are also becoming increasingly important as a fundamental tool in much scientific research. Some knowledge of databases is now essential in any of these areas. The study of databases draws on several areas of computer science: logic, algorithms, programming languages and operating systems.
This module is an introduction to the principles underlying the design and implementation of databases and database management systems. It will cover the languages that have been developed for relational databases, their implementation and optimisation. It will also introduce some recent developments in databases including object-oriented, object-relational systems, semistructured data and the relationship between databases and XML. The bare essentials of transaction processing will also be covered.
Students intending to take this option should note that background reading is essential. Some topics in database systems are far too pedestrian to be treated in detail in lectures, but a grasp of those topics is essential for an understanding of the rest of the material. Also, all students are expected to have had a basic course in logic and discrete mathematics.
Syllabus
It is expected that two practical coursework exercises will be set. Firstly, there will be a practical exercise involving the use of a relational database management system. The second exercise will involve programming with databases on the web. There will also be regular homeworks.