Chapter 39 - Databases #

[TODO] Start with comparison to spread sheet, explaining ‘NoSQL’ Vs ‘SQL’ and that this is Relational vs Non-Relational

[TODO] explain CRUD


Create, Read, Update, Delete


This is Opinionated Guides, so let me be clear, I really, really hate SQL. I don’t like OOP in general, and SQL is sorta like object orientation taken further. Add onto this a mostly shit syntax, like, JOINs are objectively weird to read, write, and understand. I’m not saying SQL doesn’t have it’s place: It’s reasonably good for ensuring data fits a strict structure and does make sense in cases where using OOP also makes sense. It’s just that OOP itself is over-used leading to SQL being over used. This is probably in part due to education mostly teaching SQL and it being the only type of database many students ever learn. This might make some sense if it were honestly better, but I suspect that it’s in large part taught for the same reason Java is: Sun Microsystem paid a fuck ton of money to push it- hence the “3 Billion Devices Run Java” Thing. Then, Oracle bought Java from Sun Microsystems and made the first comercially available implimention of SQL. I’m hopeful (albeit probably naively) that Oracle making Java a mess of licencesing as the ‘main’ Java Virtual Machine goes paid (Read on Wikipedia) and suing Google will be the nail in the coffin for education using it- and that SQL will be demoted to being taught along side other options along with that. Regardless of the reasons though, you should still learn it because everything uses it.

[TODO] SQL, full CRUD, joins, the works

[TODO, like, all of it. Need SQL vs Non Relational too]

Generating SQL Code with Blocks - Scratch Like Programming for SQL

SQL Servers (MySQL) #

Sanitizaing Inputs #

XKCD Drop Tables

[TODO] need image source

Key-Value (Memcached, Redis) #

Graph Databases (Neo4j, GraphQL?) #

Why not use GraphQL?

Document-Oriented Database (Couchbase) #

Other Resources #

List of Some Open Source Database Options

If you would like to support my development of OpGuides, please consider supporting me on GitHub Sponsors or dropping me some spare change on Venmo @vegadeftwing - every little bit helps ❤️