02 - Database Evolution
02 - Database Evolution
You’ve also learned about common database projects and alternative types of
databases. In this reading, you’ll find out more about the history of database
technology and how it evolved.
The history
The history of databases begins in the 1960s with the computerization of
databases. Computers emerged as a more cost-effective option for
organizations. It also became easier to shift data storage and databases to
computers.
Flat files
Flat files databases were used during the 1970s-1990s. This is a type of
database system that stores data in a single file or table. They are basically
text files, where every line contains one record and fields either have fixed
lengths or are separated by commas, whitespaces and tabs. Such a file
cannot contain multiple tables.
Below is an example of what a flat file database looks like. This text file stores
lines of data, where each line represents a record. The fields OrderID,
CustomerID and OrderDate are separated by commas.
Think about it this way: parents can have many children, but one child can
only have one parent. In other words, the database represents a one-to-many
relationship: all attributes of a specific record are listed under an entity type.
John,
Anil
and Rohan
And there are four courses:
C#,
Perl,
Python
and Java.
Student and Course are the entity types. John takes C# and Anil takes both
Python and Java. Rohan takes Perl.
Network databases
Network databases were introduced by Charles Bachmann. Unlike the
hierarchical database model, a network database allows multiple parent and
child relationships. In other words, many-to many relationships. In network
database terminology, a child record is known as a member. A member or
child can be reached through more than one parent, which is called an
owner.
A network database has a graph-like structure, and it allows you to represent
more complex relationships among data.
In this era, a language known as the SEQUEL query language was used to
work with databases. Later on, with relational databases, this developed into
SQL (Structured Query Language) which was made a standard query
language to work with databases by the American National Standards
Institute once relational database systems were introduced.
Here’s an example of what a Relational Database would look like. Here, there
are tables with attributes/ columns that store rows/records of data in them.
The relationships between data in tables are established using key columns
known as foreign keys that are themselves primary key(s) of a given table.
For example, the primary key of the PROFESSOR table is PROF_ID and in
the CLASS table, it’s there as a foreign key. It creates the relationship
between the PROFESSOR table and the CLASS table. Another example, the
COURSE_ID is the primary key of the COURSE table, and it is there in the
CLASS table as a foreign key. It establishes the relationship between the
COURSE table and the CLASS table.
Object-oriented databases
In the 1990s, object-oriented databases were introduced. This was when the
object-oriented (OO) programming paradigm became popular and there was a
need to represent data in a system as objects as well. Unlike relational
databases, object-oriented databases work in the framework of real
programming languages like Java and C++, for example.
NoSQL databases
Relational databases that are widely used even at present only allows to store
structured data. Later on, there was a need to work more and more with
unstructured data. This was when NoSQL databases came about as a
response to the Internet and the need for faster speed and the processing of
unstructured data. NoSQL databases are preferred over relational databases
because of their speed and flexibility in storing data. It does not store data in
relations or tables that belong to a strict structure. Data can be stored in an
ad-hoc manner and they allow to store and process high volumes of different
kinds of data. NoSQL databases are capable of processing unstructured big
data that’s generated by social media, IoT and others. Therefore, social
platforms like Twitter, LinkedIn, Facebook, and Google for example makes
use of NoSQL databases.