Base de Dados

Base Knowledge

Knowledge obtained up to the 12th year of secondary education in the areas of science and technologies or the like.

Teaching Methodologies

Theoretical classes

Exposition of the contents of the course with the help of slides and practical examples. Student participation in the application of the taught knowledge, through periodic resolution of exercises.

Theoretical-practical classes

Introduction of theoretical and practical concepts and application through the provision of exercises for students to solve.

Practical classes

Application of knowledge through the provision and monitoring of the resolution of practical exercises to students and application in the preparation of a practical work.

Learning Results

Objectives

Teach knowledge about database management systems and relational database systems. It is intended that students know how to correctly specify and analyze a database, as well as develop SQL code to manipulate relational databases.

Skills / Learning goals

Knowledge and Understanding

A.1. Identify the concepts of data normalization.

A.2. Identify the concepts underlying relational databases.

A.3. Understand the information needs and data flow of a business process.

Knowledge Application

B.1. Develop an analysis of supporting data for a business process

B.1. Develop code to interrogate databases.

B.2. Interrogate existing data in databases.

Making Reasoned Decisions

C.1. Justify the proposed solutions at the data analysis project level.

C.2. Justify the proposed solutions to the questioning of databases.

Conducting Judgment

D.1. Evaluate solutions used in databases, showing a critical attitude.

Communication

E.1. Prepare appropriate documentation in the scope of data analysis.

E.2. Produce technical reports of interaction with relational databases.

E.3. Present and explain the projects developed in a clear manner with a critical attitude.

Self-Learning Skills

F.1. Develop innovative projects, with a high degree of autonomy, where they are not limited to applying concepts learned in class.

Program

Introduction to databases.

An example.

Definition of a database management system.

Definition of databases.

Data independence.

Relational and other systems.

Database Types.

Classification for use, architecture and model.

 SQL databases and NOSQL.

 Ranking and trends of DBMS.

 JSON and Oracle Database.

An architecture for a database management system.

The three levels of architecture: the external level, the conceptual level and the internal level.

The database administrator.

The database management system.

Relational databases.

An introduction to relational databases.

Relational systems.

The relational model.

Optimization.

The data dictionary.

Base tables and views.

Domains and relationships.

Types of relationships.

Relations and predicates.

Domains and relationships in relational databases.

Integrity of relational data.

Candidate, primary and alternative keys.

Foreign keys.

Null.

Other rules of referential integrity.

Views.

Indexes and clusters.

Introduction to indexes and clusters.

The SQL language

Basics of SQL.

Junction.

SQL functions.

Sorting and grouping.

Correlated subqueries and queries.

Union, intersection and difference of queries.

Table management.

Referential integrity restrictions.

Data manipulation.

Views and sequences.

The entity / relationship model.

Representation.

Conceptual model, logical model and physical model.

Entities, relationships, cardinality and occurrence diagram.

Attribute types.

Generalization and specialization.

Functional Dependencies.

Basic definitions.

Trivial and non-trivial dependencies.

Closing a set of dependencies.

Closing a set of attributes.

Irreducible set of dependencies.

Normalization: 1FN, 2NF, 3FN, BCNF

Decomposition without loss and functional dependencies.

First, second and third normal forms.

Normal Boyce / Codd form.

Recovery and Concurrency.

Transactions.

Recovery.

Concurrency.

Curricular Unit Teachers

Internship(s)

NAO