Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Autumn 2023
Content and learning outcomes
Course contents
Definition of the relational data model. Information structuring according to the Entity-Relationship model.
Functional dependencies and their importance for good database design. Normalization. Query languages and their underlying mathematics.
Transaction management. Overview of different models for data representation.
Laboratory assignments using experimental and commercial systems.
Intended learning outcomes
After passing the course, the student should be able to:
explain the functions and structure of a database management system
discuss the advantages and disadvantages of different database models
model and structure data according to actual constraints
explain the implications of different constraints on the database structure
use a query language to formulate queries and describe the mathematical foundation for query languages
write embedded SQL statements in a third generation programming language
present independently acquired necessary knowledge orally and in writing.
Detailed plan
All detailed course information is Canvas. Please see Canvas for detailed information about e.g. learning activities, pedagogical info, etc.
Course pedagogical structure (copied from Canvas)
Active Learning
Motivation (you are active when you are motivated, and you only remember when motivated [Illeris])
Peer Learning
Constructive Alignment - all activities should connect to the Learning Outcomes of the course
Course literature
Online material available in Canvas
Examination details
Examination
Submit two "runnable and editable notebooks" (for example Jupyter/Google Colab), a Project and a Lab as below:
Project (HEM1)
Create your own project based on your own interest that somehow connects to storing/retrieving data: mathematical simulation, online multiplayer game, online store, etc., the sky is the limit! I encourage working in groups of max ca. 4 people to leverage peer-learning. Use your project to reflect on the concepts in the course, create your own interpretation of the concepts, question standard practices, absorb new developments and perspectives.
explain the functions and structure of a database management system
discuss the advantages and disadvantages of different database models
model and structure data according to actual constraints
present independently acquired necessary knowledge orally and in writing.
Lab (LABA)
Technical demonstration - show that you have familiarized yourself with the concepts and reflect on them.
use a query language to formulate queries and describe the mathematical foundation for query languages
write embedded SQL statements in a third generation programming language
explain the implications of different constraints on the database structure
Goal-related grading criteria
If you cover all the course goals, i.e. you submit something which shows activity and some insight into all the goals, then you get the grade A.
If you don't fully cover the coarse goals, you may get a lower grade.
Preparations before course start
Literature
No information inserted
Support for students with disabilities
Students at KTH with a permanent disability can get support during studies from Funka:
HEM1 - Home assignments, 3.0 credits, Grading scale: A, B, C, D, E, FX, F
LABA - Laboratory Assignments, 3.0 credits, Grading scale: A, B, C, D, E, FX, F
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
Ethical approach
All members of a group are responsible for the group's work.
In any assessment, every student shall honestly disclose any help received and sources used.
In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.