These are three closely-related draft entries for the DBMS2 analytic glossary. Please comment with any ideas you have for their improvement!
1. Database management system (DBMS)
In our definition, a database management system (DBMS) is:
- Software that manages the reading and writing of data …
- … through an application programming interface (API) …
- … that depends solely upon the values of the data and similar logical information.
Commonly, that API takes the form of a data manipulation language (DML) such as SQL or MDX, but our definition allows for APIs as simple as those of key-value stores.
There are two major alternatives to our definition:
- The above could be a definition of “data management software”, with the term “DBMS” reserved for systems with a true DML.
- Many vendors and industry observers abbreviate “database management system” or “data management software” as “database”.
Two important distinctions among categories of DBMS and the processing they’re optimized for are:
- Relational vs. non-relational
- Short-request vs. analytic vs. general-purpose
The term database has two common meanings in IT:
- The data managed by a database management system (DBMS).
- The data management software itself.
We adhere to the first usage.
3. Relational database management system (RDBMS)
In practice, a relational database management system (RDBMS) is a DBMS in which:
- Data and query results can be regarded as being organized in tables.
- Each table can be regarded as a collection of identically-organized tuples (more commonly called rows).
- It is usually the case that a tuple has a single subject — which can be described by an entry or combination of entries such as a (FirstName, LastName) pair — with the other entries in the tuple denoting facts about the subject.
Prominent RDBMS include Oracle, IBM DB2, Microsoft SQL Server, Sybase ASE, MySQL, PostgreSQL, and a variety of analytic RDBMS. The primary data manipulation language (DML) for almost every commercially successful RDBMS has been a version of SQL. (However, QUEL was a briefly viable alternative to SQL in the 1980s.)
Theoretically, relational database management systems can be defined more precisely in terms of how they manipulate predicate logic. In practice, however, commercial relational database management systems deviate from the theoretical ideal(s). Also, commercial RDBMS commonly offer alternative forms of data management that conflict with the relational paradigm, in areas such as:
- Multidimensional data management
- Full-text indexing