All Topics  
Database management system

 

   Email Print
   Bookmark   Link






 

Database management system



 
 
A database management system (DBMS) is computer software
Computer software

Computer software, or just software is a general term used to describe a collection of computer programs, Algorithm and Software documentation that perform some tasks on a computer system....
 that manages database
Database

A database is a structured collection of records or data that is stored in a computer system. The structure is achieved by organizing the data according to a database model....
s. DBMSes may use any of a variety of database model
Database model

A database model or database schema is the structure or format of a database, described in a formal language supported by the database management system....
s, such as the network model
Network model

The network model is a database model conceived as a flexible way of representing objects and their relationships.File:Network Model.jpgThe network model original inventor was Charles Bachman, and it was developed into a standard specification published in 1969 by the CODASYL Consortium....
 or relational model
Relational model

The relational model for database management is a database model based on first-order logic, first formulated and proposed in 1969 by Edgar F. Codd....
. In large systems, a DBMS allows users and other software to store and retrieve data in a structured way.

MS is a set of software programs that controls the organization
Organization

An organization is a social arrangement which pursues collective goals, which controls its own performance, and which has a boundary separating it from its environment....
, storage
Computer storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording medium that retain digital data used for computing for some interval of time....
, management, and retrieval
Information retrieval

Information retrieval is the science of searching for documents, for information within documents and for Metadata about documents, as well as that of searching relational databases and the World Wide Web....
 of data
DATA

Debt, AIDS, Trade in Africa is a multinational Non-governmental organization founded in January 2002 in London by U2's Bono along with Robert Sargent Shriver III and activists from the Jubilee 2000 Drop the Debt campaign....
 in a database
Database

A database is a structured collection of records or data that is stored in a computer system. The structure is achieved by organizing the data according to a database model....
. DBMS are categorized according to their data structures or types.






Discussion
Ask a question about 'Database management system'
Start a new discussion about 'Database management system'
Answer questions from other users
Full Discussion Forum



Recent Posts









Encyclopedia


A database management system (DBMS) is computer software
Computer software

Computer software, or just software is a general term used to describe a collection of computer programs, Algorithm and Software documentation that perform some tasks on a computer system....
 that manages database
Database

A database is a structured collection of records or data that is stored in a computer system. The structure is achieved by organizing the data according to a database model....
s. DBMSes may use any of a variety of database model
Database model

A database model or database schema is the structure or format of a database, described in a formal language supported by the database management system....
s, such as the network model
Network model

The network model is a database model conceived as a flexible way of representing objects and their relationships.File:Network Model.jpgThe network model original inventor was Charles Bachman, and it was developed into a standard specification published in 1969 by the CODASYL Consortium....
 or relational model
Relational model

The relational model for database management is a database model based on first-order logic, first formulated and proposed in 1969 by Edgar F. Codd....
. In large systems, a DBMS allows users and other software to store and retrieve data in a structured way.

Overview

A DBMS is a set of software programs that controls the organization
Organization

An organization is a social arrangement which pursues collective goals, which controls its own performance, and which has a boundary separating it from its environment....
, storage
Computer storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording medium that retain digital data used for computing for some interval of time....
, management, and retrieval
Information retrieval

Information retrieval is the science of searching for documents, for information within documents and for Metadata about documents, as well as that of searching relational databases and the World Wide Web....
 of data
DATA

Debt, AIDS, Trade in Africa is a multinational Non-governmental organization founded in January 2002 in London by U2's Bono along with Robert Sargent Shriver III and activists from the Jubilee 2000 Drop the Debt campaign....
 in a database
Database

A database is a structured collection of records or data that is stored in a computer system. The structure is achieved by organizing the data according to a database model....
. DBMS are categorized according to their data structures or types. It is a set of prewritten programs that are used to store, update and retrieve a Database. The DBMS accepts requests for data from the application program and instructs the operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 to transfer the appropriate data. When a DBMS is used, information systems can be changed much more easily as the organization's information requirements change. New categories of data can be added to the database without disruption to the existing system.

Organizations may use one kind of DBMS for daily transaction processing and then move the detail onto another computer that uses another DBMS better suited for random inquiries and analysis. Overall systems design decisions are performed by data administrators and systems analysts. Detailed database design is performed by database administrators.

Database server
Database server

A database server is a computer program that provides database services to other computer programs or computers, as defined by the client-server software modeling....
s are computers that hold the actual databases and run only the DBMS and related software. Database servers are usually multiprocessor computers, with generous memory and RAID disk arrays used for stable storage. Connected to one or more servers via a high-speed channel, hardware database accelerators are also used in large volume transaction processing environments. DBMSs are found at the heart of most database applications. Sometimes DBMSs are built around a private multitasking
Computer multitasking

