Eight Years on SO

After eight years on StackOverflow and more than 600 answers, these are my favourite three.

  1. How to understand the fifth normal form? [🔗]
  2. Composite primary key vs. an additional ID column. [🔗]
  3. How to design this database to avoid the cyclic dependency? [🔗]

These are not the highest voted answers, but I like them. All three rely on basic time-tested knowledge and principles, favour simplicity and reasoning over confusion and technical trickery.

Rule 25

Introducing a new tag on the blog named Rule 25. For a post to qualify, the content, knowledge and principles presented must be valid not only today, but were valid at least 25 years ago, and I firmly believe will be valid for at least the next 25 years.
In contrast to current versions of this-and-that, skills and knowledge that do not survive a year.

Murder Mystery

Another fun puzzle, based on the problem No. 55 in [PFJ86] and published as a challenge by Decision Management Community.

Someone in Dreadsbury Mansion killed aunt Agatha. Agatha, the butler, and Charles live in Dreadsbury Mansion, and are the only ones to live there. A killer always hates, and is no richer than his victim. Charles hates no one that Agatha hates. Agatha hates everybody except the butler. The butler hates everyone not richer than aunt Agatha. The butler hates everyone whom Agatha hates. No one hates everyone. Who killed Agatha?

The idea — as in previous posts — is to use concept of predicates, constraints, relations, and Continue reading “Murder Mystery”

Reindeer Ordering

The Decision Management Community posted a fun challenge: Santa’s elves are supposed to order nine reindeer according to a set of rules. The rules are:

  1. Comet behind Rudolph, Prancer, and Cupid.
  2. Blitzen behind Cupid.
  3. Blitzen in front of Donder, Vixen, and Dancer.
  4. Cupid in front of Comet, Blitzen, and Vixen.
  5. Donder behind Vixen, Dasher, and Prancer.
  6. Rudolph behind Prancer.
  7. Rudolph in front of Donder, Dancer, and Dasher.
  8. Vixen in front of Dancer and Comet.
  9. Dancer behind Donder, Rudolph, and Blitzen.
  10. Prancer in front of Cupid, Donder, and Blitzen.
  11. Dasher behind Prancer.
  12. Dasher in front of Vixen, Dancer, and Blitzen.
  13. Donder behind Comet and Cupid.
  14. Cupid in front of Rudolph and Dancer.
  15. Vixen behind Rudolph, Prancer, and Dasher.

The challenge is to create a decision model, but Continue reading “Reindeer Ordering”