TDDA03 Databases, ECTS-points
/DATABASER/

Advancement level:
B

Aim:
The course shall provide the students with knowledge about the principles of, and practical solutions to, storage and retrieval of information in a database system, particularly large quantities of data.

Prerequisites:
Knowledge about datastructures and algorithms corresponding to some of the courses given with that name, for instance TDDA29 Data Structures.

Course organization:
The course consists of a series of lectures. The principles of databases are illustrated by exercises. These exercises are to be solved as laboratory work at the computer.

Course content:
In this course we talk about the basic principles of databases. The area of databases is about how to use computers to store and manage data, especially large quantities of data. When you create a database that describe a part of the real world, for instance a company, you usually start by describing what this part of the real world looks like and how it functions. You build a so called conceptual model of the world. We look at one method of building such a model. The method is called the ER-modeling. The conceptual model has actually nothing to do with computers, but is a description of the real world that could, as well, be used by somebody that wants to analyze the function of the company. When you want to create a database you need to translate the conceptual model into a database model that could be implemented in form of a database. A number of such database models exists, and this course looks at the hierachical data model, the network data model, and the relational data model. The relational data model will be the main model in this course. A database is a collection of data that normally is manipulated by a special program, or collection of programs. This collection of programs are called database management system (DBMS). The course will look into the works of a database management system. We will discuss how it stores its data internally, how it prohibits unauthorized users from retrieving data and how it manages a number of users that concurrently work on the same database. In order to manipulate data, the DBMS offers a number of different interfaces, for instance, different query languages. We will look at some of such interfaces when discussing the relational data model. The laboratory work will be mostly in the query language SQL.

Course literature:
Elmasri, R., Navathe, S.B., Fundamentals of Database Systems, 2nd ed., Benjamin/ Cummings P. C Inc. TDDA 03/05 Course compendium Databases

TEN1Written examination
LAB1Labratory work
Course language is Swedish.