In computing, multitasking is a method by which multiple tasks, also known as Computer process, share common processing resources such as a Central processing unit....
 kernel with built-in networking
Computer network

A computer network is a group of interconnected computers. Networks may be classified according to a wide variety of characteristics. This article provides a general overview of some types and categories and also presents the basic components of a network....
 support although nowadays these functions are left to the operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
.

History

Databases have been in use since the earliest days of electronic computing. Unlike modern systems which can be applied to widely different databases and needs, the vast majority of older systems were tightly linked to the custom databases in order to gain speed at the expense of flexibility. Originally DBMSs were found only in large organizations with the computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
 hardware needed to support large data sets.

1960s Navigational DBMS

As computers grew in capability, this trade-off became increasingly unnecessary and a number of general-purpose database systems emerged; by the mid-1960s there were a number of such systems in commercial use. Interest in a standard began to grow, and Charles Bachman
Charles Bachman

Charles William Bachman is an American computer scientist, who spent his entire career as an industrial researcher rather than in academia. He is particularly known for his work in the area of databases....
, author of one such product, Integrated Data Store
Integrated Data Store

Integrated Data Store is a network database largely used by industry for its performance.IDS was designed by Charles Bachman at General Electric in the 1960s....
 (IDS), founded the "Database Task Group" within CODASYL
CODASYL

CODASYL is an acronym for "Conference on Data Systems Languages". This was an Information technology industry consortium formed in 1959 to guide the development of a standard programming language that could be used on many computers....
, the group responsible for the creation and standardization of COBOL
COBOL

COBOL is one of the oldest programming languages still in active use. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....
. In 1971 they delivered their standard, which generally became known as the "Codasyl approach", and soon there were a number of commercial products based on it available.

The Codasyl approach was based on the "manual" navigation of a linked data set which was formed into a large network. When the database was first opened, the program was handed back a link to the first record in the database, which also contained pointers to other pieces of data. To find any particular record the programmer had to step through these pointers one at a time until the required record was returned. Simple queries like "find all the people in India" required the program to walk the entire data set and collect the matching results. There was, essentially, no concept of "find" or "search". This might sound like a serious limitation today, but in an era when the data was most often stored on magnetic tape
Magnetic tape

Magnetic tape is a medium for magnetic recording generally consisting of a thin magnetizable coating on a long and narrow strip of plastic. Nearly all recording tape is of this type, whether used for recording Audio frequency or video or for computer data storage....
 such operations were too expensive to contemplate anyway.

IBM also had their own DBMS system in 1968, known as IMS. IMS
Information Management System

IBM Information Management System is a joint hierarchical database and information management system with extensive transaction processing capabilities....
 was a development of software written for the Apollo program on the System/360
System/360

The IBM System/360 is a mainframe computer system family announced by IBM on April 7, 1964. It was the first family of computers making a clear distinction between computer architecture and implementation, allowing IBM to release a suite of compatible designs at different price points....
. IMS was generally similar in concept to Codasyl, but used a strict hierarchy for its model of data navigation instead of Codasyl's network model. Both concepts later became known as navigational database
Navigational database

A navigational database is a type of database characterized by the fact that objects in it are found primarily by following references from other objects....
s due to the way data was accessed, and Bachman's 1973 Turing Award
Turing Award

The A. M. Turing Award is given annually by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community....
 award presentation was The Programmer as Navigator. IMS is classified as a hierarchical database
Hierarchical model

A hierarchical data model is a data model in which the data is organized into a Tree data structure-like structure. The structure allows repeating information using parent/child relationships: each parent can have many children but each child only has one parent....
. IDS and IDMS
IDMS

IDMS is a CODASYL database management system first developed at Goodrich Corporation and later marketed by Cullinane Database Systems . Since 1989 the product has been owned by Computer Associates, who renamed it CA-IDMS....
, both CODASYL databases, as well as CINCOMs TOTAL database are classified as network databases
Network model

The network model is a database model conceived as a flexible way of representing objects and their relationships.File:Network Model.jpgThe network model original inventor was Charles Bachman, and it was developed into a standard specification published in 1969 by the CODASYL Consortium....
.

1970s Relational DBMS

Edgar Codd worked at IBM in San Jose, California
San Jose, California

San Jose or San Jos? is the List of cities in California city in California and the List of United States cities by population in the United States....
, in one of their offshoot offices that was primarily involved in the development of hard disk
Hard disk

