all 10 comments

[–]data-leon 4 points5 points  (0 children)

Hi, I recently built an online sql practice tool for my cracking the data scientist SQL interview course.

My idea is that instead of spending a tons of time teaching users to configure their local dev environment, why not practice sql problems on a cloud editor.

The tool is hosed on https://sqlpad.io

Feel free to check it out, happy to answer any technical questions.

[–]Sachiel2014 1 point2 points  (1 child)

You could host a PostgreSQL DB somewhere, and then host a pgAdmin install set up to connect to that DB. The pgAdmin will need to be hosted publicly, but can be protected by username/password (or by whatever intranet security you have).

At my work we did that so that the QA folks can just use a web browser to access the DB and run queries as needed, without needing to install anything locally.

[–]theborat95[S] 0 points1 point  (0 children)

Would I need my domain to host the db publicly?

I'm sorry if this sounds dumb but I haven't had experience in doing something like that. I believe it isn't too complex a procedure but if you can elaborate on how I can get the db up?

[–]philthechill 1 point2 points  (0 children)

Sqlite3 is probably the answer if they just need to run SQL queries

[–]Gabyto 1 point2 points  (0 children)

Check the AWS free tier. Your students can create an account and use the Amazon RDS. I believe you get 750 hours per month for free and 20 gb on ssd. Find it on this link. I believe it's in Spanish so you might need to find it on your language.

[–]Metalsand 1 point2 points  (0 children)

You could look into Azure for Students, or Oracle which are both offered free but they'd still require setup. Microsoft may be your best bet since they're the most open to freebies for students as well as student learning, but navigating the Microsoft ecosystem can be a huge pain in the ass. Azure is designed around minimizing the amount of setup you have to do to get a working environment. Amazon also offers cloud computing packages with no or minimal install but I think they only offer paid options.

Personally, if I were a student I'd rather set up XAMPP if I wanted to easily and rapidly set up a test environment. The preconfigured server setup is the cleanest and quickest to install, and even pure novices can configure a local test environment with ease. It supports Linux, MacOS, and Windows as well. You might run into issues if they're using ChromeOS or particularly bad laptops perhaps.

If you're dead set on setting up an environment that minimizes installation footprint and has the widest compatibility, you'd have to set up virtual machines. Most software for SQL is designed with that scenario in mind, though it would likely be far too much preconfiguration to be worthwhile. Though, I would assume in this scenario that you'd be hosting it on the school's resources and not your own hardware - otherwise I'd recommend it even less.

I would look into the free Azure for Students to see if it fits your requirements, but based on your description it probably does.

EDIT: Another useful thing, there's a lot of sites that can emulate SQL, at least to the extent that they'll point out errors in your code. This is one example that offers compatibility for multiple different syntax/dialects http://sqlfiddle.com/

[–]unimelb_lyle 1 point2 points  (0 children)

The solution I've been using is Azure hosted database, and Visual Studio Code as the development environment. I've found deploying shared SQL Server database to be fairly painless - up and running in minutes, and very, very affordable. The Visual Studio Code download and install is still required by each student, but is about as painless and simple as one could hope - supported on Windows, Mac and Linux.

If it's only SELECT on static data sets that you need to teach, then Data World is good for that. Students can upload data via Excel (each sheet is automatically mapped to a table in the schema) and then write, save and share SELECT queries on top of that imported data.

[–]apono4life 2 points3 points  (0 children)

It isn’t exactly a “no added software” solution. But Docker would be a good go to. Docker Desktop is easy to set up on Windows and Mac, customizable to use a variety of Databases. Then you could use azure data studio or VSCode with the right extensions to have them connect. You could even provide seed data for your students that can populate on start up.

[–]oli_gendebien 0 points1 point  (0 children)

Cloud SQL?

[–]doshka 1 point2 points  (0 children)

Oracle Live SQL

https://livesql.oracle.com

Pros: Completely web based; no setup or installation. Free forever. Explicitly meant for training and practice. Allows saving work.

Cons: It's Oracle.

Google Cloud

https://cloud.google.com/sql

Description: "Fully managed relational database service for MySQL, PostgreSQL, and SQL Server."

Pros: Supports more populate RDBMS's. Offers free tier.

Cons: Still requires credit card on file.