To provide the basis for the modeling, implementation, analysis and manipulation of relational databases.
- To know the entity-relationship model and the relational data model, as well as the foundations of the object-relational model
- Relational algebra as the formal language of relational data base querying and manipulation
- Foundations of the SQL language (both as a definition and as a manipulation language)
- Normalization of data bases using functional and multi-valued dependencies
- Brief overview of data modeling in XML and manipulation mechanisms for semi-structured data
- To model a medium sized real problem first using Entity-Relationship Diagrams and then a relational database (the resulting data base should have 10 to 20 tables)
- To create a database in SQL for the medium-sized problem, including implementation of all mechanisms for guaranteeing referential integrity
- To implement a simple interface for manipulation of the database
- To be proficient in writing complex SQL queries
- To use the basic object-relational mechanisms of SQL
- Capability of doing team work in collaboration
- Problem modeling capabilities
- Write an analysis report, design and implement a solution
- Manage time and deadlines
Carlos Augusto Isaac Piló Viegas Damásio
Weekly - 5
Total - 70
- Database System Concepts, 7th Edition.
Abraham Silberschatz, Henry F. Korth and S. Sudarshan
McGraw Hill, 2019
Slides and exercises
- After each class the sldes and exercises will be made available online in CLIP.
- A Guide to the SQL Standard (4th Ed)
C. J. Date and Hugh Darwen
- The theory of Relational Databases
Computer Science Press
The evaluation consists of a two components: a theoretical, and a project. Both components are evaluated on a scale of 0-20, and the theoretical component has a 60% weight while the project has the reamining 40%.
For passing in the course a student need an average equal or above 10, and a mark in the theoretical part equal or above 10.
The theoretical part can be done in two ways:
- 32written tests (2 hours each) each contributing with half of the grade
- one written exam (3 hours)
The project is to be done mainly outside the lab hours (which are to be used for consultation with the assistants), and is done in groups of 3 students. The project comprises the implementation in Oracle 11g of a complete database of small/medium size (around 10-15 tables) , and its interface in Oracle Application Express.
- Introduction to Database Management Systems
- Data models
- Entity-Relationship model
- Relational model
- Relational databases normalization
- Functional and multi-valued dependencies
- Normal forms: 3rd, 4th and Boyce-Cood
- Database manipulation languages
- Relational Algebra
- SQL query and manipulation language
- Other languages
- Database integrity
- Referential integrity
- Assertions and triggers
- Interaction with databases
- Embedded SQL, ODBC, JDBC
- Security and authorisations
- Discussion about other database models
- Object/relational databases (and the SQL case).
- Deductive databses
Programs where the course is taught: