- Introduction to databases. Information systems, information and data. Database and Database Management System (DBMS). Data models. Schemas and instances. Abstraction levels in DBMSs. Database languages and users.
- Relational databases. The relational model. Relations and tables. Relations with attributes.
- Relations and databases. Incomplete information and null values. Integrity constraints. Definitions and properties of keys. Primary key and foreign key constraints.
- Query languages for relational databases. Relational algebra. Union, intersection, difference, selection, projection, join. Queries in relational algebra.
- Query languages for relational databases. SQL. The declarative nature of SQL. Simple SQL queries. Aggregate queries. Group by queries. Set queries. Nested queries.
- Conceptual database modeling. Data conceptualization and aggregation mechanisms. The Entity-relationship model. Basic constructs of the model: entity, relationship, attribute. Generalization hierarchies. Identifiers. Simple mapping rules from ER to relational tables.
- Biological databases. Direct access to relational biological databases. The Ensembl database and its structure (db schema). Use of SQL to query biological data. Application to the Ensembl database for the extraction of genomic annotations.
Textbook and teaching stuff
- P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, Database Systems – Concepts, Languages and Architectures - Mc-Graw Hill, Available on-line at http://dbbook.dia.uniroma3.it/.
Chapters: 1(whole), 2 (whole), 3(until §3.1.6 included)-4 (only § 4.2. and related subparagraphs)-5 (only § 5.2. and related subparagraphs)
- Teaching stuff (lecture slides) downloadable from the course web site (only for signed-up students).