3 ms·
> SQL was originally designed for non-technical users to interact with the database, however, it's used almost exclusively by software developers peppering it t
by skadamat 4y ago
> SQL was originally designed for non-technical users to interact with the database, however, it's used almost exclusively by software developers peppering it throughout their applications.
Interesting claim! In my experience, the # of data analysts / BI analysts / etc that write and have mastered SQL vastly exceeds the # of web developers (especially if we focus on developers actually writing SQL instead of using ORMs)
- benbjohnson 4y agoThat's a good point. My claim is probably too specific to software developers. Maybe I should have said "technical users" instead. I was paraphrasing from the Donald Chamberlin quote in the last section of the linked PDF[1]: "When Ray and I were designing Sequel in 1974, we thought that the predominant use of the language would be for ad-hoc queries by planners and other professionals whose domain of expertise was not primarily database management... Over the years, I have been surprised to see that SQL is more frequently used by trained database specialists to implement repetitive transactions such as bank deposits, credit card purchases, and online auctions. I am pleased to see the language used in a variety of environments, even though it has not proved to be as accessible to untrained users as Ray and I originally hoped." [1] https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6359709 https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6359709
- jgilias 4y agoI wonder what was the intended way of interacting with the database for technical users?
- benbjohnson 4y agoI don't have any evidence to back this up but my guess is that the underlying key/value store & cursor APIs were probably the intended way for programmers to interact with the database. SQL came out in the 1970s so every ounce of performance was important.
- ok_dad 4y agoThe VM described in this post? I would imagine other databases have a similar VM?
- tyingq 4y agoThere's a pretty in-depth overview of that here: https://people.eecs.berkeley.edu/~brewer/cs262/SystemR.pdf https://people.eecs.berkeley.edu/~brewer/cs262/SystemR.pdf Where the original Sequel authors took their Sequel spec and implemented it on real hardware + software, with interfaces for both "non-technical" ad-hoc queries as well as integration with PL/1 and COBOL for more technical users. I have "non-technical" in quotes since in that 1970/80's timeframe, you had to be pretty technical to even have that label.
- jgilias 4y agoPerfect, thanks! Exactly what I was hoping for someone would provide!
- xani_ 4y agoIt would be probably other way around if browsers, that just use sqlite underneath, exposed it as offical API for storing data and not that abortion of a database called IndexedDB
- sgbeal 4y agoFunnily enough: the WebSQL standardization effort was abandoned _because_ all implementors were basing theirs on sqlite (citation: https://www.w3.org/TR/webdatabase/ https://www.w3.org/TR/webdatabase/). By convention, standards efforts (except for the one Microsoft bought from I$O for their office format) require two competing implementations, in order to demonstrate that the standard isn't entirely dependent on one provider.
- paulhodge 4y agoYeah I think it's mostly a piece of fun trivia at this point. If we're talking about designing an interface for non-technical users to interact with the data (an interesting topic), then a modern one would probably look more like the omni-search bars that are part of Splunk/Datadog/etc. Those make it drastically easy to find data (with tableless text-based search by default), and easier to aggregate it too (with the left-to-right pipe | syntax).