Download Advanced Database Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Relational algebra wikipedia , lookup

SQL wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Database wikipedia , lookup

Clusterpoint wikipedia , lookup

Concurrency control wikipedia , lookup

Database model wikipedia , lookup

Relational model wikipedia , lookup

Transcript
Advanced Database Systems
Floris Geerts
University of Antwerp
Floris Geerts (University of Antwerp)
Advanced Database Systems
1 / 37
General comment
References
In the following, I detail which parts of the book should be read (and
understood) in relation to the different parts as covered in the slides (in
the order appearance on the slides). Note that topic as mentioned in the
slides is on top of the slide.
The chapters refer to the Database Management Systems book by
Ramakrishnan & Gehrke, Third edition, 2003.
Floris Geerts (University of Antwerp)
Advanced Database Systems
2 / 37
Introduction
Relational model
Chapter 3: The relational model
The things we have seen here are part of the basic database course and are
assumed to be understood. If unsure, check the slides and read:
Sec 3.1
Sec 3.2
Sec 3.3 (except 3.3.1)
Sec 3.4 (as a warm-up for the querying part)
Sec 3.6
Sec 3.7
In particular, make sure you know what key, foreign key and in general,
constraints are and what they do. You must also know what a view is.
Floris Geerts (University of Antwerp)
Advanced Database Systems
4 / 37
Introduction
Relational algebra and SQL
Chapter 4: Relational algebra and calculus
This was covered already in the basic database course so the same
comment as above applies here. Ensure that you know and understand the
relational algebra and equivalences (which are covered later in the course
in more detail (optimization part). To remind yourself, check the slides
and read:
Sec 4.1
Sec 4.2
Floris Geerts (University of Antwerp)
Advanced Database Systems
6 / 37
Introduction
Relational algebra and SQL
Chapter 5: SQL: queries, constraints, triggers
Again, basic stuff. We did not cover SQL in class, but as mentioned in
class it is assumed you know how to formulate queries in SQL and how
SQL and the relational algebra are related (which again is covered in the
optimization part). To remind yourself, read:
Sec 5.1
Sec 5.2
Sec 5.3
Sec 5.4
Sec 5.5
Floris Geerts (University of Antwerp)
Advanced Database Systems
7 / 37
Storage, Indexing & Sorting
Storage & Indexing
Chapter 8: Overview of Storage & Indexing
This chapter provides a general overview, but at the same time covers
some aspect that we did not see in class. Check slides and read:
Sec 8.2.1.
Sec 8.2.2.
Sec 8.3
Sec 8.4: Although not covered in class, this section gives a good
intuition of “thinking in I/O’s” when considering simple database
operations. Since you need to able to understand how to measure I/O
in a variety of scenarios, understand how the I/O costs in Figure 8.4
are obtained.
Know the different kinds of indexes, their strengths and weakness and
train yourself in thinking in I/Os.
Floris Geerts (University of Antwerp)
Advanced Database Systems
9 / 37
Storage, Indexing & Sorting
Storage & Indexing
Chapter 9: Storing data: disks and files
Check slides and read:
Sec 9.3., except 9.3.2
Sec 9.4, except 9.4.2
Know the job of the buffer manager and how it works.
Floris Geerts (University of Antwerp)
Advanced Database Systems
11 / 37
Storage, Indexing & Sorting
Storage & Indexing
Chapter 10: Tree-structured indexing
Check slides and read:
Sec 10.1
Sec 10.3
Sec 10.4
Sec 10.5
Sec 10.6
In short, understand B+ trees!
Floris Geerts (University of Antwerp)
Advanced Database Systems
13 / 37
Storage, Indexing & Sorting
Storage & Indexing
Chapter 11: Hash-based indexing
Check slides and read:
Sec 11.1
Sec 11.2
Sec 11.3
Sec 11.4
In short, understand hash-based indexes!
Floris Geerts (University of Antwerp)
Advanced Database Systems
15 / 37
Storage, Indexing & Sorting
Storage & Indexing
Chapter 28: Spatial data management
Check slides on multi-dimensional indexing and read:
Sec 28.6 (except 28.6.3, 28.6.4)
So, know how an R+ tree works.
Floris Geerts (University of Antwerp)
Advanced Database Systems
17 / 37
Storage, Indexing & Sorting
Sorting
Chapter 13: External sorting
Check slides on sorting and read:
Sec 13.1
Sec 13.2
Sec 13.3 (note: 13.3.1 is what is in the slides referred to as heap
sort/replacement sort)
Sec 13.4 (except 13.4.2)
Sec 13.5
In short, understand the various ways of sorting files in external memory
and the impact of buffer size etc.
Floris Geerts (University of Antwerp)
Advanced Database Systems
19 / 37
Query evaluation, query plans and execution models
Overview
Chapter 12: Overview of Query Evaluation
Check slides on query evaluation and read:
Sec 12.3
Sec 12.4
Sec 12.5
Sec 12.6
Know what a physical plan is, the role relational algebra, execution
models, and in general, what an optimizer does.
Floris Geerts (University of Antwerp)
Advanced Database Systems
21 / 37
Query evaluation, query plans and execution models
Join algorithms
Chapter 14: Evaluating relational operators
Slides only cover join algorithms, but as mentioned in class you need to
know how other relational operators are evaluated as well. So, check slides
for joins and read:
Sec 14.1
Sec 14.2
Sec 14.3 (contains a simple variant of the hash-join)
Sec 14.4
Sec 14.5
Floris Geerts (University of Antwerp)
Advanced Database Systems
23 / 37
Query optimisation
Block decomposition and equivalence rules
Chapter 15: A typical relational query optimizer
Sec 15.1
Sec 15.3
Floris Geerts (University of Antwerp)
Advanced Database Systems
25 / 37
Query optimisation
Cardinality estimation
Chapter 15: A typical relational query optimizer
Sec 15.2
Floris Geerts (University of Antwerp)
Advanced Database Systems
27 / 37
Query optimisation
Plan enumeration
Chapter 15: A typical relational query optimizer
For plan enumeration, slides are more detailed and differ quite a bit from
the material presented in Sec 15.4. So, check slides and read:
Sec 15.4 but focus on examples.
Understand the working of plan enumeration by means of dynamic
programming. Also understand greedy algorithm used in the exercises!
Floris Geerts (University of Antwerp)
Advanced Database Systems
29 / 37
Transactions, concurrency and recovery
Overview
Chapter 16: Overview of Transaction Management
Use slides for overview and read:
Sec 16.1
Sec 16.2
Sec 16.3
Sec 16.4
Sec 16.7
Floris Geerts (University of Antwerp)
Advanced Database Systems
31 / 37
Transactions, concurrency and recovery
Concurrency control
Chapter 17: Concurrency control
Check slides and read:
Sec 17.1
Sec 17.2
Sec 17.3
Sec 17.4
Sec 17.5
Know what transactions are, serializability, deadlocks, locking on trees,
multiple granularity locking.
Floris Geerts (University of Antwerp)
Advanced Database Systems
33 / 37
Transactions, concurrency and recovery
Recovery
Chapter 18: Crash recovery
Check slides and read:
Sec 18.1
Sec 18.2 (forget about CLR’s)
Sec 18.3
Sec 18.4
Sec 18.5
Sec 18.6
Know what is logged and how things are restored after a crash.
Floris Geerts (University of Antwerp)
Advanced Database Systems
35 / 37
Parallel data management
Parallel data management
Chapter 22: Parallel and distributed databases
Check slides and read:
Sec 22.1
Sec 22.2
Sec 22.3
Sec 22.4
Sec 22.5
Floris Geerts (University of Antwerp)
Advanced Database Systems
37 / 37