Faculdade de Ciências e Tecnologia

Databases

Code

7747

Academic unit

Faculdade de Ciências e Tecnologia

Department

Departamento de Informática

Credits

6.0

Teacher in charge

Joaquim Francisco Ferreira da Silva, José Júlio Alves Alferes

Weekly hours

5

Total hours

56

Teaching language

Português

Objectives

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

Objectives 
Knowledge
  • 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
Know-how
  • 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
Soft-Skills 
  • 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

Bibliography

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

General rules

The evaluation consists of a two components: a theoretical, and a project. Both components are evaluated on a scale of 0-20, and they contribute in equal terms to the final mark.

For passing in the course a student need an average equal or above 10, and a mark in the theoretical part equal or above 10.

 

Theoretical

The theoretical part can be done in two ways:

  • 3 written tests contributing with 50%
  • one written exam (3 hours)
Project

 

The project is to be done mainly outside the lab hours (which are to be used for consultation with the assistants), and is done in groups of 3 students. The project comprises the implementation in Oracle 11g of a complete database of small/medium size (around 10-15 tables) , and its interface in Oracle Application Express.

Courses