Course syllabus

Course-PM

DAT475 / DIT930 Advanced databases lp4 VT22 (7.5 hp)

Course is offered by the department of Computer Science and Engineering

Contact details

  • Graham Kemp (Examiner), kemp@chalmers.se
  • Linus Aronsson (Teaching Assistant)
  • Karthik Jeganathan (Teaching Assistant)

Course purpose

Database management systems have been around for over fifty years. While relational database systems have been the dominant database technology, other kinds of non-relational systems have been in and out of fashion throughout that time, and today many applications are better supported by a variety of non-relational systems that have emerged in recent years. These include NoSQL systems, including graph databases, and systems based on Semantic Web standards. This course provides an overview of today’s database management system landscape and highlights major trends. The course also includes concepts related to the implementation of database management systems since it is necessary to understand these concepts in order to appreciate the advantages and disadvantages of different database management systems. The purpose of this course is to provide a deeper understanding of databases, building on knowledge from an earlier introductory database course.

Schedule

TimeEdit

Course literature

The following are recommended for consultation:

  • "Databases: the complete book", 2. ed., new internat. ed., Hector Garcia-Molina, Jeffrey D. Ullman and Jennifer Widom, Pearson Education Ltd, 2014, ISBN: 129202447X, 9781292024479 (Chalmers Library eBook)
  • "NoSQL distilled: a brief guide to the emerging world of polyglot persistence", Pramod J. Sadalage and Martin Fowler, Addison-Wesley, 2013, ISBN: 9780321826626, 0321826620 (Chalmers Library book)
  • "Graph Databases, 2nd Edition, New Opportunities for Connected Data", Ian Robinson, Jim Webber and Emil Eifrem, O'ReillyMedia, 2015 (Free eBook via Neo4j website)

There are links to the Chalmers and University of Gothenburg libraries' catalogue entries for these books on the separate Course Literature page.

Links to additional material will be made available through Canvas during the course.

Course design

The preliminary schedule for the course is as follows:

Preliminary schedule
Date Activity Topic

Tuesday 22 March

Lecture 01

Introduction; database system architecture; relational database management systems

Friday 25 March

Lecture 02

Entity-Relationship modelling; database design

Tuesday 29 March

Lecture 03

Transactions and concurrency; recovery; index data structures

Tuesday 29 March

Lab

Help with assignment 1

Friday 1 April

Lecture 04

Query processing and optimisation

Friday 1 April

Lab

Help with assignment 1

Tuesday 5 April

Lecture 05

Semantic Web; RDF; RDF Schema; SPARQL

Tuesday 5 April

Lab

Help with assignment 1

Friday 8 April

Lecture 06

Ontologies, introducing Protégé

Friday 8 April

Lab

Help with assignment 2

Friday 22 April

Lecture 07

GraphDB; federated queries

Friday 22 April

Lab

Help with assignment 2

Tuesday 26 April

Lecture 08

NoSQL systems; aggregation-orientation

Tuesday 26 April

Lab

Help with assignments 2 and 3

Friday 29 April

Lecture 09

CAP theorem; NoSQL database applications

Friday 29 April

Lab

Help with assignment 3

Tuesday 3 May

Lecture 10

Labelled property graph model, Neo4j; Cypher

Tuesday 3 May

Lab

Help with assignment 3

Friday 6 May

Lecture 11

Graph database applications; temporal databases

Friday 6 May

Lab

Help with assignment 3

Tuesday 10 May

 

NO LECTURE

Tuesday 10 May

Lab

Help with assignments 3 and 4

Friday 13 May

Lecture 12

Time in Neo4j; Federated databases

Friday 13 May

Lab

Help with assignment 4

Tuesday 17 May

Lecture 13

RDF star

Tuesday 17 May

Lab

Help with assignment 4

Friday 20 May

Lecture 14

TBA

Friday 20 May

Lab

Help with assignment 4

Tuesday 24 May

Lecture 15

Revision

Tuesday 24 May

Lab

Help with assignment 4

Lecture slides, supplementary material and assignment task descriptions will be made available through the Canvas system. Canvas will also be used for assignment submissions.

Changes made since the last occasion

This is the first time that this course has been offered.

Learning objectives and syllabus

Learning objectives:

Knowledge and understanding

  • describe concepts relating to the implementation of database management systems
  • compare and contrast features of relational and non-relational database management systems
Skills and abilities
  • construct Web ontology language statements corresponding to an Entity-Relationship diagram 
  • construct RDF (Resource Description Framework) triples that contain data for a given domain
  • implement a graph database for a given domain
  • retrieve data using declarative query languages for graph databases
Judgement ability and approach
  • discuss advantages and disadvantages of different database design decisions
  • discuss advantages and disadvantages of alternative query plans
  • discuss suitability of different database management systems for various tasks

 

Link to the syllabus: Chalmers

Link to the syllabus: GU

Examination form

  • Written individual exam (grading scale 5/4/3/U) given in an examination hall and programming assignments (pass/fail).
  • The programming assignments (pass/fail) are normally carried out in pairs.
  • The overall grading scale comprises: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U). To pass the course, students must receive a passing grade in both the written exam and the programming assignments. The grade for the entire course will be determined by the written exam.
  • You may bring one A4-sized sheet with hand-written notes (front and back) to the exam, but all work must be your own. No photocopies or print-outs of slides, books, or material off the web. If you bring a sheet of notes to the exam, it must be handed in with your exam solutions.

 

Course summary:

Date Details Due