A hard disk drive , commonly referred to as a hard drive, hard disk, or fixed disk drive, is a non-volatile storage device which stores digitally encoded data on rapidly rotating hard disk platters with magnetic surfaces....
 systems. He was unhappy with the navigational model of the Codasyl approach, notably the lack of a "search" facility which was becoming increasingly useful. In 1970, he wrote a number of papers that outlined a new approach to database construction that eventually culminated in the groundbreaking A Relational Model of Data for Large Shared Data Banks.

In this paper, he described a new system for storing and working with large databases. Instead of records being stored in some sort of linked list
Linked list

In computer science, a linked list is one of the fundamental data structures, and can be used to implement other data structures. It consists of a sequence of node s, each containing arbitrary data Field s and one or two reference s pointing to the next and/or previous nodes....
 of free-form records as in Codasyl, Codd's idea was to use a "table
Table (database)

In relational databases and flat file databases, a table is a set of data elements that is organized using a model of vertical column and horizontal row ....
" of fixed-length records. A linked-list system would be very inefficient when storing "sparse" databases where some of the data for any one record could be left empty. The relational model solved this by splitting the data into a series of normalized tables, with optional elements being moved out of the main table to where they would take up room only if needed.

Relational Key
For instance, a common use of a database system is to track information about users, their name, login information, various addresses and phone numbers. In the navigational approach all of these data would be placed in a single record, and unused items would simply not be placed in the database. In the relational approach, the data would be normalized into a user table, an address table and a phone number table (for instance). Records would be created in these optional tables only if the address or phone numbers were actually provided.

Linking the information back together is the key to this system. In the relational model, some bit of information was used as a "key", uniquely defining a particular record. When information was being collected about a user, information stored in the optional (or related) tables would be found by searching for this key. For instance, if the login name of a user is unique, addresses and phone numbers for that user would be recorded with the login name as its key. This "re-linking" of related data back into a single collection is something that traditional computer languages are not designed for.

Just as the navigational approach would require programs to loop in order to collect records, the relational approach would require loops to collect information about any one record. Codd's solution to the necessary looping was a set-oriented language, a suggestion that would later spawn the ubiquitous SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
. Using a branch of mathematics known as tuple calculus, he demonstrated that such a system could support all the operations of normal databases (inserting, updating etc.) as well as providing a simple system for finding and returning sets of data in a single operation.

Codd's paper was picked up by two people at the Berkeley, Eugene Wong and Michael Stonebraker
Michael Stonebraker

Michael Stonebraker is a computer scientist specializing in database research and development. His career covers, and helped create, the majority of the existing relational database market today....
. They started a project known as INGRES
Ingres

Ingres is a commercially supported, open-source SQL relational database management system intended to support large commercial and government applications....
 using funding that had already been allocated for a geographical database project, using student programmers to produce code. Beginning in 1973, INGRES delivered its first test products which were generally ready for widespread use in 1979. During this time, a number of people had moved "through" the group — perhaps as many as 30 people worked on the project, about five at a time. INGRES was similar to System R
System R

IBM System R is a database system built as a research project at IBM San Jose Research in the 1970s. System R was a seminal project: it was the first implementation of SQL , which has since become the standard relational data query language....
 in a number of ways, including the use of a "language" for data access, known as QUEL
Quel

Quel may refer to:* QUEL query languages, a relational database access language* Quel, La Rioja, a municipality in La Rioja , Spain...
 — QUEL was in fact relational, having been based on Codd's own Alpha language, but has since been corrupted to follow SQL, thus violating much the same concepts of the relational model as SQL itself.

IBM itself did only one test implementation of the relational model, PRTV
PRTV

PRTV was the world's first relational database management system that could handle significant data volumes.It was a relational query system with powerful query facilities, but very limited update facility and no simultaneous multiuser facility....
, and a production one, Business System 12
Business System 12

Business System 12, or simply BS12, was one of the first fully relational database management systems, designed and implemented by International Business Machines's Bureau Service subsidiary at the company's international development centre in Uithoorn, The Netherlands....
, both now discontinued. Honeywell
Honeywell

Honeywell is a major United States multinational corporation list of conglomerates company that produces a variety of consumer products, engineering services, and aerospace systems for a wide variety of customers, from private consumers to major corporations and governments....
 did MRDS for Multics
Multics

Multics was an extremely influential early time-sharing operating system. The project was started in 1964. The last known running Multics installation was shut down on October 30, 2000....
, and now there are two new implementations: Alphora Dataphor and Rel
Rel

