Download presentation
Presentation is loading. Please wait.
Published byChristian Ferguson Modified over 8 years ago
2
This material was developed by Dr. Toon Calders and prof. Dr. Jan Paredaens at University of Technology, Eindhoven. The original document can be accessed at the following address: http://wwwis.win.tue.nl/~tcalders/teaching/adva ncedDB/ All changes and adaptations are my own responsability, Rogelio Dávila Pérez
3
Motivation for the course Practical organization Course topics Project
4
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 / … › …
5
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
6
Study different data models › Advantages, disadvantages › Conceptual level what are the important notions? › What’s underneath? In a scientific way › exact, not just claims
7
By the end: Student knows: › different database models Understands: › why they are introduced › conceptual notions Is able to: › quickly master vendor-specific products
8
Motivation for the course Practical organization Course topics Project
9
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
10
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
11
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
12
Saturday, August 22 nd 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.
13
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/ http://wwwis.win.tue.nl/~tcalders/teaching/advancedDB/
14
Grades: › 70% written exam › 30% group project No project = no grade
15
Motivation for the course Practical organization Course Topics Project
16
Limitations of the relational model Deductive Databases Object-Oriented Databases Distributed Databases
17
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
18
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
19
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
20
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).
21
In this topic we study: › How to handle negation and recursion in the same program › How to efficiently evaluate Datalog queries
22
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
23
Very simple example: › Class book set of authors title set of keywords Extremely simple to model in OO language Hard in relational database!
24
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
25
Either we ignore the multivalued dependencies This table is in 3NF, BCNF TitleAuthorKeyword Database System ConceptsSilberschatzDatabase Database System ConceptsKorthDatabase Database System ConceptsSudarshanDatabase Database System ConceptsSilberschatzStorage Database System ConceptsKorthStorage Database System ConceptsSudarshanStorage
26
Or we go to 4NF TitleAuthor Database System ConceptsSilberschatz Database System ConceptsKorth Database System ConceptsSudarshan TitleKeyword Database System ConceptsDatabase Database System ConceptsStorage
27
Basically OODB = persistent OO programming language › Very important concept › rather uninteresting scientifically This topic will mainly be self-study › Reading bookchapter + Q & A session
28
Motivation for the course Practical organization Course Topics Project
29
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
30
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 )
31
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.