Google
 

Friday, September 7, 2007

Semantic Data Language | J.H. ter Bekke tribute site

Another item to turn SQL DBA heads, and probably the future of Data Warehousing.  No joins and no NULL values.  Semantic Data Model & SDL is the way to go.

The semantic language does not allow for join-operations; it requires applying paths really existing in the underlying data model. The first step is to derive the required number of employees per department, using the temporal attribute “department its number”:

extend department with number = count employee
where town = “Amsterdam”
per department.

value minimum = min department its number.

get department where number = minimum.

The term “per” means the same as “for each”, which most probably is easier to understand then “GROUP BY”: if an empty sub set of data is involved in a join combined with the “GROUP BY” construct then an incomplete, thus incorrect query result is possible! Here we have the strange situation that a seemingly semantically correct SQL-query produces a result of which the correctness depends on the actual contents of the database!

In the semantic approach NULL-values do not occur in the database.

Semantic Data Language | J.H. ter Bekke tribute site

1 comment:

martin van nijnatten said...

Troy - out of interest, where and how
did you find this info and how much do you
know about semantic modeling?

-- Martin