Course syllabus for Databases

Course syllabus adopted 2022-02-01 by Head of Programme (or corresponding).

Overview

  • Swedish nameDatabaser
  • CodeTDA357
  • Credits7.5 Credits
  • OwnerTKITE
  • Education cycleFirst-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 52134
  • Maximum participants185
  • Block schedule
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0106 Examination 4.5 c
Grading: TH
0 c4.5 c0 c0 c0 c0 c
  • 10 Jan 2024 pm J
  • 29 Aug 2024 pm J
0206 Laboratory 3 c
Grading: UG
0 c3 c0 c0 c0 c0 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Course round 2

  • Teaching language English
  • Application code 52127
  • Maximum participants150 (at least 10% of the seats are reserved for exchange students)
  • Open for exchange studentsYes

Credit distribution

0106 Examination 4.5 c
Grading: TH
0 c0 c4.5 c0 c0 c0 c
  • 15 Mar 2024 am J
  • 29 Aug 2024 pm J
0206 Laboratory 3 c
Grading: UG
0 c0 c3 c0 c0 c0 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for the course the student should have successfully completed university level courses of at least 45 credits, including:
  • at least 15 credits in programming, e.g., TDA548, TDA552, TDA367, or equivalent,
  • at least 7.5 credits in mathematics or mathematic reasoning,
  • concepts in logic, sets, functions and relations that could be acquired with, e.g., TMV200

Aim

Databases are a ubiquitous feature of the information technology society, and most people have come in contact with them, either directly while using the world wide web, or indirectly through banks, the tax office, etc. A course on database systems is therefore essential to a well-rounded education in computer science.

Learning outcomes (after completion of the course the student should be able to)

On successful completion of the course the student will be able to:

Knowledge and understanding

  • explain the semantic meaning of queries using relational algebra;

Competence and skills

  • construct an Entity-Relationship diagram for a given domain;
  • translate an Entity-Relationship diagram into a relational database schema;
  • apply design theory concepts for relational databases such as functional dependencies and normalization;
  • retrieve and modify data using a database language for respective task;
  • design a database interface using constraints, views and triggers;
  • implement a relational database schema and related interface using a data definition language;
  • use a semi-structured data model;
  • communicate with a database, through a database interface, from a software application.

Judgement and approach

  • evaluate and create different models for a database domain using Entity-Relationship diagrams and relational schemas;
  • contrast the relational and the semi-structured data models.

Content

The course covers the basic principles of database systems as seen by users, application programmers and database administrators. A laboratory assignment develops these topics as a running example throughout the course. These include programming in SQL, as seen by a user querying or modifying an existing database, by a database designer, and by an application programmer invoking SQL from a host language.

Course contents include:

  • entity-relationship modeling;
  • functional dependencies and normalisation;
  • database querying and manipulation through SQL;
  • interfacing to a database from a host language (such as Java/JDBC);
  • overview of document-based data format such as XML and JSON.

Organisation

The course consists of weekly lectures and exercise sessions, as well as supervised lab sessions.

Literature

Course literature to be announced the latest 8 weeks prior to the start of the course.

Examination including compulsory elements

Written individual exam given in an examination hall and programming assignments. The programming assignments are normally carried out in pairs.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.