What is a Database Management System?
A Database Management System or DBMS is a single or set of computer programs that are responsible for creating, editing, deleting and generally maintaining a database or collection of data records. They type of database management system is determined by the database model. A database model is the manner in which the data collection is stored, managed and administered. The various database management systems based on these data models are:
Relational Database Management Systems
Relational database management systems are the most widely used database management systems today. They are relatively easy to use. Relational database management systems are named so because of the characteristic of normalizing the data which is usually stored in tables. The relational model relies on normalizing data within rows and columns in tables.
The data can be related to other data in the same table or other tables which have to be correctly managed by joining one or more tables. Relational models may be somewhat less efficient than other models; however, this may not be a problem with the processing power and memory found in modern computers.
Data in this type of model is stored in fixed predefined structures and are usually manipulated using Structured Query Language (SQL). Relational database management systems include Oracle, Ms SQLServer, IBM DB2, MySQL, SQLite and PostgreSQL among others. Here is a code example of SQL in operation on a relational database management system.
Flat File Based Database Management Systems
Flat File based database management systems are probably the simplest of them all. These are sometimes called Flat models. These come in human readable text formats as well as in binary formats. These are ideal for stand alone applications, holding software configuration and native format storage models.
Flat files in a formatted row and column model rely on assumptions that every item in a particular model consists of the same data. One common example of this type of database is the CSV (Comma Separated Values) and another is a spreadsheet such as Ms Excel.
Hierarchical Database Management Systems
Hierarchical database management systems operate on the parent-child tree-like model. These normally have a 1: aN relationship and are good for storing data with items describing attributes, features and so on. These could store a book with information on chapters and verses.
They can also be used to store a database of songs, recipes, models of phones and anything that can be stored in a nested format. Hierarchical database management systems are not quite efficient for various real world operations. One such example of a Hierarchical database management system is an XML document.
Here is an example of a Flash application manipulating a Hierarchical XML data model.
Network Database Management Systems
A Network database management system uses a data model similar to Hierarchical database management systems The major difference here is that the tree structure in the Network models can have a many parent to many child relational model. The Network model structure is based on records and sets and most of these databases use SQL for manipulation of their data.
Network database management systems tend to be very flexible but are rarely used ad were very quite common in the1960s and 1970s. Searching for an item in this model requires the program to traverse the entire data set which is quite cumbersome. These have mainly been replaced by Relational database management systems in today’s modern computing.
Object-oriented Database Management Systems
Object-oriented database management systems borrow from the model of the Object-oriented programming paradigm. In this database model, the Object and its data or attributes are seen as one ad accessed through pointers rather than stored in relational table models. Object-oriented database models consist of diverse structures and is quite extensible.
This data model was designed to work closely with programs built with Object-oriented programming languages thereby almost making the data and the program operate as one. With this model, applications can treat the data as native code. There is little commercial implementation of this database model as it is still developing. Examples of Object-oriented database management systems include IBM DB4o and DTS/S1 from Obsidian Dynamics.
2. Author’s own experience.
Image Credits: Wikimedia Commons/Marcel Douwe Dekker.