Databases

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

General characterization

Code

7747

Credits

6.0

Responsible teacher

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

Hours

Weekly - 5

Total - Available soon

Teaching language

Português

Prerequisites

Available soon

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

Available soon

Evaluation method

Available soon

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