SQL: Old Soldiers Never Die

Structured Query Language (SQL) has been a phenomenally useful language for the relational database era. But I see that era coming to a close.

One of the primary flaws is SQL allows for database Alters, Drops, Updates and Deletes. When diskspace was expensive this made perfect sense, but with the unlimited disk resources we have today a greater principle holds true: NO SCHEMA OR DATA SHOULD BE ALTERED, DROPPED, UPDATED OR DELETED.

A second flaw is the lack of interactive modification of the schema in real time. Changes still blow most applications all to hell.

A third flaw is supertype/subtype hierarchies. Such things should not be hard coded into a design.

That being the case SQL has four unnecessary statements just waiting to be abused. We need a better language. In fact, we need a better database architecture.

A new language would provide no means for updates or deletes. I created the first Releases of this language I called “Structured Thinking Language” (STL).

STL has the following commands:

  1. CREATE – affordance concept (creates entities)
  2. DIRECT – affordance context (relates entities)
  3. POSIT – affordance method (entity output)
  4. OBJECT – affordance pragma (entity input)
  5. NEGATE – affordance cosmos (entity security)
  6. INTUIT – affordance chronos (entity manipulation)

As you can see there are no means to delete data.

Each entity (noun) has only one “attribute” in the relational ERD sense and each entity value is unique.

Each relationship between entities is called an direction with a subject, verb and object.

What we are actually dealing with is a database that has data states. Data being no longer affected by Alters and Deletes are instead affected by change of state without physical alteration or deletion.

After looking at STL recently I realized I had created a command language for an existing database architecture: The Associative Model of Data by Simon Williams.

The Book on the Model and a free copy of the Enterprise Edition software is available here.

An old release of STL can be found here.




Since I created the Six Hats, Six Coats metaphor I have made several modifications to the language used. It has lead me to come up with what I call the Structured Thinking Language (STL). I am working on the syntax and will discuss this in later posts. The one term I want to draw attention to in this post is in the left column, the new verb “INTUIT”.

I have chosen the verb “INTUIT” first, because of Edward de Bono’s inspiring six thinking hats, second because I do not like the verb “develop”. To intuit is in part to provide the materials and know how to build the system based on the result of the REDUCE statement. The other part is consideration of the origins, physical and cultural development, biological characteristics, social customs and beliefs of the users to create affordances. The use of the term “affordance” is much broader than and includes Donald A. Norman’s usage in The Design of Everyday Things. In STL an “affordance” is synonymous to the Zachman Framework’s “focus”. A complete system is composed of motivational, spatial, formal, functional, personal and temporal affordances which are complete intuitively designed subsystems including the appropriate intuitive cues. I want to use a word that implies not only developing, but developing with the REDUCE result and the intuition of persons who interact with the system as primary considerations.