Rel may mean:*Category of relations, the category of sets and relations*Rel , a database management system*semantic link, an HTML attribute for indicating a semantic link...
. All other DBMS implementations usually called relational are actually SQL DBMSs. In 1968, the University of Michigan began development of the Micro DBMS
Micro DBMS

Micro was one of the earliest relational database management systems. It was originally implemented in 1968 at the University of Michigan, It became the first large scale relational database management system to be used in production....
 relational database management system. It was used to manage very large data sets by the US Department of Labor, the Environmental Protection Agency and researchers from University of Alberta, the University of Michigan and Wayne State University. It ran on mainframe computers using Michigan Terminal System
Michigan Terminal System

Michigan Terminal System is an operating system for the IBM System/360 and its successors that was developed jointly by the following institutions:...
. The system remained in production until 1996.

End 1970s SQL DBMS

IBM started working on a prototype system loosely based on Codd's concepts as System R
System R

IBM System R is a database system built as a research project at IBM San Jose Research in the 1970s. System R was a seminal project: it was the first implementation of SQL , which has since become the standard relational data query language....
 in the early 1970s. The first "quickie" version was ready in 1974/5, and work then started on multi-table systems in which the data could be broken down so that all of the data for a record (much of which is often optional) did not have to be stored in a single large "chunk". Subsequent multi-user versions were tested by customers in 1978 and 1979, by which time a standardized query language
Query language

Query languages are computer languages used to make query into databases and information systems.Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages....
, SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
, had been added. Codd's ideas were establishing themselves as both workable and superior to Codasyl, pushing IBM to develop a true production version of System R, known as SQL/DS, and, later, Database 2 (DB2
IBM DB2

DB2 is one of IBM's families of relational database management system software products within IBM's broader IBM Information Management Software line....
).

Many of the people involved with INGRES became convinced of the future commercial success of such systems, and formed their own companies to commercialize the work but with an SQL interface. Sybase
Sybase

Sybase Inc. is an enterprise software and services company exclusively focused on managing and mobilizing information....
, Informix
Informix

Informix is a family of relational database management system products by IBM. It is positioned as IBM's flagship data server for online transaction processing as well as integrated solutions....
, NonStop SQL
NonStop SQL

NonStop SQL is a relational database product originally produced at Tandem Computers. NonStop is the brand name for Tandem's suite of high-availability products, a brand that survived Tandem's takeover by Compaq, and today after Compaq's takeover by Hewlett-Packard....
 and eventually Ingres itself were all being sold as offshoots to the original INGRES product in the 1980s. Even Microsoft SQL Server
Microsoft SQL Server

Microsoft SQL Server is a relational database management system produced by Microsoft. Its primary query languages are SQL and Transact-SQL....
 is actually a re-built version of Sybase, and thus, INGRES. Only Larry Ellison
Larry Ellison

Lawrence Joseph "Larry" Ellison is an United States entrepreneur and the co-founder and CEO of Oracle Corporation, a major enterprise software company....
's Oracle
Oracle database

The Oracle Database consists of a relational database management system produced and marketed by Oracle Corporation. , Oracle had become a major presence in database computing....
 started from a different chain, based on IBM's papers on System R, and beat IBM to market when the first version was released in 1978.

Stonebraker went on to apply the lessons from INGRES to develop a new database, Postgres, which is now known as PostgreSQL
PostgreSQL

PostgreSQL is an object-relational database management system . It is released under a BSD licenses and is thus free software. As with many other open-source programs, PostgreSQL is not controlled by any single company, but has a global community of developers and companies to develop it....
. PostgreSQL is primarily used for global mission critical applications (the .org and .info domain name registries use it as their primary data store, as do many large companies and financial institutions).

In Sweden
Sweden

Sweden , officially the Kingdom of Sweden , is a Nordic countries on the Scandinavian Peninsula in Northern Europe. Sweden has land borders with Norway to the west and Finland to the northeast, and it is connected to Denmark by the ?resund Bridge in the south....
, Codd's paper was also read and Mimer SQL
Mimer SQL

Mimer SQL is an SQL-based relational database management system from the Sweden company Mimer Information Technology AB , which has been developed and produced since the 1970s....
 was developed from the mid-70s at Uppsala University
Uppsala University

Uppsala University is a world-class research university in Uppsala, Sweden. Founded as early as 1477, it is the oldest such institution in the Nordic countries and is frequently ranked among the world's top 100 universities....
. In 1984, this project was consolidated into an independent enterprise. In the early 1980s, Mimer introduced transaction handling for high robustness in applications, an idea that was subsequently implemented on most other DBMS.

