Faculdade de Ciências e Tecnologia

Databases

Code

10640

Academic unit

Faculdade de Ciências e Tecnologia

Department

Departamento de Informática

Credits

9.0

Teacher in charge

João Alexandre Carvalho Pinheiro Leite, José Júlio Alves Alferes

Weekly hours

6

Total hours

70

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
  • Brief overview of data modeling in XML and manipulation mechanisms for semi-structured data
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 all mechanisms for guaranteeing referential integrity
  • To implement a simple interface for manipulation of the database
  • To be proficient in writing complex SQL queries
  • To use the basic object-relational mechanisms of SQL
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  algebra
  • Database manipulation languages
    • SQL query and manipulation language
    • Other languages
    • QBE and Datalog
  • Database integrity and security
    • Referential integrity
    • Assertions and triggers
    • Security and autorizations
  • Relational databases normalization
    • Functional and multi-valued dependencies
    • Normal forms: 3rd, 4th and Boyce-Cood
  • Discussion about other databse models
    • Object/relational databases (and the SQL case).
    • Deductive databses
    • XML

Bibliography

Recommended book

  • Database System Concepts, 5th Edition.
    Abraham Silberschatz, Henry F. Korth and S. Sudarshan 
    McGraw Hill, 2005
    ISBN 0-07-295886-3

    or

  • Database System Concepts, 4th Edition
    Abraham Silberschatz, Henry F. Korth and S. Sudarshan
    McGraw Hill, 2001
    ISBN 0-07-255481-9

    Alternatively, you may use the previous edition (which does not contain the final part of the syllabus - XML) :

  • Database System Concepts, 3rd Edition
    Abraham Silberschatz, Henry F. Korth and S. Sudarshan
    McGraw Hill, 1997
    ISBN 0-07-044756-X

Slides and exercises

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

Complemetary readings

  • A Guide to the SQL Standard (4th Ed)
    C. J. Date and Hugh Darwen
    Addison-Wesley
    ISBN:0-201-94426-0
  • The theory of Relational Databases
    David Maier
    Computer Science Press
    ISBN:0-914894-42-0
  • Database Management Systems
    Raghu Ramakrishnan and Johannes Gehrke
    McGraw Hill, 2000
  • An Introduction to Database Systems (6th Ed)
    C. J. Date
    Addison-Wesley,1994
    ISBN:0-201-82458-2

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:

  • two written tests (2 hours each) each 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