Course syllabus for Databases

Course syllabus adopted 2021-02-17 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 52138
  • 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
  • 12 Jan 2022 pm J
  • 25 Aug 2022 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 52119
  • Maximum participants150
  • Open for exchange studentsYes

Credit distribution

0106 Examination 4.5 c
Grading: TH
0 c0 c4.5 c0 c0 c0 c
  • 18 Mar 2022 am J
  • 25 Aug 2022 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;
  • describe the effects of transactions and indexes in a relational database.

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, triggers and privileges;
  • implement a relational database schema and related interface using a data definition language;
  • 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 EntityRelationship diagrams and relational schemas;
  • contrast different data models, such as 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 XML and other non-SQL models.

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.