What is a Database?

A database is a collection of data, stored in a logical and structured manner.

The way in which data is organised, allows for efficient retrieval of the data. Data can be viewed, inserted, updated, and deleted as required.

Most modern databases are built with database software such as Microsoft Access, SQL Server, MySQL, etc. But strictly speaking, a database could be a simple as an Excel spreadsheet or even a text file.

In fact, a database doesn’t necessarily need to be on a computer. A database could be paper-based. This is how data used to be stored before computers were created. Businesses and government agencies would maintain all data on paper, stored in large filing cabinets. These databases were more commonly referred to as “filing systems”.

But the world has moved on from paper-based systems, and the word “database” almost always refers to a database built on a computer using database software.

Database Software

Database software is software that enables you to create and maintain databases. A database program is usually referred to as a database management system (DBMS).

Database management systems allow you to perform a whole range of tasks. These can include:

  • Create databases
  • Create tables
  • Create other DB objects such as views, stored procedures, triggers, indexes, and more
  • Insert, update, and delete data
  • Query the data (in a very precise way)
  • Set up user accounts and roles
  • Apply permissions to database objects (i.e. determine which objects each user is allowed to access)
  • Apply other security settings
  • Create and maintain log files
  • Import/export data
  • Backup/restore databases and their data
  • Connect to remote databases (i.e. databases on other servers in other locations)
  • And much more…

Relational Database Management Systems

Since the 1980s, the most common type of database management system is a relational DBMS. A relational database management system (RDBMS) allows for data to be stored across multiple tables that can have a relationship with each other.  Microsoft Access, SQL Server, and MySQL are all relational DBMSs.

Examples of Relational Database Management Systems

Microsoft Access

Microsoft Access is a well known relational database management system. It’s probably one of the easier ones to learn for those with no experience with databases. It has traditionally been a desktop system, but has recently been branching out to web-based “Custom web apps”, which has a strong focus on sharing and collaboration.

The Access Welcome Screen
Screenshot of Welcome screen
The Microsoft Access Welcome screen allows you to create a database from scratch. You can also search through thousands of templates for a “pre-built” database that you can use to get started.
A Blank Database in Access
Screenshot of blank database
This is a newly created blank desktop database. A table has automatically been created. You can now customise this database to your own needs.

SQL Server

SQL Server is also from Microsoft, but it’s a step up from Access. SQL Server is an enterprise level RDBMS and is used by some of the largest companies in the world. It is a client-server system, which basically means multiple users can access the database from any location.

Screenshot of SQL Server Management Studio (SSMS) in SQL Server 2014.
SQL Server Management Studio (SSMS) is a graphical tool for working with SQL Server.

MySQL

MySQL is an open source RDBMS, and is one of the most widely used database management systems in the world. Many websites (large and small) use MySQL and most hosting companies support it. MySQL is also a client-server system.

Screenshot of MySQL Workbench
MySQL Workbench is a graphical tool for working with MySQL.

NoSQL Databases

NoSQL is a term that refers loosely to a particular type of database model, or database management system that doesn’t adhere strictly to the relational/SQL model.

NoSQL is a very broad term that doesn’t refer to one particular database model. Rather, it refers to a whole variety of different models that don’t fit into the relational model.

NoSQL database types include graph databases, column store databases, document store databases, key-value databases, etc.

NoSQL DBMSs include MongoDB, Neo4j, Redis, Cassandra, etc.

Many DBMSs are multi-model these days. For example, many RDBSs include aspects that were typically associated with NoSQL, such as document store, column store, graph, etc.

Database Software vs Spreadsheets

Spreadsheet software such as Excel can provide quite good functionality for storing data. But it does have its limitations.

Spreadsheets were originally designed for accounting/bookkeeping tasks, but they also become popular for many situations where tabular data needed to be presented, sorted, filtered, etc.

So spreadsheets can still be used for storing data if you have no other choice.

But a DBMS will provide many benefits over a spreadsheet. The benefits of a well configured DBMS include:

  • Enforces data integrity (basically, you’re less likely to get “wrong” data)
  • Keeps the data more secure
  • Designed to store much more data than spreadsheets are typically designed for
  • Can handle more simultaneous users, especially server-based DBMSs
  • Supports other complex tasks such as scheduled backups, scheduled data transfers, replication, query optimisation, triggers, etc

There are many more benefits of database management systems, but the above are probably already enough to make DBMSs a central part of any business or organisation.

If you’re currently using spreadsheets to keep track of data, and you find it becoming difficult to manage, check out how to create a database in Access to get a taste of how easy it can be to create a database. While you’re at it, why not take it a step further and check out the Microsoft Access Tutorial.