Database Flow – modern, self-hosted web interface for SQL and GraphQL

Database Flow is a modern, Open Source, self-hosted, web-based tool for working with SQL databases and GraphQL APIs.  It supports a variety of the database engines: IBM DB2, Oracle, H2, PostgreSQL, MySQL, SQLite, Informix, and Microsoft SQL Server.  It features an advanced SQL editor, query plan analyzer, GraphQL client, schema explorer, charting, query history, and more.

The only visible downside so far is that it’s written in Java.

SQLBolt – Learn SQL with simple, interactive exercises

SQLBolt is by far the best SQL tutorial that I’ve ever seen!  Yes, I know, it’s a very bold statement.  But I promise that it’s true.

With hundreds of books, videos, and other tutorials around, the problem of delivering the understanding of data management, databases, and SQL to regular people still hasn’t been sold.  But SQLBolt provides a giant leap forward in this area.

The tutorial starts from the very basics and gets progressively more and more advanced.  But this progression is divided into small, very focused chapters.  Each chapter provides a brief description of the concept, an example query for the concept, and a set of exercises.  The exercises are all interactive, so that you don’t have to install a database or get access to a real one, and you don’t have to trust yourself on correctly solving the tasks.  The interactive exercises system marks the problem as solved the moment you type in the correct query.

If you get stuck at any point with any particular exercises, just click on the Solution link nearby, and the tutorial will show you the correct answer.  I found this to be a perfect balance between forcing the reader to try things out, but without the annoying delays for those of us who like to skip ahead.

There is really no reason now for anybody at all to learn SQL.  SQLBolt is brilliant!

Querying CSV with SQL

Excel is not the only tool available when it comes working with CSV files.  I have previously mentioned TextQL (here).  Yesterday, I tried another tool, called “q”.  But since searching for “q” is not very effective, it’s also known “q text as data“.

For those using Fedora, you can install it by simply running “dnf install q-text-as-data“.   Here’s an example of how it works:

$ q-text-as-data -H -d ',' "SELECT COUNT(DISTINCT(Project)) FROM deploy.csv"

In the above example, I’m querying the deploy.csv file, which is in the current folder. q supports both command and tab separated values, so I’m helping it out with the “-d ‘,’” parameter, saying that this particular one is a CSV. “-H” tells q that the first row in this file is used for headers. CSV files with headers are more convenient, as you can use headers as column names, instead of numerical indexes.

SQL vs NoSQL: How to Choose

SQL vs NoSQL: How to Choose” article continues the discussion of SQL vs. NoSQL from the “SQL vs NoSQL: The Differences” article.  Both should be read in full.  But I’ll keep the summary here for future use.

Continue reading SQL vs NoSQL: How to Choose

Free Data Science Books

I came across a collection of free data science books:

Pulled from the web, here is a great collection of eBooks (most of which have a physical version that you can purchase on Amazon) written on the topics of Data Science, Business Analytics, Data Mining, Big Data, Machine Learning, Algorithms, Data Science Tools, and Programming Languages for Data Science.

Most notably, there are introductory books, handbooks, Hadoop guide, SQL books, social media data mining stuff, and d3 tips and tricks.  There’s also plenty on artificial intelligence and machine learning, but that’s too far out for me.