1 final review tuesday, march 6, 2007. 2 the final date: tuesday, march 13, 2007 time: 6:30 - 8:30...

Post on 17-Jan-2016

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Final Review

Tuesday, March 6, 2007

2

The Final

• Date: Tuesday, March 13, 2007

• Time: 6:30 - 8:30

• Room: EE 037

• You must come to campus

• Open book exam :)

• No computers :(

3

Problem 1: Queries

• SQL

• XPath/XQuery

4

SQL

• Select-from-where

• Subqueries

• Aggregation

• Nulls

• Outer joins

• Database modifications (insert/delete)

A tricky query: for each product, find total sales in November

5

XPath/XQuery

• Xpath: simple navigation /, //, *, […]

• Xquery: nest/unnest/renest/aggregates

A tricky query: eliminate duplicates in a collection of elements

6

Problem 2: Data Modeling

• E/R diagrams

• Functional dependencies and normal forms

• XML and semistructured data

7

E/R Diagrams

• Relationships

• Inheritance

• Weak entity sets

• Mapping to relations

• SQL DDL:– Creating tables– Constraints

A tricky question: map a complex inheritance graph to relations

8

Functional Dependencies

• Basic definitions

• Computing the closure X+

• Computing the keys

• Checking if a relation is in BCNF

• Decomposing into BCNF

Tricky questions: find FD’s in a view; give counterexamples to FDs

9

XML

• XML syntax

• DTD

• From relations to XML

• From XML to relations

A tricky question: N/A

10

Problem 3: Transactions

• Recovery

• Concurrency control

11

Recovery

• Undo log

• Redo log

• Undo/redo log

A tricky question: place a missing END-CHECKPOINT

12

Concurrency control

• Serializability and conflict serializability

• Locks

• Timestamps

• Validation

A tricky question: tell what happens in a schedule

13

Problem 4: Query Processing Engine

• Storage of database elements

• Indexes

• Logical algebra

• Physical algebra

• Optimizations

• Size/cost estimation

14

Storage of Database Elements

• Storing records in blocks

• Storing attributes in records

A tricky question: N/A

15

Index Structures

• Types of indexes:– Dense/sparse index– Primary/secondary index

• B+-trees

• Hash tables:– Extensible hash tables

A tricky question: perform insert/delete in a B+ tree or hash table

16

Logical Algebra

• Operators– Some interesting ones: natural joins, semijoins

• Converting SQL into the algebra

A tricky question: SQL with NOT EXISTS to RA

17

Physical Operators

• One-pass algorithms

• Nested-loop joins

• Two-pass algorithms based on sorting

• Two-pass algorithms based on hash tables

• Index-based algorithms

• Their costA tricky question: N/A

18

Optimizations

• Algebraic laws

• The dynamic programming algorithm

• Pipelining

A tricky question: discuss alternative plans for a query

19

Size/Cost Estimation

• Simple size estimation formulas for selection and join

• Histograms– Eqdepth, eqwidth

A tricky question: N/A

20

General Advice

• Some problems will require thinking– Use judgment

• Problem difficulty may be uneven:– do the easy ones first

21

Grading

–Homework 35%

–Project: 35%

–Final: 30%

22

COMMIT(The End)

top related