Databases are designed to offer an organized mechanism for storing, managing and retrieving information. The definition of a database is a structured collection of records or data that is stored in a computer system. In order for a database to be truly functional, it must not only store large amounts of records well, but be accessed easily. [1] database

In addition, new information and changes should also be fairly easy to input. In order to have a highly efficient database system, you need to incorporate a program that manages the queries and information stored on the system. This is usually referred to as DBMS or a Database Management System. Besides these features, all databases that are created should be built with high data integrity and the ability to recover data if hardware fails[2].

There are several common types of databases; each type of database has its own data model (how the data is structured). A database model or a database architecture is a theory or specification describing how a database is structured and used. See also Database design.

Database Architecture

Data Architecture basically deals with designing and constructing data resource. Data Architecture provides methods to design, construct and implement a fully integrated, business-driven data resource that include real world objects and events, onto appropriate operating environments. Data Architecture also covers data resource components. See also: SQL Server Architecture, MINISIS Database Architecture, LAMP-SAMP, DB Architecture.

Followings are common database models:

  • The Relational Model - The relational model is the most popular type of database and an extremely powerful tool, not only to store information, but to access it as well. Relational databases are organized as tables. Relational databases use a program interface called SQL. It is currently used on practically all relational databases. Relational databases are extremely easy to customize to fit almost any kind of data storage. You can easily create relations for items that you sell, employees that work for your company, etc.
    See also: The Relational Model, Relational Database tutorial, Database Relational Model Tutorial, Query Languages
  • Entity-relationship - The entity-relationship model (or ER model) is a way of graphically representing the logical relationships of entities (or objects) in order to create a database. The ER model was first proposed by Peter Pin-Shan Chen of Massachusetts Institute of Technology (MIT) in the 1970s. See also: Entity Relationship Diagrams Tutorial, ER Modeling, Tutorial
  • Object-relational model - The object-relational model is designed to provide a relational database management that allows developers to integrate databases with their data types and methods. It is essentially a relational model that allows users to integrate object-oriented features into it.
    See also: OR Model, O/R Model, Models, ORDBMS

Comparision of models and more: Database Models, DB Architectures, Database Architectures, Optimized Architectures, Compare DB by ER, Data Model

Database management systems

One of the main functions of the database management system (DBMS) is doing the heavy lifting for you. In other words, you don't necessarily have to know exactly where all that data is in the system; as long as the database management system knows where it all is, it can deliver a report for you to peruse. This might not seem to matter if you're thinking of just your computer; but throw in a mainframe that contains reams and reams of data, and we're talking about a huge amount of information that can be stored any number of places within the mainframe system. The result is the same, though: a report that you can read, analyze, and act on[2].

Database management systems frequently provide database server functionality. The back-end, sometimes called a database server, performs tasks such as data analysis, storage, data manipulation, archiving, and other non-user specific tasks. It helps to specify the logical organization for a database and access and use the information within a database. It provides facilities for controlling data access, enforcing data integrity, managing concurrency controlled, restoring database[3].
See also: Types of DBMS, List of DBMSs, Comparison of DBMSs, Comparison of different SQL implementations, some specific DBMS.

DBMS related topics:

Many of database concepts apply to all forms of database management systems: relational (RDBMS), object (ODBMS), object-relational (ORDBMS), XML (XDBMS), and as well as object-relational mapping (ORM) and XML-mapping (XM) products(tools).

Some examples of Database Management Systems (DBMS):

SQL Tutorials:About TutorialSQL Advanced

Some GUI Tools for DBMSs:

Other Tools: API'sProgrammer's CornerSoftware Development ToolsDatabase ToolsModeling & DesignMultimediaMaths and Science

Database Types

Suggested links:

Desktop Databases:
Desktop databases (e.g. Microsoft Access, OpenOffice Base, Filemaker Pro, Lotus Approach ) offer simple, flexible solutions for data storage and retrieval. They're often quite sufficient to meet uncomplicated database requirements for both small and large organizations.
See more: Access tutorial, Learn Base, Filemaker Guide, Access 2007

Database Migration Tools

Flywaydb allows version control for your database, robust schema evolution across all your environments and ease, pleasure and plain SQL. Read more Database Migration With Flywayn, Flywaydb Maven Plugin.

Liquibase (doc) is an open source database-independent library for tracking, managing and applying database schema changes. It was started in 2006 to allow easier tracking of database changes, especially in an agile software development environment. Read more about evolving your database using Spring-boot and Liquibase, and how to execute database migrations with Liquibase.


  1. 1. Data Structures/Hash Tables
  2. 2. What is a Database?
  3. 3. Database Server
  4. Data Management
  5. Embedded database
  6. eXtremeDB in-memory database