Domain Specific Languages with SQL and Table oriented programming
The article talks about how we can create a domain specific language out of regular SQL by using a technique called "Table Oriented Programming" to model the database.I am working on the mathematical therom as to why this is possible( i feel TOP is "domain specific anti-normalisation") but that is the content of another post after some research.This article assumes a pragmatic(sloppy and loose) definition of domain specific languages. I consider a domain specific language to be a language which will help me write programs closer to the domain or a DSL according to me is one in which the code can nearly looks like a specification in that domain.
Also this being a domain specific language for the programmers(who write data processing applications) it does not pass the elbow test. In short, this is a domain specific languages for programmers who are domain specialists not the other way round.
Although the article sticks to standard ANSI SQL as much as posible, real programs use database-specific extensions which are often non-portable. But still this makes lot of sense when used in applications or in open source databases.But recent extensions like adding SQL as a core syntax to the language( ex:LINQ) might allieviate this problem.
If i am not wrong,Martin Fowler calls such databases 'Application Databases'.