
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.
- 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
Bibliography
Recommended book
- Database System Concepts, 5th Edition.
Abraham Silberschatz, Henry F. Korth and S. Sudarshan
McGraw Hill, 2005
ISBN 0-07-295886-3
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.