Ready? Let’s go!
Think about a teacher entering grades into a computer program.
When the grades are entered, they have to be stored somewhere, right?
And you have to be able to go back to that place at the end of the year to make a report card for all the students by adding up their grades.
You might even need to find out a particular student’s score on an assignment on the fly if their mom comes to school.
The place you put the data has to make it easy to find again. Otherwise, it’s not much use.
That place is usually a database, which is just a program that stores data in some format and provides a way to get it back out.
Some databases are very simple and store data in a file on the computer.
Other databases are really big and complex and store data far away on a server or even multiple servers.
Servers are just big, fancy computers that sometimes have special parts.
So, a database is a system for cataloguing and storing information. Note that this includes several things:
– The hardware necessary to store the data
– The rules by which we organize the data that are stored
– The software that implements those rules and uses them to let users add/delete/lookup/alter/etc. data in the system
Technically the second could be referred to as the database’s model and third its database management system (dbms). However, in practice, people often refer to these things, both collectively and on their own, as “the database.”
There are lots of different sets of rules (models) by which we can organize data that are optimized for different purposes. However, a very common one is the relational model.
In this model you have relations, or tables of storing particular features of a class of objects. For instance, in a database of university students I may have a table of students with their ID number, major, etc. I may have a separate table of courses, with their course ID, professor, etc. I may then have a third table linking student IDs to course IDs to denote student membership in classes.
This method of storing data is very popular because it allows for very easy tracking, updating, inserting, deleting, and linking information with minimum duplication of data.
It also is very popular because there exists a standard language for interacting with relational databases, structured query language (SQL). This is a very specific programming language just for interacting with relational databases.
Hope this helps!
Enjoying the series so far, or would you prefer I cover something else?
Best,
Abi