LEARNING OUTCOMES
The main objective is to provide students with fundamental theoretical and practical knowledge for the shaping and implementation of relational databases.
students are expected to comprehend and master the concepts and fundamental techniques inherent to the creation (shaping, implementation and assessment) of databases, of simple to moderate complexity, in most database systems. It is also an objective to provide students with knowledge which may enable them to perform applications using Java with the integration of databases using techniques of design patterns.
students should be able to:
Comprehend the importance of the identification process and analysis of the main characteristics of a problem to be shaped
Implement a database using the E-R model
Normalize relational databases
Implement the shaping of a database on a DBMS
Recognize basic concepts about administration and optimization of databases
Use the Java programming language for access to the database
STUDY PROGRAMME
1. Databases (DB) Data vs. Information Quality of Information
2. DB Management Systems Architecture and main characteristics Requirements and components Redundancy and inconsistency Integrity and security.
Examples of DBMS
3. ANSI/SPARC Arquitecture
Analysis of the distinct types of levels: physical, conceptual and external.
4. DB Models
File Based Systems Hierarchical Model Network Model Relational Model Object Oriented Model
Object Relational Model
Distributed Model
5. Relational Model
Problem Analysis
Concept of Entity, Attribute, Relation, Table and Key (primary and foreign) Entity-Relation Diagram (E-R)
Types of associations (1-to-1, 1-to-N, M-to-N) Constraints of Integrity, Domain and Entity Normalization
6. Structured Query Language (SQL)
DDL Commands - CREATE, ALTER and DROP DML Commands - INSERT, UPDATE and DELETE SELECT Command
Subqueries Indexes Transactions
7. Integration of SQL with Java
API for DB Practical Example
BIBLIOGRAPHY
Ramakrishnan, R.; Gehrke, J. (2003). Database Management Systems. McGraw-Hill. Damas, L. (2006). SQL - Structured Query Language. FCA.
Obe, R.; Hsu, L. (2012). PostgreSQL: Up and Running. O'Reilly.
Connoly, T.; Begg, C. (1999). Database Systems: A Practical Approach to Design, Implementation and
Management. Addison-Wesley.
Azevedo, A.; Abreu, A.; Carvalho, V. (2002). Desenho e Implementação de Bases de Dados. Centro
Atlântico.
Beaulieu, A. (2009). Learning SQL. O'Reilly.
Pratt, P.; Last, M. (2008). A Guide to SQL. Course Thechnology.
Schwartz, B.; Zaitsev, P.; Tkachenko, V.; Zawodny, J.; Lentz, A.; Balling, D. (2008). High Performance
MySQL. O'Reilly.
Smith, G. (2010). PostgreSQL 9.0 High Performance. Packt Publishing. Douglas, K. (2005). PostgreSQL. Sams Publishing.