ProvSQL
User Guide
Introduction
What Is Provenance?
What Can ProvSQL Do?
How It Works
Getting ProvSQL
Installing from Source
Getting the Source
Prerequisites
Installation
Testing Your Installation
Uninstalling
Docker Container
License
Tutorial: Who Killed Daphine?
The Scenario
Setup
Step 1: Explore the Database
Step 2: Build a Sightings Table
Step 3: Enable Provenance
Step 4: Find Contradictions
Step 5: Display Provenance Formulas
Step 6: Build a Consistent Sightings Table
Step 7: Identify Suspects
Step 8: Count Confirming Sightings
Step 9: Assign Reliability Probabilities
Step 10: Find the Murderer
Adding Provenance to a Table
Loading the Extension
Disabling Provenance Temporarily
Enabling Provenance on a Table
Accessing the Provenance Token
Removing Provenance
Provenance Mappings
Inspecting the Circuit
Querying with Provenance
How It Works
Supported SQL Features
Unsupported SQL Features
Provenance in Nested Queries
CREATE
TABLE
…
AS
SELECT
The
provenance()
Function
Aggregation and Grouping
GROUP BY Queries
SELECT DISTINCT
Aggregate Functions
HAVING
Grouping Sets
Semiring Evaluation
Boolean Semiring
Boolean-Expression Semiring
Formula Semiring
Counting Semiring (m-semiring)
Why-Provenance
Security Semiring
Custom Semirings
Provenance Mappings
Probabilities
Setting Probabilities
Computing Query Probabilities
Computation Methods
Expected Values of Aggregates
HAVING with Probabilities
Independent Tuples and Block-Independent Databases
Shapley and Banzhaf Values
Background
Computing Shapley Values
Computing Banzhaf Values
Computation Notes
Choosing Between Shapley and Banzhaf
Where-Provenance
Enabling Where-Provenance
Using Where-Provenance
Projection Gates
Example
Limitations
Data Modification Tracking
Enabling Update Provenance
INSERT
DELETE
UPDATE
Undoing Updates
Limitations
Temporal Features
Overview
Temporal Tables
Valid-Time Queries
Union of Validity Intervals
Temporal Query Functions
Relationship to Data Modification Tracking
Provenance Export
Formula Export
PROV-XML Export
Circuit Visualisation
Verbosity
Circuit Structure
Configuration Reference
Bibliography
API Reference
SQL API Reference
C/C++ API Reference
ProvSQL
Index
Index