David Portas

Data Architect, London, UK

FX Rate Triangulation in SQL
When populating a database from a feed of exchange rate data it can be useful to derive rates for extra pairs of currencies that are not available from the feed itself. Triangulation is a widely used method to derive rates between pairs of currencies.

Exclusive Subtyping in SQL
Subtyping is a very common data modelling scenario that gets extensive coverage in database design textbooks but it isnít necessarily well supported by SQL DBMSs. Here's a simple technique for implementing exclusive subtypes.

Zero Degree Keys and Dependencies
Examples of zero degree keys and zero degree dependencies are rarely found in the literature on dependency theory and normalization. It is worth considering some examples of a dependency on the empty set and to demonstrate why singleton relations are a useful part of the database designer's toolkit.

Singleton Tables - Implementation and Modelling
A singleton relation is a relation consisting of exactly one tuple. In relational database terms it can be formally defined as the value of a non-empty relation variable with a key of ∅ (the empty set), meaning the key has no attributes at all.

A Memory of Jim Gray
I wrote this in 2006 after meeting Jim Gray. Jim was sadly lost at sea in January 2007.

The Relational Model Turns 40
2009. The Relational Data Model is 40 years old. Edgar Codd first described the idea that databases could be constructed from mathematical relations in an internal IBM Research report in August 1969.

The Primary Key Assumption
Archive of some random comments of mine about the use of primary keys.


Temporal Data

Basics, Managing Temporal Data with Multiple Domain Keys

Design Theory

A Simple Guide to Boyce-Codd Normal Form

3NF vs BCNF
Defining the difference

The Principle of Orthogonal Design
The POD is a database design principle devised by Chris Date and Dave McGoveran. It is a formalised version of a familiar idea in software engineering, namely "Don't repeat yourself" or "Once and once only"

First Normal Form: Repeating Groups vs Relation Valued Attributes
How a relation as an attribute is different from a repeating group. The issue of RVAs under First Normal Form.

Why Keys Must Be Composite

The Relational Model - An Example of a Relation


Forthcoming...

Some Notes on Natural Join