DBMS building blocks

A DBMS includes of four main parts: Modeling language, data structure, database query language, and transaction mechanism:

Modeling language

A data modeling
Data modeling

Data modeling in software engineering is the process of creating a data model by applying formal data model descriptions using data modeling techniques....
 language
Formal language

A formal language is a set of words, i.e. finite string of letters, or symbols. The inventory from which these letters are taken is called the alphabet over which the language is defined....
 to define the schema
Logical schema

A Logical Schema is a data model problem domain expressed in terms of a particular data management technology. Without being specific to a particular database management product, it is in terms of either relational tables and columns, object-oriented classes, or XML tags....
 of each database
Database

A database is a structured collection of records or data that is stored in a computer system. The structure is achieved by organizing the data according to a database model....
 hosted in the DBMS, according to the DBMS database model
Database model

A database model or database schema is the structure or format of a database, described in a formal language supported by the database management system....
. The four most common types of organizations are the:
  • hierarchical model
    Hierarchical model

    A hierarchical data model is a data model in which the data is organized into a Tree data structure-like structure. The structure allows repeating information using parent/child relationships: each parent can have many children but each child only has one parent....
    ,
  • network model
    Network model

    The network model is a database model conceived as a flexible way of representing objects and their relationships.File:Network Model.jpgThe network model original inventor was Charles Bachman, and it was developed into a standard specification published in 1969 by the CODASYL Consortium....
    ,
  • relational model
    Relational model

    The relational model for database management is a database model based on first-order logic, first formulated and proposed in 1969 by Edgar F. Codd....
    , and
  • object model
    Object model

    In computing, object model has two related but distinct meanings:# The properties of object in general, in a specific computer programming language, technology, notation or methodology that uses them....
    .
Inverted lists and other methods are also used. A given database management system may provide one or more of the four models. The optimal structure depends on the natural organization of the application's data, and on the application's requirements (which include transaction rate (speed), reliability, maintainability, scalability, and cost).

The dominant model in use today is the ad hoc one embedded in SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
, despite the objections of purists who believe this model is a corruption of the relational model, since it violates several of its fundamental principles for the sake of practicality and performance. Many DBMSs also support the Open Database Connectivity
Open Database Connectivity

In computing, Open Database Connectivity provides a standard software application programming interface method for using database management systems ....
 API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 that supports a standard way for programmer
Programmer

A programmer is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software....
s to access the DBMS.

Data structure

Data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
s (fields, records, files and objects) optimized to deal with very large amounts of data stored on a permanent
Digital permanence

Digital permanence addresses the history and development of digital storage techniques specifically quantifying the expected lifetime of data stored on various digital media and the factors which influence the permanence of digital data....
 data storage device
Data storage device

A data storage device is a device for recording information . Recording can be done using virtually any form of energy, spanning from manual muscle power in handwriting, to acoustic vibrations in phonographic recording, to electromagnetic energy modulating magnetic tape and optical discs....
 (which implies relatively slow access compared
Computer storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording medium that retain digital data used for computing for some interval of time....
 to volatile main memory).

Database query language

A database query language and report writer to allow users to interactively interrogate the database, analyze its data and update it according to the users privileges
Privilege (Computing)

In computing, privilege is defined as the delegation of authority over a computer system. A privilege is a permission to perform an action. Examples of various privileges include the ability to create a file in a directory , or to read or delete a file, access a Computer hardware, or have read or write permission to a Socket#Computer sockets...
 on data. It also controls the security
Security

Security is the degree of protection against danger, loss, and criminals. Individuals or actions that encroach upon the condition of protection are responsible for a "breach of security."...
 of the database. Data security
Data security

Data security is the means of ensuring that data is kept safe from Data corruption and that access to it is suitably controlled. Thus data security helps to ensure Data privacy....
 prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data.

If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organization. These controls are only available when a set of application programs are customized for each data entry and updating function.

Transaction mechanism

A database transaction
Database transaction

A database transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions....
 mechanism, that ideally would guarantee the ACID
Acid

An acid is traditionally considered any chemical compound that, when dissolved in water, gives a solution with a hydrogen ion Activity greater than in pure water, i.e....
 properties, in order to ensure data integrity
Data integrity

Data integrity is a term used in computer science and telecommunications that can mean ensuring data is "whole" or complete, the condition in which data are identically maintained during any operation , the preservation of data for their intended use, or, relative to specified operations, the a priori expectation of data quality....
, despite concurrent user accesses
Concurrency (computer science)

