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 with practical examples and case studies discussion. 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.
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.
Database Types
Classification for use, architecture, and model.
SQL and NoSQL databases. Other types of databases.
Ranking and trends of DBMS.
JSON data type and the DBMS Oracle.
Curricular Unit Teachers
Internship(s)
NAO
Bibliography
Available at ISEC:
– B-On. (n.d.). Retrieved this school year, from https://www.b-on.pt/
– Correia, F. B. (this school year). Apontamentos de Bases de Dados. moodle Portugal, from BD web page in moodle
– Curso de SQL. Iniciação e Avançado (n.d.). Retrieved this school year, from http://www.sqlcourse.com
– Damas, L. (2013). SQL (14 ed.). FCA. – 1A-5-151 (10 ed.)
– Date , C. (2003). An Introduction to Database Systems (8 ed.). Pearson. – 1A-5-120
– Elmasri, R., & Navathe, S. (2015). Fundamentals of Database Systems (7 ed.). Pearson. – 1A-5-119 (4 ed.)
– Informações sobre o Oracle. (n.d.). Retrieved this school year, from https://www.oracle.com/technical-resources
– Informações sobre o SAP PowerDesigner. (n.d.). Retrieved this school year, from https://www.sap.com/products/powerdesigner-data-modeling-tools.html
– Manuais do Oracle 11g. (n.d.). Retrieved this school year, from https://docs.oracle.com/cd/E11882_01/index.htm
– Ramakrishnan, R., & Gehrke, J. (2003). Database Management Systems (3 ed.). McGraw-Hill. – 1A-5-118
– Rodrigues, A. (2010). ORACLE 10G E 9I. FCA. – 1A-5-136
Not available at ISEC:
– Connolly, T., & Begg , C. (2014). Database Systems: A Practical Approach to Design, Implementation, and Management (6 ed.). Pearson.
– Garcia-Molina, H., D Ullman, J., & Widom, J. (2013). Database Systems: The Complete Book. Pearson.
– Gouveia, F. (2021). Bases de Dados – Fundamentos e Aplicações. (FCA, Ed.)
– Silberschatz, A., F. Korth, H., & Sudarshan, S. (2019). Database System Concepts (7 ed.). McGraw-Hill.