this post was submitted on 14 Feb 2025
482 points (96.9% liked)

No Stupid Questions

37462 readers
1365 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 2 years ago
MODERATORS
 

I'm a tech interested guy. I've touched SQL once or twice, but wasn't able to really make sense of it. That combined with not having a practical use leaves SQL as largely a black box in my mind (though I am somewhat familiar with technical concepts in databasing).

With that, I keep seeing [pic related] as proof that Elon Musk doesn't understand SQL.

Can someone give me a technical explanation for how one would come to that conclusion? I'd love if you could pass technical documentation for that.

top 50 comments
sorted by: hot top controversial new old
[–] nednobbins@lemm.ee 15 points 6 days ago* (last edited 6 days ago) (1 children)

It’s so basic that documentation is completely unnecessary.

“De-duping” could mean multiple things, depending on what you mean by “duplicate”.

It could mean that the entire row of some table is the same. But that has nothing to do with the kind of fraud he’s talking about. Two people with the same SSN but different names wouldn’t be duplicates by that definition, so “de-duping” wouldn’t remove it.

It can also mean that a certain value shows up more than once (eg just the SSN). But that’s something you often want in database systems. A transaction log of SSN contributions would likely have that SSN repeated hundreds of times. It has nothing to do with fraud, it’s just how you record that the same account has multiple contributions.

A database system as large as the SSA has needs to deal with all kinds of variations in data (misspellings, abbreviations, moves, siblings, common names, etc). Something as simplistic as “no dupes anywhere” would break immediately.

[–] MathiasTCK@lemmy.world 9 points 6 days ago (2 children)

SSN is also not a valid unique key, there have been situations with multiple people issued the same SSN:

https://en.wikipedia.org/wiki/Social_Security_number

[–] nednobbins@lemm.ee 2 points 6 days ago

Yeah. And the fix for that has nothing to do with "de-duping" as a database operation either.

The main components would probably be:

  1. Decide on a new scheme (with more digits)
  2. Create a mapping from the old scheme to the new scheme. (that's where existing duplicates would get removed)
  3. Let people use both during some transition period, after which the old one isn't valid any more.
  4. Decide when you're going to stop issuing old SSNs and only issue new ones to people born after some date.

There's a lot of complication in each of those steps but none of them are particularly dependant on "de-duped" databases.

[–] DacoTaco@lemmy.world 2 points 6 days ago (1 children)

Just read the format of the us ssn in that wikipedia. That wasnt a smart format to use lol. Only supports 99*999 ( +/- 100k ) people per area code. No wonder numbers are reused.
In some countries its birthday+sequence number encoded with gender+checksum and that has been working since the 80's.
Before that was a different number, but it wasnt future proof like the us ssn so we migrated away in the 80's :')

[–] Wispy2891@lemmy.world 3 points 6 days ago (1 children)