In computer science, concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other....
 (concurrency control
Concurrency control

In computer science, especially in the fields of computer programming , operating systems , multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible....
), and faults (fault tolerance). It also maintains the integrity
Data integrity

Data integrity is a term used in computer science and telecommunications that can mean ensuring data is "whole" or complete, the condition in which data are identically maintained during any operation , the preservation of data for their intended use, or, relative to specified operations, the a priori expectation of data quality....
 of the data in the database. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can help prevent duplicate records via unique index constraints; for example, no two customers with the same customer numbers (key fields) can be entered into the database. See ACID
Acid

An acid is traditionally considered any chemical compound that, when dissolved in water, gives a solution with a hydrogen ion Activity greater than in pure water, i.e....
 properties for more information (Redundancy avoidance).

DBMS Topics


Logical and physical view

A database management system provides the ability for many different users to share data and process resources. But as there can be many different users, there are many different database needs. The question now is: How can a single, unified database meet the differing requirement of so many users?

A DBMS minimizes these problems by providing two views of the database data: a logical (external) view and physical (internal) view. The logical view/user’s view, of a database program represents data in a format that is meaningful to a user and to the software programs that process those data. That is, the logical view tells the user, in user terms, what is in the database. The physical view deals with the actual, physical arrangement and location of data in the direct access storage devices(DASDs). Database specialists use the physical view to make efficient use of storage and processing resources. With the logical view users can see data differently from how they are stored, and they do not want to know all the technical details of physical storage. After all, a business user is primarily interested in using the information, not in how it is stored.

One strength of a DBMS is that while there is only one physical view of the data, there can be an endless number of different logical views. This feature allows users to see database information in a more business-related way rather than from a technical, processing viewpoint. Thus the logical view refers to the way user views data, and the physical view to the way the data are physically stored and processed...

DBMS Features and capabilities

Alternatively, and especially in connection with the relational model of database management, the relation between attributes drawn from a specified set of domains can be seen as being primary. For instance, the database might indicate that a car that was originally "red" might fade to "pink" in time, provided it was of some particular "make" with an inferior paint job. Such higher arity
Arity

In logic, mathematics, and computer science, the arity of a function or operation is the number of arguments or operands that the function takes. The arity of a relation is the number of domains in the corresponding Cartesian product....
 relationships provide information on all of the underlying domains at the same time, with none of them being privileged above the others.

Throughout recent history specialized databases have existed for scientific, geospatial, imaging, document storage and like uses. Functionality drawn from such applications has lately begun appearing in mainstream DBMSs as well. However, the main focus there, at least when aimed at the commercial data processing market, is still on descriptive attributes on repetitive record structures.

Thus, the DBMSs of today roll together frequently-needed services or features of attribute management. By externalizing such functionality to the DBMS, applications effectively share code with each other and are relieved of much internal complexity. Features commonly offered by database management systems include:

Query ability : Querying is the process of requesting attribute information from various perspectives and combinations of factors. Example: "How many 2-door cars in Texas are green?" A database query language and report writer allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data.

Backup and replication : Copies of attributes need to be made regularly in case primary disks or other equipment fails. A periodic copy of attributes may also be created for a distant organization that cannot readily access the original. DBMS usually provide utilities to facilitate the process of extracting and disseminating attribute sets. When data is replicated between database servers, so that the information remains consistent throughout the database system and users cannot tell or even know which server in the DBMS they are using, the system is said to exhibit replication transparency.

Rule enforcement : Often one wants to apply rules to attributes so that the attributes are clean and reliable. For example, we may have a rule that says each car can have only one engine associated with it (identified by Engine Number). If somebody tries to associate a second engine with a given car, we want the DBMS to deny such a request and display an error message. However, with changes in the model specification such as, in this example, hybrid gas-electric cars, rules may need to change. Ideally such rules should be able to be added and removed as needed without significant data layout redesign.

Security : Often it is desirable to limit who can see or change which attributes or groups of attributes. This may be managed directly by individual, or by the assignment of individuals and privileges to groups, or (in the most elaborate models) through the assignment of individuals and groups to roles which are then granted entitlements.

Computation : There are common computations requested on attributes such as counting, summing, averaging, sorting, grouping, cross-referencing, etc. Rather than have each computer application implement these from scratch, they can rely on the DBMS to supply such calculations.

Change and access logging : Often one wants to know who accessed what attributes, what was changed, and when it was changed. Logging services allow this by keeping a record of access occurrences and changes.

