Code: | CC2005 | Acronym: | CC2005 | Level: | 200 |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Computer Science |
Active? | Yes |
Web Page: | http://www.dcc.fc.up.pt/~fds/aulas/BD/1516/ |
Responsible unit: | Department of Computer Science |
Course/CS Responsible: | Bachelor in Computer Science |
Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
---|---|---|---|---|---|---|---|
L:CC | 57 | Plano de estudos a partir de 2014 | 2 | - | 6 | 56 | 162 |
MI:ERS | 113 | Plano Oficial desde ano letivo 2014 | 2 | - | 6 | 56 | 162 |
Introduce students to the fundamentals of databases as systems that manipulate large volumes of data by emphasizing principles and practice in databases.
The students should acquire the following competences:
(a) understand what a database management system is, know the extent of its application in the real world and the technological problems associated with its design, implementation and existing solutions;
(b) design database models using the ER/EER models and the relational data model and implement such models in a database management system;
(c) use the SQL language to manipulate a database management system.
Basic Concepts
Main characteristics and advantages of using the database approach. Typical DBMS Functionality. The database design process.
The ER and EER Models
The ER model: entity types, weak entity types, attributes, relationships and key attributes. The EER Model: subclasses, superclasses, specialization, generalization, categories. ER and EER diagrams.
The Relational Data Model
Relations, attributes, domains and tuples. Superkeys, primary keys and foreign keys. Integrity Constraints. Relational schema. Mapping the ER and EER models to the relational model.
The Relational Algebra and Calculus
Relational algebra operations. Tuple relational calculus and domain relational calculus.
The SQL Language
The DDL (Data Definition Language) of SQL: data definition, constraints and domains. The DML (Data Manipulation language) of SQL: simple, nested and correlated queries. Join, aggregate, insert, remove and update operations. Views.
Database Programming
Integration problems. Embedded SQL in C. The MySQL C API. Persistent stored modules (SQL/PSM). Transactions, concurrency and fault tolerance.
Normalization
Normal forms and normalization of relations. Functional, multivalued and join dependencies. Non-additive join decomposition.
Physical Data Organization
Basic file structures, hashing and indexing.
Theory classes and practical classes with practical assignments.
designation | Weight (%) |
---|---|
Exame | 75,00 |
Trabalho laboratorial | 25,00 |
Total: | 100,00 |
designation | Time (hours) |
---|---|
Estudo autónomo | 80,00 |
Frequência das aulas | 56,00 |
Trabalho laboratorial | 28,00 |
Total: | 164,00 |
Students are assessed by their performance in the following components:
- An SQL submission to be realized by the end of the semester. The grade of this component is 5/20 (25% of the final grade).
- A written examination in the final of the semester. The grade of this component is 15/20 (75% of the final grade).
Students are assessed by their performance in the following components:
- An SQL submission to be realized by the end of the semester. This submission consists on solving a set of SQL queries using the tools studied on the practical classes.
- A written examination in the final of the semester consisting of questions similar to the ones solved during the theoretical and practical classes.