Faculdade de Ciências e Tecnologia




Academic unit

Faculdade de Ciências e Tecnologia


Departamento de Informática



Teacher in charge

Carlos Augusto Isaac Piló Viegas Damásio, Joaquim Francisco Ferreira da Silva

Weekly hours


Total hours


Teaching language



To provide the basis for the modeling, implementation, analysis and manipulation of relational databases.

  • To know the entity-relationship model and the relational data model, as well as the foundations of the object-relational model 
  • Relational algebra as the formal language of relational data base querying and manipulation 
  • Foundations of the SQL language (both as a definition and as a manipulation language)
  • Normalization of data bases using functional and multi-valued dependencies
  • To model a medium sized real problem first using Entity-Relationship Diagrams and then a relational database (the resulting data base should have 10 to 20 tables)
  • To create a database in SQL for the medium-sized problem, including implementation of the basic mechanisms for guaranteeing referential integrity
  • To implement a simple interface for manipulation of the database
  • To be familiar writing complex SQL queries
  • Capability of doing team work in collaboration
  • Problem modeling capabilities
  • Write an analysis report, design and implement a solution
  • Manage time and deadlines

Subject matter

  • Introduction to Database Management Systems
  • Data models
    • Entity-Relationship model
    • Relational model
  • Relational databases normalization
    • Functional and multi-valued dependencies
    • Normal forms: 3rd, 4th and Boyce-Cood
  • Database manipulation languages
    • Relational Algebra
    • SQL query and manipulation language
    • Other languages
    • Pivot tables and Data Cube
  • Database integrity and security
    • Referential integrity
    • Assertions and triggers


Recommended book

Slides and exercises

  • After each class the sldes and exercises will be made available online in the course''''s web page.

Teaching method

The course consists of lectures and labs. In the lectures, the main concepts of the coruse are present. In the labs, in a first phase students may experiment the concepts taught. After the middle of the semestre, the students  familiarize with Oracle 11g and with Oracle Application Express, in order to build a database and interface for their project (see evaluation).

Evaluation method


The evaluation is composed of a theoretical-practical component and a project. Both components are evaluated on a scale of 0 to 20, rounded to the units.
In order to pass the course, a student must have a grade of 10 or higher in the theoretical-practical component.
The final grade of the curricular unit is the weighted average of the two components: 60% for the theoretical-practical and 40% for the practical component.

Theoretical-practical component

The theoretical-practical component can be made by two ways:

By four mini tests on the following dates:
1st Test: April 19th, 09:30H, on the subject of the first 4 theoretical-practical lectures and 3 practical ones .
2nd Test: April 30th, 09:30H, on the subject of the first 3 theoretical-practical lectures and 1 practical ones.
3rd Test: May 14th, 09:30H, on the subject of the first 4 theoretical-practical lectures and 2 practical ones .
4th Test: May 28th, 09:30H, on the subject of the rest of theoretical-practical lectures and practical ones.

Or by examination, lasting 3 hours, on July 6th from 17:00 a.m. to 20:00 p.m.

The grade of the theoretical-practical component is obtained through:
Arithmetic mean of the grade of the 4 mini tests (where the grade of each test is expressed in an entire scale of 0 to 20), or the grade of the exam.

In the examination, each student can choose:
1 - take the entire exam
2 - do only the part corresponding to one, two or three of the tests


Project Component

This component is carried out through the development, in a group of students, of a practical project and respective discussion. The work should be developed essentially outside the lecture hours, although with support from the lectures. This support will be complemented at the weekly student support period.
Although the work is done in group, the grade of this component will always be individual and not assigned to the group.

IMPORTANT: The grades of practical works of this discipline obtained in the academic year 2015/16 and 2016/17 are valid for the evaluation of this year. Students wishing to keep the grade of practical component can not register in practical shifts.
The registration in a practical shift automatically implies the loss of the grade of the practical component previously obtained.