Automated optimization : If there are frequently occurring usage patterns or requests, some DBMS can adjust themselves to improve the speed of those interactions. In some cases the DBMS will merely provide tools to monitor performance, allowing a human expert to make the necessary adjustments after reviewing the statistics collected.

Meta-data repository

Metadata
Metadata

Metadata is "data about other data", of any sort in any media. An item of metadata may describe an individual datum, or content item, or a collection of data including multiple content items and hierarchical levels, for example a database schema....
 is data describing data. For example, a listing that describes what attributes are allowed to be in data set
Data set

A data set is a collection of data, usually presented in tabular form. Each column represents a particular variable. Each row corresponds to a given member of the data set in question....
s is called "meta-information". The meta-data is also known as data about data.

Examples of Database Management Systems

  • Computhink
    Computhink

    Computhink, Inc. provides Electronic Content Management / Document Management solutions for secure information sharing and compliance, targeting small and medium enterprises/business ....
    's ViewWise
    ViewWise

    ViewWise is a Content/Document Management solution offered from Computhink that provides Electronic/Enterprise Content Management for secure information sharing and compliance, targeting small and medium size organizations ....
  • Adabas
    Adabas

    ADABAS is Software AG?s primary database management system....
  • Alpha Five
    Alpha Five

    Alpha Five is a relational database management system and Rapid application development for building Windows desktop and Web applications.It is developed by Alpha Software, Inc., which has been continually producing end-user and developer database application software since 1982 ....
  • DataEase
    DataEase

    DataEase is a rapid application development tool for developing relationally-organized, data-intensive software applications for personal computers....
  • Oracle database
    Oracle database

    The Oracle Database consists of a relational database management system produced and marketed by Oracle Corporation. , Oracle had become a major presence in database computing....
  • IBM DB2
    IBM DB2

    DB2 is one of IBM's families of relational database management system software products within IBM's broader IBM Information Management Software line....
  • Adaptive Server Enterprise
    Adaptive Server Enterprise

    Adaptive Server Enterprise is Sybase flagship enterprise-class relational database management system product. ASE is predominantly used on the Unix platform but is also available for Windows....
  • FileMaker
    FileMaker

    FileMaker Pro is a cross-platform relational database application from FileMaker Inc. . It is noted for the integration of the database engine with the GUI-based interface, which allows users to modify the database by dragging new elements into the layouts/screens/forms that provide the user interface....
  • Firebird
    Firebird (database server)

    Firebird is an open source relational database management system that runs on Linux, Microsoft Windows, and a variety of Unix platforms. The database fork from Borland's open source edition of InterBase in 2000, but since Firebird 1.5 the code has been largely rewritten....
  • Ingres
  • Informix
    Informix

    Informix is a family of relational database management system products by IBM. It is positioned as IBM's flagship data server for online transaction processing as well as integrated solutions....
  • Mark Logic
    Mark Logic

    Mark Logic is a software company located in San Carlos, California, California, United States. It is the creator of a new category of enterprise software known as an XML Server....
  • Microsoft Access
    Microsoft Access

    Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software development tools....
  • InterSystems Caché
  • Microsoft SQL Server
    Microsoft SQL Server

    Microsoft SQL Server is a relational database management system produced by Microsoft. Its primary query languages are SQL and Transact-SQL....
  • Microsoft Visual FoxPro
  • MonetDB
    MonetDB

    MonetDB is an open source Column-oriented DBMS database management system developed atthe National Research Institute for Mathematics and Computer Science...
  • MySQL
    MySQL

    MySQL is a relational database management system which has more than 11 million installations. The program runs as a server providing multi-user access to a number of databases....
  • PostgreSQL
    PostgreSQL

    PostgreSQL is an object-relational database management system . It is released under a BSD licenses and is thus free software. As with many other open-source programs, PostgreSQL is not controlled by any single company, but has a global community of developers and companies to develop it....
  • Progress
    Progress 4GL

    OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software ....
  • SQLite
    SQLite

    SQLite is an ACID-compliant relational database management system contained in a relatively small C programming library .Unlike client-server database management systems, the SQLite engine is not a standalone process with which the program communicates....
  • Teradata
    Teradata

    Teradata Corporation is a hardware and software vendor specializing in data warehousing and analytic applications. Teradata was formerly a division of NCR Corporation, the largest company in Dayton, Ohio....
  • CSQL
    CSQL

    CSQL is an Open source software Main memory database high-performance Relational database management system developed in Sourceforge. It is designed to provide high performance on simple SQL queries and Data Manipulation Language statements which involves only one table....
  • OpenLink Virtuoso
    Virtuoso Universal Server

    is a middleware and database engine hybrid that combines the functionality of a traditional RDBMS, Object-relational database, virtual database, RDF, XML, free-text, Web Application Server and File Server functionality in a single server product offering....
  • Daffodil DB
    Daffodil database

    Daffodil DB is a SQL 99 & JDBC 3.0 compliant 100% Java platform relational database management system. It has enterprise level features such as full text search, PSM, database triggers, etc....
  • OpenOffice.org Base
    OpenOffice.org Base

    OpenOffice.org Base is the database module initially released with OpenOffice.org version 2.0. Currently it is based on the HSQLDB database engine written in Java ....
  • Linter SQL RDBMS
    Linter SQL RDBMS

    Linter SQL RDBMS is the main product of RELEX Group. Linter is a Russian DBMS compliant with the SQL-92 standard and supporting the majority of operating systems, among them Microsoft Windows , NetWare, various versions of Unix, OS9, QNX, VxWorks and others....


