Announcements
- IMPORTANT! LIACS computer accounts. Make sure that you have signed in for the course on registration list which was passed around in the lecture. If you are not registered yet, then send an e-mail to one of the teaching assistants with your name, studentnr. e-mail, and LIACS account name. Make sure that you have a LIACS computer account, as you will be needing this for the practical assignments.
- Due to exam retakes there will be no activities on February 23. The next lecture (on March 2) will be followed by a lab session.
Course description
Database management systems (DBMS) are an indispensable tool for managing large amounts of information. Nowadays, databases can be found in almost every branch of science, technology and buisiness. This course gives a comprehensive introduction into the design and application of databases. The course provides hands-on experience for working with DBMS and databased-backed internet applications, Also basic theoretical issues are covered. In addition, it provides a first overview on recent methods in this field like Data Warehousing, Data Mining and Internet Database Management.
In Dutch:
Een Database management system (DBMS) vormt een onontbeerlijke tool om grote hoeveelheden gegevens te beheren. Heden ten dage komen databases voor in zo ongeveer elke branche op het gebied van wetenschap, technologie en zakenwereld. Deze cursus geeft een veelomvattende inleiding in ontwerp en toepassing van databases. De cursus verschaft praktische ervaring in het werken met een DBMS en met databases als backend van een internetapplicatie. Tevens zullen basistheoretische onderwerpen aan bod komen. Tenslotte verschaft de cursus een eerste overzicht van recente onderwerpen op het gebied van databases zoals Data Warehousing, Data Mining en Internet database beheer.
Course regulations
The course grade will depend partly on the assignments and partly on the result of the exam. The following formula will be used to compute it:
Final Grade = 0.2 * Assignment 1 + 0.2 * Assignment 2 + 0.6 * Exam
In Dutch:
De eindbeoordeling zal deels afhangen van de beoordelingen van de opdrachten en deels van het examenresultaat. De volgende formule zal worden gebruikt om de eindbeoordeling te berekenen:
Eindbeoordeling = 0.2 * beoordeling opdracht 1 + 0.2 * beoordeling opdracht 2 + 0.6 * examenresultaat.
Course material
The course is based on the book:-
Database Management Systems
Raghu Ramakrishnan en Johannes Gehrke
Graw-Hill Education; third edition
ISBN: 0071151109; paperback version
This book has an extensive webpage. The lecture slides are based on the slides of the book.
Lecture slides
- Introduction
- Database Design (ER)
- Relational Model, SQL DDL & Translation of 'is-a' hierarchies
- SQL Queries: part 1 & part 2
- Database Application Development
- Large Objects
- Web Applications
- Storage and Indexing
- Relational Algebra and Query Optimization
- Schema Refinement
- Transaction Management
Practical Assignments
- Practical Assignment 1: still to come!
- Practical Assignment 2: still to come!
Lab exercises
- Lab Exercise 1: ER to SQL
- Lab Exercise 2: SQL queries
- Lab Exercise 3: Java and JDBC Programming
- Lab Exercise 4: XML and DTD
- Lab Exercise 5: Database Tuning using indexes
Other material
- Using Oracle under LINUX
- Documentation of Oracle
- Practical Introduction to SQL and DBMS by P. Greenspun
- Sample exam: Find here a sample exam
- Another sample exam: Find here a sample exam with here some pattern solutions. Note that some of the topics were not discussed this year (e.g. Data Mining and Data Warehousing) and they will not be relevant for the exam.
Exam topics
- ER / DDL
- SQL Queries
- Relational Algebra
- Schema Refinement
- Transaction Management
- XML / DTD
- Index Selection
-
Transaction Management:
- ACID Properties
- Serializability
- Precedence Graph
- Locking
- Waits for Graph
Schedule
Lecture |
Workgroup |
|||||
Week |
Ch |
Topic |
Lecturer |
Topic |
Type |
Activities |
5 |
1 |
Introduction |
Dr. Emmerich |
No Workgroup |
NA |
None |
6 |
2 |
Database Design (ER) |
Dr. Breukel |
Database Design (ER) |
WG |
ER schema drawing exercises of chapter 2 of the book: Exercises: 2.2 / 2.3 / 2.4 / 2.5 Optional: 2.6 / 2.7 / 2.8 / 2.9 |
7 |
3 |
Relational Model, SQL DDL |
Dr. Breukel |
Relational Model, SQL DDL |
WG |
Relational Model, SQL exercises of chapter 3 of the book: Exercises: 3.2 / 3.7 / 3.8 / 3.9 / 3.10 / 3.19 / 3.20 |
8 |
NA |
No Lecture |
NA |
No Workgroup |
NA |
NA |
9 |
5 |
SQL Queries |
Dr. Breukel |
Oracle startup |
LS |
Startup with Oracle: http://www.liacs.nl/databases/material/oracleintro.html Convert ER to SQL and implement SQL statements of 3.13 / 3.14 / 3.15. Assignment can be found at: http://www.liacs.nl/databases/material/labexercise1.html Optional: 3.16 / 3.17 / 3.18 |
10 |
5 |
SQL Queries |
Dr. Breukel |
SQL Queries |
LS |
Finish lab session 1. Construct SQL statements for the queries of: 5.1 / 5.2 / 5.3 / 5.4 http://www.liacs.nl/databases/material/labexercise2.html The SQL statements for creating the tables and filling the database are provided. |
11 |
6 |
Database Application Development |
Dr. Emmerich |
Advanced SQL | LS |
Finish lab session 2. |
12 |
6 |
Large Objects |
Dr. Emmerich |
Web applications / JDBC |
LS |
1st hour: small Java tutorial 2nd hour: lab session 3: Java and JDBC |
13 |
7 |
Web Applications |
Dr. Emmerich |
Web applications / XML and DTD |
LS |
Finish the Java and JDBC Lab Exercise. Lab exercise 4: XML and DTD |
14 |
8, 9, 10, 11 |
Storage and Indexing |
Dr. Emmerich |
Storage and indexing |
LS |
Lab exercise 5: Storage and indexing |
15 |
4 |
Relational Algebra and Query Optimization |
Dr. Emmerich |
Relational Algebra |
WG |
Relational Algebra Exercises of chapter 4 of the book: At least: 4.2 / 4.3 (1, 2, 3, 4, 9, 10, 11) / 4.3 Optional: 4.5 |
16 |
19 |
Schema Refinement |
Dr. Breukel |
Schema Refinement |
WG |
Schema refinement exercises of chapter 19 of the book: 19.1 / 19.2 / 19.3 / 19.5 / 19.6 / 19.7 / 19.8 / 19.10 |
17 |
16, 17 |
Transaction Management |
Dr. Breukel |
Transaction Management |
TODO |
STILL TO BE FILLED IN |
18 |
NA |
Advanced Topics |
Dr. Emmerich |
STILL TO BE FILLED IN |
NA |
STILL TO BE FILLED IN |
19 |
NA |
NA |
NA |
NA |
NA |
NA |
( WG = Workgroup, LS = Lab Session )
