Definition of the relation model. Information structuring according to the "Entity Relationship";-model.
Functional dependencies and what they mean for good database design. Normalization. Query languages and the mathematics behind them. Methods for storage and retrieval. Transaction handling. Assertion of security and integrity. Fourth generation development tools for design of database systems. Development of information systems. Overview of different models for data representation. Laboratory assignments using experimental and commercial systems.
The students will, upon completion of the course, be able to model and implement a database. Further on they will have written an application program operating a database.This implies that the students should:
- understand the functions and architecture of a database system
- be able to discuss advantages and disadvantages with different database models
- be able to model and structure data according to actual constraints and be able to discuss advantages and disadvantages with different implementations of a database and its constraints
- understand how to choose index structures and decide which index structures are usable in different situations
- be able to use a query language to formulate queries and also to describe the mathematical foundations for data manipulation languages
- understand and be able to explain the implications of different constraints on the database
- fully understand the mechanisms for optimization of queries
- fully understand the principles of concurrency and recovery handling
- fully understand the solutions to security problems
- be able to write embedded SQL in a 3rd generations programming language