RDBMS stands for Relational Database Management System.
An RDBMS is a particular type of DBMS that uses a relational model for its databases. An RDBMS therefore enables you to create relational databases.
Relational database management systems have become the most popular type of database system. Most major database management systems are relational. Popular examples include Microsoft Access, SQL Server, Oracle Database, MySQL, FileMaker, PostgreSQL, and more below.
A relational database is a database that allows related data to be stored across multiple tables, and linked by establishing a relationship between the tables. This provides an efficient way to store data, as you can enter data once, then reference it from elsewhere in the database.
This is in contrast to say, a flat-file database where all data resides within a single file with no tables.
In the above example, the Countries table stores a list of all countries – each country with its own unique CountryId. Because the CountryId is a unique value (i.e. no two countries will share a CountryId), other tables (such as the Person table) can reference a country by using its CountryId. To achieve this, other tables can contain their own CountryId field. Any value in this field must match a value in the CountryId field in the Countries table.
Most modern RDBMSs provide the ability for you to create a relationship either programatically, or via a graphical user interface (GUI). Using the GUI, you can see the relationship represented in a visual diagram.
Here’s how Microsoft Access displays relationships:
The little key icons represent the primary key of each table. The primary key is an important element of relational database design (as is the foreign key).
True RDBMSs
Although the most popular DBMSs are of the relational model, few commercial RDBMSs actually adhere to all of Codd’s 12 rules of a relational database management system (note that “Codd’s 12 rules” is actually thirteen rules, starting at zero).
Most RDBMSs satisfy some of Codd’s rules but not all. Some purists refer to these as Pseudo Relational Database Management Systems (PRDBMS), while referring to any DBMS that satisfies all of the Codd’s 12 rules as being a Truely-Relational Database Management System (TRDBMS).
Further to this, a text called The Third Manifesto was initiated in the early 1990s in order to provide a blueprint for the design of future DBMSs. In it, the authors explain why most so called “relational” DBMS are not in fact relational.
In particular, most “relational” database systems support nulls and duplicate values, which by definition, is in violation of the truly relational model. In the relational model, a table is a set of tuples. Every tuple of every relation contains exactly one value for each attribute of that relation. However, seeing as nulls are not values, any system that permits nulls is in violation of the relational model.
Other Data Models
Although the relational model is the most common model in use today, it is not the only model. Other types of DBMSs include:
- Flat file
- Hierarchical
- Object oriented
- Object-relational
- Network
- NoSQL
- Column database, or wide column store
- Document-oriented database, or Document store
- Graph database, or graph-oriented database
- Key-value database, or key-value store
- Multi-model (mixture of any of the above)
List of RDBMSs
Below is a list of relational database management systems in alphabetical order.
You can see a full list with a description of each RDBMS here.
- 1010data
- 4D
- ActorDB
- Akiban
- AlaSQL
- Altibase
- Amazon Aurora
- Amazon Redshift
- Amisa Server
- Apache Drill
- BigObject
- c-treeACE
- CitusDB
- Clustrix
- Crate.IO
- Cubrid
- DaggerDB
- Datacom/DB
- DataEase
- Dataupia
- Datomic
- DB2
- dBASE
- DBISAM
- DeepSQL
- Derby
- Drizzle
- ElevateDB
- Empress
- EnterpriseDB
- EXASolution
- eXtremeDB
- FileMaker
- Firebird
- FrontBase
- GenieDB
- Google BigQuery
- Greenplum
- H2
- Hadapt
- HAWQ
- HFSQL
- Hive
- HyperSQL
- IBM dashDB
- Impala
- InfiniDB
- Infobright
- Informix
- Ingres
- Interbase
- ITTIA
- JethroData
- JustOneDB
- K-DB
- Kdb+
- Kognitio
- Linter
- LucidDB
- MariaDB
- MaxDB
- MemSQL
- Microsoft Access
- Microsoft Azure SQL Database
- Microsoft SQL Server
- Mimer SQL
- MonetDB
- mSQL
- MySQL
- Netezza
- NexusDB
- NonStop SQL
- NuoDB
- OpenBase
- OpenEdge
- Oracle
- Oracle Rdb
- ParAccel
- Percona Server
- Pervasive PSQL
- PipelineDB
- Postgres-XL
- PostgreSQL
- PrestoDB
- R:BASE
- Raima Database Manager
- Rainstor
- Realm
- Red Brick
- SAP Adaptive Server
- SAP Advantage Database Server
- SAP HANA
- SAP IQ
- SAP SQL Anywhere
- ScaleBase
- ScaleDB
- ScimoreDB
- SmallSQL
- solidDB
- Spark SQL
- Splice Machine
- SQL.JS
- SQLBase
- SQLite
- Tajo
- Teradata
- Teradata Aster
- Tibero
- TimesTen
- TokuDB
- Trafodion
- Transbase
- TransLattice
- Valentina Server
- Vectorwise
- Vertica
- Virtuoso
- VistaDB
- VoltDB
- WebScaleSQL
- XtremeData