Course syllabus

Course-PM

DAT475 / DIT930 Advanced databases lp4 VT24 (7.5 hp)

Course is offered by the department of Computer Science and Engineering

Contact details

  • Graham Kemp (Examiner), kemp@chalmers.se
  • Daniel Brunnsåker (Teaching assistant), danbru@chalmers.se
  • Yossra Gharbi (Teaching assistant), yossra@chalmers.se
  • Alexander Gower (Teaching assistant), gower@chalmers.se
  • Andrea Silvi (Teaching assistant), andrea.silvi@chalmers.se

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 19 March

Lecture 01

Introduction; database system architecture; relational database management systems

Friday 22 March

Lecture 02

Entity-Relationship modelling; database design

Tuesday 26 March

Lecture 03

Ontologies, introducing Protégé

Tuesday 26 March

Lab

Help with assignment 1

Tuesday 9 April

Lecture 04

Transactions and concurrency; recovery; index data structures

Tuesday 9 April

Lab

Help with assignments 1 and 2

Friday 12 April

Lecture 05

Query processing and optimisation

Friday 12 April

Lab

Help with assignment 2

Tueday 16 April

Lecture 06

Semantic Web; RDF; RDF Schema; SPARQL

Tueday 16 April

Lab

Help with assignments 2 and 3

Friday 19 April

Lecture 07

GraphDB; federated queries

Friday 19 April

Lab

Help with assignment 3

Tuesday 23 April

Lecture 08

NoSQL systems; aggregation-orientation

Tuesday 23 April

Lab

Help with assignments 3

Friday 26 April

Lecture 09

CAP theorem; NoSQL database applications

Friday 26 April

Lab

Help with assignment 3

Friday 3 May

Lecture 10

Labelled property graph model, Neo4j; Cypher

Friday 3 May

Lab

Help with assignment 3

Tuesday 7 May

Lecture 11

Graph database applications; temporal databases

Tuesday 7 May

Lab

Help with assignment 3

Tuesday 14 May

Lecture 12

Time in Neo4j; Federated databases

Tuesday 14 May

Lab

Help with assignments 4

Friday 17 May

Lecture 13

RDF star

Friday 17 May

Lab

Help with assignment 4

Tuesday 21 May

Lecture 14

Revision

Tuesday 21 May

Lab

Help with assignment 4

Friday 24 May

Lecture

RESERVED SLOT

Friday 24 May

Lab

RESERVED SLOT

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

There are no major changes since the last occasion.

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