Replies in-line
They are making a decent decision. SQL is a *fucking terrible* language, which I don’t blame them for not wanting to learn.
Based on what criteria?
The whole industry, programming languages, infrastructure, everything would have developed differently if relations were a natural, pleasurable thing to use in any programming language. Like an Array, or a Hash.
Thee is nothing natural about either relations or arrays and
hashes/dictionaries. Relations are pretty literal implementation
of the basic set theory. Having a decent understanding of the
basic set theory is a condition for understanding SQL. Now, we
can discuss whether a language implementing a mathematical theory
is "good" or "bad", whatever the meaning of "good" or "bad" in the
given context. Historically, SQL is a good fit for the banking
business and accounting and that is why it is still around.
Another misconception about SQL is treating it as a general purpose programming language. SQL is data description language, nothing more, nothing less. It doesn't need loops, arrays, hashes or subroutines, its principal purpose is to describe a subset of data. Without SQL you would have to read all the data and filter the unnecessary stuff yourself. Furthermore, part of SQL are so called "ACID requirements". Transaction can only see the data that was committed before the transaction has begun. Implementing ACID takes a lot of code, that's what MVCC is all about. However, that too has its origins in accounting. You cannot pay the money you don't have. And the last thing about SQL is transaction management. Without relational databases and SQL, you would need a proprietary transaction manager, just like MongoDB. And MongoDB has a complex proprietary transaction manager and is losing market share. So, to recapitulate:
- Declarative subset definition
- ACID consistency
- Transaction management
- Ideal fit for accounting.
That is why SQL is still around. And that is why we all live in a
yellow subroutine (this reference is not for the millennials or
younger).
-- I'll speak the key, the whole key and nothing but the key, so help me Codd. Mladen Gogala Database Consultant Tel: (347) 321-1217 https://dbwhisperer.wordpress.com