
Databases
Code
10640
Academic unit
Faculdade de Ciências e Tecnologia
Department
Departamento de Informática
Credits
9.0
Teacher in charge
João Alexandre Carvalho Pinheiro Leite, José Júlio Alves Alferes
Weekly hours
6
Total hours
70
Teaching language
Português
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
Subject matter
- Introduction to Database Management Systems
- Data models
- Entity-Relationship model
- Relational model
- Relational algebra
- Database manipulation languages
- SQL query and manipulation language
- Other languages
- QBE and Datalog
- Database integrity and security
- Referential integrity
- Assertions and triggers
- Security and autorizations
- Relational databases normalization
- Functional and multi-valued dependencies
- Normal forms: 3rd, 4th and Boyce-Cood
- Discussion about other databse models
- Object/relational databases (and the SQL case).
- Deductive databses
- XML
Bibliography
Recommended book
- Database System Concepts, 5th Edition.
Abraham Silberschatz, Henry F. Korth and S. Sudarshan
McGraw Hill, 2005
ISBN 0-07-295886-3or
- Database System Concepts, 4th Edition
Abraham Silberschatz, Henry F. Korth and S. Sudarshan
McGraw Hill, 2001
ISBN 0-07-255481-9Alternatively, you may use the previous edition (which does not contain the final part of the syllabus - XML) :
- Database System Concepts, 3rd Edition
Abraham Silberschatz, Henry F. Korth and S. Sudarshan
McGraw Hill, 1997
ISBN 0-07-044756-X
Slides and exercises
- After each class the sldes and exercises will be made available online in the course''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''s web page.
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 - Database Management Systems
Raghu Ramakrishnan and Johannes Gehrke
McGraw Hill, 2000 - An Introduction to Database Systems (6th Ed)
C. J. Date
Addison-Wesley,1994
ISBN:0-201-82458-2
Teaching method
The course consists of lectures and labs. In the lectures, the main concepts of the coruse are present. In the labs, in a first phase students may experiment the concepts taught. After the middle of the semestre, the students familiarize with Oracle 11g and with Oracle Application Express, in order to build a database and interface for their project (see evaluation).
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 they contribute in equal terms to the final mark.
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 done in two ways:
- two written tests (2 hours each) each contributing with 50%
- one written exam (3 hours)
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.