See also

  • Column-oriented DBMS
    Column-oriented DBMS

    A column-oriented DBMS is a database management system which stores its content by column rather than by row. This has advantages for databases such as data warehouses and library catalogues, where aggregates are computed over large numbers of similar data items....
  • Data warehouse
    Data warehouse

    Data warehouse is a repository of an organization's electronically stored data. Data warehouses are designed to facilitate reporting and analysis....
  • Database-centric architecture
    Database-centric architecture

    Database-centric architecture or data-centric architecture has several distinct meanings, generally relating to software architectures in which databases play a crucial role....
  • Directory service
    Directory service

    In software engineering, a directory is similar to a dictionary; it enables the look up of a name and information associated with that name. As a word in a dictionary may have multiple definitions, in a directory, a name may be associated with multiple, different, pieces of information....
  • Distributed database management system
    Distributed database management system

    A distributed database management system is a software system that permits the management of a distributed database and makes the distribution transparent to the users....
  • Document management system
    Document management system

    A document management system is a computer system used to track and store electronic documents and/or digital images of paper documents. The term has some overlap with the concepts of content management systems and is often viewed as a component of enterprise content management systems and related to digital asset management, document ima...
  • Hierarchical model
    Hierarchical model

    A hierarchical data model is a data model in which the data is organized into a Tree data structure-like structure. The structure allows repeating information using parent/child relationships: each parent can have many children but each child only has one parent....
  • Navigational database
    Navigational database

    A navigational database is a type of database characterized by the fact that objects in it are found primarily by following references from other objects....
  • Network model
    Network model

    The network model is a database model conceived as a flexible way of representing objects and their relationships.File:Network Model.jpgThe network model original inventor was Charles Bachman, and it was developed into a standard specification published in 1969 by the CODASYL Consortium....
  • Object model
    Object model

    In computing, object model has two related but distinct meanings:# The properties of object in general, in a specific computer programming language, technology, notation or methodology that uses them....
  • Object database
    Object database

    An object database is a database model in which information is represented in the form of Object as used in object-oriented programming.Object databases are generally recommended when there is a business need for high performance processing on complex data....
  • Object-relational database
    Object-relational database

    An object-relational database or object-relational database management system is a database management system similar to a relational database, but with an object-oriented database model: objects, classes and inheritance are directly supported in database schemas and in the query language....
  • Real time database
    Real time database

    A real-time database is a processing system designed to handle workloads whose state is constantly changing . This differs from traditional databases containing persistent data, mostly unaffected by time....
  • Associative model of data
    Associative model of data

    The associative model of data is an alternative data model for database systems. Other data models, such as the relational model and the object data model, are record-based....
  • Relational model
    Relational model

    The relational model for database management is a database model based on first-order logic, first formulated and proposed in 1969 by Edgar F. Codd....
  • Relational database management system
    Relational database management system

    A Relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular commercial and open source databases currently in use are based on the relational model....
  • Run Book Automation
    Run Book Automation

    Run Book Automation is the ability to define, build, orchestrate, manage and report on workflows that support system and network operational processes....
  • Comparison of relational database management systems
    Comparison of relational database management systems

    The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information....
  • SQL
    SQL

    SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....


External links

  • Forum archive Volume 7, Issue 4.
  • : early DBMS systems including IDS and IMS, the Data Base Task Group, and the hierarchical, network and relational data models are discussed in Thomas Haigh, "'A Veritable Bucket of Facts:' Origins of the Data Base Management System," ACM SIGMOD Record 35:2 (June 2006).