INFO-H-415: Advanced Databases

Lecturer

Teaching Assistant

Volume

  • Theory 24 h - Exercises 24h - Project 12h
  • 5 ECTS credits

Study Programme

  • Master in Computer Science and Engineering [MA-IRIF]
  • Master in Computer Sciences [INFO]
  • Erasmus Mundus Master in Information Technologies for Business Intelligence (IT4BI)

Schedule

The course is given during the first semester on Mondays and Tuesdays from 2 pm to 4 pm.

Schedule

Objectives

Today, databases are moving away from typical management applications, and address new application areas. For this, databases must consider (1) recent developments in computer technology, as the object paradigm and distribution, and (2) management of new data types such as spatial or temporal data. This course introduces the concepts and techniques of some innovative database applications.

Content

Active Databases

Taxonomy of concepts. Applications of active databases: integrity maintenance, derived data, replication. Design of active databases: termination, confluence, determinism, modularisation.

Temporal Databases

Temporal data and applications. Time ontology. Conceptual modeling of temporal aspects. Manipulation of temporal data with standard SQL.

Object Databases

Object-oriented model. Object Persistance. ODMG standard: Object Definition Language and Object Query Language.

Spatial Databases

Spatial data and applications. Space ontology. Conceptual modeling of spatial aspects. Manipulation of spatial data with standard SQL.

Deductive Databases

The Datalog langage. Translation of Datalog into relational algebra. Bottom-up semantics. Top-down semantics. Recursive views in standard SQL.

XML Databases

The XQuery language. Basis of the language. Base expressions. XPath expressions. New attributes and elements. FLWOR expressions. Ordering and grouping. Functions. Updates.

Reference Books

  • C. Zaniolo et al., Advanced Database Systems, Morgan Kaufmann, 1997
  • R.T. Snodgrass, Developing Time-Oriented Database Applications in SQL, Morgan Kaufmann, 2000 (version pdf)
  • S.W. Dietrich, S.D. Urban, Fundamentals of Object Databases: Object-Oriented and Object-Relational Design, Morgan & Claypool, 2011
  • Jim Melton and Alan R. Simon, SQL: 1999 - Understanding Relational Language Components, Morgan Kaufmann, 2001
  • Jim Melton, Advanced SQL: 1999 - Understanding Object-Relational and Other Advanced Features, Morgan Kaufmann, 2002
  • R.G.G. Cattel et al., The Object Database Standard: ODMG 3.0, Morgan Kaufmann, 2000
  • Philippe Rigaux, Michel Scholl, Agnès Voisard, Spatial Databases: With Application to GIS, Morgan Kaufmann, 2001

Other Books

  • S. Ceri, P. Fraternali, Designing Database Applications with Object and Rules: The IDEA Methodology, Addison Wesley, 1997
  • R.T. Snodgrass, The TSQL2 Temporal Query Language, Kluwer Academic Publishers, 1995
  • Priscilla Walmsley, XQuery, O'Reilly, 2007
  • Jim Melton, Stephen Buxton, Querying XML: XQuery, XPath, and SQL/XML in context, Morgan Kaufmann, 2006
  • R.M. Colomb, Deductive Databases and their Applications, Taylor & Francis, 1998

Additional documentation

  • Norman W. Paton, Oscar Díaz, Active Database Systems, ACM Computer Surveys, 31(1): 63-103, 1999. (version pdf)
  • Jennifer Widom, The Starbust Active Database Rule System, IEEE Transactions on Knowledge and Data Engineering, 8(4): 583-595 1996 (version pdf)
  • E. Zimányi, Temporal Aggregates and Temporal Universal Quantifiers in Standard SQL, SIGMOD Record, 35(2):16-21, 2006. (version pdf)
  • Gregory Sannik, Fred Daniels, Enabling the Temporal Data Warehouse, Teradata White paper. (version pdf)
  • Richard T. Snodgrass, A Case Study of Temporal Data, Teradata White paper. (version pdf)
  • Teradata, Temporal Table Support. (version pdf)
  • Teradata, ANSI Temporal Table Support. (version pdf)

Course Slides

Exercises

Project

Students, in groups of two, will realize a project in a topic relevant to advanced databases. Examples of topics are:

  • Active databases
  • Temporal databases
  • Deductive databases
  • Object databases
  • Object-relational databases
  • Spatial databases
  • Multimedia databases
  • Distributed databases
  • Semi-structured or XML databases
  • Grid databases
  • Cloud databases
  • NoSQL databases: HyperTable, Cassandra, ….
  • Object persistance: Hibernate, Java Data Objects, …

Each group will study a database technology and illustrate it with an application developed ​​in a database management system to be chosen (e.g., Oracle, PostgreSQL, DB2, SQL Server, mySQL, etc..). The topic should be addressed in a technical way, to explain the underlying technologies. The application must use the specific technology manipulated.

The choice of topic and the application must be made ​​in agreement with the lecturer. The topic should not be included in the programme of the Master in Computer Science and Engineering. The project will be presented to the lecturer and the fellow students at the end of the semester. This presentation will be supported by a slideshow. A written report containing the contents of the presentation is also required. The presentation and written report will explain the possibilities offered by the database management system chosen and give a general description of the application implemented.

The evaluation of the project focuses on the following criteria:

  • Quality of the presentation,
  • Master of the topic presented, and
  • Quality of written report.

The project will count for 25% of the final grade.

Projects of the Academic Year 2014-2015

  • Neo4J: Ydan Ledoux, Kamil Polonski, Jonathan Riggio
  • CouchDB: Audrey Sanctorum, Jonas Blanckaert
  • MemDB: Steffi Melinda, Diana Bogantes
  • MongoDB: Alejandro Arauco, Ghena AlFakhry
  • OrientDB: Daria Glushkova, Anastasiia Basha
  • RethinkDB: Marouan Belhaj, Andrea Morciano
  • Windows Azure: Srdjan Nikitovic, Yusuf Guven Toprakkiran
  • Cassandra: Mudassar Ali, Alejandro Rodriguez Cuellar
  • Redis: Mohamed Chajii, Julio Cesar Velasco A.
  • XML databases: Erica Bertugli, Poly Kinya Muriithi

Examples of topics from the previous academic year

  • Deductive Databases and XSB
  • Redis
  • Graph Databases and OrientDB
  • Graph Databases and Neo4J
  • Java Data Objects
  • CouchDB
  • Distributed databases with SQL Server
  • Object-oriented databases and db4o
  • XML databases
  • MemSQL
  • Microsoft Azure
  • Spatial databases with SQL Server
  • MongoDB
  • Cassandra
  • Apache Hbase (Hadoop implementation)
  • Temporal databases
  • Hibernate
  • Voldermort
  • RavenDB
  • RethinkDB

Examinations from Previous Years

 
teaching/infoh415.txt · Last modified: 2014/09/30 10:53 by ezimanyi