In the previous post in this series, we saw the limitations of Microsoft excel files for storing our data. Storing of billions of pieces of data is a real challenge. Retrieving relevant data from this heap of huge amount of data is even more challenging. The root causes of problems encountered for these purposes is the sheer size of amount of data creation and later retrieving of pieces of data. Let us find out how relational databases solve this problem.
In relational databases, you can create many database tables. Each table can have many columns. You can put the most atomized data in these columns. Each table itself can hold thousands of pieces of data. But a table can not hold billions of pieces of data. This is because of the same problem we have seen as in a Microsoft excel file. In relational databases, you can create joins among tables. These joins allow the data stored in those tables to have one-to-many or many-to-many or any other kind of relationships. Due to these relationships you can store billions of pieces of data in those tables. All this data will be related to each other and so retrieval of any piece of data becomes easy. Since data is stored in many tables, retrieval or searching of data will be fast.
Relationships among tables is created through primary and foreign keys. These keys ensure that data integrity and concurrency is intact even when some data in one of the tables is either changed or deleted.
Data once written inside a relational database is extremely safe. A piece of data will only change or get deleted when it is done explicitly. Generally data manipulation tasks for a database which is part of a software product are carried out through the business logic written for software products.
Old data in a database is archived safely on data disks. Data can be archived for many years and can be easily retrieved when required.