Fundamental concepts
- Background: sets
- Define a set in intention and, in extension, illustrate with an example
- Enumerate set operators, draw Venn Diagrams to illustrate their semantics
- Define the notion of atomic DOMAIN type
2. Relational Model
- Define the notion of RELATION SCHEMA in terms of a set expression. Give an example.
- What is an integrity constraint? Enumerate the types of integrity constraints that define the semantics of a relation schema. Complete your previous example.
- What is a relation key? What is a primary key?
- Define a RELATIONAL DATABASE SCHEMA. Complete your example, including referential constraints.
3. Relational Database Design
- Define the concepts of Mini-world, Conceptual Model and Data Model
- Draw a figure describing a relational database design process from the Mini-world to the Conceptual Model and from the Conceptual Model to a Relational Database Schema using a data model.
- What is SQL Data Definition Language? Which are the different languages SQL proposes, and what is their purpose?
4. Database querying: relational model operators
- Which are the 5 basic operators of the relational algebra? What are the limits of the relational algebra regarding the expression of queries? Draw a Venn Diagram to specify the semantics of the operators.
- Explain the notion of closure related to the relational algebra?
- What is a query execution plan? What does it mean to use the operators properties for optimising a query?
- What is an index and what is its purpose?
- Which is the general expression of the SQL language for querying a database?
5. Execution model
- Define the notion and purpose of a transaction and its properties? Illustrate the principle of having transactions when managing a relational database.
- Which are the states of a transaction?
Technical concepts
- Database Management System (DBMS)
- What is a DBMS? Draw the ANSI/SPARC architecture and describe the models associated to it.
- What are the guarantees ensured by a relational DBMS?
2. Relational Database Application
- What is a database relational application? What is its general architecture? Draw it.
- What is the meaning of ETL and which is the process it denotes?
- What are the management operators of a database