This material was developed by Dr. Toon Calders and prof. Dr. Jan Paredaens at University of...

Post on 03-Jan-2016

213 views 0 download

Tags:

Transcript of This material was developed by Dr. Toon Calders and prof. Dr. Jan Paredaens at University of...

Advanced DatabasesIntroduction

Dr. Rogelio Dávila PérezLaboratorio Nacional

de Informática Avanzada (LANIA)http://www.rogeliodavila.com/

e-mail: rdav90@gmail.com

Important Information

This material was developed by Dr. Toon Calders and prof. Dr. Jan Paredaensat University of Technology, Eindhoven.The original document can be accessed at the

following address:http://wwwis.win.tue.nl/~tcalders/teaching/advancedDB/

All changes and adaptations are my own responsability, Rogelio Dávila Pérez

Outline

Motivation for the course

Practical organization Course topics Project

Motivation for the Course

Database = a piece of software to handle data:

store, maintain, and query

Most ideal system situation-dependent› data type: simple / semi-structured / complex / …› types of queries: simple lookup / analytical / …› type of usage: multi-user / single-user /

distributed / …› …

Motivation for the Course Relational databases are tuned towards:

› simple data› simple, ad-hoc queries› multiple users

Other models are more suitable for other types of data› Object-Oriented Databases,› Deductive Databases, › Semi-Structured Databases,› Geographical Databases,› Data warehouses

Motivation for the Course

Study different data models› Advantages, disadvantages› Conceptual level

what are the important notions?› What’s underneath?

In a scientific way› exact, not just claims

Motivation for the Course

By the end: Student knows:

› different database models Understands:

› why they are introduced› conceptual notions

Is able to:› quickly master vendor-specific products

Outline

Motivation for the course

Practical organization Course topics Project

Practical Organization

In principle …Saturday, August 1st 2009, 9:00 12:00 Relational Model Overview

no new material opportunity to practice, ask questions together solve exercises Limitations of the Relational Model

13:00 16:00 Deductive Databases Databases and Logic Programming Datalog as engine for Deductive Databases Knowledge Bases

Practical Organization

Saturday, August 8th 2009 9:00 12:00 Deductive DB Practical Session

opportunity to practice, ask questions together solve exercises

13:00 16:00 Object Oriented Databases Object Modeling Language UDL Extending SQL (Recursion and Nested

relations) Objecto-Oriented and Object-Relational

Databases

Practical Organization

Saturday, August 15th 9:00 12:00 OODB Practical Session

opportunity to practice, ask questions together solve exercises

13:00 16:00 Distributed Databases› Heterogeneous and Homogeneous

Databases› Distributed Data Storage› Distributed Transactions› Commit Protocols

Practical Organization

Saturday, August 22nd

9:00 12:00 DDB Practical Session opportunity to practice, ask questions together solve exercises

13:00 16:00 Final Project Presentations Every team makes an exposition of their

project results to the rest of the group. Every team submeets a printed document

defending their project.

Important Information

Course notes can be downloaded at my webpage: http://www.rogeliodavila.com/cursos.htm

Doubts? Send me a message to rdav90@gmail.com Interesting links:

› Dr. Toon Calders &prof. Dr. Jan Paredaens course link: http://wwwis.win.tue.nl/~tcalders/teaching/advancedDB/

Practical Organization

Grades:› 70% written exam› 30% group project

No project = no grade

Outline

Motivation for the course

Practical organization Course Topics Project

Course Topics

Limitations of the relational model

Deductive Databases

Object-Oriented Databases

Distributed Databases

Limitations of the relational model

Not every query can be expressed› Transitive closure cannot be expressed in

Relational Algebra Give all cities reachable from Antwerp by plane Give all smallest components of a part Give all decendants of person X

› Not even if you’re very smart … proof

› Extension to other relational query languages

Deductive Databases

Motivation is two-fold:› add deductive capabilities to databases;

the database contains: facts (intensional relations) rules to generate derived facts (extensional

relations)

Database is knowledge base› Extend the querying

datalog allows for recursion

Deductive Databases

Datalog as engine of deductive databases› similarities with Prolog› has facts and rules› rules define -possibly recursive- views

Semantics not always clear› safety› negation› recursion

Deductive Databases

g(a,b). g(b,c). g(a,d).reach(X,X) :- g(X,Y).reach(X,Y) :- g(X,Y).reach(X,Z) :- reach(X,Y), reach(Y,Z).node(X) :- g(X,Y).node(Y) :- g(X,Y).unreach(X,Y) :- node(X), node(Y),

not reach(X,Y).

Deductive Databases

In this topic we study:

› How to handle negation and recursion in the same program

› How to efficiently evaluate Datalog queries

OO Databases

Many applications require the storage and manipulation of complex data› design databases› geometric databases› …

Object-Oriented programming languages manipulate complex objects› classes, methods, inheritance,

polymorphism

OO Databases

Very simple example:› Class book

set of authors title set of keywords

Extremely simple to model in OO language

Hard in relational database!

OO Databases

In many applications persistency of the data is nevertheless required› protection against system failure› consistency of the data

Mapping: object in OO language tuples of atomic values in relational database is often problematic

OO Databases Either we ignore the multivalued dependencies

This table is in 3NF, BCNF

Title Author Keyword

Database System Concepts Silberschatz Database

Database System Concepts Korth Database

Database System Concepts Sudarshan Database

Database System Concepts Silberschatz Storage

Database System Concepts Korth Storage

Database System Concepts Sudarshan Storage

OO Databases

Or we go to 4NFTitle Author

Database System Concepts Silberschatz

Database System Concepts Korth

Database System Concepts Sudarshan

Title Keyword

Database System Concepts Database

Database System Concepts Storage

OO Databases

Basically OODB = persistent OO programming language› Very important concept› rather uninteresting scientifically

This topic will mainly be self-study› Reading bookchapter + Q & A session

Outline

Motivation for the course

Practical organization Course Topics Project

Project

Pick one of the 4 topics:› deductive databases / rule-based systems› object-oriented databases› data warehouses› semi-structured databases

Formulate your own project› illustrating the different course concepts› showing you mastered the technology

Project

Make a project proposal( WEEK 1)› fulfilling certain constraints› listing technologies to be used

Status report ( WEEK 2 )

Status report ( WEEK 3 )

Project presentations & Final report ( WEEK 4 )

Summary

Relational model has limitations› simple queries› simple data

OODBs allow complex data types Deductive databases, datalog complex

queries Project complements theoretical

lectures Instructions for clarification