This article is just a small introduction to databases that hopefully will help you in getting familiar with the topic. It is deliberately simple and intends to provide an overview of the domain.
A database is an organized collection of data, generally stored and accessed electronically from a computer system. The databases that are more complex, are often developed using formal design and modeling techniques. In other words, databases are the systems that store all the information that an application (simple or complex) needs in order to function. Where does Twitter store all the tweets? In a database. Where does your mobile phone store your contacts? In a database. Where is this web page stored that you are reading now? In a database. And the list keeps going.
Databases have evolved dramatically since their inception in the early 1960s. Navigational databases such as the hierarchical database (which relied on a tree-like model and allowed only a one-to-many relationship), and the network database (a more flexible model that allowed multiple relationships), were the original systems used to store and manipulate data. Although simple, these early systems were inflexible. In the 1980s, relational databases became popular, followed by object-oriented databases in the 1990s.
In general, the information contained in a database can be searched and sorted.
Databases store information using a set of structures such as:
- Flat Databases store information in columns of fields and rows of records. Yes, exactly like excel. However, more sophisticated databases allow you to specify particular types of fields like text, number, images, dates, etc.
- SQL Databases structure the information in a more efficient manner taking advantage of a set of software that goes under the name of database management systems (DBMS).
This video gives you a nice introduction:
More recently, NoSQL databases came about as a response to the growth of the internet and the need for faster processing of unstructured data. This video elaborates on the difference between relational and non-relational databases giving a few examples that are currently in use in modern applications:
Clearly, this post is just the tip of the iceberg and intends to provide an introduction to databases. This domain can be extensively studied at university level courses. This video explains the challenges of storying and maintaining information:
In addition, if you are particularly interested in the topic, you will find several open access resources online, such as this course at Stanford:Are you interested in understanding how #computers #store #data and #information? This mini #tutorial on #databases can give you a few pointers Click To Tweet
This article (Introduction to Databases and how we store information in computers) is part of a minicollection of tutorials on the building block of a software architecture