Listing of Supported Databases »


represents schema information about a relational database.


gives the complete schema of the database referenced by db.

RelationalDatabase[{table1 table2,},db]

gives schema information related to the tables tablei.

Details and Options

  • In RelationalDatabase[db] or RelationalDatabase[tables,db], the database can be specified using DatabaseReference[], URL[] or File[].
  • RelationalDatabase[]["prop"] can be used to access database-level properties. These include:
  • "Tables"the list of table names
    "Connection"the DatabaseReference object
  • RelationalDatabase[]["table",prop] can be used to access table-level properties. These include:
  • "Columns"the list of column names
    "PrimaryKey"the primary key constraint as an association
    "ForeignKeys"the list of foreign keys to other tables
    "UniquenessConstraints"the list of uniqueness constraints for values in columns
    "Indexes"the list of indexed columns
  • the association of all table-level properties
  • RelationalDatabase[]["table","PrimaryKey",prop] can be used to access the properties of the primary key:
  • "Columns"the columns that constitute the primary key
    "ConstraintName"the name of the constraint associated with the primary key
  • RelationalDatabase[]["table","ForeignKeys"] gives a list of associations with the following elements:
  • "ToTable"the destination table of the foreign keys
    "FromColumns"the columns in the source table that map to columns in the destination table
    "ToColumns"the columns in the destination table that match the "FromColumns" in the source table
  • RelationalDatabase[]["table","Indexes"] gives a list of associations that include the following elements:
  • "Columns"the columns taken to be unique together
    "IndexName"the name of the index
  • RelationalDatabase[]["table","UniquenessConstraints"] gives a list of associations with the following elements:
  • "Columns"the columns whose combined values are taken to be unique
    "ConstraintName"the name of the uniqueness constraint
  • RelationalDatabase[]["table","column",prop] can be used to access column-level properties. These include:
  • "NativeType"the native type of the data stored in the column
    "Nullable"whether the column can contain Missing values
    Allthe association of all column-level properties
  • RelationalDatabase has the following option:
  • IncludeRelatedTablesFalsewhether to include tables referenced by foreign keys


open allclose all

Basic Examples  (2)

Construct a RelationalDatabase object:

Find out what tables are present in the database:

Construct a RelationalDatabase with a subset of the tables:

Scope  (1)

Construct a RelationalDatabase object:

Extract schema information:

Extract information about a table:

Extract information about a column:

Available properties at each level:

Applications  (1)

Construct a RelationalDatabase object:

Construct an EntityStore from it:

Register the EntityStore:

Perform a query:

Properties & Relations  (1)

Visualize the structure of the foreign keys of a database:

Possible Issues  (1)

Manually editing a RelationalDatabase might result in an object that does not reflect the state of the database. For this reason, it is currently not allowed:

Introduced in 2019