|Responsible unit:||Department of Informatics Engineering|
|Course/CS Responsible:||Master in Informatics and Computing Engineering|
|Acronym||No. of Students||Study Plan||Curricular Years||Credits UCN||Credits ECTS||Contact hours||Total Time|
|MIEIC||194||Syllabus since 2009/2010||2||-||6||56||162|
|Carla Alexandra Teixeira Lopes|
Information Systems (IS) is a key topic in informatics engineering. Databases are data repositories required in any IS. The database course is a key course in the area of IS. The main objective of this course unit is to prepare students to design and develop database systems that meet the users' needs according to the organizational management goals.
This is an introductory course on databases. It is focused on the relational paradigm. It covers the design (UML model), construction (SQL data definition language), querying (SQL data manipulation language) and management (optimization, access control and concurrency policies). It also introduces the concept of multidimensional databases, NoSQL databases and semistructured data models.
Scientific component: 50%
Upon completion of this unit students should be able to:
- Define a high-level database model for a particular context;
- Map a high-level database model to a relation schema;
- Identify the functional dependencies of a relation;
- Diferentiate normal forms in relation schemas;
- Decompose relation schemas to the Boyce-Codd normal form and the third normal form;
- Create a relacional databse in SQL;
- Use relational algebra to query databases;
- Query relational databases in SQL;
- Use transactions and concurrency to ensure the data integrity of a database;
- Explain the main features of a database management system;
- Identify the differences between a relational database, a multidimensional database and a NoSQL database and be able to identify the most adequate for a particular situation.
Basic knowledge on algebra.
UML class diagram. The Entity-Relationship model. Relational schema, normalization and mapping from a high-level database model. SQL Data Definition Language and integrity constraints. Relational algebra as a query language. SQL Data Manipulation Language. Views. Indexes.Transactions, concurrency and recovery. Authorization. Recursion in SQL. Introduction to data warehousing and OLAP. Introduction to semistructured data models. Introduction to NoSQL systems.
Lectures are used to present the subject topics along with application examples. Practical classes take place in a computer lab, using a database management system available in the market (SQLite). In the labs, practical exercises will be performed using an example database, and small developments will be carried out.
|Frequência das aulas||52,00|
To be eligible for the final exam, students cannot exceed the maximum number of absences in the laboratorial classes. Presence in classes will be registered. It is necessary to obtain a minimum of 8 marks (in 20) in the distributed evaluation to be admitted to the final exam. The distributed evaluation is assessed through one intermediate exam and a group work.
DE - Distributed Evaluation (minimum grade: 8 out of 20), composed by:
IE - Intermediate exams
PROJ - Project/Group work
FE - Final Exam (miminum grade; 8 out of 20)
Final mark = round(0,2 IE + 0,3 PROJ + 0,5 FE)
The project is assessed through a group work that will be assessed in three different moments: each of the first two submissions worth 25% and the last submission is worth 50% of the project evaluation.
Students with worker statute or equivalent must, preferably, attend the intermediate exam of the distributed evaluation, but the project is mandatory.
Final grade may be calculated as in "Classification Improvement".
It is possible to improve the final exam mark through a second exam of similar difficulty.
For classification improvement purposes, the distributed evaluation corresponds only to the 30% of the project (exam weights 70%); intermediate exam will not be taken into consideration.
The classification of the project can be improved in the following year.