Advanced Database Systems (ADBS, in English) – 48h, 6 CFU2024-2025, 2nd period, Master degree in Computer Science, University of Udine | 
      Teacher
	  Dario Della Monica
	 
      Exam modality
The exam consists of a written test that can assign a score up to 28/30. 
      The oral exam is optional; students can ask for it, if they wish so, after having passed the written test. However, those aiming to a score higher than 28/30 must take an oral exam. The final score after the oral exam can be lower than the score obtained with the written test. Sometimes, on a case-by-case basis, the teacher may require students to integrate their written exam with an oral one. MiscLecturesYoutube links to recordings of lectures 
 Lecture 1 (Thursday, March 6, 2025, 8:30-10:30):  
    Course introduction
	
       
      Query processing (overview)
	
       
    Lecture 2 (Friday, March 7, 2025, 12:30-14:30):  
    Query processing (overview of the optimizer, cost model)
       
    Lecture 3 (Thursday, March 13, 2025,
      8:30-10:30):  
    Query processing (selection
	algorithm without index, B+-trees, selection algorithms for equality
	conditions with index)
       
    Lecture 4 (Friday, March 14, 2025, 12:30-14:30 Thursday, March 20, 2025, 8:30-10:30):
     
    Query processing (all remaining
	selection algorithms)
       
    Lecture 5 (Friday, March 21, 2025, 12:30-14:30)  
    Query processing (external
	sort-merge, nested-loop join)
       
    Lecture 6 (Thursday, March 27, 2025, 8:30-10:30)  
    Query processing (block
	nested-loop join, indexed nested-loop join)
       
    Lecture 7 (Friday, March 28, 2025, 12:30-14:30)
     
    Query processing (materialization
	vs. pipelining)
       
      Query optimization (overview,
	introduction to	equivalence rules)
	
       
      - Extra:
	
       
    Lecture 8 (Thursday, April 3, 2025, 8:30-10:30)
     
    Query optimization (equivalence
	rules, generating equivalent relational algebra expressions, the
	catalog, meta-information and statistical predictions, estimating the
	size of the output of a simple selection)
       
    Lecture 9 (Friday, April 4, 2025, 12:30-14:30)
     
    Query optimization (estimating the
	size of the output of other expressions, estimating the number of
	different values for a set of attributes in the output of an expression,
	best join order problem)
       
    Lecture 10 (Thursday, April 10, 2025, 8:30-10:30)
     
    Query optimization (a dynamic
	programming algorithm to find the best join order for a set of
	relations)
       
      Introduction to distributed DB systems (overview)
	
       
    Lecture 11 (Friday, April 11, 2025, 12:30-14:30)
     
    Introduction to distributed DB systems
	(centralization/distribution/integration, promises of distributed DBMS)
       
    Lecture 12 (Thursday, April 24, 2025,
      8:30-10:30)
     
    Introduction to distributed DB systems
	(design issues, architectures for distributed data management)
       
      Distributed DB design (introduction)
	
       
    Lecture 13 (Friday, May 2, 2025,
      12:30-14:30)
     
    Distributed DB design (primary horizontal fragmentation, derived horizontal fragmentation)
       
    Lecture 14 (Thursday, May 8, 2025,
      8:30-10:30)
     
    Distributed DB design (vertical fragmentation, hybrid fragmentation, allocation, distributed data directory)
       
      Overview of distributed query
processing
	
       
    Lecture 15 (Friday, May 9, 2025,
      12:30-14:30)
     
    Query decomposition and data
	localization (reductions for primary horizontal/vertical/derived horizontal/hybrid fragmentation)
	
       
      Distributed query optimization (overview, semi-join algorithm)
	
       
    Lecture 16 (Thursday, May 15, 2025,
      8:30-10:30)
     
    Distributed query optimization (bit-arrays for semi-join, strategy comparison, static vs. dynamic optimization, hybrid optimization)
       
    Lecture 17 (Friday, May 16, 2025,
      12:30-14:30)
     
     Introduction to distributed
	transaction management
	
       
       Distributed concurrency control (transactions and concurrent transactions, aka histories)
	
       
    Lecture 18 (Tuesday, May 20, 2025,
      10:30-12:30)
     
    Distributed concurrency control (two-phase locking, deadlock management)
       
    Lecture 19 (Thursday, May 22, 2025,
      8:30-10:30)
     
    Distributed DBMS reliability (local abort, commit, and recovery protocols)
	
       
    Lecture 20 (Friday, May 23, 2025,
      12:30-14:30)
     
    Distributed DBMS reliability (two-phase commit, more critical failures)
       
    Lecture 21 (Thursday, May 29, 2025,
      8:30-10:30)
     
    From transaction-oriented (OLTP)
	to analysis-oriented (OLAP) systems
       
    Lecture 22 (Friday, May 30, 2025,
      12:30-14:30)
     
    Data warehousing (introduction, evolution of data storage systems, definition)
	 
    Lecture 23 (Thursday, June 5, 2025,
      8:30-10:30)
     
    Data Warehousing (architectures, ETL process, multidimensional data model)
	 
    Lecture 24 (Friday, June 6, 2025,
      12:30-14:30)
     
    Data Warehousing (MOLAP/ROLAP/HOLAP, conceptual design)
	 
      Data Warehousing (logical design and materialized queries)
	 
      Quick overview on NoSQL data models
	
       
     |