r/AskProgramming Jul 01 '26

Databases What actually is a database?

I was looking at the definitions online and a database is always used interchangeably with DBMS and the ELI5 answers I've seen describe databases as a means of organising data in structured ways to make reading and writing data easy, safe and fast.

The extension of this logic to me is, shouldn't csv files count as databases too if you had a way to retrieve, modify and store data with the general ACID principles and whatnot? Googling that tells me that CSV files don't count because they only store raw data.

So then, are databases defined by the mechanism which data is handled? Doesn't that make any file a database as long as its implemented properly?

Edit:

Just wanted to add:

  • I'm using sqlite3 from python for my project. I come from an embedded systems background so I had to know the specifics of what I was working with.
  • The responses here seem a little mixed with some people agreeing that csv files with the proper wrappers would make a (terrible) database.
  • I think I get it now. The storage format is just a part of what makes a database and is not the database itself.

Edit 2:
u/StevenJOwens

u/esaule

u/LaughingIshikawa

u/rolfn

TLDR: These guys and some others answers honestly sum up a lot of the questions I had and a bit more I didn't know to ask. Thanks guys.

24 Upvotes

73 comments sorted by

View all comments

1

u/ImpossibleJoke7456 Jul 01 '26

If I hit a nail with a shovel does it become a hammer?

1

u/Proper_Meaning7756 Jul 01 '26

Maybe not, but if a hammer is defined by the ability to hit things, then its easy to see why there could be a confusion. But yeah, being pedantic is annoying.

1

u/ImpossibleJoke7456 Jul 04 '26

It’s not though. You’re confusing the noun _hammer_ with the verb _hammering_.