dis what you get for working with 19 year old kids with inflated egos whom you only hired to worship you. Also when someone who is not an expert in a field has the confidence to make grand claims about practices in that field, it is a very nice litmus paper telling you that person is generally bullshitting.
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
https://xcancel.com/elonmusk/status/1889062581848944961
thought the replies would be better. Some people deducted that it uses plain text.
I'm sure he has an alternative, like tattooing it on the forearms of 'undesirables'.
Ok genuine question, what is the difference between a SQL database and a simple Excel spreadsheet?
In the context of this tweet most important differences are:
SQL is a language for querying databases.
Most common used databases are relational databases. With relational databases you can setup, well, relations and constraints.
Imagine you have 2 tables (2 excel sheets) one with people, and one with home ownership. You can set the following constraint: (1) each person shows up only once in the people table. And the following relation: (2) every home owner must refer to an existing person in people table.
When modifying the table contents, the system checks if no constraints or relations are violated.
Excel, just like a badly designed relational databse, would, for example, have no problem with duplicate people, or home ownership referring to non-existant people.
Sql Database:
- Tables: like excel sheets
- Rows: like excel rows
- Temp Tables: you can make a throw away table where data is all organized how you need it and it just goes away when you're done.
- Indexes: stores information about all the data to speed up searches. you can have 10 million rows in SQL and still get pretty quick results.
- Relational data store: The default in SQL is to do a kind of inter-sheet linking. You can set up references so that if you delete a line in one of the linked sheets, it won't let you because there's an active reference to it in another sheet. Like if you try to delete the Ohio Row from the states table, it can be made so that you can't because users are linked to Ohio in their another sheet. (data integrity)
- Joins: You can logically link multiple tables together. Your data can be structured over many many tables with a one to many relationship, so massive reduction in storage and memory needs.
- Memory: SQL only uses enough memory to load what you're using. You can have a 100GB database and maybe get away with a few gigs of ram. Excel needs to load everything into ram.
- Transaction: SQL can wrap a series of operations into a transaction. If there's something wrong with the data, it can rollback everything that happened in the transaction. You can safely operate on large amounts of data without danger of corrupting it if you do something wrong.
- Procedures: SQL can store off code and compile it down to be much much faster. you can surface just a simple function instead of full db access and end users have a hard time hacking apps to get data they shouldn't see out of the database.
- Replicas: You can set up a secondary server with the same databases and chain them so that the origin server takes all the changes and the secondary server is a backup, read-only replica.
- Incremental backups: You can set up the servers so that the changes are noted day in and day out, so if you have a REALLY large database, you can restore it to any point in time with just a regular backup and all the logs for the day up to the latest.
Excel Database:
- Tables and Rows
- Easy to edit in a client everyone has
- Supports some decent macro capability
- Can be problematic when more than one person is editing at the same time
- Can struggle with large datasets.
- really likes to misinterpret data as dates
- doesn't do most of what *sql can do
- edit: wrong word