Course syllabus

TDA357/DIT621 Databases VT19 (7,5hp)

Revised October 10th, 2018

Department of Computer Science and Engineering

 

Course purpose

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:

  • Database querying and manipulation through SQL
  • Entity-Relationship modelling
  • Functional dependencies, normal forms, and relational algebra
  • Interfacing to a database from a host language (Java/JDBC)
  • Altenative data models: XML, JSON, NoSQL

The course is thus a typical first course in database systems, and occupies a traditional place in the curriculum.

 

Schedule

First lecture: 23 January 2018 at 13:15-15:00 in HB2

Thereafter,

  • lectures Monday 15-17 HB2, Thursday 10-12 HB3; last lecture 11 March, none 14 February
  • exercises Wednesday 8-10, 10-12, 13-15 in EL43
  • labs on Monday 10-12, Thursday 8-10, Friday 13-15 in ED-3507

The detailed schema is in TimeEdit

Contact details

  • Aarne Ranta, course responsible.
  • Thomas Hallgren, co-teacher
  • TAs TODO

Course literature

Lecture notes (a book in construction):

Jyrki Nummenmaa and Aarne Ranta, Databases in 131 pages, manuscript, available here

Further reading (was the course book before):

  • Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom, Database Systems: The Complete Book, 2/E, Pearson Education, 2008.

Book web page 

Course design

TODO

Description of the course's learning activities; how they are implemented and how they are connected. This is the student's guide to navigating the course. Do not forget to give the student advice on how to learn as much as possible based on the pedagogy you have chosen. Often, you may need to emphasize concrete things like how often they should enter the learning space on the learning platform, how different issues are shared between supervisors, etc.

Provide a plan for

  • lectures
  • exervises
  • laboratory work
  • projects
  • supervision
  • feedback
  • seminars

Should contain a description of how the digital tools (Canvas and others) should be used and how they are organized, as well as how communication between teachers and students takes place (Canvas, e-mail, other).

Do not forget to describe any resources that students need to use, such as lab equipment, studios, workshops, physical or digital materials.

You should be clear how missed deadlines and revisions are handled.

 

Changes made since the last occasion

TODO

A summary of changes made since the last occasion.

 

Examination form

TODO

Description of how the examination – written examinations and other – is executed and assessed.

Include:

  • what components are included, the purpose of these, and how they contribute to the learning objectives
  • how compulsory and/or voluntary components contribute to the final grade
  • grading limits and any other requirements for all forms of examination in order to pass the course (compulsory components)
  • examination form, e.g. if the examination is conducted as a digital examination
  • time and place of examination, both written exams and other exams such as project presentations
  • aids permitted during examinations, as well as which markings, indexes and notes in aids are permitted

Do not forget to be extra clear with project assignments; what is the problem, what should be done, what is the expected result, and how should this result be reported. Details such as templates for project reports, what happens at missed deadlines etc. are extra important to include.

 

Learning objectives and syllabus

Learning outcomes

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

Course plans

GU course plan: up to date

Chalmers course plan: will be updated to the same content as GU's

 

Course summary:

Date Details