home profile publications research teaching service awards

Databases and Web Services

[ Course mailing list | Lecture slides | Assignments | Exams | Projects | Literature | Extra links ]

Course topics: database services, database design (ER, UML), SQL, relational design theory, transaction management, web applications, XML.

This course introduces into (relational) database systems in theory and practice, with special emphasis on Web-based applications. In the accompanying project work, design and implementation of database and Web service components will be addressed, culminating in a sample database-enabled Web service based on the LAMP open source package. This course is recommended for all students specializing in computer science.

The course requires basic knowledge about algebraic expressions and laws, basic data structures like trees, object-oriented concepts, as well as - for the lab work - HTML and Linux.

Not a CS major? Then contact me upon semester start! Maybe you want to get specific support in the programming aspects.

Course mailing list

If you attend the course, make sure you are subscribed to that list to not miss important information!

Lecture slides

[ Introduction and Project intro | Database design | The relational model | SQL | Relational Algebra | Query processing | Database application development | Web services | 3-tier architectures | Web Service protocols | Normal Forms & Physical database design | Security | Transactions | NoSQL | XML, XPath, XQuery | RDF, SPARQL | Array databases | OLAP | MapReduce | Wrap-up ]

...plus the talk given by Keith Hare, Convenor of the ISO SQL Working group.

Assignments

Assignments will be published weekly (either here or via the course mailing list), they consist of both standalone tasks and workpackages of your projects. Assignments have to be handed in one week later by email as PDF or plain ASCII file to the teaching assistant. Late submissions will be disregarded; the only (and rare) exceptions to this are (i) registrar's exemption and (ii) case-by-case arrangement with me in advance with a Good Reason.

Several tasks require you to submit an individual answer, even though it may be part of the project. In such cases you may want to develop some solution within your team first, and then create your answer sheet by adapting the approach to your individual situation.

For the diagramming tasks, you may want to use dia.

Should you have questions on the outcome of an assignment, please contact the Teaching Assistants - they are happy to assist and explain!

For the rasdaman exercises you find instructions and exercises.

Exams

  • sample midterm exam, including solutions

Projects

During the course you will have to implement your own Web service, based on Linux, Apache, Python, MySQL ("LAMP").

To this end, you are expected to team up in groups of 2 - 3 early in the semester.

Use the ClamV environment (how to set up my own Web pages directory). Note that this excludes setting up your own environment, eg, on some Windows server! And, no, we tentatively do not use advanced tools like content management systems, because we want to learn about the internals of that technology.

I will suggest some topics, but it is highly appreciated if you come up with your own idea, maybe even for some service that will have its sustained life afterwards. It just needs to fulfil some criteria to make it manageable (not trivial, not too complex), so contact me early with your idea!

The main evaluation criteria for the website you will develop are as follows (in no particular order; authoritative list on course slide deck 00):

  • bug-free
  • good engineering (project and code documentation, coding quality, ...)
  • user-friendliness
  • complexity (in absolute terms and in comparison to other teams' work)
  • own understanding (assessed through a final, individual handover)

Literature

Course reference:

Jacobs library has a stock of
and
books.

Further database material:

Database journals and conferences

Databases and the Web:

  • Bussler, Christoph; Tannen, Val; Fundulaki, Irini (eds.): Semantic Web and Databases. Second International Workshop, SWDB 2004, Toronto, Canada, August 29-30, 2004, LNCS 3372, Springer, 2004
  • Chaudhri, A.; Jeckle, M.; Rahm, E.; Unland, R. (eds.): Web, Web-Services, and Database Systems. NODe 2002 Web and Database-Related Workshops, Erfurt, Germany, October 7-10, 2002, LNCS 2593, Springer, 2002

Internet/Web:

Copyright © 2004+ Peter Baumann -- -- tel. +49-173-583 7882 -- Disclaimer