Advanced Database Topics

OpenLine Consulting
Lecture Slides
July 2005

This document and the corresponding slides are licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License,
and are available at http://www.openlineconsult.com/db
Copyright © Ellis S. Cohen, 2005

Creative Commons License

1. Database Security (slides)
Database Security Overview
Discretionary Access Control Mechanisms
Delegation & Revocation
Dynamic Views &
Fine-Grained Security Policies
User Identification
Authentication & Encryption

2. Access Control Mechanisms (slides)
Security Predicates & Policies
Role-Based Access Control (RBAC)
Solving Security Problems with Roles, Dynamic Views, and Security Predicates
Hierarchical RBAC
Group-Based Access Control (GBAC)
Groups with Selective Denial (GSD)
Access Control Lists (ACLs)
Security Domains & Operation-Based Access Control
Dynamic Security
User-Based Access Control in Multi-Tier Applications
Application-Based Access Control
Mandatory Access Control Mechanisms (MAC)
Statistical Database Acces

3. Transactions, Failure & Recovery (slides)
Transactions & Commit
Abort & Rollback
Statement Failure & Nested Rollback
SavePoints & Nested Transactions
Autonomous Transactions
Transactions, Failure & Recovery
Server Page Caching
Ensuring Atomicity & Durability with Shadow Paging
Ensuring Atomicity & Durability with Undo Logging
Redo Logging
Undo/Redo Logging
Ensuring Longer-Term Durability
Handling Consistency Failure

4. Transactions, Concurrency, Isolation & Locking (slides)
Isolation, Schedules & Serializability
Locking
Conservative & Strict 2PL
Deadlock & Livelock
Deadlock Prevention
Shared & Exclusive Locks
Lock Granularity
Lock Conversions
Multi-Granular Locking
Phantom Reads & Index Locks
Long Transactions and Sagas

5. Concurrency Control Features & Mechanisms (slides)
Concurrency Control Features & Mechanisms
Timestamp-Based Concurrency Control
Client Caches
Optimistic Concurrency Control with a Timestamped Cache
Transaction-Based Validation
Optimistic Concurrency Control with a Simple/Snapshot Cache
Snapshot-Based Concurrency Control
Consistency Failure & The Constraint Violation Problem

6a. Distributed Databases: Organization & Query Processing (slides)
Distributed Database Architecture
Location Transparency
Data Placement & Fragmentation
Distributed Query Processing

6b. Concurrency Control for Distributed Databases (slides)
Distributed Lock-Based Concurrency Control
Distributed Abort Protocol
Distributed Atomic Commit Protocols
Distributed Optimistic Concurrency Control

7a. Synchronous Data Replication (slides)
Models for Replication
ROWA Approaches
Eager Approaches
Reconciliation

7b. Asynchronous Data Replication (slides)
Synchronous Replication Review
Lazy Approaches
Eventual Approaches
Session Guarantees

8. Data Warehousing (slides)
Overview
Star Schema:
Fact & Dimension Tables
The Star Schema & Denormalization
Viewing The Data Cube
Drill Down & Rollup
Cross Tabulations
Data Visualization
Trend & Rank Analysis
ETL: Extraction, Transformation & Loading
Materialized Views & Query Rewriting
Indexing for Data Warehouses

9. Data Mining (slides)
Types of Data Mining
Data Mining Activities
Datasets
Estimation: Classification & Approximation
Decision Trees
Approximation (Regression)
Raw Data Modeling with k-Nearest Neighbor
Opaque Modeling with Feed-Forward Neural Networks
Clustering
Partition-Driven Clustering
Density-Driven Clustering
Subspace Clustering
Targeted Clustering & Association Rules
Market Basket Analysis
Scoring Market Basket Analysis
Scoring & Data Preparation

10. Modeling, Storing & Querying Object-Oriented Data (slides)
Object Modeling & Mapping
ODL (Object Definition Language)
Introduction to OQL (Object Query Language)
OODB's (Object-Oriented Databases)
Inheritance in ODL
Basic OQL
OQL Functions and Named Queries
Subqueries
Collection Operations
Partitioning
Flattening

11. Object Persistence (slides)
Handling Result Collections
Client Access to Server-Side Objects
Client-Side Object Caching
Modifying Persistent OO Data
Cache Management for OO Data
Deleting and Inserting
Persistent Objects
Java Data Objects (JDO)
JDO Query Language (JDOQL)
Capability-Based Access Control

12. Objects & Relational Databases (slides)
Object-Relational Mapping
OR Mapping Approaches & Issues
Object-Relational Databases
Referenced Objects & Navigation
Contained Objects
Nested Tables
Nested Collections

13. Introduction to XML (slides)
Introduction to XML
DTD's: Document Type Definitions
XML Schema

14. Querying XML with XPath and XQuery (slides)
XPath 1.0
Predicates
XPath Nodes & Axes
XPath 2.0
XQuery
Element Construction with XQuery

15. XML & Databases (slides)
Processing & Accessing XML
Querying & Updating XML
DOM: Document Object Model
Native XML DBs
XML-Object Mappings
XML-Relational Mappings
Links & Pointers
XML-Relational Databases