Databases
| Keywords |
| Classification |
Keyword |
| OFICIAL |
Computer Science |
Instance: 2025/2026 - 1S 
Cycles of Study/Courses
Teaching Staff - Responsibilities
Teaching language
Portuguese
Objectives
Provide the students with the fundamentals and practice necessary for the design, implementation and analysis of relational databases.
Learning outcomes and competences
The students should acquire the following competences:
Should know:
- Be able to characterize a database management system;
- Know well the ER model and relational data models;
- Relational algebra as formal language for relational databases maniputation;
- Fundaments of the SQL language as a language to define and manipulate data;
- Databases normalization rules based on functional and muluvalue dependencies;
Should be able to do:
- Design an average sized database model in ER class diagram and convert it to a relational database;
- Use the SQL language to create and manipulate the database;
- Develop applications with transactions and concurrency control.
Working method
Presencial
Program
Introduction to database systems
Basic Concepts. Main characteristics and advantages of using the database approach. Typical DBMS Functionality. The database design process.
The Entity-Relationship (ER) model.
Entity types and entities, attributes, relationships, weak entity types.
The relational data model
Relations, attributes, domains and tuples. Superkeys, primary keys and foreign keys. Integrity Constraints. Relational schema. Mapping the ER model to the relational model.
Relational algebra.
Projection selection, cartesian product, reunion, intersection, difference, quotient, join, aggregation, renaming, natural join, external join.
The SQL language.
The DDL (Data Definition Language) of SQL: data definition, constraints and domains. The DML (Data Manipulation language) of SQL: simple, nested and correlated queries. Join, aggregate, insert, remove and update operations. Views.
Integrity and security
Entity and referential integrity. Embedded SQL. Assertions and triggers. Transactions, concurrency and fault tolerance.
Normalization
Normal forms and normalization of relations. Functional, multivalued and join dependencies. Non-additive join decomposition. Normal forms: 3rd, 4th and Boyce-Codd.
Physical data organization
Basic file structures, hashing and indexing.
Introduction to non-relational databases.
Examples.
Mandatory literature
Elmasri Ramez;
Fundamentals of database systems. ISBN: 0-321-20448-4
Complementary Bibliography
A. Silberschatz, H. Korth and S. Sudarshan; Database Systems Concepts 5/E, McGraw-Hill
Ullman Jeffrey D., 1942-;
A first course in database systems. ISBN: 0-13-887647-9
Teaching methods and learning activities
Theory classes and practical classes with practical assignments.
Software
SQLiteStudio
keywords
Physical sciences > Computer science > Database management
Evaluation Type
Distributed evaluation with final exam
Assessment Components
| designation |
Weight (%) |
| Exame |
60,00 |
| Teste |
20,00 |
| Trabalho prático ou de projeto |
20,00 |
| Total: |
100,00 |
Amount of time allocated to each course unit
| designation |
Time (hours) |
| Estudo autónomo |
78,00 |
| Frequência das aulas |
48,00 |
| Trabalho laboratorial |
36,00 |
| Total: |
162,00 |
Eligibility for exams
Students must attend 3/4 of pratical classes, except for working students and others with special status that establish this exemption.
Calculation formula of final grade
Student valuation components and corresponding weight:
- database modelling and implementation project in groups of up to 3 students - 20 %
- individual test on SQL in a lab environment - 20%
- final exam - 60 % with minimal grade of 40 % (8 valores) for final approval.
The exam grade can be improved during the appeal exams period. The grades for the project and individual test on SQL cannot be improved.
Observations
Jury:
- Prof. Eduardo Resende Brandão Marques
- Prof. Gabriel de Sousa Torcato David
- Prof. Fernando Manuel Augusto da Silva