310 likes | 440 Views
Advanced Databases Introduction. Dr. Rogelio Dávila Pérez Laboratorio 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 Paredaens
E N D
Advanced DatabasesIntroduction Dr. RogelioDávila Pérez LaboratorioNacional de InformáticaAvanzada (LANIA) http://www.rogeliodavila.com/ e-mail: rdav90@gmail.com
Important Information This materialwasdeveloped by • Dr. ToonCalders and • prof. Dr. Jan Paredaens atUniversity of Technology, Eindhoven. The original document canbeaccessedat the followingaddress: http://wwwis.win.tue.nl/~tcalders/teaching/advancedDB/ All changes and adaptations are myownresponsability, RogelioDávila Pérez
Outline • Motivation for the course • Practicalorganization • 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 • Relationaldatabases are tunedtowards: • simple data • simple, ad-hoc queries • multiple users • Othermodels are more suitable for other types of data • Object-OrientedDatabases, • DeductiveDatabases, • Semi-StructuredDatabases, • GeographicalDatabases, • 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: • Studentknows: • differentdatabasemodels • Understands: • whythey are introduced • conceptual notions • Is able to: • quickly master vendor-specificproducts
Outline • Motivation for the course • Practicalorganization • Course topics • Project
PracticalOrganization In principle … Saturday, August 1st 2009, • 9:00 12:00Relational Model Overview • no new material • opportunity to practice, ask questions • togethersolveexercises • Limitations of the Relational Model • 13:00 16:00 DeductiveDatabases • Databases and LogicProgramming • Datalog as engine for DeductiveDatabases • Knowledge Bases
PracticalOrganization Saturday, August 8th 2009 • 9:00 12:00 Deductive DB Practical Session • opportunity to practice, ask questions • togethersolveexercises • 13:00 16:00 Object OrientedDatabases • Object ModelingLanguage UDL • Extending SQL (Recursion and Nested relations) • Objecto-Oriented and Object-RelationalDatabases
PracticalOrganization Saturday, August 15th • 9:00 12:00 OODB Practical Session • opportunity to practice, ask questions • togethersolveexercises • 13:00 16:00 DistributedDatabases • Heterogeneous and Homogeneous Databases • Distributed Data Storage • Distributed Transactions • Commit Protocols
PracticalOrganization Saturday, August 22nd • 9:00 12:00 DDB Practical Session • opportunity to practice, ask questions • togethersolveexercises • 13:00 16:00 Final Project Presentations • Every team makes an exposition of theirprojectresults to the rest of the group. • Every team submeets a printed document defendingtheirproject.
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. ToonCalders &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 • Practicalorganization • Course Topics • Project
Course Topics • Limitations of the relational model • DeductiveDatabases • Object-OrientedDatabases • DistributedDatabases
Limitations of the relational model • Not everyquerycanbeexpressed • Transitive closurecannotbeexpressed in RelationalAlgebra • Give all citiesreachablefromAntwerp by plane • Give all smallest components of a part • Give all decendants of person X • Not even if you’revery smart … • proof • Extension to otherrelationalquerylanguages
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
OO Databases • Or we go to 4NF
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 • Practicalorganization • 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 projectproposal ( WEEK 1) • fulfilling certain constraints • listing technologies to beused • Status report ( WEEK 2 ) • Status report ( WEEK 3 ) • Project presentations & Final report ( WEEK 4 )
Summary • Relational model has limitations • simple queries • simple data • OODBsallowcomplex data types • Deductivedatabases, datalogcomplexqueries • Project complementstheoretical lectures • Instructions for clarification