Databases
Objectives
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
General characterization
Code
10640
Credits
9.0
Responsible teacher
Carlos Augusto Isaac Piló Viegas Damásio
Hours
Weekly - 5
Total - 70
Teaching language
Português
Prerequisites
Available soon
Bibliography
Recommended book
- Database System Concepts, 7th Edition.
Abraham Silberschatz, Henry F. Korth and S. Sudarshan
McGraw Hill, 2019
ISBN 9780078022159
Slides and exercises
- After each class the sldes and exercises will be made available online in CLIP.
Complemetary readings
- A Guide to the SQL Standard (4th Ed)
C. J. Date and Hugh Darwen
Addison-Wesley
ISBN:0-201-94426-0 - The theory of Relational Databases
David Maier
Computer Science Press
ISBN:0-914894-42-0
Teaching method
Available soon
Evaluation method
General rules |
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.
Theoretical |
The theoretical part can be obtained by:
- two written tests (2 hours each) each contributing with half of the grade, closed book
- one written exam (3 hours), closed book
Project |
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.
Subject matter
- 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
- Transactions
- Discussion about other database models
- Object/relational databases (and the SQL case).
- Deductive databses
- XML