(Relational) database (management system) — three analytic glossary draft entries
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
2. Database
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
- XML
Comments
3 Responses to “(Relational) database (management system) — three analytic glossary draft entries”
Leave a Reply
[…] Database […]
In the old days the phrase “database management system” was used to differentiate systems like R, ADABAS, and IDMS from lower level data systems like VSAM… which has enough an API to qualify. I do not see how to make this distinction in your definition? Maybe the distinction is no longer relevant?
Hi Rob,
If I got it right about how VSAM works, that’s covered. But looking at the description of KSDS for VSAM, I probably got it wrong. Let me rethink …