Data Modeling and Preparation

Teaching Methodologies

The theoretical exposition precedes the practical part, providing the necessary structure for acquiring knowledge applied in practical sheets.
All materials from both theoretical and practical components are available on an electronic platform (Inforestudante), including the
bibliography with links to examples and case studies from the adopted authors.
During class, students will have the opportunity to solve practical components and discuss them with their peers and the professor. These
practical sheets cover content related to the SQL language, modeling through the entity-relationship model, normalization, and identification
of dependencies and keys. Finally, students will engage in the modeling of a practical database related to a practical use-case.
Throughout the process, students will have multiple classes for guidance on their work, during which the professor will guide them through
the modeling phase. Additionally, students will have the chance to test their knowledge at the end of each practical sheet through a set of
mini-projects that assess various theoretical and practical components.

Learning Results

The course aims to provide students with the fundamental concepts of Databases, establishing an essential foundation for the field of Data
Analysis. It is intended that students develop the ability to understand, analyze, model, and design relational database systems. Initially, the
focus of the course will be on conceptual data models, particularly the Entity-Relationship model. In a subsequent phase, attention shifts to
the operational aspects of relational databases, with emphasis on mastering SQL as a fundamental tool for defining and manipulating data.
Non-relational databases will also be addressed. Additionally, the principles of data integrity and security are covered. Finally, students
should understand and apply the theory of normalization, recognizing its role in the logical design process and in ensuring the quality of the
developed database solutions.

Program

Theoretical
1.Introduction to Databases:
1.1Database Systems
1.2Objectives and capabilities of Database Management Systems(DBMS)
2.Data Models: hierarchical model, network model, relational model
3.Normalization Theory
3.1Redundant data
3.2Functional Dependencies
3.3Normalization
4.Entity-Relationship Model:
4.1 Entity-Relationship diagrams
4.2Properties of associations
4.3Decompositions of associations
Practical
5.Introduction to SQL:
5.1Selection and Aggregation
5.2Sorting in Databases
5.3Grouping Information
5.4Subqueries
5.5Views, and Triggers
5.6Transactions and Security
6.NoSQL Databases:
6.1Types of NoSQL Databases
6.2ACID vs. BASE and CAP Theorem
6.3Operations in MongoDB Database(BD)
7.Data Understanding and Preparation(CRISP-DM Phases):
7.1.Extraction from multiple sources
7.2.Initial exploration of data directly in the database
7.3.Inconsistencies, and duplicates
7.4.Preparation through queries
7.5.Use of ML tools for data analysis and export

Internship(s)

NAO

Bibliography

Coronel, C., & Morris, S. (2023). Database systems: Design, implementation, and management (14th ed.). Cengage Learning.
Elmasri, R., & Navathe, S. B. (2016). Fundamentals of database systems (7th ed.). Pearson.
Damas, L. (2017). SQL – structured query language (14.ª ed.). FCA Editores.
Gouveia, F. (2021). Bases de dados: Fundamentos e aplicações (2.ª ed. aumentada). FCA Editores.
Belo, O. (2021). Bases de dados relacionais: Implementação com MySQL. FCA Editores.