Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Introduction.

Two main features of relational theory - one right, one disastrously wrong. Three semantic functions in databases. Outline of this series (Parts 1 - 10).


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 1.

Three mistakes. Primary keys which also describe. Why using business data in primary keys is wrong in theory, not just disastrous in practice. Three recommendations for an improved type of surrogate key.


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 2.

Second mistake. Foreign keys which also identify. The high cost of the "foreign key ripple effect".


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 3.

Second mistake. Foreign keys which also identify. The high cost of the "foreign key ripple effect".


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 4.

First mistake. Primary keys which also describe. Natural vs. intelligent vs. surrogate keys. Components of cost of changing natural keys.


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 5.

First mistake (continued). Propagation of primary key changes to foreign keys. Propagation when an atomic transaction is easy; otherwise it's very hard. The four steps involved in changing key values when propagation is a work in progress.

Two types of definition: Aristotelian and Wittgensteinian. Venn diagrams for each.


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 6.

An examination of intelligent keys and when they change. Dumb splits vs. smart splits. Expanding the key. Primary keys and business keys. Aside: dirty data, multi-sets and putative customers.


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 7.

Entity integrity as a special case of object integrity. A special kind of surrogate key: enterprise identifiers. Illustrating why EIDs are needed.


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 8.

Guaranteeing object integrity in EIDs with (a) root class tables, or (b) by basing EIDs on database, table and row id concatenation. Five drawbacks to traditional primary keys.


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 9.

Subsetting: obstacles and implementation. Consolidating independent tables into type hierarchies.


Posted: Oct, 2007Written: 2001 - 2005Keys in Relational Databases: Part 10.

Four arguments against surrogate keys. Responses and additional arguments in favor of EIDs. Conclusion.