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 nonempty 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
Forthcoming...
Some Notes on Natural Join