In my country the only way that someone has the same number is if someone was born on the same day (±1 century), in the same city and has the same name and family name. Is extremely difficult to have duplicates in that way (exception: immigrants, because the "city code" is the same for the whole foreign country, so it's not impossible that there are two Ananya Gupta born on the same day in the whole India)

[–] DacoTaco@lemmy.world 2 points 6 days ago* (last edited 6 days ago)

Oh ye, our system wouldnt fit india as its limited to 500 births a day ( sequence is 3, digits and depending if its even or uneven describes your gender ). Your system seems fine to me and beats the us system hands down haha

[–] KillingTimeItself@lemmy.dbzer0.com 10 points 6 days ago* (last edited 6 days ago) (1 children)

TL;DR de-deuplication in that form is used to refer a technique where you reference two different pieces of data in the file system, with one single piece of data on the drive, the intention being to optimize file storage size, and minimize fragmentation.

You can imagine this would be very useful when taking backups for instance, we call this a "Copy on Write" approach, since generally it works by copying the existing file to a second reference point, where you can then add an edit on top of the original file, while retaining 100% of the original file size, and both copies of the file (its more complicated than this obviously, but you get the idea)

now just to be clear, if you did implement this into a DB, which you could do fairly trivially, this would change nothing about how the DB operates, it wouldn't remove "duplicates" it would only coalesce duplicate data into one single tree to optimize disk usage. I have no clue what elon thinks it does.

The problem here, as a non programmer, is that i don't understand why you would ever de-duplicate a database. Maybe there's a reason to do it, but i genuinely cannot think of a single instance where you would want to delete one entry, and replace it with a reference to another, or what elon is implying here (remove "duplicate" entries, however that's supposed to work)

Elon doesn't know what "de-duplication" is, and i don't know why you would ever want that in a DB, seems like a really good way to explode everything,

[–] valtia@lemmy.world 2 points 6 days ago (2 children)

i genuinely cannot think of a single instance where you would want to delete one entry, and replace it with a reference to another

Well, there's not always a benefit to keeping historical data. Sometimes you only want the most up-to-date information in a particular table or database, so you'd just update the row (replace). It depends on the use case of a given table.

what elon is implying here (remove “duplicate” entries, however that’s supposed to work)

Elon believes that each row in a table should be unique based on the SSN only, so a given SSN should appear only once with the person's name and details on it. Yes, it's an extremely dumb idea, but he's a famously stupid person.

[–] KillingTimeItself@lemmy.dbzer0.com 1 points 5 days ago (1 children)

Well, there’s not always a benefit to keeping historical data. Sometimes you only want the most up-to-date information in a particular table or database, so you’d just update the row (replace). It depends on the use case of a given table.

in this case you would just overwrite the existing row, you wouldn't use de-duplication because it would do the opposite of what you wanted in that case. Maybe even use historical backups or CoW to retain that kind of data.

Elon believes that each row in a table should be unique based on the SSN only, so a given SSN should appear only once with the person’s name and details on it. Yes, it’s an extremely dumb idea, but he’s a famously stupid person.

and naturally, he doesn't know what the term "de-duplication" means. Definitionally, the actual identity of the person MUST be unique, otherwise you're going to somehow return two rows, when you call one, which is functionally impossible given how a DB is designed.

[–] valtia@lemmy.world 1 points 5 days ago (1 children)

in this case you would just overwrite the existing row, you wouldn’t use de-duplication because it would do the opposite of what you wanted in that case.

... That's what I said, you'd just update the row, i.e. replace the existing data, i.e. overwrite what's already there

Definitionally, the actual identity of the person MUST be unique, otherwise you’re going to somehow return two rows, when you call one, which is functionally impossible given how a DB is designed.

... I don't think you understand how modern databases are designed

… That’s what I said, you’d just update the row, i.e. replace the existing data, i.e. overwrite what’s already there

u were talking about not keeping historical data, which is one of the proposed reasons you would have "duplicate" entries, i was just clarifying that.

… I don’t think you understand how modern databases are designed

it's my understanding that when it comes to storing data that it shouldn't be possible to have two independent stores of the exact same thing, in two separate places, you could have duplicate data entries, but that's irrelevant to the discussion of de-duplication aside from data consolidation. Which i don't imagine is an intended usecase for a DB. Considering that you literally already have one identical entry. Of course you could simply make it non identical, that goes without saying.

Also, we're talking about the DB used for the social security database, not fucking tigerbeetle.

[–] DacoTaco@lemmy.world 1 points 6 days ago* (last edited 6 days ago) (1 children)

Ssn being unique isnt a dumb idea, its a very smart idea, but due to the us ssn format its impossible to do. Hence to implement the idea you need to change the ssn format so it is unique before then.

Also, elons remark is stupid as is. Im sure the row has a unique id, even if its just a rowid column.

[–] KillingTimeItself@lemmy.dbzer0.com 1 points 5 days ago* (last edited 5 days ago)

Also, elons remark is stupid as is. Im sure the row has a unique id, even if its just a rowid column.

even then, i wonder if there's some sort of "row hash function" that takes a hash of all the data in a single entry, and generates a universally unique hash of that entry, as a form of "global id"

Billionaires are stealing our dollars, tax or otherwise.

If there are timestamped records for things like name changes then you'd get "duped" SSNs

[–] vorb0te@lemmynsfw.com 2 points 6 days ago

He could also refer to the mere possibility of having duplicates which does not mean there are duplicates. And even then it could be by accident. Of course db design could prevent this. But I guess he is inflating the importance of this issue.

[–] 9point6@lemmy.world 290 points 1 week ago (1 children)

The statement "this [guy] thinks the government uses SQL" demonstrates a complete and total lack of knowledge as to what SQL even is. Every government on the planet makes extensive and well documented use of it.

The initial statement I believe is down to a combination of the above and also the lack of domain knowledge around social security. The primary key on the social security table would be a composite key of both the SSN and a date of birth—duplicates are expected of just parts of the key.

If he knew the domain, he would know this isn't an issue. If he knew the technology he would be able to see the constraint and following investigation, reach the conclusion that it's not an issue.

The man continues to be a malignant moron

[–] spankmonkey@lemmy.world 30 points 1 week ago* (last edited 1 week ago) (21 children)

The initial statement I believe is down to a combination of the above and also the lack of domain knowledge around social security. The primary key on the social security table would be a composite key of both the SSN and a date of birth—duplicates are expected of just parts of the key.

Since SSNs are never reused, what would be the purpose of using the SSN and birth date together as part of the primary key? I guess it is the one thing that isn't supposed to ever change (barring a clerical error) so I could see that as a good second piece of information, just not sure what it would be adding.

Note: if duplicate SSNs are accidentally issued my understanding is that they issue a new one to one of the people and I don't know how to find the start of the thread on twitter since I only use it when I accidentally click on a link to it.

https://www.ssa.gov/history/hfaq.html

Q20: Are Social Security numbers reused after a person dies?

A: No. We do not reassign a Social Security number (SSN) after the number holder's death. Even though we have issued over 453 million SSNs so far, and we assign about 5 and one-half million new numbers a year, the current numbering system will provide us with enough new numbers for several generations into the future with no changes in the numbering system.

load more comments (21 replies)
[–] missingno@fedia.io 94 points 1 week ago (2 children)

Because SQL is everywhere. If Musk knew what it was, he would know that the government absolutely does use it.

load more comments (2 replies)
[–] darkmarx@lemmy.world 72 points 1 week ago (13 children)

"The government" is multiple agencies and departments. There is no single computer system, database, mainframe, or file store that the entire US goverment uses. There is no standard programming language used. There is no standard server configuration. Each agency is different. Each software project is different.

When someone says the government doesn't use sql, they don't know what they are talking about. It could be refering to the fact that many government systems are ancient mainframe applications that store everything in vsam. But it is patently false that the government doesn't use sql. I've been on a number of government contracts over the years, spanning multiple agencies. MsSQL was used in all but one.

Furthermore, some people share SSNs, they are not unique. It's a common misconception that they are, but anyone working on a government software learns this pretty quickly. The fact that it seems to be a big shock goes to show that he doesn't know what he is doing and neither do the people reporting to him.

Not only is he failing to understand the technology, he is failing to understand the underlying data he is looking at.

load more comments (13 replies)
[–] natecox@programming.dev 65 points 1 week ago (9 children)

Because a simple query would have shown that SSN was a compound key with another column (birth date, I think), and not the identifier he thinks it is.

load more comments (9 replies)
[–] SloppyPuppy@lemmy.world 60 points 1 week ago* (last edited 1 week ago) (6 children)

As a data engineer for the past 20+ years: There is absolutely no fucking way that the us gov doesnt use sql. This is what shows that he’s stupid not only in sql but in data science in general.

Regarding duplications: its more nuanced than those statements each side put. There can be duplications in certain situations. In some situations there shouldnt be. And I dont really see how duplications in a db is open to fraud.

load more comments (6 replies)
[–] GaMEChld@lemmy.world 55 points 1 week ago (10 children)

Because of course the government uses SQL. It's as stupid as saying the government doesn't use electricity or something equally stupid. The government is myriad agencies running myriad programs on myriad hardware with myriad people. My damned computers at home are using at least 2-3 SQL databases for some of the programs I run.

SQL is damn near everywhere where data sets are found.

load more comments (10 replies)
[–] Generica@lemmy.world 53 points 1 week ago* (last edited 1 week ago) (5 children)

Musk's statement about the government not using SQL is false. I worked for FEMA for fourteen years, a decade of which was as a Reports Analyst. I wrote Oracle SQL+ code to pull data from a database and put it into spreadsheets. I know, I know. You're shocked that Elon Musk is wrong. Please remain calm.

load more comments (5 replies)
[–] ThePowerOfGeek@lemmy.world 47 points 1 week ago (1 children)

Elon Musk is the walking talking embodiment of the Dunning-Kruger effect.

[–] utopiah@lemmy.world 2 points 6 days ago

100%

What's fascinating is you can take pretty much ANY topic, beside scamming at scale because there he truly is a master, you have some knowledge about and see very fast that he has no fucking clue. From engineering to video game, the guy has no idea. Sure his entourage, paid or not, might actually be World expert about said topic, but not him. So obvious.

[–] Hawk@lemmynsfw.com 43 points 1 week ago* (last edited 1 week ago) (17 children)

Its because the comments he made are inconsistent with common conventions in data engineering.

  1. It is very common not to deduplicate data and instead just append rows, The current value is the most recent and all the old ones are simply historical. That way you don't risk losing data and you have an entire history.
    • whilst you could do some trickery to deduplicate the data it does create more complexity. There's an old saying with ZFS: "Friends don't let friends dedupe" And it's much the same here.
    • compression is usually good enough. It will catch duplicated data and deal with it in a fairly efficient way, not as efficient as deduplication but it's probably fine and it's definitely a lot simpler
  2. Claiming the government does not use SQL
    • It's possible they have rolled their own solution or they are using MongoDB Or something but this would be unlikely and wouldn't really refute the initial claim
    • I believe many other commenters noted that it probably is MySQL anyway.

Basically what he said is ~~incoherent~~ inconsistent with typical practices among data engineers ~~to anybody who has worked with larger data.~~

In terms of using SQL, it's basically just a more reliable and better Excel that doesn't come with a default GUI.

If you need to store data, It's almost always best throw it into a SQLite database Because it keeps it structured. It's standardised and it can be used from any programming language.

However, many people use excel because they don't have experience with programming languages.

Get chatGpt to help you write a PyQT GUI for a SQLite database and I think you would develop a high level understanding for how the pieces fit together

Edit: @zalgotext made a good point.

load more comments (17 replies)
[–] knightly@pawb.social 31 points 1 week ago* (last edited 1 week ago) (5 children)

To oversimplify, there are two basic kinds of databases: SQL (Structured Query Language, usually pronounced like "sequel" or spelled aloud) and noSQL ("Not Only SQL").

SQL databases work as you'd imagine, with tables of rows and columns like a spreadsheet that are structured according to a fixed schema.

NoSQL includes all other forms of databases, document-based, graph-based, key-value pairs, etc.

The former are highly consistent and efficient at processing complicated queries or recording transactions, while the latter are more flexible and can be very fast at reads/writes but are harder to keep in sync as a result.

All large orgs will have both types in use for different purposes; SQL is better for banking needs where provable consistency is paramount, NoSQL better for real-time web apps and big data processing that need minimal response times and scalable capacity.

That Musk would claim the government doesn't use SQL immediately betrays him as someone who is entirely unfamiliar with database administration, because SQL is everywhere.

load more comments (5 replies)
load more comments
view more: next ›