On Sun, 12 Jan 2020 15:48:05 -0700 "Keith Medcalf" <kmedc...@dessus.com> wrote:
> SQL is simply a Structured Query Language that can be overlaid on a > variety of datastore models, one of which is the Relational model. I think that's misleading, Keith, for a couple of reasons. SQL was invented by IBM expressly and specfically for its "relational" product. Its wordiness is the product of its roots in "4th generation" languages in vogue at the time, the promise of which was to permit users to "write their own reports". Hence the strict select-from-where syntax, meant to be so simple that untrained users could figure it out. While its true, as you say, that many pre-relational systems (and post-relational ones, later, feh) added SQL on their shingles, those were never coherent implementations. They were a way to say Yes! when the question was, "Do you support SQL?" > Many (most in fact) datastores require that all instances of the same > "column" in an "entity" be the same type To the extent that SQL implements relational algebra/calculus, its utility and consistency *requires* that each column be of a defined type. For example, if the query includes, where A between 0 and 1 and A is a *not* a numeric value, then the query is reduced from rigorous first-order predicate logic to gibberish. SQLite serves a particular niche very well. The choice not to enforce type constraints for declared datatypes biases the system toward ease-of-insertion. That has advantages in the SQLite problem domain, but the trade-off comes at a price: it makes SQLite *harder* to use in a rigorous way. --jkl _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users