Wed Nov 2 15:03:27 EDT 2011

Relational Databases

I don't know much about relational databases[1].  However, I did read
the chapter on relational programming in CTM[2] again yesterday, and
was reminded that relational programming is essentially logic

CTM uses the Oz language to unify (!) a lot of different programming
concepts, essentially by separating variable and values, allowing to

  - variable creation (here's this variable)
  - variable binding (that variable is the same as this variable)
  - value creation (this variable has that value)

The interesting thing here is that you can have both directed
(functional, dataflow) but also undirected information flow, which is
essentially logic programming.

The big deal in programming with relations (predicates) is exactly
that: information can flow in many directions.  This is the SQL
"WHERE" clause.

[1] http://en.wikipedia.org/wiki/Relational_database