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.



Data 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.

Followings are common database models:

  • The Flat Model Database - In a flat model database, there is a two dimensional (flat structure) array of data. For instance, there is one column of information and within this column it is assumed that each data item will be related to the other. For instance, a flat model database includes only zip codes. Within the database, there will only be one column and each new row within that one column will be a new zip code. Flat File Tutorial, FF Database Demo
  • The Hierarchical Model Database - The hierarchical model database resembles a tree like structure, such as how microsoft windows organizes folders and files. In a hierarchical model database, each upward link is nested in order to keep data organized in a particular order on a same level list. For instance, a hierarchal database of sales, may list each days sales as a separate file. Within this nested file are all of the sales (same types of data) for the day.
    See also: Hierarchical Model, Hierarchical Database Model, for Web Developers, Hierarchical Databases
  • The Network Model - In a network model, the defining feature is that a record is stored with a link to other records - in effect networked. These networks (or sometimes referred to as pointers) can be a variety of different types of information such as node numbers or even a disk address.
    See also: The Network Database Model, Network Database Model
  • 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/CS 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, Relational-Model
  • 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: 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: Comparing Database Types, Optimized Architectures, Compare Models, 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).



More to read:Difference between a DBMS and RDBMSmore RDBMSDBMSAbout SQLwww.w3schools.com/sqlTutorialspointSQL TutorialSQL Advanced

Some examples of Database Management Systems (DBMS):

Some GUI Tools for DBMSs:

Other Tools: API'sProgrammer's CornerSoftware Development ToolsDatabase ToolsModeling & DesignMultimedia (AI Tools)Maths and Science


Database Types

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.


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 Flyway, How to use Flywaydb.

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 (blog).


References

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