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
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:
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
- 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
- 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 |
---|---|---|