You can download the exam from March 26, 9:00.
Weekly notes / Slides
|Slides||02.02.2009 05.02.2009||09.02.2009||16.02.2009 18.02.2009||23.02.2009||02.03.2009 05.03.2009||09.03.2009||16.03.2009 19.03.2009|
|Note||The slides are in parts based on slides by Jeffrey D. Ullman and Hector Garcia-Molina.|
Information about the project is now available in the project description.
To access the database you can either use the web interface as described below, a graphical frontend (like pgadmin) or you can use a local client (psql). How to obtain such a local client depends on the operating system:
If psql is not available on your linux system, tell the administrator or use the package manager to install it. Make sure it is able to connect to the server (which runs 8.3).
- Mac OS X
You can download the full PostgreSQL package from PostgreSQL.org. Note that this gives you both the server and the client. You might want to switch off the server if you are using the course's remote server.
There is a client-only package available from PostgreSQL Frontend for Windows.
Alternatively, you can download the full PostgreSQL package from PostgreSQL.org. Note that this gives you both the server and the client. You might want to switch off the server if you are using the course's remote server.
Access to the Database
Accounts for the database server have been distributed during today's exercise. If you do not have an account yet, please contact me as soon as possible. You should be able to access your account from the IMADA terminal room or the IMADA notebook network using a local client (e.g. psql -h 10.110.4.210 -U dbusername dbusername) and the address 10.110.4.210. The administration interface is available at http://10.110.4.210/phppgadmin/.
The server is not directly accessible from outside IMADA, but you can use an SSH tunnel:
ssh -L 5432:10.110.4.210:5432 firstname.lastname@example.org
Then you can access the database server with a local client (e.g. psql -U dbusername dbusername) as localhost.
If you need to access the administrative web server, just type:
ssh -L 8080:10.110.4.210:80 email@example.com
Then you can access the web server as http://localhost:8080/phppgadmin/.
You can also have it more comfortable by putting the following lines into ~/.ssh/config:
LocalForward 5432 10.110.4.210:5432
LocalForward 8080 10.110.4.210:80
In case you are using Windows, you can use the program plink to set up the tunnels:
plink.exe -L 5432:10.110.4.210:5432 firstname.lastname@example.org
plink.exe -L 8080:10.110.4.210:80 email@example.com
|Mon 12-14 (U9)||Lecture||Lecture||Lecture||Lecture||Lecture||Lecture||Lecture|
|Wed 10-12 (U9)||Exercise||Exercise||Lecture||Exercise||Exercise (IMADA Terminalrum)||Exercise||Exercise|
|Thu 10-12||Lecture (U9)||Exercise (IMADA Terminalrum)||Exercise (IMADA Terminalrum)||Exercise (U9)||Lecture (U9)||Exercise (U9)||Lecture (U9)|
Just come to my office. If you want to make sure I'm there, contact me before (by e-mail, jabber, skype, phone).
Obligatory course book:
 Hector Garcia-Molina; Jeffrey D. Ullman; Jennifer Widom: Database Systems: The Complete Book. Prentice Hall, 2008.
Note: The book has arrived at the book store!
The content of DM502 Programming A and DM503 Programmering B must be known.
Project and 1-day take-home exam, for which one combined grade is given. Project and take-home exam count equally in the grade. Grades according to the 7-point marking scale. External examiner.
Examination when the course has been taught. Re-examination after 4th quarter. The re-examination is an oral exam, grades according to the 7-point marking scale, internal examiner.
Withdrawal from the exam must be 7 days before the first exam date.
Lectures (22 hours), discussion sessions (20 hours), project work.
3rd quarter, spring 2009
To give the student theoretical skills and practical experience in the use, design, and implementation of a relational database.
Relational databases, database design (ER-modelling, normal forms), relational algebra, SQL, database access from application programs, basic disk structure, index use and index implementations (hashing based, tree based).
After the course, the student is expected to be able to:
- design a suitable ER-model for a database, on the basis of a problem description
- transform an ER-model for a database into a suitable relational model
- write SQL queries for a relational database
- optimize a relational database through choice of indexes, use of equivalent SQL-expressions, and use of the theory of normal forms
- access a databse from an application program
- describe work done on the above subjects in clear and precise language, and in a structured fashion