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
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0106 Examination 4.5 c Grading: TH | 4.5 c |
| |||||
0206 Laboratory 3 c Grading: UG | 3 c |
In programmes
- MPDSC - DATA SCIENCE AND AI, MSC PROGR, Year 1 (compulsory elective)
- MPDSC - DATA SCIENCE AND AI, MSC PROGR, Year 2 (elective)
- TIDAL - COMPUTER ENGINEERING, Year 2 (compulsory)
- TKIEK - INDUSTRIAL ENGINEERING AND MANAGEMENT - Information technology, Year 3 (compulsory)
- TKITE - SOFTWARE ENGINEERING, Year 2 (elective)
- TKITE - SOFTWARE ENGINEERING, Year 3 (elective)
Examiner
- Jonas Almström Duregård
- Senior Lecturer, Computing Science, Computer Science and Engineering
Course round 2
- Teaching language English
- Application code 52119
- Maximum participants150
- Open for exchange studentsYes
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0106 Examination 4.5 c Grading: TH | 4.5 c |
| |||||
0206 Laboratory 3 c Grading: UG | 3 c |
In programmes
- MPBME - BIOMEDICAL ENGINEERING, MSC PROGR, Year 1 (compulsory elective)
- MPBME - BIOMEDICAL ENGINEERING, MSC PROGR, Year 2 (elective)
- MPDSC - DATA SCIENCE AND AI, MSC PROGR, Year 1 (compulsory elective)
- MPIDE - INTERACTION DESIGN AND TECHNOLOGIES, MSC PROGR, Year 2 (elective)
- TKDAT - COMPUTER SCIENCE AND ENGINEERING, Year 3 (elective)
- TKITE - SOFTWARE ENGINEERING, Year 2 (elective)
- TKITE - SOFTWARE ENGINEERING, Year 3 (elective)
- TKTEM - ENGINEERING MATHEMATICS, Year 3 (compulsory elective)
Examiner
- Ana Bove
- Head of Unit, Computing Science, Computer Science and Engineering
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.