IDATG2204
Data modeling and database systems
Spring
Gjøvik
English
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:
- Database management systems - general characteristics and system structure.
- Data modeling with an emphasis on conceptual modelling.
- Relational database model for database systems, database schema, and data integrity.
- Other database models.
- Query languages: Relational Algebra and SQL.
- Design theory for relational databases.
- System design and programming using database systems - including database application testing and data and application security preservation.
- Data storage, file organization and index structures.
- Execution of database queries.
- Transactions, concurrency, and robustness against errors.
The students are skilled in:
- Developing and assessing functional and effective conceptual models.
- Realization of relational databases.
- Developing, testing, and reviewing database applications using SQL, database APIs, and development tools.
- Evaluation and improvement of relational database schema based on normalization theory.
- Analysis and optimization of the performance of database systems.
General qualifications in the form of:
- Knowledge of applications of database systems and understanding of the benefits and limitations of such systems.
- Modelling and analytical approach to computer technical problems.
- Use of computer tools for software system development.
- 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.