IDATG2204

Data modeling and database systems

Spring

Gjøvik

English

Overview

3 candidates

Average grade

B

4.00

0.51

Pass rate

100%

3 points

Grade distribution
Average over time
Pass rate over time

About this course

Content

  • Basic introduction to data modelling with emphasis on conceptual modelling.
  • The relational model, relational algebra and SQL.
  • Normalization as a design theory for relational databases.
  • Other database models.
  • Database construction.
  • Developing and testing database applications.
  • Security in database systems.
  • Storage technologies, file organization, and index structures.
  • Query processing.
  • Database management systems (DBMS).
  • Data integrity, transactions, concurrency, and recovery.

Learning outcomes

The student has knowledge of:

  1. Database management systems - general characteristics and system structure.
  2. Data modeling with an emphasis on conceptual modelling.
  3. Relational database model for database systems, database schema, and data integrity.
  4. Other database models.
  5. Query languages​​: Relational Algebra and SQL.
  6. Design theory for relational databases.
  7. System design and programming using database systems - including database application testing and data and application security preservation.
  8. Data storage, file organization and index structures.
  9. Execution of database queries.
  10. Transactions, concurrency, and robustness against errors.

The students are skilled in:

  1. Developing and assessing functional and effective conceptual models.
  2. Realization of relational databases.
  3. Developing, testing, and reviewing database applications using SQL, database APIs, and development tools.
  4. Evaluation and improvement of relational database schema based on normalization theory.
  5. Analysis and optimization of the performance of database systems.

General qualifications in the form of:

  1. Knowledge of applications of database systems and understanding of the benefits and limitations of such systems.
  2. Modelling and analytical approach to computer technical problems.
  3. Use of computer tools for software system development.
  4. Reviewing software design and program code.

Teaching methods

Learning activities include prerecorded lectures, interactive classroom activities, exercises, project work, peer code review, and self-tuition.