Course syllabus
Course-PM
DAT475 / DIT930 Advanced databases lp4 VT23 (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
- Alexander Gower (Teaching assistant), gower@chalmers.se
- Vivian Wang (Teaching assistant), guswangvi@student.gu.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
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 21 March |
Lecture 01 |
Introduction; database system architecture; relational database management systems |
Friday 24 March |
Lecture 02 |
Entity-Relationship modelling; database design |
Tuesday 28 March |
Lecture 03 |
Ontologies, introducing Protégé |
Tuesday 28 March |
Lab |
Help with assignment 1 |
Friday 31 March |
Lecture 04 |
Transactions and concurrency; recovery; index data structures |
Friday 31 March |
Lab |
Help with assignments 1 and 2 |
Friday 14 April |
Lecture 05 |
Query processing and optimisation |
Friday 14 April |
Lab |
Help with assignment 2 |
Tueday 18 April |
Lecture 06 |
Semantic Web; RDF; RDF Schema; SPARQL |
Tueday 18 April |
Lab |
Help with assignments 2 and 3 |
Friday 21 April |
Lecture 07 |
GraphDB; federated queries |
Friday 21 April |
Lab |
Help with assignment 2 and 3 |
Tuesday 25 April |
Lecture 08 |
NoSQL systems; aggregation-orientation |
Tuesday 25 April |
Lab |
Help with assignments 2 and 3 |
Friday 28 April |
Lecture 09 |
CAP theorem; NoSQL database applications |
Friday 28 April |
Lab |
Help with assignment 3 |
Tuesday 2 May |
Lecture 10 |
Labelled property graph model, Neo4j; Cypher |
Tuesday 2 May |
Lab |
Help with assignment 3 |
Friday 5 May |
Lecture 11 |
Graph database applications; temporal databases |
Friday 5 May |
Lab |
Help with assignment 3 |
Tuesday 9 May |
Lecture 12 |
Time in Neo4j; Federated databases |
Tuesday 9 May |
Lab |
Help with assignments 3 and 4 |
Friday 12 May |
Lecture 13 |
RDF star |
Friday 12 May |
Lab |
Help with assignment 4 |
Tuesday 16 May |
|
NO LECTURE |
Tuesday 16 May |
Lab |
Help with assignment 4 |
Tuesday 23 May |
Lecture |
RESERVED SLOT |
Tuesday 23 May |
Lab |
Help with assignment 4 |
Friday 26 May |
Lecture |
Revision |
Friday 26 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
- 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 |
---|---|---|