Course webpage Databases

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:

This book has an extensive webpage. The lecture slides are based on the slides of the book.

Lecture slides

  1. Introduction
  2. Database Design (ER)
  3. Relational Model, SQL DDL & Translation of 'is-a' hierarchies
  4. SQL Queries: part 1 & part 2
  5. Database Application Development
  6. Large Objects
  7. Web Applications
  8. Storage and Indexing
  9. Relational Algebra and Query Optimization
  10. Schema Refinement
  11. Transaction Management

Practical Assignments

Lab exercises

Other material

Exam topics

  1. ER / DDL
  2. SQL Queries
  3. Relational Algebra
  4. Schema Refinement
  5. Transaction Management
  6. XML / DTD
  7. Index Selection
  8. 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

http://www.liacs.nl/databases/material/JavaJDBC.html

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

http://www.liacs.nl/databases/material/XMLDTD.html

14

8, 9, 10, 11

Storage and Indexing

Dr. Emmerich

Storage and indexing

LS

Lab exercise 5: Storage and indexing

http://www.liacs.nl/databases/material/labexercise5.html

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 )