TDA357/DIT621 Databases VT19 (7,5hp)
Revised October 10th, 2018
Department of Computer Science and Engineering
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.
First lecture: 23 January 2018 at 13:15-15:00 in HB2
- 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
- Aarne Ranta, course responsible.
- Thomas Hallgren, co-teacher
- TAs TODO
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.
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
- laboratory work
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
A summary of changes made since the last occasion.
Description of how the examination – written examinations and other – is executed and assessed.
- 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
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
GU course plan: up to date
Chalmers course plan: will be updated to the same content as GU's
The syllabus page shows a table-oriented view of course schedule and basics of course grading. You can add any other comments, notes or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the 'Edit' link at the top.