Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2006/2007
Facoltà Scuola di Ingegneria dell'Informazione
Insegnamento 079083 - DATA BASES 2
Docente Ceri Stefano
Cfu 5.00 Tipo insegnamento Monodisciplinare

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (2 liv.)(ord. 509) - MI (187) INGEGNERIA INFORMATICA* AZZZZ079083 - DATA BASES 2

Programma dettagliato e risultati di apprendimento attesi

Internal structure of a database server. Buffer Management. Page management. Data organisations according to the sequential, direct, and indexed data structures. B and B+ trees. Hashing functions. Access methods: scans, ordering joins. Join methods. Query optimisation fundamentals. Cost models and optimal query plan selection (branch&bound method for execution plan selection). Database administration in commercial systems. Hints to physical database design (index selection, primary storage method selection).

Transactional Systems. Why transactional systems are relevant. Examples of transactional systems: financial applications, banks, online order-entry (e-commerce), online booking, "wall-street applications". The VISA example. Notion of transactions. ACID properties: atomicity, consistency, isolation, durability.

Concurrency control theory. Histories (or schedules), serializability, various notions of equivalence, complexityof testing. View-serializability, conflict-serializability. Two phase locking. Hierarchical locking. Deadlock analysis and resolution. Timestamp-based concurrency control. Multi-version concurrency control. Implementation of locking in comercial systems.

Reliability control theory. Notion of: stable storage, logging, checkpointing, write-ahead log rule, commit rule. Recovery protocols: warm restart, cold restart. Implementation of reliability control in commercial systems. Commit protocols, theory of two-phase-commit, presumed-abort and read-only optimisations, non-blocking protocols (3 and 4 phase commit protocols). Implementation of commit protocols with heterogeneous DB servers in the X-open standard.

Database architectures. Client-server applications (two and three tiers). Heterogeneous access via ODBC-JDBC standards. Distributed databases. Notion of fragmentation, allocation, transparent access. Query optimisation. Distributed transactions. Parallelism in database servers. Shared-memory vs shared-nothing approaches. Scale-up, speed-up, benchmarking of performances. Replicated databases. Synchronous vs asynchronous methods. Symmetric vs primary-secondary approaches. Implementation of replication servers. Architectures of a data warehouse. OLTP vs OLAP.

Object-oriented databases. Object-oriented data model, notions of type/class/method/implementation for an object-oriented database. Object-relational approach: the "third generation manifesto". Object oriented languages: OQL, SQL:1999.

XML Databases. XML as a data modeling paradigm. Native vs relational storage. Query languages for XML. Xpath, Xquery, XQBE.

Active databases: The ECA Paradigm (event/condition/action) and data management. Execution methods for active databases. Trigger languages and systems: Starburst, Oracle, DB2. Formal properties of active rule sets. Termination, confluence, observable determinism. Rule analysis. Design of active rules for integrity maintenance.

Note Sulla Modalità di valutazione

Written test


P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone "Basi di dati - Architetture e linee di evoluzione", McGraw-Hill Italia, 2003 (in Italian)

P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone "Database Systems: Models, Languages, Architectures", McGraw-Hill, 1999 (in English).

Mix Forme Didattiche
Tipo Forma Didattica Ore didattiche
laboratorio informatico
laboratorio sperimentale
laboratorio di progetto

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
schedaincarico v. 1.6.5 / 1.6.5
Area Servizi ICT