Base Knowledge
It is recommended that students possess foundational knowledge in programming, logic, and discrete mathematics.
Teaching Methodologies
The following teaching methodologies are used in this curricular unit:
1 – Expository method: an explanatory method were theoretical foundations and concepts are presented by the
teacher and discussed with the class, followed by demonstrative examples;
2 – Experimental method: an active method were the student develops the knowledge through the use of problem
solving and project development, individually and in group dynamics.
Learning Results
It is expected that by the end of the course each student is entitled to:
1. Understand the basic concepts on relational databases: relational model, integrity, normalization, and relational
operations;
2. Manipulate databases through Standard Query Language;
3. Conceive a transactional project;
4. Project, conceive and implement databases using the entity-relationship model;
5. Plan, develop and maintain a database application.
Program
1. Introduction to Databases and Basic Concepts
- Data Models
- Entities and Abstractions
- Cardinality
- Relational Data Model
- Attributes
- Primary, Candidate, and Foreign Keys
- Referential Integrity
- Functional Dependency
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, and Commits
- Concurrency and Consistency
- Locks
- Deadlocks
4. Functional Dependency and Normalization
- Database Design: 1st, 2nd, and 3rd Normal Form (1NF, 2NF, 3NF)
- Boyce Codd Normal Form (BCNF)
- Functional Dependency Inference Rules
5. Database Design
- Entity-Relationship Diagrams
- Degrees of Participation
- Binary Relationships
Curricular Unit Teachers
Cristina Margarida Chuva CostaInternship(s)
NAO
Bibliography
Ramakrishnan, R., & Gehrke, J. (2003). Database management systems (3rd ed.). McGraw-Hill. ISBN 0072465638 (1A-5-78 (ISEC) – 10678)
Gouveia, F. (2014). Fundamentos de bases de dados. FCA.
Damas, L. M. D. (2017). SQL: Structured Query Language (14th ed.). FCA. ISBN 9789727228294 (1A-5-84CD (ISEC) – 10700)
Groff, J. R., & Weinberg, P. N. (2002). SQL: The complete reference (2nd ed.). McGraw-Hill. ISBN 0072225593 (1A-5-24 (ISEC) – 05724)