Bases de Dados

Base Knowledge

Students must master basic algorithmic concepts.

Teaching Methodologies

The following teaching methods are used in this course:

1 – Expository method: explanatory method where theoretical foundations and concept are presented by the teacher and discussed with the class, followed by demonstrative examples;

2 – Experimental method: active method where the student develops knowledge by solving problems and the development of individual laboratory projects or in group dynamics, being the predominant method.

Each class will consist of two moments:

1 – Introductory presentation: At the beginning of the class, the teacher exposes and discusses the new contents under study with the students;

2 – Practical application: After the introductory presentation, students develop work assignments and problem solving, individually and in group, for practical application of new concepts, autonomously and under the guidance of the teacher.

Learning Results

It is expected that at the end of the course the student will be able to:

1. Identify the basic concepts in relational databases: relational model, integrity, normalization and relational operations;

2. Use databases through SQL language (Standard Query Language);

3. Design a transactional project;

4. Design and implement databases using the Entity-Relationship model;

5. Plan, develop and manage database applications.

Program

1. Introduction to Databases and Basic Concepts (Data Models; Entities and Abstractions; Cardinality; Relational Data Model; Attributes; Primary Keys, Candidate Keys and Foreign Keys; Referential Integrity; Functional Dependence);

2. Relational operations and basic aspects of SQL (SQL Language; Relational Operations; Data Types; Integrity Constraints; Data Definition Language; Data Manipulation Language; Views; Security and Privileges; Schema definition and data manipulation using SQL);

3. Transactions and Concurrency Control (Transactions, Savepoints; Rollback Segments; Commits; Concurrency and Consistency; Blocking; Deadlocks);

4. Functional Dependence and Normalization (Database Design; 1st, 2nd and 3rd Normal Form (1FN, 2FN, 3FN), Boyce Codd Normal Form (FNBC); Functional Dependency Inference Rules);

5. Database Design (Entity-Relationship Diagrams; Degrees of Participation; Binary Relationships).

Curricular Unit Teachers

Grading Methods

Periodic Evaluation
  • - two individual practical assignments (30% each) - 60.0%
  • - a group project - 40.0%
Final evaluation
  • - a group project - 50.0%
  • - an individual written test - 50.0%

Internship(s)

NAO

Bibliography

Damas, L. (2017). SQL – Structured query language (14th ed.). FCA.

Forta, B. (2012). SQL in 10 minutes (4th ed.). Sams Publishing.

Garcia-Molina, H. (2014). Database systems: The complete book. Prentice Hall.

Gouveia, F. (2021). Bases de dados – Fundamentos e aplicações (2nd ed.). FCA.

Groff, J., Weinberg, P., & Wald, L. (2009). SQL: The complete reference (2nd ed.). McGraw-Hill. (Complementary Bibliography).

MySQL. (2021). MySQL Documentation – MySQL Reference Manualhttps://dev.mysql.com/doc/

Oracle. (2021). Oracle Database Documentationhttps://docs.oracle.com/en/database/oracle/oracle-database/ 

Ramakrishnan, R.,  & Gehrke, J. (2003). Database management systems. McGraw-Hill. (Complementary Bibliography).