So what is a database so far we've talked a lot about ask you all, we talked about queries, we talked
about why we use Google, we even talked about why it's called a declarative language, but we didn't
really talk much about what a database actually is.
We gave it a short definition, which was it's a structured set of data that is structured in a certain
way to scale with organizations that have massive quantities of data.
Now, databases are our modern day interpretation of how to organize data.
But before databases were around, we had something called file processing systems.
This is the precursor to the modern database.
And the reason I'm zooming in on this is because to know where we are, I find it important to know
where we came from.
So file processing systems were a massive leap ahead, especially in terms of, you know, we used to
have cabinet systems and filing systems on paper.
These file processing systems were software based and they were a huge leap ahead of whatever we had
back in the day.
But they had their flaws.
First of all, you were saving data on individual files, right?
And there was no correlation between the files.
What do I mean by that?
There were no relationships between the data.
You basically were creating systems to save particular types of data.
Let's say you had a real estate firm in one part of the system.
You would keep all of the listings in the second part of the system.
You would keep all of the customers.
And in the third part of the system, you would keep all of the sales.
But there wasn't really any relationship between the data.
Now, what do I mean by that?
Of course, what purchases?
You would know which customers did the purchase, but the limitation lied in the fact that.
If a customer changed over here, the change wouldn't go all the way through to the sale, you basically
were copying customer information into the sale.
So whenever the customer, let's say, changed their employment or changed their address or changed
your phone number, the update would happen here.
But the previous sale would not get the reference to the new information.
So file processing systems had a lot of benefits, but a lot of negatives because you were building
custom software in specific coding languages like Java that would manage your data.
You were doing it all, all the programmers, the coders, the developers, whatever you want to call
them, they were building their own systems and that's what we call file processing systems.
In terms of file processing systems for a user, you would be talking to the computer and some specific
coding language, let's say Python or Java would be talking directly to the machinery.
And this, like I said, was a large disadvantage because you had all of this management to do in Python
or Java or whatever other language you had.
The software was so customized to the system, you even needed to know how your data was being stored,
what hard drives you were using, what software was running on the server, whether it be Mac, Windows,
Linux, you needed to know all of that in order to write the software.
So there was a lot of overhead here.
On top of that, the user didn't really care about what system was managing the data.
Yet every system was specific to what type of data you could build a customer entry software and then
you could build a sales software.
And all of these systems did not have common ground.
What do I mean by that?
They were all built custom, so the user needed to know each and every particular system in order to
work efficiently, not to mention all of the flaws.
So back into the limitations, let's say you had a school system.
What you can see here is clearly that the student system, the exam system and the library system were
completely independent from each other.
So let's say an exam recommended certain books.
The exams database didn't necessarily know how the library was storing their data and the library data
didn't necessarily know how students were storing their data.
All of these systems were independent.
That means all of the way that the files were stored were different.
There was no common model.
Now, what is a model?
Well, a model is just a way of saying, hey, my data is going to follow this structure.
We're going to have columns and rows and columns.
I'm going to put this in Columbia.
I'm going to put this.
You would put together a system of how your data would be structured.
And if all of the data followed a similar model, they could talk to each other.
But back in the day they didn't.
That means if a student were to loan a book to study for a particular exam, the library would copy
the student data and then store it with the rental and the exam would copy the student data when the
student took the exam.
So you would have a bunch of redundant data, not to mention that all of the data was isolated and none
of the systems could talk to each other.
These are huge limitations.
Now, in comes a data base oriented approach where we migrated to a singular system.
This is fascinating.
Let's dive a bit deeper into this.