Academic year
Subject Area
Computer Science
Language of Instruction
Mode of Delivery
ECTS Credits
1st Cycle Studies

Recommended Prerequisites


Teaching Methods

The Theoretical classes (T) will have detailed exposition, using audiovisual media, of the main concepts, principles and theories of Database Systems, complemented with practical examples that create awareness and interest from students. The Theoretical-Practical (TP) classes will have detailed exposition of the SQL and the presentation of conceptual data modeling techniques. In Practical-Laboratorial (PL) classes, students execute a group project that requires the application of theoretical knowledge and promotes critical thinking. Students must present their work and defend it orally.

Learning Outcomes

This unit consists of a basic course on databases, which are an essential component of computer systems, which represent the majority of computer applications in companies, enterprises and other organizations. Besides exposing the foundations of relational databases, including the relational model, normalization, relational operations, the SQL language, transactions and concurrency control, indexing, etc..., the course also intends to practice these concepts through the analysis, modeling and implementation of relational databases in a client-server setting. The course intends to promote the acquisition of competences in analysis and synthesis, practical application of the theoretical knowledge, autonomous learning, oral and written communication, communicating with experts and non-experts, problem solving, critical thinking and decision making.

Work Placement(s)



  1. Overall View of the Database Systems: DBS, SQL, DB Applications, etc...
  2. Relational Model: Basic aspects
    1. Data integrity
    2. Keys and relational integrity constraints
    3. Complex relational integrity constraints: business rules
    4. Examples and Case Studies
  3. Relational Algebra and basic aspects of SQL
  4. Database Modeling Conception:
    1. Entity-Relationship Diagrams
    2. Inheritance and other advanced modeling techniques
    3. Translation of ER Driagrams to Relational models
    4. Functional dependencies and normalization
    5. Examples and Case Studies
  5. Transactions and concurrency control
  6. Indexes and Table indexes
  7. Views: definition and different usages
  8. Execution and optimization of queries: basic aspects
  9. Architecture and implementation details of a Database Server.
  10. Basic aspects of PL/SQL
  11. Global overview of alternative technologies: NoSQL databases, CEP, etc...

Head Lecturer(s)

Bruno Miguel Brás Cabral

Assessment Methods

Exam: 35.0%
Project: 65.0%


Database Systems: The Complete Book. Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer D. Widom,  "Database Systems: The Complete Book " Ref: Prentice Hall; 1st edition (October 2, 2001)


Database Management Systems. Raghu Ramakrishnan and Johannes Gehrke,  "Database Management Systems" Ref: McGraw-Hill Science/Engineering/Math; 3 edition, August 14, 2002.