What is a Database?
Wikipedia actually does a great job of explaining what a database is: “A database is an organized collection of data. It is the collection of schemes, tables, queries, reports, views and other objects.” Basically, databases are a way of storing structured data instead of unstructured data.
A database is a file or a collection of files containing structured data. The simplest databases are often referred to as “flat files” and are little more than rigidly formatted text files. Common examples of everyday text files that also qualify as databases include XML and CSV (Comma Delimited Values.)
Typically a database is accessed via a driver or library that contains the logic as to how to interpret the structure of the data. The database itself is just formatted data. The database engine is a driver that can read and write to the database file(s) and be accessed via applications. The database itself and its engine are not applications, but applications use the database.
A great example of a common database is SQLite. This is a powerful, modern, relational database that is broadly used (most famously among the SMB as it is used in the Spiceworks helpdesk and monitoring product.) SQLite has no running application component. When SQLite is installed it is libraries only that are installed. There is no such concept as “running” SQLite. SQLite libraries are simply leveraged by an application to access SQLite database files - the SQLite code would often be linked or compiled into an application.
Databases are surprisingly simple things in reality; while powerful in their application. Databases also come in a great variety of approaches. End users never interact with databases directly but always through an application that talks to a database file either directly (by using a driver or library) or by talking to another application that does so on its behalf. While databases are used nearly everywhere and power nearly everything from simple business applications to web pages, they are commonly misunderstood even in IT circles and often confused with the applications that access data in them.
This article is part of a series of Foundational IT Knowledge - SAM IT Basics.